Postado Outubro 12, 2014 10 anos No evento battlefield http://www.tibiaking.com/forum/topic/35557-battlefield-event-new-exclusivo-e-mais-legal-p/page-1 apos ter feito o evento 1 vez , apos da o comando para executar ele de novo diz que ele ja ta aberto , mas ta fechado , falaram que só tem como abrir ele de novo zerando storages o que é zerar storages? tem uma maneira de zerar eles por algum comando dentro do jogo? como zerar as storages de maneira facil? ou dificio? ou melhor? aguardo
Postado Outubro 12, 2014 10 anos a tradução de storage é 'estocar', em scripts elas servem como 'identificações' ou 'senhas', me corrijam se falei errado. Mas enfim, tem como fazer um comando que reseta a storage, ligando ao script que à contém. Ot Design: https://discord.gg/VgtVRNmCD7
Postado Outubro 12, 2014 10 anos Solução [+] Creio eu que (SetglobalStorage) e para Setar o Servidor Em Si um exemplo: Colocar um sistema de Placar onde as Storages sao Salvas no Servidor [+] E no Caso (SetPlayerStorage) E Para Setar o Jogador um Exemplo: Somente jogadores que Tiver o "x" Storage Pode Passar pelo Teleport Tem que setar o Global Storage para "0" [+] No Seu Caso o Evento fala que ja esta Aberto intao a funçao e (SetglobalStorage) setGlobalStorageValue(battlefield.storage,0) <<< Editado Outubro 12, 2014 10 anos por Nextbr (veja o histórico de edições)
Postado Outubro 12, 2014 10 anos Autor OBG os 2 que me ajudaram , e vlw nextBR o seu comando aqui na talkaction deu a modificada e ta pegando agora suave. vlw ae setGlobalStorageValue(battlefield.storage,0) < 0
Postado Outubro 12, 2014 10 anos Storage é um valor que permanece gravado no banco de dados. Esse valor é estruturado por 1 id, 1 índice diferencial e 1 valor representativo que pode ser numérico ou uma string. Toda storage indefinida (que não tem valor definido), recebe o valor -1. Pelo que vi no sistema do Battlefield que você mencionou, o evento acaba automaticamente quando o outro time invade a outra base e dá use na bandeira rival. Você quer poder finalizar o evento a qualquer momento, para poder usar a talkaction de iniciar o mesmo novamente quando quiser? Se for, tente esse script, é uma talkaction. Crie um arquivo Lua e renomeie-o para closebtf.lua em data/talkactions/scripts; adicione à ele: function onSay(cid, words, param) for _, cid in pairs(getPlayersOnline()) do if getGlobalStorageValue(battlefield.storage) ~= -1 and getPlayerStorageValue(cid, battlefield.storage2) ~= -1 then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doBroadcastMessage("The event was closed by administrator.") setPlayerStorageValue(cid, battlefield.storage2, -1) setGlobalStorageValue(battlefield.storage, -1) doRemoveCondition(cid, CONDITION_OUTFIT) OpenWallBattle() removeTp() else doPlayerSendCancel(cid, "You can only close the event if it is open.") return 1 end end return 1 end Em talkactions.xml, adicione: <talkaction words="/closebtf" access="4" event="script" value="closebtf.lua"/> Eu não testei Ops..desculpe, aqui não carregou as novas mensagens do tópico. Enfim, tava ocupado e deixei a aba aberta pra responder depois ;] The corrupt fear us. The honest support us. The heroic join us.
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.