Ir para conteúdo

[Dúvida] Talkactions.... System M1 A M12 (Urgente)


sawllo

Posts Recomendados

Olá, estou aqui novamente pedindo uma ajuda em um sistema de poketibia....

O sistema como já falado no titulo do tópico, o sistema de m1 a m12.

 

Eu uso o serve Pokemon Dash Advanced Edited.

 

O Arquivo xml que está na pasta data/talkactions/talkaction.xml está assim:

 

 

<talkaction words="m1" case-sensitive="no" event="script" value="move1.lua"/>

<talkaction words="m2" case-sensitive="no" event="script" value="move1.lua"/>

<talkaction words="m3" case-sensitive="no" event="script" value="move1.lua"/>

<talkaction words="m4" case-sensitive="no" event="script" value="move1.lua"/>

<talkaction words="m5" case-sensitive="no" event="script" value="move1.lua"/>

<talkaction words="m6" case-sensitive="no" event="script" value="move1.lua"/>

<talkaction words="m7" case-sensitive="no" event="script" value="move1.lua"/>

<talkaction words="m8" case-sensitive="no" event="script" value="move1.lua"/>

<talkaction words="m9" case-sensitive="no" event="script" value="move1.lua"/>

<talkaction words="m10" case-sensitive="no" event="script" value="move1.lua"/>

<talkaction words="m11" case-sensitive="no" event="script" value="move1.lua"/>

<talkaction words="m12" case-sensitive="no" event="script" value="move1.lua"/>

 

 

Ao abrir o arquivo move1.lua

 

 

local msgs = {"use ", ""}

 

function doAlertReady(cid, id, movename, n, cd)

if not isCreature(cid) then return true end

local myball = getPlayerSlotItem(cid, 8)

if myball.itemid > 0 and getItemAttribute(myball.uid, cd) == "cd:"..id.."" then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(myball.uid).." - "..movename.." (m"..n..") is ready!")

return true

end

local p = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)

if not p or #p <= 0 then return true end

for a = 1, #p do

if getItemAttribute(p[a], cd) == "cd:"..id.."" then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(p[a]).." - "..movename.." (m"..n..") is ready!")

return true

end

end

end

 

function onSay(cid, words, param, channel)

 

 

if param ~= "" then return true end

if string.len(words) > 3 then return true end

 

if #getCreatureSummons(cid) == 0 then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need a pokemon to use moves.")

return 0

end

 

if getCreatureCondition(getCreatureSummons(cid)[1], CONDITION_INVISIBLE) and not isGhostPokemon(getCreatureSummons(cid)[1]) then

return 0

end

 

local mypoke = getCreatureSummons(cid)[1]

 

if getCreatureCondition(cid, CONDITION_EXHAUST) then return true end

if getCreatureName(mypoke) == "Evolution" then return true end

 

local name = getCreatureName(mypoke) == "Ditto" and getPlayerStorageValue(mypoke, 1010) or getCreatureName(mypoke)

 

local it = string.sub(words, 2, 3)

local move = movestable[name].move1

local cdzin = "move"..it..""

 

if it == "2" then

move = movestable[name].move2

elseif it == "3" then

move = movestable[name].move3

elseif it == "4" then

move = movestable[name].move4

elseif it == "5" then

move = movestable[name].move5

elseif it == "6" then

move = movestable[name].move6

elseif it == "7" then

move = movestable[name].move7

elseif it == "8" then

move = movestable[name].move8

elseif it == "9" then

move = movestable[name].move9

elseif it == "10" then

move = movestable[name].move10

elseif it == "11" then

move = movestable[name].move11

elseif it == "12" then

move = movestable[name].move12

elseif it == "13" then

move = movestable[name].move13

end

 

if not move then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")

return true

end

 

if false and getLevel(mypoke) < move.level then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't have enough level to use this move.")

return 0

end

 

if getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (move.cd + 2) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." seconds to use this move again.")

return 0

end

 

if getTileInfo(getThingPos(mypoke)).protection then

doPlayerSendCancel(cid, "Your pokemon cannot use moves while in protection zone.")

return 0

end

 

 

if move.target == 1 then

 

if not isCreature(getCreatureTarget(cid)) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.")

return 0

end

 

if getCreatureCondition(getCreatureTarget(cid), CONDITION_INVISIBLE) then

return 0

end

 

if getCreatureHealth(getCreatureTarget(cid)) <= 0 then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your have already defeated your target.")

return 0

end

 

if not isCreature(getCreatureSummons(cid)[1]) then

return true

end

 

if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > move.dist then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.")

return 0

end

 

if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then

return 0

end

end

 

doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY)

 

local newid = 0

 

if isSleeping(mypoke) then

newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, 8)

doCreatureSay(mypoke, "zZzZ", TALKTYPE_MONSTER)

return 0

else

newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd)

end

 

if move.name ~= "Metronome" then

doCreatureSay(mypoke, ""..string.upper(move.name).."!", TALKTYPE_MONSTER)

end

 

addEvent(doAlertReady, move.cd * 1000, cid, newid, move.name, it, cdzin)

docastspell(mypoke, move.name)

doCreatureAddCondition(cid, playerexhaust)

 

if useKpdoDlls then

doUpdateCooldowns(cid)

end

 

return 0

end

 

 

Como faço para modificar o script para adicionar a talkaction aos monstros/pokes novos?

Um exemplo: Vi o script do "zapdos" e estava sem spell nenhuma. adicionei as spells que queria, mas as talkaction não funcionaram in game.

 

Atenciosamente: Sawllo

Agradeço desde já!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...