Postado Julho 19, 2018 6 anos Bom galera, to com um probleminha no meu script de fimpremium, ele vai funcionar da seguinte forma: Assim que acabar a premium do player, ele vai ser teleportado pro templo de Thais, vai ser colocado o outfit citizen com as cores padrões nele, CHECAR se tem house ou guildhouse, remover CASO TENHA house ou guildhouse avisar que a premium dele acabou com uma mensagem em branco na tela. O que ta acontecendo no script que eu tenho, é que todos os players free account que logam, são teleportados pro templo e recebem a mensagem. Não tem uma verificação de que ele era premium e não é mais, se um free acc deslogar e logar ele vai parar no templo. O outfit também não esta mudando. Ele não verifica se tem house, então sempre tenta tirar a house do player dando um errozinho no log. Segue script: function onLogin(cid) local house = getHouseByPlayerGUID(getPlayerGUID(cid)) local pos = {x=32369, y=32241, z=7} -- pos onde será teleportado local outfit = getCreatureOutfit(cid) if not isPremium(cid) then doPlayerSendTextMessage(cid, 22, "mensagem aqui.") doPlayerAddOutfit(cid, outfit, 1) setHouseOwner(house, 0) doTeleportThing(cid, pos) end return true end Editado Julho 20, 2018 6 anos por kaiquegabriel (veja o histórico de edições)
Postado Julho 20, 2018 6 anos tenta setar uma storage pra quando o player adquirir uma premium, ai você faz 2 verificações... se ele tem a storage x e não for premium ai vc tira a storage e teleporta ele... assim você consegue controlar quem é free mesmo e quem era premium e não é mais...
Postado Julho 20, 2018 6 anos Autor Eu achei que já existisse uma storage desse tipo internamente no servidor, tipo nas sources ou algo do tipo.. Encontrei mais erros e editei o tópico Editado Julho 20, 2018 6 anos por kaiquegabriel (veja o histórico de edições)
Postado Julho 20, 2018 6 anos Não sei se está correto pois estou a anos sem fazer scripts, mas testa esse e me diz o que deu. function onLogin(cid) if isPremium(cid) and getPlayerStorageValue(cid, 2143190718) == -1 then setPlayerStorageValue(cid, 2143190718, 1) end local house = getHouseByPlayerGUID(getPlayerGUID(cid)) local pos = {x=32369, y=32241, z=7} -- pos onde será teleportado if not isPremium(cid) and getPlayerStorageValue(cid, 2143190718) == 1 then doPlayerSendTextMessage(cid, 22, "mensagem aqui.") doCreatureChangeOutfit(cid, 128) if getHouseByPlayerGUID(getPlayerGUID(cid)) ~= nil then setHouseOwner(house, 0) end doTeleportThing(cid, pos) end return true end
Postado Julho 20, 2018 6 anos Autor Em 20/07/2018 em 00:51, GiovaniRodrigo disse: Não sei se está correto pois estou a anos sem fazer scripts, mas testa esse e me diz o que deu. function onLogin(cid) if isPremium(cid) and getPlayerStorageValue(cid, 2143190718) == -1 then setPlayerStorageValue(cid, 2143190718, 1) end local house = getHouseByPlayerGUID(getPlayerGUID(cid)) local pos = {x=32369, y=32241, z=7} -- pos onde será teleportado if not isPremium(cid) and getPlayerStorageValue(cid, 2143190718) == 1 then doPlayerSendTextMessage(cid, 22, "mensagem aqui.") doCreatureChangeOutfit(cid, 128) if getHouseByPlayerGUID(getPlayerGUID(cid)) ~= nil then setHouseOwner(house, 0) end doTeleportThing(cid, pos) end return true end o problema do char ser free, deslogar e ir pro templo foi resolvido, só que quando acaba a premium ele não loga @EDIT Consegui resolver o erro acima, mas agora quando o char acaba a premium e fica free, ele sempre loga no templo. Editado Julho 20, 2018 6 anos por kaiquegabriel (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.