Ir para conteúdo
  • 0

Creature Script E Spell


JeanCristian

Pergunta

spells:

queria um script que fize-se o seguinte, eu escreve-se uma magia por exemplo "invocar anjos" dai tenha 1 tabela configuravel de levels, para cada level sumona 1 monstro diferente. e se possivel cara monstro ou level poder sumonar configuravel 1 ou mais summons,

-----------------------------------

agora creaturescript ( eu acho)

objetivo final:

o jogador só poderia me atacar, ou o monstro, se matar meu summon primeiro, caso eu tenha meu summon ativo nao poderei ser atingido.


alguem consegue?


alguem poderia me ajudar?

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

Tenha paciência amigo , se ninguém ajudou ainda espere , até que alguém tenha o conhecimento e o ajude .

 

  • O uso de "up" ou "bump" é considerado flood, passível de punição, quando feito em um intervalo menor de 24 (vinte e quatro) horas da criação do tópico de pedido e/ou dúvida e apenas e também, se, o tópico já possuir respostas.
Link para o comentário
Compartilhar em outros sites

  • 0

Spell:

function onCastSpell(cid, var)
local summons = getCreatureSummons(cid)
local MaximoSummon = 1 --Quantos pode fazer

local config = {
{lvl = {150, 200}, monster = 'vidaloka', totalmonster = 1},
{lvl = {200, 250}, monster = 'ostentacao', totalmonster = 2},
{lvl = {250, 999}, monster = 'soofluxo', totalmonster = 5},
}

for i = 1, #config do
if getPlayerLevel(cid) >= config[i].lvl[1] and getPlayerLevel(cid) <= config[i].lvl[2] then
if(table.maxn(summons) <= config[i].totalmonster) then
local anjo = doCreateMonster(config[i].monster, getPlayerPosition(cid))

doConvinceCreature(cid, anjo)
doSendMagicEffect(getPlayerPosition(cid), 10)
else
return doPlayerSendTextMessage(cid, 27, "Voce ja tem "... MaximoSummon ..." feitos.")
end
end
end
return true
end

creaturescripts:

local config = {
{monster = 'vidaloka'},
{monster = 'ostentacao'},
{monster = 'soofluxo'},
}

function onCombat(cid, target)

for i = 1, #config do
if(table.maxn(getCreatureSummons(target)) == config[i]) then
doPlayerSendCancel(cid, "Voce nao pode atacar seu oponente enquanto ele estiver um Anjo.")
return false
end
end
return true
end
Editado por lucasromero
Link para o comentário
Compartilhar em outros sites

  • 0

agora eu descobri sozinho ja kkkkkkkkkkkkkkkk mais vlw pelomenos aprendi algo hoje u.u


seu rep+ esta láh :)

vou testar agora, tomara que de certo xD


tem como aparecer uma mensagem quando o player nao tiver level, ou level maior para sumonar?

se é possivel por uma exaustation que nao interfere na exaustation das demais magias?

Link para o comentário
Compartilhar em outros sites

  • 0

sim eu aprendi isso de primeira u.u foi algo tao logico kkkk eu coparei com os outros scripts xD, mais tipo quando eu uso a magia aparece o say da magia mais nao aparece nada por exemplo, eu to level 5.000.000 com meu char, eu escrevo a magia e o ultimo summon vai até level 900.000 e nao aparece uma mensagem tipo, vc nao tem level ou algo do tipo, ela só aparece o say da magia e nao acontece nada, queria algo para oplayer saber que nao pode sumonar entende? se possivel um efeitozinho tambem


ai man, os monstros estao me atacando tambem, junto com meu summon, tem como fazer para os monstro só conseguir dar danos em mim se meu summon morrer, se eu nao tiver com summon?

Link para o comentário
Compartilhar em outros sites

  • 0

function onCastSpell(cid, var)
local summons = getCreatureSummons(cid)
local MaximoSummon = 1 --Quantos pode fazer

local config = {
{lvl = {150, 200}, monster = 'vidaloka', totalmonster = 1},
{lvl = {200, 250}, monster = 'ostentacao', totalmonster = 2},
{lvl = {250, 999}, monster = 'soofluxo', totalmonster = 5},
}

for i = 1, #config do
if getPlayerLevel(cid) >= config[i].lvl[1] and getPlayerLevel(cid) <= config[i].lvl[2] then
if(table.maxn(summons) <= config[i].totalmonster) then
local anjo = doCreateMonster(config[i].monster, getPlayerPosition(cid))

doConvinceCreature(cid, anjo)
doSendMagicEffect(getThinPos(cid), 10)
return doPlayerSendTextMessage(cid, 27, "Voce ja tem MaximoSummon feitos.")
end
else
return doPlayerSendTextMessage(cid, 27, "Voce nao pode fazer summon.")
end
end
return true
end

Sobre o monstro atacar, tente utilizar esse creature:

 

 

 

local config = {
{monster = 'vidaloka'},
{monster = 'ostentacao'},
{monster = 'soofluxo'},
}
local combatt = {'PHYSICALDAMAGE','ENERGYDAMAGE','EARTHDAMAGE','POISONDAMAGE','UNDEFINEDDAMAGE','MANADRAIN','LIFEDRAIN','DROWNDAMAGE','ICEDAMAGE','HOLYDAMAGE','DEATHDAMAGE'}


function onStatsChange(cid, attacker, _type, combat, value)
for i = 1, #config do
for n = 1, #combatt do
  if _type == STATSCHANGE_HEALTHLOSS then
   if combat == COMBAT_combatt[n] then
    if(table.maxn(getCreatureSummons(cid)) >= config[i]) and isMonster(attacker) then
	return false
end
end
end
end
end
return true
end

Não sei se ira dar certo.

Editado por lucasromero
Link para o comentário
Compartilhar em outros sites

  • 0

testando


[01/04/2014 19:31:29] [Warning - Event::loadScript] Event onCombat not found (data/creaturescripts/scripts/invoc.lua)


atah só ponhar o statschange malz agora que fui ver


mais existe 2 "t" no combat do seu script, vai dar erro nao?

Link para o comentário
Compartilhar em outros sites

  • 0

perae que to testando


atah, é para deixa os 2?


o script funciono perfeitamente, nao tomo hit, mais o bixo fica toda hora virando em mim, ta ligado? tem como mudar isso? fazer ele atacar o monstro automaticamente primeiro, para dps vir ne mim, +- como no pokemon vc ja jogo? vc sumona o poke se o poke morre o monstro vai te matar, e vc nao toma hit do monstro se o poke tiver sumonado, é +- isso.

e ta dando esse erro aki olha

[01/04/2014 19:43:19] [Error - CreatureScript Interface]
[01/04/2014 19:43:19] data/creaturescripts/scripts/invocc.lua:onStatsChange
[01/04/2014 19:43:19] Description:
[01/04/2014 19:43:19] data/creaturescripts/scripts/invocc.lua:13: attempt to index global 'COMBAT_combatt' (a nil value)
[01/04/2014 19:43:19] stack traceback:
[01/04/2014 19:43:19] data/creaturescripts/scripts/invocc.lua:13: in function <data/creaturescripts/scripts/invocc.lua:9>

eu nao tomo hit em nenhuma ocasiao, lol meu summon morreu e eu ainda nao to tomando hit, acho que o script nao deu certo '-'


um cara postou isso olha

 

ñ sei se vc manja de scripts mais se manja, faça o seguinte, abra o groups.xml dentro da pasta (data/xml), crie um grupo com nome pokemon e altere as flags igual a de players normais, depois crie um outro grupo com noattackplayer e coloque o frags de q n pode ser atacado..

agora no creaturescript crie um arquivo para q qndo ele "sumonar o pokemon" ele vire grupo noattackplayer e registre o summon como pokemon, e se o pokemon morrer ou voltar pra ball o player volta ao grupo certo...

alguem me ajuda a fazer isso dar certo?


'

Link para o comentário
Compartilhar em outros sites

  • 0

function onThink(cid, interval)
if isPlayer(cid) and (table.maxn(getCreatureSummons(cid)) >= 1) and getPlayerGroupId(cid) == 1 then
setPlayerGroupId(cid, 7)
end

if isPlayer(cid) and (table.maxn(getCreatureSummons(cid)) < 1) and getPlayerGroupId(cid) == 7 then
setPlayerGroupId(cid, 1)
end

return true
end

Login:

 

 

function onLogin(cid)
if isPlayer(cid) and getPlayerGroupId(cid) == 7 then
setPlayerGroupId(cid, 1)
end
return true
end
Editado por lucasromero
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...