Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado
estou tentando bloquear a evolução de pokemons com addon checando o atributo do mesmo, porem retora o seguinte erro.
 
[13/04/2015 00:51:22] [Error - Action Interface] 
[13/04/2015 00:51:22] data/actions/scripts/evolution.lua:onUse
[13/04/2015 00:51:23] Description: 
[13/04/2015 00:51:23] data/actions/scripts/evolution.lua:339: attempt to compare number with nil
[13/04/2015 00:51:23] stack traceback:
[13/04/2015 00:51:23] data/actions/scripts/evolution.lua:339: in function <data/actions/scripts/evolution.lua:51>
 
 

local special = specialevo --alterado v1.9 \/ peguem ele todo!



local types = {
[leaf] = {"Tangela", "Snover", "Cherubi", "Burmy Green", "Budew", "Turtwig", "Roselia", "Grotle", "Lileep", "Cacnea", "Shroomish", "Seedot", "Nuzleaf", "Lotad", "Grovyle", "Treecko", "Bulbasaur", "Ivysaur", "Oddish", "Gloom", "Bellsprout", "Weepinbell", "Exeggcute", "Chikorita", "Bayleef", "Hoppip", "Skiploom", "Sunkern"},
[water] = {"Mantyke", "Finneon", "Shellos Blue", "Shellos Pink", "Buizel", "Piplup", "Prinplup", "Huntail", "Clamperl", "Sealeo", "Spheal", "Feebas", "Corphish", "Barboach", "Wailmer", "Carvanha", "Surskit", "Wingull", "Lombre", "Lotad", "Swampert", "Marshtomp", "Mudkip", "Seadra", "Squirtle", "Wartortle", "Horsea", "Goldeen", "Magikarp", "Psyduck", "Poliwag", "Poliwhirl", "Tentacool", "Krabby", "Staryu", "Omanyte", "Eevee", "Totodile", "Croconow", "Chinchou", "Marill", "Wooper", "Slowpoke", "Remoraid", "Seadra"},
[venom] = {"Croagunk", "Skorupi", "Stunky", "Anorith", "Gulpin", "Wurmple", "Cascoon", "Zubat", "Ekans", "Nidoran male", "Nidoran female", "Nidorino", "Nidorina", "Gloom", "Venonat", "Tentacool", "Grimer", "Koffing", "Spinarak", "Golbat"},
[thunder] = {"Electabuzz", "Magneton", "Shinx", "Luxio", "Electrike", "Magnemite", "Pikachu", "Voltorb", "Eevee", "Chinchou", "Pichu", "Mareep", "Flaaffy", "Elekid"},
[rock] = {"Nosepass", "Rhydon", "Bonsly", "Shieldon", "Cranidos", "Anorith", "Lileep", "Lairon", "Aron", "Geodude", "Graveler", "Rhyhorn", "Kabuto", "Slugma", "Pupitar"},
[punch] = {"Croagunk", "Riolu", "Aipom", "Meditite", "Makuhita", "Combusken", "Machop", "Machoke", "Mankey", "Poliwhirl", "Tyrogue"},
[fire] = {"Magmar", "Chimchar", "Monferno", "Numel", "Torchic", "Combusken", "Charmander", "Charmeleon", "Vulpix", "Growlithe", "Ponyta", "Eevee", "Cyndaquil", "Quilava", "Slugma", "Houndour", "Magby"},
[coccon] = {"Yanma", "Skorupi", "Combee", "Kricketot", "Ninjask", "Nincada", "Surskit", "Wurmple", "Silcoon", "Caterpie", "Metapod", "Weedle", "Kakuna", "Paras", "Venonat", "Scyther", "Ledyba", "Spinarak", "Pineco"},
[crystal] = {"Gabite", "Gible", "Shelgon", "Bagon", "Vibrava", "Dratini", "Dragonair", "Magikarp", "Omanyte", "Kabuto"},
[dark] = {"Dusclops", "Sneasel", "Misdreavus", "Drifloon", "Duskull", "Shuppet", "Carvanha", "Nuzleaf", "Poochyena", "Gastly", "Haunter", "Eevee", "Houndour", "Pupitar"},
[earth] = {"Gligar", "Rhydon", "Hippopotas", "Gabite", "Gible", "Buneary", "Burmy White","Barboach", "Vibrava", "Trapinch", "Numel", "Lairon", "Teddiursa", "Cubone", "Sandshrew", "Nidorino", "Nidorina", "Diglett", "Onix", "Rhyhorn", "Wooper", "Swinub", "Phanpy", "Larvitar"},
[enigma] = {"Porygon2", "Mime Jr.", "Bronzor", "Chingling", "Metang", "Baltoy", "Spoink", "Meditite", "Kirlia", "Ralts", "Porygon", "Abra", "Kadabra", "Psyduck", "Slowpoke", "Drowzee", "Eevee", "Natu", "Smoochum"},
[heart] = {"Togetic", "Lickitung", "Munchlax", "Happiny", "Glameow", "Murkrow", "Burmy Pink", "Bidoof", "Starly", "Staravia", "Staraptor", "Shelgon", "Swablu", "Azurill", "Loudred", "Whismur", "Vigoroth", "Slakoth", "Wingull", "Taillow", "Zigzagoon", "Chansey", "Rattata", "Pidgey", "Pidgeotto", "Spearow", "Clefairy", "Jigglypuff", "Meowth", "Doduo", "Sentret", "Hoothoot", "Cleffa", "Igglybuff", "Togepi", "Snubull"},
[ice] = {"Piloswine", "Sneasel", "Snover", "Sealeo", "Spheal", "Snorunt", "Seel", "Shellder", "Smoochum", "Swinub"},
[king] = {"Slowpoke", "Poliwhirl"},
[metal] = {"Riolu", "Bronzor", "Shieldon", "Metang", "Beldum", "Onix", "Scyther"},
[sun] = {"Skitty", "Sunkern", "Gloom"},
[sfire] = {"Shiny Charmander", "Shiny Charmeleon", "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 Voltorb", "Shiny Eevee"},
[scrystal] = {"Shiny Dratini", "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"},
[shiny] = {"Abomasnow", "Abra", "Aerodactyl", "Aggron", "Alakazam", "Ampharos", "Arcanine", "Ariados", "Beedrill", "Blastoise", "Butterfree", "Cacturne", "Charizard", "Crobat", "Cubone", "Ditto", "Dodrio", "Dragonair", "Dragonite", "Dratini", "Electabuzz", "Electivire", "Electrode", "Espeon", "Farfetch'd", "Fearow", "Feraligatr", "Flareon", "Flygon", "Gengar", "Golbat", "Golem", "Grimer", "Growlithe", "Gyarados", "Hitmonchan", "Hitmonlee", "Hitmontop", "Horsea", "Hypno", "Jolteon", "Jynx", "Kingler", "Krabby", "Larvitar", "Machamp", "Magikarp", "Magmar", "Magmortar", "Magneton", "Mamoswine", "Marowak", "Meganium", "Metagross", "Milotic", "Mr. Mime", "Muk", "Nidoking", "Ninetales", "Oddish", "Omastar", "Onix", "Paras", "Parasect", "Pidgeot", "Pinsir", "Politoed", "Pupitar", "Raichu", "Raticate", "Rattata", "Rhydon", "Rhyperior", "Roserade", "Salamence", "Scyther", "Seadra", "Snorlax", "Stantler", "Tangela", "Tangrowth", "Tauros", "Tentacool", "Tentacruel", "Tropius", "Typhlosion", "Umbreon", "Ursaring", "Vaporeon", "Venomoth", "Venonat", "Venusaur", "Vileplume", "Voltorb", "Xatu", "Yanmega", "Zangoose", "Zubat", "Shiny Abra", "Shiny Growlithe", "Shiny Golbat", "Shiny Cubone", "Shiny Dratini", "Shiny Dragonair", "Shiny Electabuzz", "Shiny Voltorb", "Shiny Grimer", "Shiny Magikarp", "Shiny Horsea", "Shiny Krabby", "Shiny Larvitar", "Shiny Magmar", "Shiny Oddish", "Shiny Paras", "Shiny Rattata", "Shiny Rhydon", "Shiny Tangela", "Shiny Tentacool", "Shiny Venonat", "Shiny Zubat"}

}

local specEvos = { --alterado v1.9 \/
["Eevee"] = {
[thunder] = "Jolteon",
[water] = "Vaporeon",
[fire] = "Flareon",
[enigma] = "Espeon",
[dark] = "Umbreon",
[leaf] = "Leafeon",
[ice] = "Glaceon",
},
}

function onUse(cid, item, frompos, item2, topos)

local pokeball = getPlayerSlotItem(cid, 8)

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)
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)

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)

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)
end

elseif getPokemonName(item2.uid) == "Gloom" then
local theevo = ""
local evolution = 0
if item.itemid == leaf then
if getPlayerItemCount(cid, venom) >= 1 then
theevo = "Vileplume"
evolution = venom
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 Venom 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 Venom Stone to evolve this pokemon to a Vileplume, or a Sun Stone to a Bellossom.")
return true
end

doEvolvePokemon(cid, item2, theevo, evolution, leaf)

elseif item.itemid == venom 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 one Leaf Stone and one Venom Stone to evolve this pokemon.")
return true
end
doEvolvePokemon(cid, item2, "Vileplume", venom, leaf)

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)
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)

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)
end

elseif getPokemonName(item2.uid) == "Wurmple" then
if item.itemid == venom then
minlevel = pokes["Cascoon"].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, "Cascoon", venom, 0)

elseif item.itemid == coccon then
minlevel = pokes["Silcoon"].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, "Silcoon", coccon, 0)
end

elseif getPokemonName(item2.uid) == "Kirlia" then
if item.itemid == enigma then
minlevel = pokes["Gardevoir"].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, "Gardevoir", enigma, 0)

elseif item.itemid == punch then
minlevel = pokes["Gallade"].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, "Gallade", punch, 0)
end

elseif getPokemonName(item2.uid) == "Snorunt" then
if item.itemid == ice then
minlevel = pokes["Glalie"].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, "Glalie", ice, 0)

elseif item.itemid == dark then
minlevel = pokes["Froslass"].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, "Froslass", dark, 0)
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)
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, "You don't have enough level to evolve this pokemon ("..minlevel..").")
return true
end

if count >= 2 then
stnid2 = stnid
end

if getItemAttribute(cid, "addon") > 0 then
doPlayerSendCancel(cid, "you can not evolve pokemon with addon.")
return true
end

doEvolvePokemon(cid, item2, evo, stnid, stnid2)

return TRUE
end

 

www.pokemiw.com
24 Horas Online - 1º 2º 3º 4º 5º 6º 7º gerações 100%
 

Postado

local special = specialevo --alterado v1.9 \/ peguem ele todo!

local types = {
    [leaf] = {"Tangela", "Snover", "Cherubi", "Burmy Green", "Budew", "Turtwig", "Roselia", "Grotle", "Lileep", "Cacnea", "Shroomish", "Seedot", "Nuzleaf", "Lotad", "Grovyle", "Treecko", "Bulbasaur", "Ivysaur", "Oddish", "Gloom", "Bellsprout", "Weepinbell", "Exeggcute", "Chikorita", "Bayleef", "Hoppip", "Skiploom", "Sunkern"},
    [water] = {"Mantyke", "Finneon", "Shellos Blue", "Shellos Pink", "Buizel", "Piplup", "Prinplup", "Huntail", "Clamperl", "Sealeo", "Spheal", "Feebas", "Corphish", "Barboach", "Wailmer", "Carvanha", "Surskit", "Wingull", "Lombre", "Lotad", "Swampert", "Marshtomp", "Mudkip", "Seadra", "Squirtle", "Wartortle", "Horsea", "Goldeen", "Magikarp", "Psyduck", "Poliwag", "Poliwhirl", "Tentacool", "Krabby", "Staryu", "Omanyte", "Eevee", "Totodile", "Croconow", "Chinchou", "Marill", "Wooper", "Slowpoke", "Remoraid", "Seadra"},
    [venom] = {"Croagunk", "Skorupi", "Stunky", "Anorith", "Gulpin", "Wurmple", "Cascoon", "Zubat", "Ekans", "Nidoran male", "Nidoran female", "Nidorino", "Nidorina", "Gloom", "Venonat", "Tentacool", "Grimer", "Koffing", "Spinarak", "Golbat"},
    [thunder] = {"Electabuzz", "Magneton", "Shinx", "Luxio", "Electrike", "Magnemite", "Pikachu", "Voltorb", "Eevee", "Chinchou", "Pichu", "Mareep", "Flaaffy", "Elekid"},
    [rock] = {"Nosepass", "Rhydon", "Bonsly", "Shieldon", "Cranidos", "Anorith", "Lileep", "Lairon", "Aron", "Geodude", "Graveler", "Rhyhorn", "Kabuto", "Slugma", "Pupitar"},
    [punch] = {"Croagunk", "Riolu", "Aipom", "Meditite", "Makuhita", "Combusken", "Machop", "Machoke", "Mankey", "Poliwhirl", "Tyrogue"},
    [fire] = {"Magmar", "Chimchar", "Monferno", "Numel", "Torchic", "Combusken", "Charmander", "Charmeleon", "Vulpix", "Growlithe", "Ponyta", "Eevee", "Cyndaquil", "Quilava", "Slugma", "Houndour", "Magby"},
    [coccon] = {"Yanma", "Skorupi", "Combee", "Kricketot", "Ninjask", "Nincada", "Surskit", "Wurmple", "Silcoon", "Caterpie", "Metapod", "Weedle", "Kakuna", "Paras", "Venonat", "Scyther", "Ledyba", "Spinarak", "Pineco"},
    [crystal] = {"Gabite", "Gible", "Shelgon", "Bagon", "Vibrava", "Dratini", "Dragonair", "Magikarp", "Omanyte", "Kabuto"},
    [dark] = {"Dusclops", "Sneasel", "Misdreavus", "Drifloon", "Duskull", "Shuppet", "Carvanha", "Nuzleaf", "Poochyena", "Gastly", "Haunter", "Eevee", "Houndour", "Pupitar"},
    [earth] = {"Gligar", "Rhydon", "Hippopotas", "Gabite", "Gible", "Buneary", "Burmy White","Barboach", "Vibrava", "Trapinch", "Numel", "Lairon", "Teddiursa", "Cubone", "Sandshrew", "Nidorino", "Nidorina", "Diglett", "Onix", "Rhyhorn", "Wooper", "Swinub", "Phanpy", "Larvitar"},
    [enigma] = {"Porygon2", "Mime Jr.", "Bronzor", "Chingling", "Metang", "Baltoy", "Spoink", "Meditite", "Kirlia", "Ralts", "Porygon", "Abra", "Kadabra", "Psyduck", "Slowpoke", "Drowzee", "Eevee", "Natu", "Smoochum"},
    [heart] = {"Togetic", "Lickitung", "Munchlax", "Happiny", "Glameow", "Murkrow", "Burmy Pink", "Bidoof", "Starly", "Staravia", "Staraptor", "Shelgon", "Swablu", "Azurill", "Loudred", "Whismur", "Vigoroth", "Slakoth", "Wingull", "Taillow", "Zigzagoon", "Chansey", "Rattata", "Pidgey", "Pidgeotto", "Spearow", "Clefairy", "Jigglypuff", "Meowth", "Doduo", "Sentret", "Hoothoot", "Cleffa", "Igglybuff", "Togepi", "Snubull"},
    [ice] = {"Piloswine", "Sneasel", "Snover", "Sealeo", "Spheal", "Snorunt", "Seel", "Shellder", "Smoochum", "Swinub"},
    [king] = {"Slowpoke", "Poliwhirl"},
    [metal] = {"Riolu", "Bronzor", "Shieldon", "Metang", "Beldum", "Onix", "Scyther"},
    [sun] = {"Skitty", "Sunkern", "Gloom"},
    [sfire] = {"Shiny Charmander", "Shiny Charmeleon", "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 Voltorb", "Shiny Eevee"},
    [scrystal] = {"Shiny Dratini", "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"},
    [shiny] = {"Abomasnow", "Abra", "Aerodactyl", "Aggron", "Alakazam", "Ampharos", "Arcanine", "Ariados", "Beedrill", "Blastoise", "Butterfree", "Cacturne", "Charizard", "Crobat", "Cubone", "Ditto", "Dodrio", "Dragonair", "Dragonite", "Dratini", "Electabuzz", "Electivire", "Electrode", "Espeon", "Farfetch'd", "Fearow", "Feraligatr", "Flareon", "Flygon", "Gengar", "Golbat", "Golem", "Grimer", "Growlithe", "Gyarados", "Hitmonchan", "Hitmonlee", "Hitmontop", "Horsea", "Hypno", "Jolteon", "Jynx", "Kingler", "Krabby", "Larvitar", "Machamp", "Magikarp", "Magmar", "Magmortar", "Magneton", "Mamoswine", "Marowak", "Meganium", "Metagross", "Milotic", "Mr. Mime", "Muk", "Nidoking", "Ninetales", "Oddish", "Omastar", "Onix", "Paras", "Parasect", "Pidgeot", "Pinsir", "Politoed", "Pupitar", "Raichu", "Raticate", "Rattata", "Rhydon", "Rhyperior", "Roserade", "Salamence", "Scyther", "Seadra", "Snorlax", "Stantler", "Tangela", "Tangrowth", "Tauros", "Tentacool", "Tentacruel", "Tropius", "Typhlosion", "Umbreon", "Ursaring", "Vaporeon", "Venomoth", "Venonat", "Venusaur", "Vileplume", "Voltorb", "Xatu", "Yanmega", "Zangoose", "Zubat", "Shiny Abra", "Shiny Growlithe", "Shiny Golbat", "Shiny Cubone", "Shiny Dratini", "Shiny Dragonair", "Shiny Electabuzz", "Shiny Voltorb", "Shiny Grimer", "Shiny Magikarp", "Shiny Horsea", "Shiny Krabby", "Shiny Larvitar", "Shiny Magmar", "Shiny Oddish", "Shiny Paras", "Shiny Rattata", "Shiny Rhydon", "Shiny Tangela", "Shiny Tentacool", "Shiny Venonat", "Shiny Zubat"}
    
}

local specEvos = { --alterado v1.9 \/
    ["Eevee"] = {
        [thunder] = "Jolteon",
        [water] = "Vaporeon",
        [fire] = "Flareon",
        [enigma] = "Espeon",
        [dark] = "Umbreon",
        [leaf] = "Leafeon",
        [ice] = "Glaceon",
    },
}

function onUse(cid, item, frompos, item2, topos)
    
    local pokeball = getPlayerSlotItem(cid, 8)
    
    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)
        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)
                
            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)
                
            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)
            end
            
        elseif getPokemonName(item2.uid) == "Gloom" then
            local theevo = ""
            local evolution = 0
            if item.itemid == leaf then
                if getPlayerItemCount(cid, venom) >= 1 then
                    theevo = "Vileplume"
                    evolution = venom
                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 Venom 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 Venom Stone to evolve this pokemon to a Vileplume, or a Sun Stone to a Bellossom.")
                    return true
                end
                
                doEvolvePokemon(cid, item2, theevo, evolution, leaf)
                
            elseif item.itemid == venom 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 one Leaf Stone and one Venom Stone to evolve this pokemon.")
                    return true
                end
                doEvolvePokemon(cid, item2, "Vileplume", venom, leaf)
                
            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)
            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)
                
            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)
            end
            
        elseif getPokemonName(item2.uid) == "Wurmple" then
            if item.itemid == venom then
                minlevel = pokes["Cascoon"].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, "Cascoon", venom, 0)
                
            elseif item.itemid == coccon then
                minlevel = pokes["Silcoon"].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, "Silcoon", coccon, 0)
            end
            
        elseif getPokemonName(item2.uid) == "Kirlia" then
            if item.itemid == enigma then
                minlevel = pokes["Gardevoir"].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, "Gardevoir", enigma, 0)
                
            elseif item.itemid == punch then
                minlevel = pokes["Gallade"].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, "Gallade", punch, 0)
            end
            
        elseif getPokemonName(item2.uid) == "Snorunt" then
            if item.itemid == ice then
                minlevel = pokes["Glalie"].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, "Glalie", ice, 0)
                
            elseif item.itemid == dark then
                minlevel = pokes["Froslass"].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, "Froslass", dark, 0)
            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)
        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, "You don't have enough level to evolve this pokemon ("..minlevel..").")
        return true
    end
    
    if count >= 2 then
        stnid2 = stnid
    end
    
    if getItemAttribute(item.uid, "addon") > 0 then
        doPlayerSendCancel(cid, "you can not evolve pokemon with addon.")
        return true
    end
    
    doEvolvePokemon(cid, item2, evo, stnid, stnid2)
    
    return TRUE
end

Postado
  • Autor
[13/04/2015 01:05:37] [Error - Action Interface] 
[13/04/2015 01:05:37] data/actions/scripts/evolution.lua:onUse
[13/04/2015 01:05:37] Description: 
[13/04/2015 01:05:37] data/actions/scripts/evolution.lua:339: attempt to compare number with nil
[13/04/2015 01:05:38] stack traceback:
[13/04/2015 01:05:38] data/actions/scripts/evolution.lua:339: in function <data/actions/scripts/evolution.lua:51>
 
erro continua, nao da pra evoluir nenhum pokemon nem com nem sem addon.
 
EDIT: Problema resolvido.

    local pb = getPlayerSlotItem(cid, 8).uid
local addon = tonumber(getItemAttribute(pb,"addon"))
 
if addon > 1 then
       doPlayerSendCancel(cid, "you can not evolve pokemon with addon.")
        return true
    end
 
pode fechar e obrigado pela ajuda man.

Editado por klipstyle (veja o histórico de edições)

www.pokemiw.com
24 Horas Online - 1º 2º 3º 4º 5º 6º 7º gerações 100%
 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo