Quando eu ataco ou uso muito o m1, m2, m3... da um erro na distro que eu não sei como resolver.. Então quem souber ajuda ae !
Erro na Distro
[18/04/2014 22:35:33] [Error - TalkAction Interface] [18/04/2014 22:35:33] data/talkactions/scripts/move1.lua:onSay [18/04/2014 22:35:33] Description: [18/04/2014 22:35:33] (luaGetThingFromPos) Tile not found
Meu Move1.lua
local msgs = {"use ", ""}
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 --alterado v1.5 local mypoke = getCreatureSummons(cid)[1] local pokeName = getPokemonName(mypoke)
if getCreatureCondition(cid, CONDITION_EXHAUST) then return true end if pokeName == "Evolution" then return true end name = pokeName
--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 item = getPlayerSlotItem(cid, 8) if it == "1" then move = move elseif 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 getItemAttribute(item.uid, "tm"..it.."Name") then move.name = getItemAttribute(item.uid, "tm"..it.."Name") move.level = getItemAttribute(item.uid, "tm"..it.."Level") move.cd = getItemAttribute(item.uid, "tm"..it.."CD") move.target = getItemAttribute(item.uid, "tm"..it.."Target") end
if not move then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.") return true end
if getPlayerLevel(cid) < move.level then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need be atleast level "..move.level.." to use this move.") return true end if getPlayerAccess(cid) <= 3 then if type(getPokemonCooldown(cid, it)) ~= "number" then return true end if getPokemonCooldown(cid, it) > 0 and getPokemonCooldown(cid, it) < (move.cd + 2) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..getPokemonCooldown(cid, it).." seconds to use "..move.name.." again.") return true end end
if getTileInfo(getThingPos(mypoke)).protection then doPlayerSendCancel(cid, "Your pokemon cannot use moves while in protection zone.") return true end
if getPlayerStorageValue(mypoke, 3894) >= 1 then return doPlayerSendCancel(cid, "You can't attack because you is with fear") --alterado v1.3 end --alterado v1.6 if (move.name == "Team Slice" or move.name == "Team Claw") and #getCreatureSummons(cid) < 2 then doPlayerSendCancel(cid, "Your pokemon need be in a team for use this move!") return true end --alterado v1.7 \/\/\/
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
local newid = 0
local item = getPlayerSlotItem(cid, 8) local blockMoves = {"Ancient Fury", "Rollout", "Power Wave", "Shredder Team"}
if getItemAttribute(item.uid, "nome") == "Smeargle" or getItemAttribute(item.uid, "nome") == "Ditto" or getItemAttribute(item.uid, "nome") == "Shiny Ditto" then if isInArray(blockMoves, move.name) then return doPlayerSendCancel(cid, "Sorry, this move is block for your pokemon.") end end
if isSleeping(mypoke) or isSilence(mypoke) then --alterado v1.5 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't do that right now.") return 0 else newid = setPokemonCooldown(cid, it, move.cd) end
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.
info
Group: Campones
Joined: 10/04/14
Posts: 10
Reputation: +2
Tibia Character: Knowth
Bom vim pedir a ajuda de vocês, com meu move1.lua
Quando eu ataco ou uso muito o m1, m2, m3... da um erro na distro que eu não sei como resolver.. Então quem souber ajuda ae !
Erro na Distro
[18/04/2014 22:35:33] [Error - TalkAction Interface]
[18/04/2014 22:35:33] data/talkactions/scripts/move1.lua:onSay
[18/04/2014 22:35:33] Description:
[18/04/2014 22:35:33] (luaGetThingFromPos) Tile not found
Meu Move1.lua
local msgs = {"use ", ""}
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
--alterado v1.5
local mypoke = getCreatureSummons(cid)[1]
local pokeName = getPokemonName(mypoke)
if getCreatureCondition(cid, CONDITION_EXHAUST) then return true end
if pokeName == "Evolution" then return true end
name = pokeName
--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 item = getPlayerSlotItem(cid, 8)
if it == "1" then
move = move
elseif 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 getItemAttribute(item.uid, "tm"..it.."Name") then
move.name = getItemAttribute(item.uid, "tm"..it.."Name")
move.level = getItemAttribute(item.uid, "tm"..it.."Level")
move.cd = getItemAttribute(item.uid, "tm"..it.."CD")
move.target = getItemAttribute(item.uid, "tm"..it.."Target")
end
if not move then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")
return true
end
if getPlayerLevel(cid) < move.level then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need be atleast level "..move.level.." to use this move.")
return true
end
if getPlayerAccess(cid) <= 3 then
if type(getPokemonCooldown(cid, it)) ~= "number" then return true end
if getPokemonCooldown(cid, it) > 0 and getPokemonCooldown(cid, it) < (move.cd + 2) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..getPokemonCooldown(cid, it).." seconds to use "..move.name.." again.")
return true
end
end
if getTileInfo(getThingPos(mypoke)).protection then
doPlayerSendCancel(cid, "Your pokemon cannot use moves while in protection zone.")
return true
end
if getPlayerStorageValue(mypoke, 3894) >= 1 then
return doPlayerSendCancel(cid, "You can't attack because you is with fear") --alterado v1.3
end
--alterado v1.6
if (move.name == "Team Slice" or move.name == "Team Claw") and #getCreatureSummons(cid) < 2 then
doPlayerSendCancel(cid, "Your pokemon need be in a team for use this move!")
return true
end
--alterado v1.7 \/\/\/
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
local newid = 0
local item = getPlayerSlotItem(cid, 8)
local blockMoves = {"Ancient Fury", "Rollout", "Power Wave", "Shredder Team"}
if getItemAttribute(item.uid, "nome") == "Smeargle" or getItemAttribute(item.uid, "nome") == "Ditto" or getItemAttribute(item.uid, "nome") == "Shiny Ditto" then
if isInArray(blockMoves, move.name) then
return doPlayerSendCancel(cid, "Sorry, this move is block for your pokemon.")
end
end
if isSleeping(mypoke) or isSilence(mypoke) then --alterado v1.5
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't do that right now.")
return 0
else
newid = setPokemonCooldown(cid, it, move.cd)
end
doCreatureSay(cid, ""..getCreatureName(mypoke)..", "..msgs[math.random(#msgs)]..""..move.name.."!", TALKTYPE_SAY)
local summons = getCreatureSummons(cid) --alterado v1.6
if #summons >= 2 then
for i = 1, #summons do
if isCreature(summons) then
if getPlayerStorageValue(cid, 637501) >= 1 then
docastspell(summons, move.name)
end
end
end
else
docastspell(mypoke, move.name)
end
doPokemonDropCooldown(cid, it)
getMoveLevel(cid, it, move.level)
getMoveName(cid, it, move.name)
doUpdateCooldowns(cid)
return 0
end
Bom é isso espero que alguem me ajude ! ^^
Edited Abril 19 by Kno0wth