Postado Dezembro 8, 2015 9 anos Alguém me ajuda em addon system na hora de usar acontece isso: [08/12/2015 18:20:44] [Error - Action Interface] [08/12/2015 18:20:45] data/actions/scripts/addon.lua:onUse [08/12/2015 18:20:45] Description: [08/12/2015 18:20:45] data/actions/scripts/addon.lua:29: attempt to compare nil with number [08/12/2015 18:20:45] stack traceback: [08/12/2015 18:20:45] data/actions/scripts/addon.lua:29: in function <data/actions/scripts/addon.lua:1> Addon System: Mostrar conteúdo oculto function onUse(cid, item, fromPosition, itemEx, toPosition) local addons = { [12803] = {pokemon= "Alakazam" , looktype = 2003, count = 1}, [12803] = {pokemon= "Shiny Alakazam" , looktype = 2013, count = 1}, } if(#getCreatureSummons(cid) > 0) then doPlayerSendCancel(cid, "Please back your pokemon.") return false end local numero = addons[item.itemid].looktype local count = addons[item.itemid].count local pb = getPlayerSlotItem(cid, 8).uid local pk = addons[item.itemid].pokemon if(pb <= 0) then doPlayerSendCancel(cid, "Desculpe, você não tem um "..pk.." no slot") return false end if(getItemAttribute(pb,"poke") ~= pk) then doPlayerSendCancel(cid, "Desculpe, você não pode usar esse addon nesse pokemon.") return false end if(getItemAttribute(pb,"addon") < 1) then doRemoveItem(item.uid, count) doPlayerSendTextMessage(cid, 27, "Parabéns, você executou isso com sucesso. Para remover seu addon diga !addons remove") doSetItemAttribute(pb,"addon", numero) else doPlayerSendCancel(cid, "Você não tem o necessário para adicionar no seu "..pk..".") end return true end Tag: Mostrar conteúdo oculto <action itemid="12803" event="script" value="addon.lua"/> Goback caso por preciso: Mostrar conteúdo oculto function onLogout(cid) if not isCreature(cid) then return true end local thisitem = getPlayerSlotItem(cid, 8) if thisitem.uid <= 0 then return true end local ballName = getItemAttribute(thisitem.uid, "poke") local btype = getPokeballType(thisitem.itemid) --------------------------------------------------------------- if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 212124) <= 0 then --alterado v1.6 if getPlayerStorageValue(cid, 637501) == -2 or getPlayerStorageValue(cid, 637501) >= 1 then BackTeam(cid) end end --////////////////////////////////////////////////////////////////////////////////////////-- if getPlayerStorageValue(cid, 52480) >= 1 and getPlayerStorageValue(cid, 52481) >= 0 then doEndDuel(cid) end --////////////////////////////////////////////////////////////////////////////////////////-- if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then local cmed2 = getCreatureSummons(cid)[1] local poscmed = getThingPos(cmed2) local cmeddir = getCreatureLookDir(cmed2) local namecmed = getCreatureName(cmed2) local hp, maxHp = getCreatureHealth(getCreatureSummons(cid)[1]), getCreatureMaxHealth(getCreatureSummons(cid)[1]) local gender = getPokemonGender(cmed2) doRemoveCreature(getCreatureSummons(cid)[1]) local back = doCreateMonster(namecmed, poscmed) addEvent(doCreatureSetSkullType, 150, back, gender) doCreatureSetLookDir(back, cmeddir) addEvent(doCreatureAddHealth, 100, back, hp-maxHp) -- pokemon controlador local ball2 = getPlayerSlotItem(cid, 8) local mynewpos = getThingPos(getCreatureSummons(cid)[1]) doRemoveCreature(getCreatureSummons(cid)[1]) local pk2 = doSummonCreature(getItemAttribute(ball2.uid, "poke"), mynewpos) doConvinceCreature(cid, pk2) addEvent(doAdjustWithDelay, 100, cid, pk2, true, true, false) setPlayerStorageValue(cid, 888, -1) cleanCMcds(ball2.uid) doCreatureSetLookDir(getCreatureSummons(cid)[1], 2) registerCreatureEvent(pk2, "SummonDeath") end ---------------------------------------------------------------------- local summon = getCreatureSummons(cid)[1] if #getCreatureSummons(cid) >= 1 and thisitem.uid > 1 then if getPlayerStorageValue(cid, 212124) <= 0 then doItemSetAttribute(thisitem.uid, "hp", (getCreatureHealth(summon) / getCreatureMaxHealth(summon))) end setPlayerStorageValue(cid, 212124, 0) doTransformItem(thisitem.uid, pokeballs[btype].on) doSendMagicEffect(getThingPos(summon), pokeballs[btype].effect) doRemoveCreature(summon) end if getCreatureOutfit(cid).lookType == 814 then doPlayerStopWatching(cid) end if tonumber(getPlayerStorageValue(cid, 17000)) and getPlayerStorageValue(cid, 17000) >= 1 then markFlyingPos(cid, getThingPos(cid)) end if getPlayerStorageValue(cid, 22545) == 1 then setGlobalStorageValue(22550, getGlobalStorageValue(22550)-1) if getGlobalStorageValue(22550) <= 0 then endGoldenArena() end end return TRUE end local deathtexts = {"Oh no! POKENAME, come back!", "Come back, POKENAME!", "That's enough, POKENAME!", "You did well, POKENAME!", "You need to rest, POKENAME!", "Nice job, POKENAME!", "POKENAME, you are too hurt!"} function onDeath(cid, deathList) local owner = getCreatureMaster(cid) if getPlayerStorageValue(cid, 637500) >= 1 then doSendMagicEffect(getThingPos(cid), 211) doRemoveCreature(cid) return true end if getPlayerStorageValue(cid, 212123) >= 1 then return true end --////////////////////////////////////////////////////////////////////////////////////////-- checkDuel(owner) --////////////////////////////////////////////////////////////////////////////////////////-- local thisball = getPlayerSlotItem(owner, 8) local ballName = getItemAttribute(thisball.uid, "poke") btype = getPokeballType(thisball.itemid) if #getCreatureSummons(owner) > 1 then BackTeam(owner, getCreatureSummons(owner)) end doSendMagicEffect(getThingPos(cid), pokeballs[btype].effect) doTransformItem(thisball.uid, pokeballs[btype].off) doPlayerSendTextMessage(owner, 22, "Your pokemon fainted.") local say = deathtexts[math.random(#deathtexts)] say = string.gsub(say, "POKENAME", getCreatureName(cid)) if getPlayerStorageValue(cid, 33) <= 0 then doCreatureSay(owner, say, TALKTYPE_SAY) end doItemSetAttribute(thisball.uid, "hp", 0) if ehMonstro(deathList[1]) then doItemSetAttribute(thisball.uid, "happy", getPlayerStorageValue(cid, 1008) - happyLostOnDeath) end doItemSetAttribute(thisball.uid, "hunger", getPlayerStorageValue(cid, 1009)) if useOTClient then doPlayerSendCancel(owner, '12//,hide') --alterado v1.7 end doRemoveCreature(cid) return false end Alguém poderia ajudar ?
Postado Dezembro 10, 2015 9 anos Vê se funciona: Mostrar conteúdo oculto local addons = { [12803] = {pokemon= "Alakazam" , looktype = 2003, count = 1}, [12803] = {pokemon= "Shiny Alakazam" , looktype = 2013, count = 1}, } function onUse(cid, item, fromPosition, itemEx, toPosition) if(getCreatureSummons(cid) > 0) then doPlayerSendCancel(cid, "Please back your pokemon.") return false end local numero = addons[item.itemid].looktype local count = addons[item.itemid].count local pb = getPlayerSlotItem(cid, 8).uid local pk = addons[item.itemid].pokemon if(pb <= 1) then doPlayerSendCancel(cid, "Desculpe, você não tem um "..pk.." no slot") return false end if(getItemAttribute(pb,"pokemon") ~= pk) then doPlayerSendCancel(cid, "Desculpe, você não pode usar esse addon nesse pokemon.") return false end if(getItemAttribute(pb,"addon") < 1) then doRemoveItem(item.uid, count) doPlayerSendTextMessage(cid, 27, "Parabéns, você executou isso com sucesso. Para remover seu addon diga !addons remove") doSetItemAttribute(pb,"addon", numero) else doPlayerSendCancel(cid, "Você não tem o necessário para adicionar no seu "..pk..".") end return true end Editado Dezembro 10, 2015 9 anos por LucasAyres (veja o histórico de edições)
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.