- 0
suporte scripts transformar action em spell
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
- 0 respostas
- 934 visualizações
-
- 4 respostas
- 1482 visualizações
-
- 3 respostas
- 1321 visualizações
-
- 0 respostas
- 1175 visualizações
-
- 3 respostas
- 1281 visualizações
-
Pergunta
wevertonvrb 25
então eu quero fazer uma action virar uma spell
Tentando fazer cheguei nisso mas n deu certo
lembrando que o erro relacionado ao pokemon moves
é esse script também
elseif spell == "Transform" then
local theevo = ""
local ball = getPlayerSlotItem(cid, 8).uid
local evolution = 0
if getPokemonName(ball.uid) == "Castform" then --essa é a linha 287 relacionada ao erro
theevo = "Fire Castform"
elseif getPokemonName(ball.uid) == "Fire Castform" then
theevo = "Water Castform"
elseif getPokemonName(ball.uid) == "Water Castform" then
theevo = "Ice Castform"
elseif getPokemonName (ball.uid) == "Ice Castform" then
theevo = "Fire Castform"
return true
end
doEvolvePokemon(cid, ball, theevo, evolution)
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
gerou os seguintes erros
[Error - TalkAction Interface]
[15/11/2016 22:49:25] data/talkactions/scripts/move1.lua:onSay
[15/11/2016 22:49:25] Description:
[15/11/2016 22:49:25] (luaGetPlayerSlotItem) Player not found
[15/11/2016 22:49:25] [Error - TalkAction Interface]
[15/11/2016 22:49:25] data/talkactions/scripts/move1.lua:onSay
[15/11/2016 22:49:25] Description:
[15/11/2016 22:49:25] data/lib/pokemon moves.lua:287: attempt to index local 'ball' (a number value)
[15/11/2016 22:49:25] stack traceback:
[15/11/2016 22:49:25] data/lib/pokemon moves.lua:287: in function 'docastspell'
[15/11/2016 22:49:25] data/talkactions/scripts/move1.lua:235: in function <data/talkactions/scripts/move1.lua:20>
esse é o script da action que quero transformar no spell
local special = specialevo --alterado v1.9 \/ peguem ele todo!
local types = {
[leaf] = {"Bulbasaur", "Ivysaur", "Oddish", "Gloom", "Bellsprout", "Weepinbell", "Exeggcute", "Chikorita", "Bayleef", "Hoppip", "Skiploom", "Sunkern"},
[water] = {"Squirtle", "Wartortle", "Horsea", "Goldeen", "Magikarp", "Psyduck", "Poliwag", "Poliwhirl", "Tentacool", "Krabby", "Staryu", "Omanyte", "Eevee", "Totodile", "Croconow", "Chinchou", "Marill", "Wooper", "Slowpoke", "Remoraid", "Seadra"},
[venom] = {"Zubat", "Ekans", "Nidoran male", "Nidoran female", "Nidorino", "Nidorina", "Gloom", "Venonat", "Tentacool", "Grimer", "Koffing", "Spinarak", "Golbat"},
[thunder] = {"Magnemite", "Pikachu", "Voltorb", "Eevee", "Chinchou", "Pichu", "Mareep", "Flaaffy", "Elekid"},
[rock] = {"Geodude", "Graveler", "Rhyhorn", "Kabuto", "Slugma", "Pupitar"},
[punch] = {"Machop", "Machoke", "Mankey", "Poliwhirl", "Tyrogue"},
[fire] = {"Charmander", "Charmeleon", "Vulpix", "Growlithe", "Ponyta", "Eevee", "Cyndaquil", "Quilava", "Slugma", "Houndour", "Magby"},
[coccon] = {"Caterpie", "Metapod", "Weedle", "Kakuna", "Paras", "Venonat", "Scyther", "Ledyba", "Spinarak", "Pineco"},
[crystal] = {"Dratini", "Dragonair", "Magikarp", "Omanyte", "Kabuto", "Seadra"},
[dark] = {"Gastly", "Haunter", "Eevee", "Houndour", "Pupitar"},
[earth] = {"Cubone", "Sandshrew", "Nidorino", "Nidorina", "Diglett", "Onix", "Rhyhorn", "Wooper", "Swinub", "Phanpy", "Larvitar"},
[enigma] = {"Abra", "Kadabra", "Psyduck", "Slowpoke", "Drowzee", "Eevee", "Natu", "Smoochum"},
[heart] = {"Rattata", "Pidgey", "Pidgeotto", "Spearow", "Clefairy", "Jigglypuff", "Meowth", "Doduo", "Porygon", "Chansey", "Sentret", "Hoothoot", "Cleffa", "Igglybuff", "Togepi", "Snubull", "Teddiursa"},
[ice] = {"Seel", "Shellder", "Smoochum", "Swinub"},
[metal] = {"Onix", "Scyther"},
[ancient] = {"Sunkern", "Gloom", "Slowpoke", "Poliwhirl", "Seadra", "Porygon"},
[sfire] = {"Shiny Charmander", "Shiny Charmeleon", "Shiny Magmortar", "Shiny Vulpix", "Shiny Growlithe", "Shiny Ponyta", "Shiny Eevee"},
[swater] = {"Shiny Squirtle", "Shiny Wartortle", "Shiny Horsea", "Shiny Goldeen", "Shiny Magikarp", "Shiny Psyduck", "Shiny Poliwag", "Shiny Poliwhirl", "Shiny Tentacool", "Shiny Krabby", "Shiny Staryu", "Shiny Omanyte", "Shiny Eevee"},
[sleaf] = {"Shiny Bulbasaur", "Shiny Ivysaur", "Shiny Oddish", "Shiny Gloom", "Shiny Bellsprout", "Shiny Weepinbell", "Shiny Exeggcute"},
[sheart] = {"Shiny Rattata", "Shiny Pidgey", "Shiny Pidgeotto", "Shiny Spearow", "Shiny Clefairy", "Shiny Jigglypuff", "Shiny Meowth", "Shiny Doduo", "Shiny Porygon", "Shiny Chansey"},
[senigma] = {"Shiny Abra", "Shiny Kadabra", "Shiny Psyduck", "Shiny Slowpoke", "Shiny Drowzee", "Shiny Eevee"},
[srock] = {"Shiny Geodude", "Shiny Graveler", "Shiny Rhyhorn", "Shiny Kabuto"},
[svenom] = {"Shiny Zubat", "Shiny Ekans", "Shiny Nidoran male", "Shiny Nidoran female", "Shiny Nidorino", "Shiny Nidorina", "Shiny Gloom", "Shiny Venonat", "Shiny Tentacool", "Shiny Grimer", "Shiny Koffing"},
[sice] = {"Shiny Seel", "Shiny Shellder"},
[sthunder] = {"Shiny Magnemite", "Shiny Pikachu", "Shiny electivire", "Shiny Voltorb", "Shiny Eevee"},
[scrystal] = {"Shiny Dratini", "Shiny Dragonite", "Shiny Dragonair", "Shiny Magikarp", "Shiny Omanyte", "Shiny Kabuto"},
[scoccon] = {"Shiny Caterpie", "Shiny Metapod", "Shiny Weedle", "Shiny Kakuna", "Shiny Paras", "Shiny Venonat", "Shiny Scyther"},
[sdarkness] = {"Shiny Gastly", "Shiny Haunter", "Shiny Eevee"},
[spunch] = {"Shiny Machop", "Shiny Machoke", "Shiny Mankey", "Shiny Poliwhirl"},
[searth] = {"Shiny Cubone", "Shiny Sandshrew", "Shiny Nidorino", "Shiny Nidorina", "Shiny Diglett", "Shiny Onix", "Shiny Rhyhorn"}
}
local specEvos = { --alterado v1.9 \/
["Eevee"] = {
[thunder] = "Jolteon",
[water] = "Vaporeon",
[fire] = "Flareon",
[enigma] = "Espeon",
[dark] = "Umbreon",
},
}
function onUse(cid, item, frompos, item2, topos)
local pokeball = getPlayerSlotItem(cid,
if not isMonster(item2.uid) or not isSummon(item2.uid) then
return true
end
if #getCreatureSummons(cid) > 1 then
return true --alterado v1.9
end
if getCreatureCondition(item2.uid, CONDITION_INVISIBLE) then return true end
local pevo = poevo[getCreatureName(item2.uid)]
if not isInArray(specialevo, getCreatureName(item2.uid)) then
if not pevo then
doPlayerSendCancel(cid, "This pokemon can't evolve.")
return true
end
if not isPlayer(getCreatureMaster(item2.uid)) or getCreatureMaster(item2.uid) ~= cid then
doPlayerSendCancel(cid, "You can only use stones on pokemons you own.")
return true
end
if pevo.stoneid ~= item.itemid and pevo.stoneid2 ~= item.itemid then
doPlayerSendCancel(cid, "This isn't the needed stone to evolve this pokemon.")
return true
end
end
local minlevel = 0
if getPokemonName(item2.uid) == "Eevee" then
local eevee = specEvos["Eevee"][item.itemid]
if not eevee then
doPlayerSendCancel(cid, "This isn't the required stone to evolve this pokemon.")
return true
end
minlevel = pokes[eevee].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
return true
end
doRemoveItem(item.uid, 1)
doEvolvePokemon(cid, item2, eevee, 0, 0)
local ball = getPlayerSlotItem(cid, 8).uid
doItemSetAttribute (ball, "addon", 0)
-- doItemEraseAttribute(ball, "boost")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
return true
end
if isInArray(specialevo, getPokemonName(item2.uid)) then
if getPokemonName(item2.uid) == "Poliwhirl" then
local evolution = 0
local theevo = ""
if item.itemid == water then
if getPlayerItemCount(cid, king) >= 1 then
evolution = king
theevo = "Politoed"
elseif getPlayerItemCount(cid, punch) >= 1 then
evolution = punch
theevo = "Poliwrath"
else
doPlayerSendCancel(cid, "You need a water stone and a punch stone (Poliwrath) or a King's Rock (Politoed) to evolve this pokemon.")
return true
end
minlevel = pokes[theevo].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
return true
end
if getPlayerItemCount(cid, punch) >= 1 and getPlayerItemCount(cid, king) >= 1 then
doPlayerSendCancel(cid, "Please, use your Punch Stone to evolve this pokemon to a Poliwrath, or a King's Rock to a Politoed.")
return true
end
doEvolvePokemon(cid, item2, theevo, evolution, water)
local ball = getPlayerSlotItem(cid, 8).uid
doItemSetAttribute (ball, "addon", 0)
-- doItemEraseAttribute(ball, "boost")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
elseif item.itemid == punch then
minlevel = pokes["Poliwrath"].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
return true
end
if getPlayerItemCount(cid, water) <= 0 then
doPlayerSendCancel(cid, "You need at least one Punch Stone and one Water Stone to evolve this pokemon.")
return true
end
local theevo = "Poliwrath"
doEvolvePokemon(cid, item2, theevo, water, punch)
local ball = getPlayerSlotItem(cid, 8).uid
doItemSetAttribute (ball, "addon", 0)
-- doItemEraseAttribute(ball, "boost")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
elseif item.itemid == king then
minlevel = pokes["Politoed"].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
return true
end
if getPlayerItemCount(cid, water) <= 0 then
doPlayerSendCancel(cid, "You need at least one Punch Stone and one King's Rock to evolve this pokemon.")
return true
end
local theevo = "Politoed"
doEvolvePokemon(cid, item2, theevo, water, king)
local ball = getPlayerSlotItem(cid, 8).uid
doItemSetAttribute (ball, "addon", 0)
-- doItemEraseAttribute(ball, "boost")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
end
elseif getPokemonName(item2.uid) == "Gloom" then
local theevo = ""
local evolution = 0
if item.itemid == leaf then
if getPlayerItemCount(cid, leaf) >= 1 then
theevo = "Vileplume"
evolution = leaf
elseif getPlayerItemCount(cid, sun) >= 1 then
theevo = "Bellossom"
evolution = sun
else
doPlayerSendCancel(cid, "You need at least one Leaf Stone, and a Sun Stone (Bellossom) or a 2 Leaf Stone (Vileplume) to evolve this pokemon.")
return true
end
minlevel = pokes[theevo].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
return true
end
if getPlayerItemCount(cid, venom) >= 1 and getPlayerItemCount(cid, sun) >= 1 then
doPlayerSendCancel(cid, "Please, use your Leaf Stone to evolve this pokemon to a Vileplume, or a Sun Stone to a Bellossom.")
return true
end
doEvolvePokemon(cid, item2, theevo, evolution, leaf)
local ball = getPlayerSlotItem(cid, 8).uid
doItemSetAttribute (ball, "addon", 0)
-- doItemEraseAttribute(ball, "boost")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
elseif item.itemid == leaf then
minlevel = pokes["Vileplume"].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
return true
end
if getPlayerItemCount(cid, leaf) <= 0 then
doPlayerSendCancel(cid, "You need at least 2 Leaf Stones to evolve this pokemon.")
return true
end
doEvolvePokemon(cid, item2, "Vileplume", leaf, leaf)
local ball = getPlayerSlotItem(cid, 8).uid
doItemSetAttribute (ball, "addon", 0)
-- doItemEraseAttribute(ball, "boost")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
elseif item.itemid == sun then
minlevel = pokes["Bellossom"].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
return true
end
if getPlayerItemCount(cid, leaf) <= 0 then
doPlayerSendCancel(cid, "You need at least one Leaf Stone and one Sun Stone to evolve this pokemon.")
return true
end
doEvolvePokemon(cid, item2, "Bellossom", sun, leaf)
local ball = getPlayerSlotItem(cid, 8).uid
doItemSetAttribute (ball, "addon", 0)
-- doItemEraseAttribute(ball, "boost")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
end
elseif getPokemonName(item2.uid) == "Slowpoke" then
if item.itemid == enigma then
minlevel = pokes["Slowbro"].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
return true
end
doEvolvePokemon(cid, item2, "Slowbro", enigma, 0)
local ball = getPlayerSlotItem(cid, 8).uid
doItemSetAttribute (ball, "addon", 0)
-- doItemEraseAttribute(ball, "boost")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
elseif item.itemid == king then
minlevel = pokes["Slowking"].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
return true
end
doEvolvePokemon(cid, item2, "Slowking", king, 0)
local ball = getPlayerSlotItem(cid, 8).uid
doItemSetAttribute (ball, "addon", 0)
-- doItemEraseAttribute(ball, "boost")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
end
elseif getPokemonName(item2.uid) == "Tyrogue" then
local evolution = ""
evolution = choose("Hitmonlee", "Hitmonchan", "Hitmontop")
minlevel = pokes[evolution].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
return true
end
doEvolvePokemon(cid, item2, evolution, punch, 0)
local ball = getPlayerSlotItem(cid, 8).uid
doItemSetAttribute (ball, "addon", 0)
-- doItemEraseAttribute(ball, "boost")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
end
return true
end
local count = poevo[getPokemonName(item2.uid)].count
local stnid = poevo[getPokemonName(item2.uid)].stoneid
local stnid2 = poevo[getPokemonName(item2.uid)].stoneid2
local evo = poevo[getPokemonName(item2.uid)].evolution
if stnid2 > 1 and (getPlayerItemCount(cid, stnid2) < count or getPlayerItemCount(cid, stnid) < count) then
doPlayerSendCancel(cid, "You need at least one "..getItemNameById(stnid).." and one "..getItemNameById(stnid2).." to evolve this pokemon!")
return true
end
if getPlayerItemCount(cid, stnid) < count then
local str = ""
if count >= 2 then
str = "s"
end
return doPlayerSendCancel(cid, "You need at least "..count.." "..getItemNameById(stnid)..""..str.." to evolve this pokemon!")
end
minlevel = pokes[evo].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "Você não possui level necessario para evoluir esse pokemon ("..minlevel..").")
return true
end
if count >= 2 then
stnid2 = stnid
end
doEvolvePokemon(cid, item2, evo, stnid, stnid2)
local ball = getPlayerSlotItem(cid, 8).uid
doItemSetAttribute (ball, "addon", 0)
-- doItemEraseAttribute(ball, "boost")
doItemSetAttribute(ball, "morta", "no")
doItemSetAttribute(ball, "Icone", "yes")
doTransformItem(ball, icons[getItemAttribute(ball, "poke")].use)
return TRUE
end
e esse é o move1.lua relacionado ao erro tambem
local msgs = {"use ", ""}
function doAlertReady(cid, id, movename, n, cd)
if not isCreature(cid) then return true end
local myball = getPlayerSlotItem(cid,
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
--alterado v1.5
local mypoke = getCreatureSummons(cid)[1]
if getCreatureCondition(cid, CONDITION_EXHAUST) then return true end
if getCreatureName(mypoke) == "Evolution" then return true end
if getCreatureName(mypoke) == "Ditto" or getCreatureName(mypoke) == "Shiny Ditto" then
name = getPlayerStorageValue(mypoke, 1010) --edited
else
name = getCreatureName(mypoke)
end
--local name = getCreatureName(mypoke) == "Ditto" and getPlayerStorageValue(mypoke, 1010) or getCreatureName(mypoke)
local it = string.sub(words, 2, 3)
local idd = getPlayerSlotItem(cid, 8).uid
local move = getCreatureName(mypoke) == "Smeargle" and getItemAttribute(idd, "skt1") and movestable[getItemAttribute(idd, "skt1")].move1 or movestable[name].move1
if getPlayerStorageValue(mypoke, 212123) >= 1 then
cdzin = "cm_move"..it..""
else
cdzin = "move"..it.."" --alterado v1.5
end
if it == "2" then
if getItemAttribute(idd, "skt2") then
move = movestable[getItemAttribute(idd, "skt2")].move2
else
move = movestable[name].move2
end
elseif it == "3" then
if getItemAttribute(idd, "skt3") then
move = movestable[getItemAttribute(idd, "skt3")].move3
else
move = movestable[name].move3
end
elseif it == "4" then
if getItemAttribute(idd, "skt4") then
move = movestable[getItemAttribute(idd, "skt4")].move4
else
move = movestable[name].move4
end
elseif it == "4" then
if getItemAttribute(idd, "skt4") then
move = movestable[getItemAttribute(idd, "skt4")].move4
else
move = movestable[name].move4
end
elseif it == "5" then
if getItemAttribute(idd, "skt5") then
move = movestable[getItemAttribute(idd, "skt5")].move5
else
move = movestable[name].move5
end
elseif it == "6" then
if getItemAttribute(idd, "skt6") then
move = movestable[getItemAttribute(idd, "skt6")].move6
else
move = movestable[name].move6
end
elseif it == "7" then
if getItemAttribute(idd, "skt7") then
move = movestable[getItemAttribute(idd, "skt7")].move7
else
move = movestable[name].move7
end
elseif it == "8" then
if getItemAttribute(idd, "skt8") then
move = movestable[getItemAttribute(idd, "skt8")].move8
else
move = movestable[name].move8
end
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
local isMega = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "megaStone")
if not isMega or name:find("Mega") then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")
return true
end
local moveTable, index = getNewMoveTable(movestable[name]), 0
for i = 1, 12 do
if not moveTable then
index = i
break
end
end
if tonumber(it) ~= index then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")
return true
end
local needCds = false --Coloque false se o pokémon puder mega evoluir mesmo com spells em cooldown.
if needCds then
for i = 1, 12 do
if getCD(getPlayerSlotItem(cid, 8).uid, "move"..i) > 0 then
return doPlayerSendCancel(cid, "para mega evoluir os cds do pokemon devem estar carregados.")
end
end
end
move = {name = "Mega Evolution", level = 0, cd = 0, dist = 1, target = 0, f = 0, t = "?"}
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 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 "..move.name.." again.")
return true
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 isCreature(getCreatureTarget(cid)) and isInArray(specialabilities["evasion"], getCreatureName(getCreatureTarget(cid))) then
local target = getCreatureTarget(cid)
if math.random(1, 100) <= passivesChances["Evasion"][getCreatureName(target)] then
if isCreature(getMasterTarget(target)) then --alterado v1.6
doSendMagicEffect(getThingPos(target), 211)
doSendAnimatedText(getThingPos(target), "TOO BAD", 215)
doTeleportThing(target, getClosestFreeTile(target, getThingPos(mypoke)), false)
doSendMagicEffect(getThingPos(target), 211)
doFaceCreature(target, getThingPos(mypoke))
return true --alterado v1.6
end
end
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
local newid = 0
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 = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd)
end
local spellMessage = msgs[math.random(#msgs)]..""..move.name.."!"
if move.name == "Mega Evolution" then
spellMessage = "Mega Evolve!"
end
doCreatureSay(cid, getPokeName(mypoke)..", "..spellMessage, TALKTYPE_SAY)
local summons = getCreatureSummons(cid) --alterado v1.6
addEvent(doAlertReady, move.cd * 1000, cid, newid, move.name, it, cdzin)
for i = 2, #summons do
if isCreature(summons) and getPlayerStorageValue(cid, 637501) >= 1 then
docastspell(summons, move.name) --alterado v1.6
end
end
docastspell(mypoke, move.name)
doCreatureAddCondition(cid, playerexhaust)
if useKpdoDlls then
doUpdateCooldowns(cid)
end
return 0
end
essa é a função da evolução
function doEvolvePokemon(cid, item2, theevo, stone1, stone2)
if not isCreature(cid) then return true end
if not pokes[theevo] or not pokes[theevo].offense then
doReturnPokemon(cid, item2.uid, getPlayerSlotItem(cid, 8), pokeballs[getPokeballType(getPlayerSlotItem(cid, 8).itemid)].effect, false, true)
return true
end
local owner = getCreatureMaster(item2.uid)
local pokeball = getPlayerSlotItem(cid,
local description = "Contains a "..theevo.."."
local pct = getCreatureHealth(item2.uid) / getCreatureMaxHealth(item2.uid)
doItemSetAttribute(pokeball.uid, "hp", pct)
doItemSetAttribute(pokeball.uid, "poke", theevo)
doItemSetAttribute(pokeball.uid, "description", "Contains a "..theevo..".")
doPlayerSendTextMessage(cid, 27, "Congratulations! Your "..getPokeName(item2.uid).." evolved into a "..theevo.."!")
doSendMagicEffect(getThingPos(item2.uid), 18)
doTransformItem(getPlayerSlotItem(cid, 7).uid, fotos[theevo])
doSendMagicEffect(getThingPos(cid), 173)
local oldpos = getThingPos(item2.uid)
local oldlod = getCreatureLookDir(item2.uid)
doRemoveCreature(item2.uid)
doSummonMonster(cid, theevo)
local pk = getCreatureSummons(cid)[1]
doTeleportThing(pk, oldpos, false)
doCreatureSetLookDir(pk, oldlod)
sendFinishEvolutionEffect(pk, true)
addEvent(sendFinishEvolutionEffect, 550, pk, true)
addEvent(sendFinishEvolutionEffect, 1050, pk)
doPlayerRemoveItem(cid, stone1, 1)
doPlayerRemoveItem(cid, stone2, 1)
doAddPokemonInOwnList(cid, theevo)
local happy = getItemAttribute(pokeball.uid, "happy")
doItemSetAttribute(pokeball.uid, "happy", happy + happyGainedOnEvolution)
if happy + happyGainedOnEvolution > 255 then
doItemSetAttribute(pokeball.uid, "happy", 255)
end
adjustStatus(pk, pokeball.uid, true, false)
if useKpdoDlls then
doUpdateMoves(cid)
end
end
espero que alguem possa me ajudar obg desde ja
@Poccnn se puder dar uma olhada tb te agradeço mt
aé eu to meio q intermediário nos script já, vc é um otimo professor +/_ rsrsrs
Link para o comentário
Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados