Postado Maio 24, 2015 10 anos 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
Postado Maio 24, 2015 10 anos Testei em base PDA mas talvez a base dele seja diferente, não manjo muito de servidores derivados ainda. ➥ Regras | Seções OTServ | Seções BOT
Postado Maio 24, 2015 10 anos 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
Postado Maio 24, 2015 10 anos 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. ➥ Regras | Seções OTServ | Seções BOT
Postado Maio 24, 2015 10 anos Autor 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 Maio 24, 2015 10 anos por 345sat (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.