Postado Dezembro 23, 2018 6 anos @Phineasz Uma gambiarra que posso te sugerir é sempre dar um dia de vip a mais e botar a script para verificar isso. Por exemplo, o player compra 30 dias e ganhar 31, assim quando chegar no ultima dia ( que vai ser o 31), botar a script pra remover a premium e teleportar o player.
Postado Dezembro 23, 2018 6 anos Faz assim então irmão. Use essa script: function onLogin(cid) local pos = {x = 153, y = 52, z = 7} if isPremium(cid) then setPlayerStorageValue(cid, 6787656, 1) elseif getPlayerStorageValue(cid, 6787656) == 1 and not isPremium(cid) then doTeleportThing(cid, pos) doPlayerSetTown(cid,1) doSendMagicEffect(getPlayerPosition(cid), 240) setPlayerStorageValue(cid, 6787656, -1) setPlayerStorageValue(cid, 6787657, 1) doRemoveCreature(cid) end return TRUE end Depois crie outro arquivo e coleque o nome para notpremium.lua e coloque isto nele: function onLogin(cid) if getPlayerStorageValue(cid, 6787657) == 1 then doPlayerPopupFYI(cid, "Sua Premium Expirou!\nNao Deixe De Visitar Nosso SHOP.") setPlayerStorageValue(cid, 6787657, -1) end return TRUE end Em xml: <event type="login" name="NotPremium" event="script" value="notpremium.lua"/> login.lua: registerCreatureEvent(cid, "NotPremium") Editado Dezembro 23, 2018 6 anos por Yan Liima (veja o histórico de edições) ╔══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ══════════════════════════╗ Te Ajudei? Rep + e ficamos Quits Precisando de ajuda? Discord: Yan Liima #3702 Programador Júnior de LUA, PHP e JavaScript Juntos somos lendas, separados somos Mitos! ╚══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═════════════════════════════╝
Postado Dezembro 23, 2018 6 anos Autor @Storm Funcionária até mesmo com o player online? @Yan Liima Eu deixei assim. Tudo certo? Vipkick function onLogin(cid) local pos = {x = 153, y = 52, z = 7} if isPremium(cid) then setPlayerStorageValue(cid, 6787656, 1) elseif getPlayerStorageValue(cid, 6787656) == 1 and not isPremium(cid) then doTeleportThing(cid, pos) doPlayerSetTown(cid,1) doSendMagicEffect(getPlayerPosition(cid), 240) setPlayerStorageValue(cid, 6787656, -1) setPlayerStorageValue(cid, 6787657, 1) doRemoveCreature(cid) end return TRUE end notpremium function onLogin(cid) if getPlayerStorageValue(cid, 6787657) == 1 then doPlayerPopupFYI(cid, "Sua Premium Expirou!\nNao Deixe De Visitar Nosso SHOP.") setPlayerStorageValue(cid, 6787657, -1) end return TRUE end login registerCreatureEvent(cid, "Vipkick") registerCreatureEvent(cid, "NotPremium") xml <event type="login" name="Vipkick" event="script" value="vipkick.lua"/> <event type="login" name="NotPremium" event="script" value="notpremium.lua"/> Meu Curso sobre Programação para OTServer Programando OTServer Peça o seu script! Entre agora mesmo no grupo Developing Conteúdos: Spoiler • Cidade [8.60] • Cave de Boss • Widget Gesior • Autoloot 100% • [Old Client] Como Hookar Dll • Configurando VPS Windowns • [Solução] Código Caracteres Especiais Discord: Belmont#7352 Não esqueça do REP+
Postado Dezembro 23, 2018 6 anos 28 minutos atrás, Phineasz disse: @Storm Funcionária até mesmo com o player online? @Yan Liima Eu deixei assim. Tudo certo? Vipkick function onLogin(cid) local pos = {x = 153, y = 52, z = 7} if isPremium(cid) then setPlayerStorageValue(cid, 6787656, 1) elseif getPlayerStorageValue(cid, 6787656) == 1 and not isPremium(cid) then doTeleportThing(cid, pos) doPlayerSetTown(cid,1) doSendMagicEffect(getPlayerPosition(cid), 240) setPlayerStorageValue(cid, 6787656, -1) setPlayerStorageValue(cid, 6787657, 1) doRemoveCreature(cid) end return TRUE end notpremium function onLogin(cid) if getPlayerStorageValue(cid, 6787657) == 1 then doPlayerPopupFYI(cid, "Sua Premium Expirou!\nNao Deixe De Visitar Nosso SHOP.") setPlayerStorageValue(cid, 6787657, -1) end return TRUE end login registerCreatureEvent(cid, "Vipkick") registerCreatureEvent(cid, "NotPremium") xml <event type="login" name="Vipkick" event="script" value="vipkick.lua"/> <event type="login" name="NotPremium" event="script" value="notpremium.lua"/> Certo! testa ai e me diz se deu certo ╔══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ══════════════════════════╗ Te Ajudei? Rep + e ficamos Quits Precisando de ajuda? Discord: Yan Liima #3702 Programador Júnior de LUA, PHP e JavaScript Juntos somos lendas, separados somos Mitos! ╚══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═════════════════════════════╝
Postado Dezembro 23, 2018 6 anos Nada tá dano certo porque o cara já começa com um dia de Premium account então o script vai checar se é somente premium account e vai mudar o storage. Agora na hora de comprar uma PA no NPC ou item que der os dias de Premium adicione essa linha abaixo: setPlayerStorageValue(cid, 45586, 1) e mude os demais pra esse: Spoiler -- local cfg ={ -- pos = {x = 153, y = 52, z = 7}, -- TeleportTemple = "yes" -- Se após o Jogador for enviado para o Templo continuará sendo enviado mais vezes até ele obter premium novamente. -- Caso queira que ele seja enviado para o templo somente uma vez é só colcoar "no" -- } -- function onThink(cid, interval) -- if last_interval == nil then last_interval= os.clock() end -- if (os.clock() - last_interval) > 10*60 then --- Em quantos minutos irá checar o script abaixo. 10 Minutos ---------------------- -- if isPremium(cid) == TRUE and getPlayerStorageValue(cid, 45586) == 1 then -- se o Player for premium account -- setPlayerStorageValue(cid, 45586, 2) -- elseif isPremium(cid) == FALSE and getPlayerStorageValue(cid, 45586) == 2 then -- se o Player não for premium account e a premium acabou -- doTeleportThing(cid, cfg.pos) -- doSendMagicEffect(getPlayerPosition(cid), 240) -- doPlayerPopupFYI(cid, "Sua Premium Expirou!\nNao Deixe De Visitar Nosso SHOP.") -- if (cfg.TeleportTemple == "no") then -- setPlayerStorageValue(cid, 45586, 1) -- end -- end -------------------------- -- last_interval= os.clock() -- return true -- end -- return false -- end -- E caso só queira que fique aparecendo a mensagem function onThink(cid, interval) if last_interval == nil then last_interval= os.clock() end if (os.clock() - last_interval) > 10*60 then -- 10 minutos ------------------------ if isPremium(cid) == FALSE and getPlayerStorageValue(cid,45586) == 2 then doPlayerPopupFYI(cid, "Sua Premium Expirou!\nNao Deixe De Visitar Nosso SHOP.") end ---------------------------- last_interval= os.clock() return true end return false end Spoiler function onLogin(cid) local pos = {x = 153, y = 52, z = 7} if isPremium(cid) == TRUE and getPlayerStorageValue(cid,45586) == 1 then setPlayerStorageValue(cid,45586,2) elseif isPremium(cid) == FALSE and getPlayerStorageValue(cid,45586) == 2 then doPlayerPopupFYI(cid, "Sua Premium Expirou!\nNao Deixe De Visitar Nosso SHOP.") doTeleportThing(cid, pos) doPlayerSetTown(cid,1) doSendMagicEffect(getPlayerPosition(cid), 240) end return TRUE end --Caso Queira que ele seja Teleportado ao logar para o POS somente uma vez. e toda vez que ele logar só fique surgindo a mensagem e não teleportado. -- function onLogin(cid) -- local pos = {x = 153, y = 52, z = 7} -- if isPremium(cid) == TRUE and getPlayerStorageValue(cid,45586) == 1 then -- setPlayerStorageValue(cid,45586,2) -- elseif isPremium(cid) == FALSE and getPlayerStorageValue(cid,45586) == 2 then -- doPlayerPopupFYI(cid, "Sua Premium Expirou!\nNao Deixe De Visitar Nosso SHOP.") -- doTeleportThing(cid, pos) -- doPlayerSetTown(cid,1) -- doSendMagicEffect(getPlayerPosition(cid), 240) -- setPlayerStorageValue(cid,45586,1) -- setPlayerStorageValue(cid,78059,1) -- elseif isPremium(cid) == FALSE and getPlayerStorageValue(cid,78059) == 1 then -- doPlayerPopupFYI(cid, "Sua Premium Expirou!\nNao Deixe De Visitar Nosso SHOP.") -- end -- return TRUE -- end Assim irá checar se é Premium Account e com a Storage que foi dada pelo NPC/Item que da a Premium comprada. if isPremium(cid) == TRUE and getPlayerStorageValue(cid, 45586) == 1 then Veja ai se vai funcionar.
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.