Ir para conteúdo
  • Cadastre-se

Pedido De Script para (Poketibia)


Posts Recomendados

Testei o script que te passei e está funcionando normalmente, tente instalar corretamente:

Vá em "Data/creaturescripts/scripts" copie e cole um arquivo.LUA e renomeie para Blockfly.lua, apague tudo e cole:

function onLogout(cid)
   if getPlayerStorageValue(cid, 17001) > 0 or getPlayerStorageValue(cid, 17000) > 0 or getPlayerStorageValue(cid, 63215) > 0 then
   doPlayerSendCancel(cid, "You can't logout in fly/ride or surf.")
   return false
   end
  return true
end

Agora em "Data/creaturescripts" abra o arquivo creaturescripts.xml e adicione a TAG:

<event type="logout" name="Blockfly" script="Blockfly.lua"/>

Se não funcionar pode ser que as storages de fly/ride ou surf são diferentes no seu servidor.

 

também testei o meu e está funcionando, o problema que ele está tendo é porque a base que ele está usando é PDA e modificaram essa merda do PDA para não aceita esse tipo de script onLogout com o summon. as storages estão certas também ,  o problema é o servidor 

Link para o post
Compartilhar em outros sites
  • Respostas 47
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Testei o script que te passei e está funcionando normalmente, tente instalar corretamente: Vá em "Data/creaturescripts/scripts" copie e cole um arquivo.LUA e renomeie para Blockfly.lua, apague tudo e

Testei em base PDA mas talvez a base dele seja diferente, não manjo muito de servidores derivados ainda.

Link para o post
Compartilhar em outros sites

Este meu system funciona tanto para PDA quanto Flash.

 

Caso não consiga novamente tente colocar assim abaixo de function onLogout(cid) no goback.

 

    if getPlayerStorageValue(cid, 17000) >= 1 then
    return doPlayerSendTextMessage(cid, 27, "Para deslogar saia do fly!") and false
    end

Link para o post
Compartilhar em outros sites

Este meu system funciona tanto para PDA quanto Flash.

 

Caso não consiga novamente tente colocar assim abaixo de function onLogout(cid) no goback.

 

    if getPlayerStorageValue(cid, 17000) >= 1 then

    return doPlayerSendTextMessage(cid, 27, "Para deslogar saia do fly!") and false

    end

Funciona mesmo amigo, todos que postamos funciona e tem a mesma função, provavelmente está instalado errado ou como eu disse as storages são diferentes.

Link para o post
Compartilhar em outros sites

Meu GODBACK.LUA

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")
 
--------------------------------------------------------
    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, 0)
       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
doPlayerStopWatching(cid)
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)
    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))
 
doRemoveCreature(cid)
 
return false
end

quando deslogar no surf aparecer isso no distro

 

[24/05/2015 11:28:48] [Error - CreatureScript Interface] 
[24/05/2015 11:28:48] data/creaturescripts/scripts/login.lua:onLogin
[24/05/2015 11:28:48] Description: 
[24/05/2015 11:28:48] data/creaturescripts/scripts/login.lua:141: attempt to index global 'surfs' (a nil value)
[24/05/2015 11:28:48] stack traceback:
[24/05/2015 11:28:48] data/creaturescripts/scripts/login.lua:141: in function <data/creaturescripts/scripts/login.lua:6>
Editado por 345sat (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Tenta ai se não funcionar você me avisa que tentaremos outra forma.

function onLogout(cid)


if thisitem.uid <= 0 then return true end
if getPlayerStorageValue(cid, 17000) >= 1 then
return doPlayerSendTextMessage(cid, 27, "Para deslogar saia do fly!") and false
end
if thisitem.uid <= 0 then return true end
if getPlayerStorageValue(cid, 17001) >= 1 then
return doPlayerSendTextMessage(cid, 27, "Para deslogar saia do ride!") and false
end
if thisitem.uid <= 0 then return true end
if getPlayerStorageValue(cid, 63215) >= 1 then
return doPlayerSendTextMessage(cid, 27, "Para deslogar saia do surf!") and false
end


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

--------------------------------------------------------
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, 0)
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
doPlayerStopWatching(cid)
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)
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))

doRemoveCreature(cid)

return false
end

Link para o post
Compartilhar em outros sites
local skills = specialabilities
local surfborders = {4644, 4645, 4646, 4647, 4648, 4649, 4650, 4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663}
 
local txt = {
["rock smash"] = {"break that rock!", "smash that rock!", "destroy that rock!", "smash it!", "break it!", "destroy it!"},
["cut"] = {"cut that bush!", "cut it down!", "cut it off!", "cut off that bush!", "cut down that bush!", "cut that bush down!"},
["move"] = {"move!", "move there!", "go there!", "walk there!"},
["light"] = {"flash!", "light!", "flash this place!", "light up this place!"},
["dig"] = {"open that hole!", "dig that hole!", "open it!", "dig it!"},
["blink"] = {"teleport there!", "blink there!", "blink!", "teleport!"},
["ride"] = {"let me ride you!", "let's ride!", "let me mount you!", "let me get on you!"},
["fly"] = {"let's fly!", "let me get on you!"} ,
["untransform"] = {"go back to normal!", "transform into yourself again!", "stop transformation!"},
["headbutt"] = {"headbutt on three", "headbutt that three!", "headbutt it off"}, --alterado v1.6
}
 
function onUse(cid, item, frompos, item2, topos)
local checkpos = topos
checkpos.stackpos = 0
 
if getTileThingByPos(checkpos).uid <= 0 then return true end
 
--------END FLY/RIDE --------
if getCreatureCondition(cid, CONDITION_OUTFIT) and (item2.uid == cid or getRecorderPlayer(topos) == cid) and (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1) then
 
if isInArray({460, 11675, 11676, 11677}, getTileInfo(getThingPos(cid)).itemid) then
        doPlayerSendCancel(cid, "You can\'t stop flying at this height!")
        return true
    end
local item = getPlayerSlotItem(cid, 8)
local pokemon = getItemAttribute(item.uid, "poke")
local x = pokes[pokemon]
 
        if getTileInfo(getThingPos(cid)).itemid >= 4820 and getTileInfo(getThingPos(cid)).itemid <= 4825 then
        doPlayerSendCancel(cid, "You can\'t stop flying above the water!")
        return true
        end
 
doSummonMonster(cid, pokemon)
 
local pk = getCreatureSummons(cid)[1]
 
if not isCreature(pk) then
pk = doCreateMonster(pokemon, backupPos)
if not isCreature(pk) then
doPlayerSendCancel(cid, "You can't stop flying/riding here.")
return true
end
doConvinceCreature(cid, pk)
end
 
doTeleportThing(pk, getThingPos(cid), false)
doCreatureSetLookDir(pk, getCreatureLookDir(cid))
 
adjustStatus(pk, item.uid, true, false, true)
 
doPlayerSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", let me get down!", 1)
 
if getCreatureCondition(cid, CONDITION_PARALYZE) == true then
       doRemoveCondition(cid, CONDITION_PARALYZE)
  addEvent(doAddCondition, 10, cid, paralizeArea2)             --alterado v1.5
    end
    doRegainSpeed(cid)
    
doRemoveCondition(cid, CONDITION_OUTFIT)
setPlayerStorageValue(cid, 17000, -1)
setPlayerStorageValue(cid, 17001, -1)
 
return true
end
 
-----------------------------
-------- DUEL SYSTEM ------------------------
if isPlayer(item2.uid) and (item2.uid ~= cid or getRecorderPlayer(topos) ~= cid) and getPlayerStorageValue(item2.uid, 6598754) <= -1 and getPlayerStorageValue(item2.uid, 52480) <= -1 and getCreatureOutfit(item2.uid).lookType ~= 814 then
---<= -1 and getPlayerStorageValue(item2.uid, 52480) <= -1 then
---                                                                                                                                            --alterado v1.6.1
if getPlayerStorageValue(cid, 52480) >= 1 then 
return doPlayerSendTextMessage(cid, 20, "You already invited somebody to duel or already is dueling with somebody") 
end
local storages = {17000, 63215, 17001, 13008, 5700}
for s = 1, #storages do
    if getPlayerStorageValue(cid, storages) >= 1 then
       return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!") 
    end
end
if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then
return doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!")
end
--- 
local player = getRecorderPlayer(topos)   --alterado v1.6.1
   doPlayerSetVocation(cid, 8) 
   openChannelDialog(cid)   
   setPlayerStorageValue(cid, 52480, 1)
   setPlayerStorageValue(cid, 6598754, 5)                                 
   setPlayerStorageValue(cid, 52482, getCreatureName(player)) --alterado v1.6.1
   setPlayerStorageValue(cid, 52483, 0)
   doCreatureSetSkullType(cid, 2)
   return true
   
elseif isPlayer(item2.uid) and (item2.uid ~= cid or getRecorderPlayer(topos) ~= cid) and getPlayerStorageValue(item2.uid, 6598754) == 5 and getCreatureOutfit(item2.uid).lookType ~= 814 then
---
if getPlayerStorageValue(cid, 52481) <= -1 then
return true      --alterado v1.6.1
end
if getPlayerStorageValue(cid, 52480) >= 1 then 
return doPlayerSendTextMessage(cid, 20, "You already invited somebody to duel or already is dueling with somebody") 
end
local storages = {17000, 63215, 17001, 13008, 5700}
for s = 1, #storages do
    if getPlayerStorageValue(cid, storages) >= 1 then
       return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!") 
    end
end
if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then
return doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!")
end
---  --alterado v1.6.1 funçao agora em lib/some function.lua
 
local player = getRecorderPlayer(topos)   --alterado v1.6.1 
   setPlayerStorageValue(cid, 52480, 1)
   setPlayerStorageValue(player, 52483, 1)   --alterado v1.6.1
   doCreatureSetSkullType(cid, 1)
   doCreatureSetSkullType(player, 1)      --alterado v1.6.1
   doSendAnimatedText(getThingPos(cid), "BATTLE", COLOR_ELECTRIC)
   beginDuel(cid, player, 6)   --alterado v1.6.1
   return true
end
------------------------------------------------------------------------------------
 
if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid, "You need a pokemon to use order!") end
if getCreatureNoMove(getCreatureSummons(cid)[1]) then return true end
markLP(getCreatureSummons(cid)[1], -1)
 
if getMarkedPos(getCreatureSummons(cid)[1]).x == topos.x and getMarkedPos(getCreatureSummons(cid)[1]).y == topos.y then
return true
end
 
local unfix = {x = 1, y = 1, z = 1}
local thisball = getPlayerSlotItem(cid, 8)
local mysum = getCreatureSummons(cid)[1]
local sid = mysum or cid
local maxMoveDist = getDistanceBetween(getThingPos(sid), topos) * 2 + 1
 
markPos(mysum, topos)
markOwnerPos(mysum, getThingPos(cid))
 
-------- ROCK SMASH ---------
if item2.itemid == 1285 and isInArray(skills["rock smash"], getPokemonName(mysum)) then
 
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["rock smash"][math.random(1, #txt["rock smash"])].."", 1)
addEvent(goThere, 500, mysum, topos, "rock smash", isCreature(getCreatureTarget(cid)))
 
return true
end
-----------------------------
 
-------- HEADBUTT -----------
if item2.itemid == 12591 and getPokemonLevel(mysum) >= 15 then  --alterado v1.6
                  --id do item  arvore normal
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["headbutt"][math.random(1, #txt["headbutt"])].."", 1)
addEvent(goThere, 500, mysum, topos, "headbutt", isCreature(getCreatureTarget(cid)))
 
return true
end
-----------------------------
 
-------- CUT ----------------
if item2.itemid == 2767 and isInArray(skills["cut"], getPokemonName(mysum)) then
 
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["cut"][math.random(1, #txt["cut"])].."", 1)
addEvent(goThere, 500, mysum, topos, "cut", isCreature(getCreatureTarget(cid)))
 
return true
end
-----------------------------
 
-------- TRANSFORM ----------
if (getCreatureName(mysum) == "Ditto" or getCreatureName(mysum) == "Shiny Ditto") and isMonster(item2.uid) then
if item2.uid == mysum then                                                                 --edited
if isTransformed(mysum) then
deTransform(mysum, getItemAttribute(thisball.uid, "transTurn"))
markPos(mysum, unfix)
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["untransform"][math.random(1, #txt["untransform"])].."", 1)
return true
end
doPlayerSendCancel(cid, "Your ditto is not transformed.")
markPos(mysum, unfix)
return true
end
 
if getCreatureName(item2.uid) == "Ditto" or getCreatureName(item2.uid) == "Shiny Ditto" then    --edited transform for shiny ditto
doPlayerSendCancel(cid, "Your ditto can't transform into another ditto.")
markPos(mysum, unfix)
return true
end
 
if getCreatureName(item2.uid) == getPlayerStorageValue(mysum, 1010) then
doPlayerSendCancel(cid, "Your ditto is already transformed into that pokemon.")
markPos(mysum, unfix)
return true
end
 
local cd = getCD(thisball.uid, "trans", 40)
 
if cd > 0 then
doPlayerSendCancel(cid, "Your pokemon is too tired to transform again. Cooldown: ("..getStringmytempo(cd)..")")
return true
end
 
if getHappiness(mysum) <= 50 then
doSendMagicEffect(getThingPos(mysum), happinessRate[1].effect)
markPos(mysum, unfix)
return true
end
 
local turn = getItemAttribute(thisball.uid, "transTurn")
 
if not turn or turn > 10 then
doItemSetAttribute(thisball.uid, "transTurn", 0)
else
doItemSetAttribute(thisball.uid, "transTurn",  turn + 1)
end
 
local time = 140 + 2 * getPokemonLevel(mysum)
 
turn = getItemAttribute(thisball.uid, "transTurn")
 
markPos(mysum, unfix)
setPlayerStorageValue(mysum, 1010, getCreatureName(item2.uid))
doSetCreatureOutfit(mysum, getCreatureOutfit(item2.uid), -1)
addEvent(deTransform, time * 1000, mysum, turn)
doSendMagicEffect(getThingPos(mysum), 184)
doCreatureSay(mysum, "TRANSFORM!", TALKTYPE_MONSTER)
local name = getCreatureName(item2.uid)
setCD(thisball.uid, "trans", 40)
doItemSetAttribute(thisball.uid, "transBegin", os.clock())
doSetItemAttribute(thisball.uid, "transLeft", time)
doSetItemAttribute(thisball.uid, "transOutfit", getCreatureOutfit(item2.uid).lookType)
doSetItemAttribute(thisball.uid, "transName", getCreatureName(item2.uid))
doFaceCreature(mysum, getThingPos(item2.uid))
doPlayerSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", 1)
 
    if useKpdoDlls then
doUpdateMoves(cid)  --alterado v1.6
end
 
if dittoCopiesStatusToo then
   setPlayerStorageValue(mysum, 1001, dittoBonus*getOffense(item2.uid))
   setPlayerStorageValue(mysum, 1002, dittoBonus*getDefense(item2.uid))
   setPlayerStorageValue(mysum, 1003, getSpeed(item2.uid))
   setPlayerStorageValue(mysum, 1004, dittoBonus*getVitality(item2.uid))
   setPlayerStorageValue(mysum, 1005, dittoBonus*getSpecialAttack(item2.uid))
   ------------------
   local pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum)
   local vit = (getVitality(mysum) * getMasterLevel(mysum)) / 100
   setCreatureMaxHealth(mysum, ( vit * HPperVITsummon ))   --alterado v1.6
   doCreatureAddHealth(mysum, pct * vit * HPperVITsummon)
end
 
return true
end
-----------------------------
 
-------- LIGHT --------------
if isMonster(item2.uid) and getCreatureMaster(item2.uid) == cid then
 
markPos(mysum, unfix)
 
if not isInArray(skills["light"], getPokemonName(item2.uid)) then
doPlayerSendCancel(cid, "Your pokemon can't use flash.")
return true
end
 
local cd = getCD(thisball.uid, "light", 30)
 
if cd > 0 then
doPlayerSendCancel(cid, "Your pokemon is too tired to use flash. Cooldown: ("..getStringmytempo(cd)..")")
return true
end
 
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["light"][math.random(1, #txt["light"])].."", 1)
doCreatureSay(mysum, "FLASH!", TALKTYPE_MONSTER)
doSendMagicEffect(getThingPos(mysum), 28)
 
local size = 5
size = size + math.floor(getSpecialAttack(mysum) / 60)
size = size + math.ceil(getPokemonLevel(mysum) / 60)
 
if size > 11 then
size = 11
end
 
doSetCreatureLight(mysum, size, 215, 600*1000)
 
local delay = math.floor(30 - getPokemonLevel(mysum) / 4)
if delay > 0 then
setCD(thisball.uid, "light", delay)
end
 
return true
end  
-----------------------------
 
 
-------- DIG ----------------
if isInArray(skills["digholes"], item2.itemid) and isInArray(skills["dig"], getPokemonName(mysum)) then
 
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["dig"][math.random(1, #txt["dig"])].."", 1)
addEvent(goThere, 500, mysum, topos, "dig", isCreature(getCreatureTarget(cid)))
 
return true
end
-----------------------------
 
 
-------- BLINK / MOVE -------
if not isCreature(item2.uid) and isInArray(skills["blink"], getPokemonName(mysum)) then
 
local cd = getCD(thisball.uid, "blink", 30)
    
    if getPlayerStorageValue(mysum, 2365487) ==  1 then
return true                  --alterado v1.4
end
 
if cd > 0 or not canWalkOnPos(topos, false, false, true, true, true) then
 
doPlayerSendCancel(cid, "Blink cooldown: ("..getStringmytempo(cd)..")")
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1)
addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)
 
return true
end
 
local CD = isShinyName(getCreatureName(mysum)) and 20 or 30   --edited blink
 
markPos(mysum, topos)
markOwnerPos(mysum, getThingPos(cid))
setCD(thisball.uid, "blink", CD)
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["blink"][math.random(1, #txt["blink"])].."", 1)
doSendDistanceShoot(getThingPos(mysum), topos, 39)
doSendMagicEffect(getThingPos(mysum), 211)
doTeleportThing(mysum, topos, false)
doSendMagicEffect(topos, 134)
doCreatureSay(mysum, "BLINK!", TALKTYPE_MONSTER)
goThere(mysum, topos, "blink", isCreature(getCreatureTarget(cid)))  --edited blink
 
return true
end
-----------------------------
 
 
----START FLYorRIDE ---------
if (item2.uid == cid or getRecorderPlayer(topos) == cid) and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["ride"], getPokemonName(mysum))) then
 
--if not isPremium(cid) then
--doPlayerSendCancel(cid, "Only premium members are allowed to fly or ride.")
--return true
--end
 
if getPlayerStorageValue(cid, 212124) >= 1 then         --alterado v1.6
       return doPlayerSendCancel(cid, "You can't do it with a pokemon with mind controlled!")
    end
    
    if getPlayerStorageValue(cid, 52480) >= 1 then
       return doPlayerSendCancel(cid, "You can't do it while a duel!")  --alterado v1.6
    end   
 
    if getPlayerStorageValue(cid, 5700) == 1 then
       doPlayerSendCancel(cid, "You can't do that while is mount in a bike!") --edited proteçao pra bike
       return true
    end
    
    if getPlayerStorageValue(cid, 22545) >= 1 and isInArray(skills["fly"], getPokemonName(mysum)) then       --alterado v1.4
       return doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!")
    end
    
local pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", 1 - pct)
 
if isInArray(skills["fly"], getPokemonName(mysum)) then
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["fly"][math.random(1, #txt["fly"])].."", 1)
addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid)))
else
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["ride"][math.random(1, #txt["ride"])].."", 1)
addEvent(goThere, 500, mysum, topos, "ride", isCreature(getCreatureTarget(cid)))
end
 
return true
end
-----------------------------
----------------------------------Control Mind--------------------------------------------   alterado v1.5
if isCreature(item2.uid) and ehMonstro(item2.uid) and isInArray(skills["control mind"], getCreatureName(mysum)) and item2.uid ~= mysum then
   if not isCreature(item2.uid) then
   return true
   end
 
   if isSleeping(mysum) then
      return doPlayerSendCancel(cid, "Your pokemon is sleeping...zZzZ")
   end
 
   if getTileInfo(getThingPos(cid)).protection or getTileInfo(getThingPos(getCreatureSummons(cid)[1])).protection then
      return doPlayerSendCancel(cid, "You or your pokemon are in Pz zone!")
   end
  
   if #getCreatureSummons(cid) == 2 then
      return doPlayerSendCancel(cid, "You only can control one Pokemon!")
   end
 
   local cd = getCD(thisball.uid, "control", 120)
   
   if cd > 0 then
      doPlayerSendCancel(cid, "You have to wait "..cd.." segs to use Control Mind again!")
      return true
   end
   
   if getPokemonLevel(item2.uid) >= getPokemonLevel(mysum) then
      return doPlayerSendCancel(cid, "Your pokemon can't control this mind!")
   end
   
local cmed = item2.uid
setCD(thisball.uid, "control", 120) 
local gender = getPokemonGender(cmed)
doSendDistanceShoot(getThingPos(mysum), getThingPos(cmed), 39)
--------------
setPlayerStorageValue(cid, 212124, 1)
doConvinceCreature(cid, cmed) 
setPlayerStorageValue(cmed, 212123, 1) 
doCreatureSay(cid, ""..getCreatureName(mysum)..", control "..string.lower(getCreatureName(cmed)).."'s mind!", 1)
 
local cmname = getCreatureName(mysum)
local cmpos = getThingPos(mysum)
local pokelife = (getCreatureHealth(mysum) / getCreatureMaxHealth(mysum))
doItemSetAttribute(thisball.uid, "hp", pokelife)
doRemoveCreature(mysum)
local cmzao = doSummonCreature(""..cmname.." cm", cmpos)
doConvinceCreature(cid, cmzao)
setPlayerStorageValue(cid, 888, 1)
if useKpdoDlls then
   doUpdateMoves(cid)
end
 
local function check(cid, controled, rod)
if isCreature(cid) then
ball2 = getPlayerSlotItem(cid, 8)
   if getPlayerStorageValue(cid, 888) <= 0 then
   return true
   end
   if not isCreature(controled) then
      setPlayerStorageValue(cid, 212124, 0)
      local sum = isCreature(getCreatureSummons(cid)[1]) and getCreatureSummons(cid)[1] or getCreatureSummons(cid)[2] 
      local pkcmpos = getThingPos(sum)
      doRemoveCreature(sum)
      local item = getPlayerSlotItem(cid, 8)
      local pk = doSummonCreature(getItemAttribute(item.uid, "poke"), pkcmpos)
      doConvinceCreature(cid, pk)
      doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
      addEvent(doAdjustWithDelay, 100, cid, pk, true, true, false)
      setPlayerStorageValue(cid, 888, 0)
      cleanCMcds(item.uid)
      registerCreatureEvent(pk, "SummonDeath")  --alterado v1.6
      if useKpdoDlls then
         doUpdateMoves(cid)
      end
      return true
   end
   
   if rod <= 0 then
      --Pokemon controlado
      local cmed2 = getCreatureSummons(cid)[1]
 local poscmed = getThingPos(cmed2)
 local cmeddir = getCreatureLookDir(cmed2)
 local namecmed = getCreatureName(cmed2)
 local gender = getPokemonGender(cmed2)
 local hp, maxHp = getCreatureHealth(getCreatureSummons(cid)[1]), getCreatureMaxHealth(getCreatureSummons(cid)[1])
 doRemoveCreature(getCreatureSummons(cid)[1])
 local back = doCreateMonster(namecmed, poscmed)
 addEvent(doCreatureSetSkullType, 150, back, gender)
      doWildAttackPlayer(back, cid)
 doCreatureSetLookDir(back, cmeddir)
 addEvent(doCreatureAddHealth, 100, back, hp-maxHp)
 
 -- pokemon controlador
      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, 0)
      doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
      setPlayerStorageValue(cid, 212124, 0)
      cleanCMcds(ball2.uid)
      registerCreatureEvent(pk2, "SummonDeath")  --alterado v1.6
      if useKpdoDlls then
         doUpdateMoves(cid)
      end
   else
       if isInArray({"Haunter", "Gengar", "Shiny Gengar"}, cmname) then
          doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 214)
       else 
          doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 220)
       end
   end
end
addEvent(check, 500, cid, controled, rod-1)
end
 
check(cid, cmed, 40) 
return true
end
---------------------------------------------------------------------
-------- MOVE / END ---------
    
local onlyWater = false
 
if isWater(getTileThingByPos(checkpos).itemid) then
onlyWater = true
for checkwater = 0, 7 do
if not isWater(getTileThingByPos(getPosByDir(checkpos, checkwater)).itemid) then
onlyWater = false
end
end
end
 
if onlyWater then
doPlayerSendCancel(cid, "Destination is not reachable.")
return true
end
 
doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1)
 
if isCreature(getCreatureTarget(cid)) then
  goThere(mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)           
else
       addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)                 
end
-----------------------------
 
return true
end
Link para o post
Compartilhar em outros sites

As storages são as mesmas, já tentou colocar o script que te passei?

Vá em "Data/creaturescripts/scripts" copie e cole um arquivo.LUA e renomeie para Blockfly.lua, apague tudo e cole:

function onLogout(cid)
   if getPlayerStorageValue(cid, 17001) > 0 or getPlayerStorageValue(cid, 17000) > 0 or getPlayerStorageValue(cid, 63215) > 0 then
   doPlayerSendCancel(cid, "You can't logout in fly/ride or surf.")
   return false
   end
  return true
end

Agora em "Data/creaturescripts" abra o arquivo creaturescripts.xml e adicione a TAG:

<event type="logout" name="Blockfly" script="Blockfly.lua"/>

Reinicie o servidor depois de adicionar!

Link para o post
Compartilhar em outros sites
 
[25/05/2015 09:06:03] [Error - CreatureScript Interface] 
[25/05/2015 09:06:03] data/creaturescripts/scripts/login.lua:onLogin
[25/05/2015 09:06:03] Description: 
[25/05/2015 09:06:03] data/creaturescripts/scripts/login.lua:141: attempt to index global 'surfs' (a nil value)
[25/05/2015 09:06:03] stack traceback:
[25/05/2015 09:06:03] data/creaturescripts/scripts/login.lua:141: in function <data/creaturescripts/scripts/login.lua:6>
 
[25/05/2015 09:06:03] [Error - CreatureScript Interface] 
[25/05/2015 09:06:03] data/creaturescripts/scripts/goback.lua:onLogout
[25/05/2015 09:06:03] Description: 
[25/05/2015 09:06:03] data/creaturescripts/scripts/goback.lua:2: attempt to index global 'thisitem' (a nil value)
[25/05/2015 09:06:03] stack traceback:
[25/05/2015 09:06:03] data/creaturescripts/scripts/goback.lua:2: in function <data/creaturescripts/scripts/goback.lua:1>
 
esta dando esse error quando deslogar no surf poderia ensinar como vou tirar 
Link para o post
Compartilhar em outros sites

 

 
[25/05/2015 09:06:03] [Error - CreatureScript Interface] 
[25/05/2015 09:06:03] data/creaturescripts/scripts/login.lua:onLogin
[25/05/2015 09:06:03] Description: 
[25/05/2015 09:06:03] data/creaturescripts/scripts/login.lua:141: attempt to index global 'surfs' (a nil value)
[25/05/2015 09:06:03] stack traceback:
[25/05/2015 09:06:03] data/creaturescripts/scripts/login.lua:141: in function <data/creaturescripts/scripts/login.lua:6>
 
[25/05/2015 09:06:03] [Error - CreatureScript Interface] 
[25/05/2015 09:06:03] data/creaturescripts/scripts/goback.lua:onLogout
[25/05/2015 09:06:03] Description: 
[25/05/2015 09:06:03] data/creaturescripts/scripts/goback.lua:2: attempt to index global 'thisitem' (a nil value)
[25/05/2015 09:06:03] stack traceback:
[25/05/2015 09:06:03] data/creaturescripts/scripts/goback.lua:2: in function <data/creaturescripts/scripts/goback.lua:1>
 
esta dando esse error quando deslogar no surf poderia ensinar como vou tirar 

 

 

Troca o script por esse

function onLogout(cid)
    local sto = {17001, 17000, 63215}
    for x = 1, #sto do
        if getPlayerStorageValue(cid, sto[x]) > 0 then
            doPlayerSendCancel(cid, 'You cannot logout when you are in special situations such as surf/ride/fly.')
            return false
        end
    end
    return true

end
Link para o post
Compartilhar em outros sites

poderia me informa aonde tenho quer botar

 

só substituir pelo script que o wakon tem passou, o arquivo Blockfly.lua

Link para o post
Compartilhar em outros sites

fiz olhar oque da 

 
[25/05/2015 09:43:25] [Error - CreatureScript Interface] 
[25/05/2015 09:43:25] data/creaturescripts/scripts/goback.lua:onLogout
[25/05/2015 09:43:25] Description: 
[25/05/2015 09:43:25] data/creaturescripts/scripts/goback.lua:2: attempt to index global 'thisitem' (a nil value)
[25/05/2015 09:43:25] stack traceback:
[25/05/2015 09:43:25] data/creaturescripts/scripts/goback.lua:2: in function <data/creaturescripts/scripts/goback.lua:1>
Link para o post
Compartilhar em outros sites

 

fiz olhar oque da 

 
[25/05/2015 09:43:25] [Error - CreatureScript Interface] 
[25/05/2015 09:43:25] data/creaturescripts/scripts/goback.lua:onLogout
[25/05/2015 09:43:25] Description: 
[25/05/2015 09:43:25] data/creaturescripts/scripts/goback.lua:2: attempt to index global 'thisitem' (a nil value)
[25/05/2015 09:43:25] stack traceback:
[25/05/2015 09:43:25] data/creaturescripts/scripts/goback.lua:2: in function <data/creaturescripts/scripts/goback.lua:1>

 

 

vá na pasta data\creaturescripts\scripts e abra o goback.lua apague tudo e cole isso

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 nao! POKENAME, volte!", "Volte, POKENAME!", "Isso e o suficiente, POKENAME!", "Voce fez oque pode, POKENAME!",
   "Voce precisa descansar, POKENAME!", "bom trabalho, POKENAME!", "POKENAME, Voce esta muito ferido!"}
 
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, "Seu pokemon esta desmaiado.")
 
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 post
Compartilhar em outros sites

[25/05/2015 09:43:57] data/creaturescripts/scripts/goback.lua:2: in function <data/creaturescripts/scripts/goback.lua:1>

agora esta dando isso pq sera fiz como vc pediu

meu godback.lua

local EFFECTS = {
--[OutfitID] = {Effect}
["Magmar"] = 35,   
["Jynx"] = 17,          --alterado v1.5
["Shiny Jynx"] = 17,    
}
 
function onUse(cid, item, frompos, item2, topos)
 
if exhaustion.get(cid, 6666) and exhaustion.get(cid, 6666) > 0 then return true end
 
local owner = getItemAttribute(item.uid, "firstpoke")
 
if owner and owner ~= getCreatureName(cid) then
doPlayerSendCancel(cid, "This pokemon belongs to "..owner..", it is his first pokemon. Please, give it back to him.")
return true
end
 
if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 then
return true
end
-------------------------------------------------------
ballName = getItemAttribute(item.uid, "poke")
                                               
   btype = getPokeballType(item.itemid)
   usando = pokeballs[btype].use
 
local effect = pokeballs[btype].effect
if not effect then
effect = 21
end
----------------------------------------------------------
if item.itemid == usando then                           
 
if getPlayerStorageValue(cid, 990) == 1 then -- GYM
doPlayerSendCancel(cid, "You can't return your pokemon during gym battles.")
return true
end
 
---------------------------------------------------------------------------------------
if #getCreatureSummons(cid) > 1 and getPlayerStorageValue(cid, 637501) >= 1 then   
       BackTeam(cid, getCreatureSummons(cid))       --<<-- Edited Team Slice system
    end   
    ---------------------------------------------------------------------------------------
    if #getCreatureSummons(cid) == 2 and getPlayerStorageValue(cid, 212124) >= 1 then
       doPlayerSendCancel(cid, "You can't do that while is controling a mind")
       return true     --alterado v1.5
    end
    
if #getCreatureSummons(cid) <= 0 then
if isInArray(pokeballs[btype].all, item.itemid) then
doTransformItem(item.uid, pokeballs[btype].off)
doItemSetAttribute(item.uid, "hp", 0)
doPlayerSendCancel(cid, "This pokemon is fainted.")
   return true
end
end
 
    local cd = getCD(item.uid, "blink", 30)
    if cd > 0 then
       setCD(item.uid, "blink", 0)
    end
    
local z = getCreatureSummons(cid)[1]
 
if getCreatureCondition(z, CONDITION_INVISIBLE) and not isGhostPokemon(z) then
return true
end
 
doReturnPokemon(cid, z, item, effect)
 
elseif item.itemid == pokeballs[btype].on then
 
if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_FEET).uid then
doPlayerSendCancel(cid, "You must put your pokeball in the correct place!")
return TRUE
end
 
local thishp = getItemAttribute(item.uid, "hp")
 
if thishp <= 0 then
if isInArray(pokeballs[btype].all, item.itemid) then
doTransformItem(item.uid, pokeballs[btype].off)
doItemSetAttribute(item.uid, "hp", 0)
doPlayerSendCancel(cid, "This pokemon is fainted.")
   return true
end
end
 
local pokemon = getItemAttribute(item.uid, "poke")
 
if not pokes[pokemon] then
return true
end
 
local x = pokes[pokemon]
local boost = getItemAttribute(item.uid, "boost") or 0
 
if getPlayerLevel(cid) < (x.level+boost) then
doPlayerSendCancel(cid, "You need level "..(x.level+boost).." to use this pokemon.")
return true
end
 
--------------------------------------------------------------------------------------
shinysClan = {
["Shiny Fearow"] = {4, "Wingeon"},
["Shiny Flareon"] = {1, "Volcanic"},
["Shiny Vaporeon"] = {2, "Seavel"}, 
["Shiny Jolteon"] = {9, "Raibolt"},
["Shiny Hypno"] = {7, "Psycraft"},           
["Shiny Golem"] = {3, "Orebound"},
["Shiny Vileplume"] = {8, "Naturia"},
["Shiny Nidoking"] = {5, "Malefic"},
["Shiny Hitmontop"] = {6, "Gardestrike"},   --alterado v1.4
}
 
if shinysClan[pokemon] and (getPlayerGroupId(cid) < 3 or getPlayerGroupId(cid) > 6) then
  if getPlayerStorageValue(cid, 86228) ~= shinysClan[pokemon][1] then
     doPlayerSendCancel(cid, "You need be a member of the clan "..shinysClan[pokemon][2].." to use this pokemon!")
     return true   
       elseif getPlayerStorageValue(cid, 862281) ~= 5 then
          doPlayerSendCancel(cid, "You need be atleast rank 5 to use this pokemon!")
     return true
       end
    end
    --------------------------------------------------------------------------------------
 
doSummonMonster(cid, pokemon)
 
local pk = getCreatureSummons(cid)[1]
if not isCreature(pk) then return true end
------------------------passiva hitmonchan------------------------------
if isSummon(pk) then
       local nameHIT = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke")
       local hands = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "hands")
       if nameHIT == "Shiny Hitmonchan" or nameHIT == "Hitmonchan" then
          if getItemAttribute(getPlayerSlotItem(cid, 8).uid, "hands") then
             doSetCreatureOutfit(pk, {lookType = hitmonchans[nameHIT][hands].out}, -1)
          else
              doPlayerSendTextMessage(cid, 27, "Contact a GameMaster! Error in passive system! Attribute \"hands\" missing")  
          end
       end
    end
-------------------------------------------------------------------------
    ---------movement magmar, jynx-------------
    if EFFECTS[getCreatureName(pk)] then             --edited efeito magmar/jynx
       markPosEff(pk, getThingPos(pk))
       sendMovementEffect(pk, EFFECTS[getCreatureName(pk)], getThingPos(pk))  --alterado v1.5
    end
    --------------------------------------------------------------------------      
 
if getCreatureName(pk) == "Ditto" or getCreatureName(pk) == "Shiny Ditto" then --edited
 
local left = getItemAttribute(item.uid, "transLeft")
local name = getItemAttribute(item.uid, "transName")
 
if left and left > 0 then
setPlayerStorageValue(pk, 1010, name)
doSetCreatureOutfit(pk, {lookType = getItemAttribute(item.uid, "transOutfit")}, -1)
addEvent(deTransform, left * 1000, pk, getItemAttribute(item.uid, "transTurn"))
doItemSetAttribute(item.uid, "transBegin", os.clock())
else
setPlayerStorageValue(pk, 1010, getCreatureName(pk) == "Ditto" and "Ditto" or "Shiny Ditto")     --edited
end
end
 
if isGhostPokemon(pk) then doTeleportThing(pk, getPosByDir(getThingPos(cid), math.random(0, 7)), false) end
 
doCreatureSetLookDir(pk, 2)
 
adjustStatus(pk, item.uid, true, true, true)
doAddPokemonInOwnList(cid, pokemon)
 
doTransformItem(item.uid, item.itemid+1)
 
local pokename = getItemAttribute(item.uid, "nick") or getCreatureName(pk) 
 
local mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", pokename)
doCreatureSay(cid, mgo, TALKTYPE_SAY)
 
doSendMagicEffect(getCreaturePosition(pk), effect)
 
local pk = getCreatureSummons(cid)[1]
local pb = getPlayerSlotItem(cid, 8).uid
local look = getItemAttribute(pb,"addon")
if not look then
doSetItemAttribute(pb,"addon",0)
return false
end
if look > 0 then
doSetCreatureOutfit(pk, {lookType = look}, -1)
return true
end
 
else
 
    doPlayerSendCancel(cid, "This pokemon is fainted.")
 
end
 
local pk = getCreatureSummons(cid)[1]
local pb = getPlayerSlotItem(cid, 8).uid
local look = getItemAttribute(pb,"addon")
if not look then
doSetItemAttribute(pb,"addon",0)
return false
end
if look > 0 then
doSetCreatureOutfit(pk, {lookType = look}, -1)
return true
end
 
if useKpdoDlls then
doUpdateMoves(cid)
end
return true
end

esta  dando + esse error sera pq
[25/05/2015 09:51:57] [Error - CreatureScript Interface] 
[25/05/2015 09:51:57] data/creaturescripts/scripts/goback.lua:onLogout
[25/05/2015 09:51:58] Description: 
[25/05/2015 09:51:58] data/creaturescripts/scripts/goback.lua:2: attempt to index global 'thisitem' (a nil value)
[25/05/2015 09:51:58] stack traceback:
[25/05/2015 09:51:58] data/creaturescripts/scripts/goback.lua:2: in function <data/creaturescripts/scripts/goback.lua:1>
Editado por 345sat (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.




×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo