Ir para conteúdo
  • 0

Catch servidor


Caktchup

Pergunta

I ae galera blz, Eu não entendo script mais eu sou de fica mexendo resolvi vários script mais esse já ta me dando dor de cabeça.. Peço por favor me ajuda Obrigado :XTibia_smile:

 

[02/03/2016 23:02:41] [Error - Action Interface]
[02/03/2016 23:02:41] data/actions/scripts/evolution.lua
[02/03/2016 23:02:41] Description:
[02/03/2016 23:02:41] data/actions/scripts/evolution.lua:6: table index is nil
[02/03/2016 23:02:41] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/evolution.lua)
[02/03/2016 23:02:41] data/actions/scripts/catch.lua:8: '(' expected near 'onUse'
Meu Evolution e o catch
Evolution

local special = specialevo
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"},
[king] = {"Slowpoke", "Poliwhirl"},
[metal] = {"Onix", "Scyther"},
[dragon] = {"Seadra"},
[upgrade] = {"Porygon"},
[sun] = {"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"}
}
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 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 pevo.level ~= 1 and not allEvolutionsCanBeInduzedByStone then
doPlayerSendCancel(cid, "This pokemon doesn't evolve using stones.")
return true
end
if pevo.stoneid ~= item.itemid and pevo.stoneid2 ~= item.itemid then
doPlayerSendCancel(cid, "[Evolution] Esta não é a Stone necessária para evoluir este pokemon!")
return true
end
end
if getPokemonName(item2.uid) == "Eevee" then
local eevee = ""
if item.itemid == thunder then
eevee = "Jolteon"
elseif item.itemid == water then
eevee = "Vaporeon"
elseif item.itemid == fire then
eevee = "Flareon"
elseif item.itemid == leaf then
eevee = "Leafeon"
elseif item.itemid == dawn then
eevee = "Glaceon"
elseif item.itemid == prismscale then
eevee = "Sylveon"
elseif item.itemid == shiny and allEvolutionsCanBeInduzedByStone then
eevee = "Espeon"
elseif item.itemid == dusk and allEvolutionsCanBeInduzedByStone then
eevee = "Umbreon"
else
doPlayerSendCancel(cid, "[Evolution] Esta não é a Stone requerido para evoluir seu pokemon.")
return true
end
minlevel = pokes[eevee].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "[Evolution] você não tem Level suficiente para evoluir este pokemon ("..minlevel..").")
return true
end
if getPokemonLevel(item2.uid) < 50 then
return doPlayerSendCancel(cid, "[Evolution] Desculpe, seu pokemon não tem o Level necessário para evoluir (50).")
end
doRemoveItem(item.uid, 1)
doEvolvePokemon(cid, item2, eevee, 0, 0)
return true
end
if getPokemonName(item2.uid) == "Shiny Eevee" then
local eevee = ""
if item.itemid == thunder then
eevee = "Shiny Jolteon"
elseif item.itemid == water then
eevee = "Shiny Vaporeon"
elseif item.itemid == fire then
eevee = "Shiny Flareon"
elseif item.itemid == shiny and allEvolutionsCanBeInduzedByStone then
eevee = "Shiny Espeon"
elseif item.itemid == dusk and allEvolutionsCanBeInduzedByStone then
eevee = "Shiny Umbreon"
else
doPlayerSendCancel(cid, "[Evolution] Esta não é a Stone requerida para evoluir seu pokemon.")
return true
end
minlevel = pokes[eevee].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "[Evolution] Você não tem Level suficiente para evoluir este pokemon ("..minlevel..").")
return true
end
if getPokemonLevel(item2.uid) < 50 then
return doPlayerSendCancel(cid, "[Evolution] Desculpe, seu pokemon não tem o Level necessário para evoluir (50).")
end
doRemoveItem(item.uid, 1)
doEvolvePokemon(cid, item2, eevee, 0, 0)
return true
end
if getPokemonName(item2.uid) == "Gloom" then
local gloom = ""
if item.itemid == leaf then
gloom = "Vileplume"
elseif item.itemid == sun then
gloom = "Bellossom"
else
doPlayerSendCancel(cid, "[Evolution] Esta não é a Stone requerida para evoluir seu pokemon.")
return true
end
minlevel = pokes[gloom].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "[Evolution] Você não tem Level suficiente para evoluir este pokemon ("..minlevel..").")
return true
end
if getPokemonLevel(item2.uid) < 40 then
return doPlayerSendCancel(cid, "[Evolution] Desculpe, seu pokemon não tem o Level necessário para evoluir (40).")
end
doRemoveItem(item.uid, 1)
doEvolvePokemon(cid, item2, gloom, 0, 0)
return true
end
if getPokemonName(item2.uid) == "Shiny Gloom" then
local gloom = ""
if item.itemid == leaf then
gloom = "Shiny Vileplume"
elseif item.itemid == sun then
gloom = "Shiny Bellossom"
else
doPlayerSendCancel(cid, "[Evolution] Esta não é a Stone requerida para evoluir seu pokemon.")
return true
end
minlevel = pokes[gloom].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "[Evolution] Você não tem Level suficiente para evoluir este pokemon ("..minlevel..").")
return true
end
if getPokemonLevel(item2.uid) < 40 then
return doPlayerSendCancel(cid, "[Evolution] Desculpe, seu pokemon não tem o Level necessário para evoluir (40).")
end
doRemoveItem(item.uid, 1)
doEvolvePokemon(cid, item2, gloom, 0, 0)
return true
end
if getPokemonName(item2.uid) == "Poliwhirl" then
local poliwhirl = ""
if item.itemid == water then
poliwhirl = "Poliwrath"
elseif item.itemid == king then
poliwhirl = "Politoed"
else
doPlayerSendCancel(cid, "[Evolution] Esta não é a Stone requerida para evoluir seu pokemon.")
return true
end
minlevel = pokes[poliwhirl].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "[Evolution] Você não tem Level suficiente para evoluir este pokemon ("..minlevel..").")
return true
end
if getPokemonLevel(item2.uid) < 50 then
return doPlayerSendCancel(cid, "[Evolution] Desculpe, seu pokemon não tem o Level necessário para evoluir (50).")
end
doRemoveItem(item.uid, 1)
doEvolvePokemon(cid, item2, poliwhirl, 0, 0)
return true
end
if getPokemonName(item2.uid) == "Shiny Poliwhirl" then
local poliwhirl = ""
if item.itemid == water then
poliwhirl = "Shiny Poliwrath"
elseif item.itemid == king then
poliwhirl = "Shiny Politoed"
else
doPlayerSendCancel(cid, "[Evolution] Esta não é a Stone requerida para evoluir seu pokemon.")
return true
end
minlevel = pokes[poliwhirl].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "[Evolution] Você não tem Level suficiente para evoluir este pokemon ("..minlevel..").")
return true
end
if getPokemonLevel(item2.uid) < 50 then
return doPlayerSendCancel(cid, "[Evolution] Desculpe, seu pokemon não tem o Level necessário para evoluir (50).")
end
doRemoveItem(item.uid, 1)
doEvolvePokemon(cid, item2, poliwhirl, 0, 0)
return true
end
if getPokemonName(item2.uid) == "Slowpoke" then
local slowpoke = ""
if item.itemid == water then
slowpoke = "Slowbro"
elseif item.itemid == king then
slowpoke = "Slowking"
else
doPlayerSendCancel(cid, "[Evolution] Esta não é a Stone requerida para evoluir seu pokemon.")
return true
end
minlevel = pokes[slowpoke].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "[Evolution] Você não tem Level suficiente para evoluir este pokemon ("..minlevel..").")
return true
end
if getPokemonLevel(item2.uid) < 50 then
return doPlayerSendCancel(cid, "[Evolution] Desculpe, seu pokemon não tem o Level necessário para evoluir (50).")
end
doRemoveItem(item.uid, 1)
doEvolvePokemon(cid, item2, slowpoke, 0, 0)
return true
end
if getPokemonName(item2.uid) == "Shiny Slowpoke" then
local slowpoke = ""
if item.itemid == water then
slowpoke = "Shiny Slowbro"
elseif item.itemid == king then
slowpoke = "Shiny Slowking"
else
doPlayerSendCancel(cid, "[Evolution] Esta não é a Stone requerida para evoluir seu pokemon.")
return true
end
minlevel = pokes[slowpoke].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "[Evolution] Você não tem Level suficiente para evoluir este pokemon ("..minlevel..").")
return true
end
if getPokemonLevel(item2.uid) < 50 then
return doPlayerSendCancel(cid, "[Evolution] Desculpe, seu pokemon não tem o Level necessário para evoluir (50).")
end
doRemoveItem(item.uid, 1)
doEvolvePokemon(cid, item2, slowpoke, 0, 0)
return true
end
if getPokemonName(item2.uid) == "Tyrogue" then
local tyrogue = ""
if item.itemid == punch then
tyrogue = "Hitmonchan"
elseif item.itemid == kick then
tyrogue = "Hitmonlee"
elseif item.itemid == rolling then
tyrogue = "Hitmontop"
else
doPlayerSendCancel(cid, "[Evolution] Esta não é a Stone requerida para evoluir seu pokemon.")
return true
end
minlevel = pokes[tyrogue].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "[Evolution] Você não tem Level suficiente para evoluir este pokemon ("..minlevel..").")
return true
end
if getPokemonLevel(item2.uid) < 50 then
return doPlayerSendCancel(cid, "[Evolution] Desculpe, seu pokemon não tem o Level necessário para evoluir (50).")
end
doRemoveItem(item.uid, 1)
doEvolvePokemon(cid, item2, tyrogue, 0, 0)
return true
end
if getPokemonName(item2.uid) == "Shiny Tyrogue" then
local tyrogue = ""
if item.itemid == punch then
tyrogue = "Shiny Hitmonchan"
elseif item.itemid == kick then
tyrogue = "Shiny Hitmonlee"
elseif item.itemid == rolling then
tyrogue = "Shiny Hitmontop"
else
doPlayerSendCancel(cid, "[Evolution] Esta não é a Stone requerida para evoluir seu pokemon.")
return true
end
minlevel = pokes[tyrogue].level
if getPlayerLevel(cid) < minlevel then
doPlayerSendCancel(cid, "[Evolution] Você não tem Level suficiente para evoluir este pokemon ("..minlevel..").")
return true
end
if getPokemonLevel(item2.uid) < 50 then
return doPlayerSendCancel(cid, "[Evolution] Desculpe, seu pokemon não tem o Level necessário para evoluir (50).")
end
doRemoveItem(item.uid, 1)
doEvolvePokemon(cid, item2, tyrogue, 0, 0)
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
local nlevel = poevo[getPokemonName(item2.uid)].level
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
local nlevel = poevo[getPokemonName(item2.uid)].level
if stnid2 > 1 and (getPlayerItemCount(cid, stnid2) < count or getPlayerItemCount(cid, stnid) < count) then
doPlayerSendCancel(cid, "[Evolution] Você precisa de pelo menos um "..getItemNameById(stnid).." e um "..getItemNameById(stnid2).." Para Evoluir este Pokemon!")
return true
end
if getPlayerItemCount(cid, stnid) < count then
local str = ""
if count >= 2 then
str = "s"
end
return doPlayerSendCancel(cid, "[Evolution] Você precisa de pelo menos "..count.." "..getItemNameById(stnid)..""..str.." Para Evoluir este Pokemon!")
end
minlevel = pokes[evo].level
if getPlayerLevel(cid) < minlevel and evolutionByStoneRequireLevel then
doPlayerSendCancel(cid, "[Evolution] Você não tem Level suficiente para evoluir este pokemon("..minlevel..").")
return true
end
if getPokemonLevel(item2.uid) < nlevel and evolutionByStoneRequireLevel then
doPlayerSendCancel(cid, "[Evolution] Desculpe, seu pokemon não tem o Level necessário para evoluir ("..nlevel..").")
return true
end
if count >= 2 then
stnid2 = stnid
end
doEvolvePokemon(cid, item2, evo, stnid, stnid2)
return TRUE
end

Meu catch

local ballcatch = { --id normal, id da ball shiy
[2394] = {cr = 3, on = 24, off = 23, ball = {11826, 11826}, send = 47, typeee = "normal"}, --Normal
[2391] = {cr = 5, on = 198, off = 197, ball = {11832, 11832}, send = 48, typeee = "great"}, -- Great
[2393] = {cr = 7, on = 202, off = 201, ball = {11835, 11835}, send = 46, typeee = "super"}, -- Super
[2392] = {cr = 1000, on = 200, off = 199, ball = {11829, 11829}, send = 49, typeee = "ultra"}, -- Ultra
[12617] = {cr = 3, on = 204, off = 203, ball = {10975, 12621}, send = 35, typeee = "saffari"},
}
function onUse(cid, item, frompos, item3, topos)
local item2 = getTopCorpse(topos)
if item2 == null then
return true
end
if getItemAttribute(item2.uid, "catching") == 1 then
return true
end
if getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then
return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!") --alterado v2.6
end
local name = string.lower(getItemNameById(item2.itemid)) --alterado v2.9 \/
name = string.gsub(name, "fainted ", "")
name = string.gsub(name, "defeated ", "")
name = doCorrectPokemonName(name)
local x = pokecatches[name]
local storage = newpokedex[doCorrectPokemonName(name)].stoCatch --alterado v2.9 \/
if getPlayerStorageValue(cid, storage) == -1 or not string.find(getPlayerStorageValue(cid, storage), ";") then
setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0;")
end
if not x then return true end
local owner = getItemAttribute(item2.uid, "corpseowner")
if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then --alterado v2.5
doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.")
return true
end
local newidd = isShinyName(name) and ballcatch[item.itemid].ball[2] or ballcatch[item.itemid].ball[1] --alterado v2.9
local typeee = ballcatch[item.itemid].typeee
local catchinfo = {}
catchinfo.rate = ballcatch[item.itemid].cr
catchinfo.catch = ballcatch[item.itemid].on
catchinfo.fail = ballcatch[item.itemid].off
catchinfo.newid = newidd
catchinfo.name = doCorrectPokemonName(name)
catchinfo.topos = topos
catchinfo.chance = x.chance
doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send)
doRemoveItem(item.uid, 1)
local d = getDistanceBetween(getThingPos(cid), topos)
if getPlayerStorageValue(cid, 98796) >= 1 and getPlayerItemCount(cid, 12617) <= 0 then --alterado v2.9
setPlayerStorageValue(cid, 98796, -1)
setPlayerStorageValue(cid, 98797, -1)
doTeleportThing(cid, SafariOut, false)
doSendMagicEffect(getThingPos(cid), 21)
doPlayerSendTextMessage(cid, 27, "You spend all your 'saffari balls', good luck in the next time...")
end
addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee)
addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3)
return true
end

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

×
×
  • Criar Novo...