Ir para conteúdo

[Encerrado] Move1.lua


Kno0wth

Posts Recomendados

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 ! ^^

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

  • 4 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.
×
×
  • Criar Novo...