Ir para conteúdo

[Encerrado] (Bug) Onlogout


Posts Recomendados

Estou com um bug na mesma script de ontem que o stylo mi ajudo ^^ so que agora ta dando bug em outra linha =/

 

BUG

 

[14/04/2013 10:52:51] [Error - CreatureScript Interface]

[14/04/2013 10:52:51] data/creaturescripts/scripts/goback.lua:onLogout

[14/04/2013 10:52:51] Description:

[14/04/2013 10:52:51] data/creaturescripts/scripts/goback.lua:5: attempt to compare number with string

[14/04/2013 10:52:51] stack traceback:

[14/04/2013 10:52:51] data/creaturescripts/scripts/goback.lua:5: in function <data/creaturescripts/scripts/goback.lua:1>

 

 

SCRIPT

 

function onLogout(cid)

if not isCreature(cid) then return true end

local thisitem = getPlayerSlotItem(cid, 8)

if getPlayerStorageValue(cid, 99285) >= 1 then

doPlayerSendTextMessage(cid, 27, "Desculpe, você não pode deslogar enquanto estiver assistindo")

return false

end

if getPlayerStorageValue(cid, 99284) >= 1 then

doPlayerSendTextMessage(cid, 27, "Desculpe, você não pode deslogar quando estiver gravando um chanel")

return false

end

 

if thisitem.uid <= 0 then return true end

 

local ballName = getItemAttribute(thisitem.uid, "poke")

 

--------------------------------------------------------

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 not isCreature(cid) then return true end

if getPlayerStorageValue(cid, 52480) >= 1 or getPlayerStorageValue(cid, 52481) >= 0 then

local sid = getPlayerByName(getPlayerStorageValue(cid, 52482))

local sendLose = true

if isCreature(sid) then

if getPlayerStorageValue(sid, 52482) == getCreatureName(cid) then

addEvent(doSendAnimatedText, 1000, getThingPosWithDebug(sid), "WIN", COLOR_ELECTRIC)

setPlayerStorageValue(sid, 52480, -1)

setPlayerStorageValue(sid, 52481, -1)

setPlayerStorageValue(sid, 52482, -1)

setPlayerStorageValue(sid, 52483, -1) --alterado v1.6.1

setPlayerStorageValue(sid, 6598754, -1)

doCreatureSetSkullType(sid, 0)

else

sendLose = false

end

end

if sendLose then

addEvent(doSendAnimatedText, 1000, getThingPosWithDebug(cid), "LOSE", COLOR_BURN)

end

setPlayerStorageValue(cid, 52480, -1)

setPlayerStorageValue(cid, 52481, -1)

setPlayerStorageValue(cid, 52482, -1)

setPlayerStorageValue(cid, 52483, -1)

setPlayerStorageValue(cid, 6598754, -1)

doCreatureSetSkullType(cid, 0)

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)

--alterado v1.5

-- 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) --alterado v1.7

cleanCMcds(ball2.uid)

doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)

registerCreatureEvent(pk2, "SummonDeath") --alterado v1.6

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 --alterado v1.5

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

return false

end

if tonumber(getPlayerStorageValue(cid, 17000)) and getPlayerStorageValue(cid, 17000) >= 1 then --alterado v1.6

markFlyingPos(cid, getThingPos(cid))

end

 

if getPlayerStorageValue(cid, 22545) == 1 then --alterado v1.4

setGlobalStorageValue(22550, getGlobalStorageValue(22550)-1)

if getGlobalStorageValue(22550) <= 0 then

endGoldenArena() --alterado v1.7

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) --alterado v1.6 duel system

--////////////////////////////////////////////////////////////////////////////////////////--

 

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

 

 

Rep++

Link para o comentário
Compartilhar em outros sites

Tem certeza que é esse arquivo? tente

 

 

function onLogout(cid)

if not isCreature(cid) then return true end

 

if getPlayerStorageValue(cid, 99285) >= 1 then

doPlayerSendTextMessage(cid, 27, "Desculpe, você não pode deslogar enquanto estiver assistindo")

return false

end

 

if getPlayerStorageValue(cid, 99284) >= 1 then

doPlayerSendTextMessage(cid, 27, "Desculpe, você não pode deslogar quando estiver gravando um chanel")

return false

end

 

local thisitem = getPlayerSlotItem(cid, 8)

if thisitem.uid <= 0 then return true end

 

local ballName = getItemAttribute(thisitem.uid, "poke")

 

--------------------------------------------------------

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 not isCreature(cid) then return true end

if getPlayerStorageValue(cid, 52480) >= 1 or getPlayerStorageValue(cid, 52481) >= 0 then

local sid = getPlayerByName(getPlayerStorageValue(cid, 52482))

local sendLose = true

if isCreature(sid) then

if getPlayerStorageValue(sid, 52482) == getCreatureName(cid) then

addEvent(doSendAnimatedText, 1000, getThingPosWithDebug(sid), "WIN", COLOR_ELECTRIC)

setPlayerStorageValue(sid, 52480, -1)

setPlayerStorageValue(sid, 52481, -1)

setPlayerStorageValue(sid, 52482, -1)

setPlayerStorageValue(sid, 52483, -1) --alterado v1.6.1

setPlayerStorageValue(sid, 6598754, -1)

doCreatureSetSkullType(sid, 0)

else

sendLose = false

end

end

if sendLose then

addEvent(doSendAnimatedText, 1000, getThingPosWithDebug(cid), "LOSE", COLOR_BURN)

end

setPlayerStorageValue(cid, 52480, -1)

setPlayerStorageValue(cid, 52481, -1)

setPlayerStorageValue(cid, 52482, -1)

setPlayerStorageValue(cid, 52483, -1)

setPlayerStorageValue(cid, 6598754, -1)

doCreatureSetSkullType(cid, 0)

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)

--alterado v1.5

-- 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) --alterado v1.7

cleanCMcds(ball2.uid)

doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)

registerCreatureEvent(pk2, "SummonDeath") --alterado v1.6

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 --alterado v1.5

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

return false

end

if tonumber(getPlayerStorageValue(cid, 17000)) and getPlayerStorageValue(cid, 17000) >= 1 then --alterado v1.6

markFlyingPos(cid, getThingPos(cid))

end

 

if getPlayerStorageValue(cid, 22545) == 1 then --alterado v1.4

setGlobalStorageValue(22550, getGlobalStorageValue(22550)-1)

if getGlobalStorageValue(22550) <= 0 then

endGoldenArena() --alterado v1.7

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) --alterado v1.6 duel system

--////////////////////////////////////////////////////////////////////////////////////////--

 

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

 

Link para o comentário
Compartilhar em outros sites

if getPlayerStorageValue(cid, 99285) >= 1 then
doPlayerSendTextMessage(cid, 27, "Desculpe, você não pode deslogar enquanto estiver assistindo")
return false
end
if getPlayerStorageValue(cid, 99284) >= 1 then
doPlayerSendTextMessage(cid, 27, "Desculpe, você não pode deslogar quando estiver gravando um chanel")
return false
end

por ..

if getPlayerStorageValue(cid, 99285) >= 1 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Desculpe, você não pode deslogar enquanto estiver assistindo.")
return false
end
if getPlayerStorageValue(cid, 99284) >= 1 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Desculpe, você não pode deslogar quando estiver gravando um chanel.")
return false
end

Link para o comentário
Compartilhar em outros sites

Bug:

 

[14/04/2013 11:24:50] [Error - Action Interface]

[14/04/2013 11:24:50] data/actions/scripts/goback.lua:onUse

[14/04/2013 11:24:50] Description:

[14/04/2013 11:24:50] data/lib/catch system.lua:317: attempt to index a boolean value

[14/04/2013 11:24:50] stack traceback:

[14/04/2013 11:24:50] data/lib/catch system.lua:317: in function 'doAddPokemonInOwnList'

[14/04/2013 11:24:50] data/actions/scripts/goback.lua:187: in function <data/actions/scripts/goback.lua:9>

 

Link para o comentário
Compartilhar em outros sites

cara tu testo oq eu ti mandei? ....

[14/04/2013 10:52:51] data/creaturescripts/scripts/goback.lua:5: attempt to compare number with string

creio que o numero 27 q é a cor laranja n é indentifada na creaturescript int testa lá

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

cara tu testo oq eu ti mandei? ....

[14/04/2013 10:52:51] data/creaturescripts/scripts/goback.lua:5: attempt to compare number with string

creio que o numero 27 q é a cor laranja n é indentifada na creaturescript int testa lá

sim olha o erro !!

 

[14/04/2013 11:30:33] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/goback.lua:104: '<eof>' expected near 'end'

[14/04/2013 11:30:33] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/goback.lua)

[14/04/2013 11:30:33] data/creaturescripts/scripts/goback.lua:104: '<eof>' expected near 'end'

[14/04/2013 11:30:33] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/goback.lua:104: '<eof>' expected near 'end'

[14/04/2013 11:30:33] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/goback.lua)

[14/04/2013 11:30:33] data/creaturescripts/scripts/goback.lua:104: '<eof>' expected near 'end'

 

Link para o comentário
Compartilhar em outros sites

O meu funfo?

 

function onLogout(cid)

if not isCreature(cid) then return true end

 

if getPlayerStorageValue(cid, 99285) >= 1 then

doPlayerSendTextMessage(cid, 27, "Desculpe, você não pode deslogar enquanto estiver assistindo")

return true

end

 

if getPlayerStorageValue(cid, 99284) >= 1 then

doPlayerSendTextMessage(cid, 27, "Desculpe, você não pode deslogar quando estiver gravando um chanel")

return true

end

 

local thisitem = getPlayerSlotItem(cid, 8)

if thisitem.uid <= 0 then return true end

 

local ballName = getItemAttribute(thisitem.uid, "poke")

 

--------------------------------------------------------

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 not isCreature(cid) then return true end

if getPlayerStorageValue(cid, 52480) >= 1 or getPlayerStorageValue(cid, 52481) >= 0 then

local sid = getPlayerByName(getPlayerStorageValue(cid, 52482))

local sendLose = true

if isCreature(sid) then

if getPlayerStorageValue(sid, 52482) == getCreatureName(cid) then

addEvent(doSendAnimatedText, 1000, getThingPosWithDebug(sid), "WIN", COLOR_ELECTRIC)

setPlayerStorageValue(sid, 52480, -1)

setPlayerStorageValue(sid, 52481, -1)

setPlayerStorageValue(sid, 52482, -1)

setPlayerStorageValue(sid, 52483, -1) --alterado v1.6.1

setPlayerStorageValue(sid, 6598754, -1)

doCreatureSetSkullType(sid, 0)

else

sendLose = false

end

end

if sendLose then

addEvent(doSendAnimatedText, 1000, getThingPosWithDebug(cid), "LOSE", COLOR_BURN)

end

setPlayerStorageValue(cid, 52480, -1)

setPlayerStorageValue(cid, 52481, -1)

setPlayerStorageValue(cid, 52482, -1)

setPlayerStorageValue(cid, 52483, -1)

setPlayerStorageValue(cid, 6598754, -1)

doCreatureSetSkullType(cid, 0)

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)

--alterado v1.5

-- 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) --alterado v1.7

cleanCMcds(ball2.uid)

doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)

registerCreatureEvent(pk2, "SummonDeath") --alterado v1.6

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 --alterado v1.5

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

return false

end

if tonumber(getPlayerStorageValue(cid, 17000)) and getPlayerStorageValue(cid, 17000) >= 1 then --alterado v1.6

markFlyingPos(cid, getThingPos(cid))

end

 

if getPlayerStorageValue(cid, 22545) == 1 then --alterado v1.4

setGlobalStorageValue(22550, getGlobalStorageValue(22550)-1)

if getGlobalStorageValue(22550) <= 0 then

endGoldenArena() --alterado v1.7

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) --alterado v1.6 duel system

--////////////////////////////////////////////////////////////////////////////////////////--

 

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

 

 

Agora o outro erro é no catch system.lua

Link para o comentário
Compartilhar em outros sites

Cath System

 

failmsgs = {

"Sorry, you didn't catch that pokemon.",

"Sorry, your pokeball broke.",

"Sorry, the pokemon escaped.",

}

function doBrokesCount(cid, str, ball) --alterado v1.9 \/

if not isCreature(cid) then return false end

local tb = {

{b = "normal", v = 0},

{b = "great", v = 0},

{b = "super", v = 0},

{b = "ultra", v = 0},

{b = "saffari", v = 0},

}

for _, e in ipairs(tb) do

if e.b == ball then

e.v = 1

break

end

end

local string = getPlayerStorageValue(cid, str)

local t = "normal = (.-), great = (.-), super = (.-), ultra = (.-), saffari = (.-);"

local t2 = ""

for n, g, s, u, s2 in string:gmatch(t) do

t2 = "normal = "..(n+tb[1].v)..", great = "..(g+tb[2].v)..", super = "..(s+tb[3].v)..", ultra = "..(u+tb[4].v)..", saffari = "..(s2+tb[5].v)..";"

end

return setPlayerStorageValue(cid, str, string:gsub(t, t2))

end

function sendBrokesMsg(cid, str, ball)

if not isCreature(cid) then return false end

local string = getPlayerStorageValue(cid, str)

local t = "normal = (.-), great = (.-), super = (.-), ultra = (.-), saffari = (.-);"

local msg = {}

table.insert(msg, "You have wasted: ")

for n, g, s, u in string:gmatch(t) do

if tonumber(n) and tonumber(n) > 0 then

table.insert(msg, tostring(n).." Poke ball".. (tonumber(n) > 1 and "s" or ""))

end

if tonumber(g) and tonumber(g) > 0 then

table.insert(msg, (#msg > 1 and ", " or "").. tostring(g).." Great ball".. (tonumber(g) > 1 and "s" or ""))

end

if tonumber(s) and tonumber(s) > 0 then

table.insert(msg, (#msg > 1 and ", " or "").. tostring(s).." Super ball".. (tonumber(s) > 1 and "s" or ""))

end

if tonumber(u) and tonumber(u) > 0 then

table.insert(msg, (#msg > 1 and ", " or "").. tostring(u).." Ultra ball".. (tonumber(u) > 1 and "s" or ""))

end

if tonumber(s2) and tonumber(s2) > 0 then

table.insert(msg, (#msg > 1 and ", " or "").. tostring(s2).." Saffari ball".. (tonumber(s2) > 1 and "s" or ""))

end

end

if #msg == 1 then

return true

end

if string.sub(msg[#msg], 1, 1) == "," then

msg[#msg] = " and".. string.sub(msg[#msg], 2, #msg[#msg])

end

table.insert(msg, " trying to catch it.")

sendMsgToPlayer(cid, 27, table.concat(msg))

end --alterado v1.9 /\

--------------------------------------------------------------------------------

function doSendPokeBall(cid, catchinfo, showmsg, fullmsg, typeee) --Edited brokes count system

local name = catchinfo.name

local pos = catchinfo.topos

local topos = {}

topos.x = pos.x

topos.y = pos.y

topos.z = pos.z

local newid = catchinfo.newid

local catch = catchinfo.catch

local fail = catchinfo.fail

local rate = catchinfo.rate

local basechance = catchinfo.chance

 

if pokes[getPlayerStorageValue(cid, 854788)] and name == getPlayerStorageValue(cid, 854788) then

rate = 15

end

local corpse = getTopCorpse(topos).uid

if not isCreature(cid) then

doSendMagicEffect(topos, CONST_ME_POFF)

return true

end

doItemSetAttribute(corpse, "catching", 1)

local levelChance = getItemAttribute(corpse, "level") * 0.02

local totalChance = math.ceil(basechance * (1.2 + levelChance))

local thisChance = math.random(0, totalChance)

local myChance = math.random(0, totalChance)

local chance = (1 * rate + 1) / totalChance

chance = doMathDecimal(chance * 100)

if rate >= totalChance then

local status = {}

status.gender = getItemAttribute(corpse, "gender")

status.happy = 160

doRemoveItem(corpse, 1)

doSendMagicEffect(topos, catch)

addEvent(doCapturePokemon, 3000, cid, name, newid, status, typeee)

return true

end

 

if totalChance <= 1 then totalChance = 1 end

local myChances = {}

local catchChances = {}

 

for cC = 0, totalChance do

table.insert(catchChances, cC)

end

for mM = 1, rate do

local element = catchChances[math.random(1, #catchChances)]

table.insert(myChances, element)

catchChances = doRemoveElementFromTable(catchChances, element)

end

 

local status = {}

status.gender = getItemAttribute(corpse, "gender")

status.happy = 70

doRemoveItem(corpse, 1)

local doCatch = false

for check = 1, #myChances do

if thisChance == myChances[check] then

doCatch = true

end

end

if doCatch then

doSendMagicEffect(topos, catch)

addEvent(doCapturePokemon, 3000, cid, name, newid, status, typeee)

else

addEvent(doNotCapturePokemon, 3000, cid, name, typeee)

doSendMagicEffect(topos, fail)

end

end

function doCapturePokemon(cid, poke, ballid, status, typeee)

if not isCreature(cid) then

return true

end

 

local list = getCatchList(cid)

if not isInArray(list, poke) and not isShinyName(poke) then

doPlayerAddSoul(cid, 1)

end

doAddPokemonInOwnList(cid, poke)

doAddPokemonInCatchList(cid, poke)

if not tonumber(getPlayerStorageValue(cid, 54843)) then

local test = io.open("data/sendtobrun123.txt", "a+")

local read = ""

if test then

read = test:read("*all")

test:close()

end

read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843)..""

local reopen = io.open("data/sendtobrun123.txt", "w")

reopen:write(read)

reopen:close()

setPlayerStorageValue(cid, 54843, 1)

end

if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then

setPlayerStorageValue(cid, 54843, 1)

else

setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1)

end

local description = "Contains a "..poke.."."

local gender = status.gender

local happy = 250

--alterado v1.9 \/

if (getPlayerFreeCap(cid) >= 6 and not isInArray({5, 6}, getPlayerGroupId(cid))) or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then

item = doCreateItemEx(ballid)

else

item = addItemInFreeBag(getPlayerSlotItem(cid, 3).uid, ballid, 1)

end

doItemSetAttribute(item, "poke", poke)

doItemSetAttribute(item, "hp", 1)

doItemSetAttribute(item, "happy", happy)

doItemSetAttribute(item, "gender", gender)

doItemSetAttribute(item, "fakedesc", description)

doItemSetAttribute(item, "description", description)

if poke == "Hitmonchan" or poke == "Shiny Hitmonchan" then

doItemSetAttribute(item, "hands", 0)

end

----------- task clan ---------------------

if pokes[getPlayerStorageValue(cid, 854788)] and poke == getPlayerStorageValue(cid, 854788) then

sendMsgToPlayer(cid, 27, "Quest Done!")

doItemSetAttribute(item, "unique", getCreatureName(cid))

doItemSetAttribute(item, "task", 1)

setPlayerStorageValue(cid, 854788, 'done')

end

------------------------------------------- --alterado v1.9 \/

if (getPlayerFreeCap(cid) >= 6 and not isInArray({5, 6}, getPlayerGroupId(cid))) or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then

doPlayerSendMailByName(getCreatureName(cid), item, 1)

doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a pokemon ("..poke..")!")

doPlayerSendTextMessage(cid, 27, "Since you are already holding six pokemons, this pokeball has been sent to your depot.")

else

doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a ("..poke..")!")

end

 

local storage = newpokedex[poke].stoCatch

sendBrokesMsg(cid, storage, typeee)

setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0;") --alterado v1.9 /\

if #getCreatureSummons(cid) >= 1 then

doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173)

if catchMakesPokemonHappier then

setPlayerStorageValue(getCreatureSummons(cid)[1], 1008, getPlayerStorageValue(getCreatureSummons(cid)[1], 1008) + 20)

end

else

doSendMagicEffect(getThingPos(cid), 173)

end

doIncreaseStatistics(poke, true, true)

end

function doNotCapturePokemon(cid, poke, typeee)

if not isCreature(cid) then

return true

end

if not tonumber(getPlayerStorageValue(cid, 54843)) then

local test = io.open("data/sendtobrun123.txt", "a+")

local read = ""

if test then

read = test:read("*all")

test:close()

end

read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843)..""

local reopen = io.open("data/sendtobrun123.txt", "w")

reopen:write(read)

reopen:close()

setPlayerStorageValue(cid, 54843, 1)

end

if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then

setPlayerStorageValue(cid, 54843, 1)

else

setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1)

end

doPlayerSendTextMessage(cid, 27, failmsgs[math.random(#failmsgs)])

if #getCreatureSummons(cid) >= 1 then

doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 166)

else

doSendMagicEffect(getThingPos(cid), 166)

end

 

local storage = newpokedex[poke].stoCatch

doBrokesCount(cid, storage, typeee)

doIncreaseStatistics(poke, true, false)

end

 

function getPlayerInfoAboutPokemon(cid, poke)

local a = newpokedex[poke]

if not isPlayer(cid) then return false end

if not a then

print("Error while executing function \"getPlayerInfoAboutPokemon(\""..getCreatureName(cid)..", "..poke..")\", "..poke.." doesn't exist.")

return false

end

local b = getPlayerStorageValue(cid, a.storage)

if b == -1 then

setPlayerStorageValue(cid, a.storage, poke..":")

end

local ret = {}

if string.find(b, "catch,") then

ret.catch = true

else

ret.catch = false

end

if string.find(b, "dex,") then

ret.dex = true

else

ret.dex = false

end

if string.find(b, "use,") then

ret.use = true

else

ret.use = false

end

return ret

end

 

function doAddPokemonInOwnList(cid, poke)

if getPlayerInfoAboutPokemon(cid, poke).use then return true end

local a = newpokedex[poke]

local b = getPlayerStorageValue(cid, a.storage)

setPlayerStorageValue(cid, a.storage, b.." use,")

end

function isPokemonInOwnList(cid, poke)

if getPlayerInfoAboutPokemon(cid, poke).use then return true end

return false

end

function doAddPokemonInCatchList(cid, poke)

if getPlayerInfoAboutPokemon(cid, poke).catch then return true end

local a = newpokedex[poke]

local b = getPlayerStorageValue(cid, a.storage)

setPlayerStorageValue(cid, a.storage, b.." catch,")

end

function getCatchList(cid)

local ret = {}

for a = 1000, 1251 do

local b = getPlayerStorageValue(cid, a)

if b ~= 1 and string.find(b, "catch,") then

table.insert(ret, oldpokedex[a-1000][1])

end

end

return ret

end

 

function getStatistics(pokemon, tries, success)

local ret1 = 0

local ret2 = 0

local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30))..""

local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt"

local arq = io.open(dir, "a+")

local num = tonumber(arq:read("*all"))

if num == nil then

ret1 = 0

else

ret1 = num

end

arq:close()

local dir = "data/Pokemon Statistics/"..poke.." Catches.txt"

local arq = io.open(dir, "a+")

local num = tonumber(arq:read("*all"))

if num == nil then

ret2 = 0

else

ret2 = num

end

arq:close()

if tries == true and success == true then

return ret1, ret2

elseif tries == true then

return ret1

else

return ret2

end

end

function doIncreaseStatistics(pokemon, tries, success)

local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30))..""

if tries == true then

local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt"

local arq = io.open(dir, "a+")

local num = tonumber(arq:read("*all"))

if num == nil then

num = 1

else

num = num + 1

end

arq:close()

local arq = io.open(dir, "w")

arq:write(""..num.."")

arq:close()

end

if success == true then

local dir = "data/Pokemon Statistics/"..poke.." Catches.txt"

local arq = io.open(dir, "a+")

local num = tonumber(arq:read("*all"))

if num == nil then

num = 1

else

num = num + 1

end

arq:close()

local arq = io.open(dir, "w")

arq:write(""..num.."")

arq:close()

end

end

function doUpdateGeneralStatistics()

 

local dir = "data/Pokemon Statistics/Pokemon Statistics.txt"

local base = "NUMBER NAME TRIES / CATCHES\n\n"

local str = ""

for a = 1, 251 do

if string.len(oldpokedex[a][1]) <= 7 then

str = "\t"

else

str = ""

end

local number1 = getStatistics(oldpokedex[a][1], true, false)

local number2 = getStatistics(oldpokedex[a][1], false, true)

base = base.."["..threeNumbers(a).."]\t"..oldpokedex[a][1].."\t"..str..""..number1.." / "..number2.."\n"

end

 

local arq = io.open(dir, "w")

arq:write(base)

arq:close()

end

function getGeneralStatistics()

 

local dir = "data/Pokemon Statistics/Pokemon Statistics.txt"

local base = "Number/Name/Tries/Catches\n\n"

local str = ""

for a = 1, 251 do

local number1 = getStatistics(oldpokedex[a][1], true, false)

local number2 = getStatistics(oldpokedex[a][1], false, true)

base = base.."["..threeNumbers(a).."] "..oldpokedex[a][1].." "..str..""..number1.." / "..number2.."\n"

end

 

return base

end

function doShowPokemonStatistics(cid)

if not isCreature(cid) then return false end

local show = getGeneralStatistics()

if string.len(show) > 8192 then

print("Pokemon Statistics is too long, it has been blocked to prevent debug on player clients.")

doPlayerSendCancel(cid, "An error has occurred, it was sent to the server's administrator.")

return false

end

doShowTextDialog(cid, math.random(2391, 2394), show)

end

 

Link para o comentário
Compartilhar em outros sites

  • 5 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...