Ir para conteúdo

[Encerrado] [Duvida]Alterar Ataque Mega Drain


HolyMaN

Posts Recomendados

teria como alterar o Mega Drain para igual PxG, atacando soh 1 pokemon?

se tiver rodeado de pokemon, o mega drain, tira life de todos..

 

 

data/lib/pokemon moves.lua

 

elseif spell == "Mega Drain" then

 

local uid = checkAreaUid(getThingPos(cid), check, 1, 1)

for _,pid in pairs(uid) do

if isCreature(cid) and isCreature(pid) and pid ~= cid then

if isPlayer(pid) and #getCreatureSummons(pid) >= 1 then return false end

 

local life = getCreatureHealth(pid)

 

doAreaCombatHealth(cid, GRASSDAMAGE, getThingPos(pid), 0, -min, -max, 14)

 

local newlife = life - getCreatureHealth(pid)

 

doSendMagicEffect(getThingPos(cid), 14)

if newlife >= 1 then

doCreatureAddHealth(cid, newlife)

doSendAnimatedText(getThingPos(cid), "+"..newlife.."", 32)

end

end

end

 

Link para o comentário
Compartilhar em outros sites

tenta isso

 


elseif spell == "Mega Drain" then

local uid = checkAreaUid(getThingPos(cid), check, 1, 1)
for _,pid in pairs(uid) do
if isCreature(cid) and isCreature(pid) and pid ~= cid then
if isPlayer(pid) and #getCreatureSummons(pid) >= 1 then return false end

local life = getCreatureHealth(pid)

doAreaCombatHealth(cid, GRASSDAMAGE, getThingPosWithDebug(target), 0, -min, -max, 14)

local newlife = life - getCreatureHealth(pid)

doSendMagicEffect(getThingPos(cid), 14)
if newlife >= 1 then
doCreatureAddHealth(cid, newlife)
doSendAnimatedText(getThingPos(cid), "+"..newlife.."", 32)
end 
end
end

Link para o comentário
Compartilhar em outros sites

vo tentar, mais lendo o script isso seria somente com target né?

mais mesmo assim vo testar, no caso eu comentei esse ataque como passiva...

ja ja edito-------------

 

 

EDIT----------

como disse soh funfa com target... sem target ele n solta a magia...

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

tenta ae...

elseif spell == "Mega Drain" then

local uid = checkAreaUid(getThingPos(cid), check, 1, 1)
local pid = 0

repeat
  local r = math.random(#uid)
  if uid[r] ~= cid and canAttackOther(cid, uid[r]) then
  pid = uid[r]
  else
  table.remove(uid, r)
  end
until pid ~= 0

if isCreature(pid) then        
local life = getCreatureHealth(pid)

doTargetCombatHealth(cid, pid, GRASSDAMAGE, -min, -max, 14)

local newlife = life - getCreatureHealth(pid)

doSendMagicEffect(getThingPos(cid), 14)
if newlife >= 1 then
  doCreatureAddHealth(cid, newlife)
  doSendAnimatedText(getThingPos(cid), "+"..newlife.."", 32)
end
end

Link para o comentário
Compartilhar em outros sites

@Slicer/@caotic,

me desculpe eu pedi pra mover o topico, e agora descobri um erro/bugg...

olha oq aparece no console... mais o ataque esta funcionando..

 

console:

 

[29/10/2012 00:30:39] [Error - CreatureScript Interface]

[29/10/2012 00:30:39] data/creaturescripts/scripts/exp.lua:onStatsChange

[29/10/2012 00:30:39] Description:

[29/10/2012 00:30:39] data/lib/pokemon moves.lua:4098: attempt to call field '?' (a nil value)

[29/10/2012 00:30:39] stack traceback:

[29/10/2012 00:30:39] data/lib/pokemon moves.lua:4098: in function 'docastspell'

[29/10/2012 00:30:39] data/creaturescripts/scripts/exp.lua:650: in function <data/creaturescripts/scripts/exp.lua:121>

 

[29/10/2012 00:30:40] [Error - CreatureScript Interface]

[29/10/2012 00:30:40] data/creaturescripts/scripts/exp.lua:onStatsChange

[29/10/2012 00:30:40] Description:

[29/10/2012 00:30:40] data/lib/pokemon moves.lua:4098: attempt to call field '?' (a nil value)

[29/10/2012 00:30:40] stack traceback:

[29/10/2012 00:30:40] data/lib/pokemon moves.lua:4098: in function 'docastspell'

[29/10/2012 00:30:40] data/creaturescripts/scripts/exp.lua:650: in function <data/creaturescripts/scripts/exp.lua:121>

 

[29/10/2012 00:30:40] [Error - CreatureScript Interface]

[29/10/2012 00:30:40] data/creaturescripts/scripts/exp.lua:onStatsChange

[29/10/2012 00:30:40] Description:

[29/10/2012 00:30:40] data/lib/pokemon moves.lua:4098: attempt to call field '?' (a nil value)

[29/10/2012 00:30:40] stack traceback:

[29/10/2012 00:30:40] data/lib/pokemon moves.lua:4098: in function 'docastspell'

[29/10/2012 00:30:40] data/creaturescripts/scripts/exp.lua:650: in function <data/creaturescripts/scripts/exp.lua:121>

 

[29/10/2012 00:31:14] [Error - CreatureScript Interface]

[29/10/2012 00:31:14] data/creaturescripts/scripts/exp.lua:onStatsChange

[29/10/2012 00:31:14] Description:

[29/10/2012 00:31:14] data/lib/pokemon moves.lua:4098: attempt to call field '?' (a nil value)

[29/10/2012 00:31:14] stack traceback:

[29/10/2012 00:31:14] data/lib/pokemon moves.lua:4098: in function 'docastspell'

[29/10/2012 00:31:14] data/creaturescripts/scripts/exp.lua:650: in function <data/creaturescripts/scripts/exp.lua:121>

 

[29/10/2012 00:31:16] [Error - CreatureScript Interface]

[29/10/2012 00:31:16] data/creaturescripts/scripts/exp.lua:onStatsChange

[29/10/2012 00:31:16] Description:

[29/10/2012 00:31:16] data/lib/pokemon moves.lua:4098: attempt to call field '?' (a nil value)

[29/10/2012 00:31:16] stack traceback:

[29/10/2012 00:31:16] data/lib/pokemon moves.lua:4098: in function 'docastspell'

[29/10/2012 00:31:16] data/creaturescripts/scripts/exp.lua:650: in function <data/creaturescripts/scripts/exp.lua:121>

 

 

data/lib/pokemon moves.lua: proximidades da linha 4098

 

elseif spell == "Mega Drain" then

 

local uid = checkAreaUid(getThingPos(cid), check, 1, 1)

local pid = 0

 

repeat

local r = math.random(#uid)

if uid[r] ~= cid and canAttackOther(cid, uid[r]) then

pid = uid[r]

else

table.remove(uid, r) --EDIT LINHA 4098

end

until pid ~= 0

 

if isCreature(pid) then

local life = getCreatureHealth(pid)

 

doTargetCombatHealth(cid, pid, GRASSDAMAGE, -min, -max, 14)

 

local newlife = life - getCreatureHealth(pid)

 

doSendMagicEffect(getThingPos(cid), 14)

if newlife >= 1 then

doCreatureAddHealth(cid, newlife)

doSendAnimatedText(getThingPos(cid), "+"..newlife.."", 32)

end

end

 

data/creaturescript/scripts.exp: proximidade da linha 650

 

------------------------------------- Mega Drain ---------------------------------------

if passivesChances["Mega Drain"][getCreatureName(cid)] and math.random(1, 100) <= passivesChances["Mega Drain"][getCreatureName(cid)] then

docastspell(cid, "Mega Drain") ---EDIT LINHA 650

end

 

 

teria como ajudar dinovo??

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

soh deixa essa parte assim..

repeat
local r = math.random(#uid)
if uid[r] ~= cid and canAttackOther(cid, uid[r]) then
pid = uid[r]
end
until pid ~= 0

estranhu da esse erro mas.. ;p

Link para o comentário
Compartilhar em outros sites

  • 5 years later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...