Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado
  • Autor
Em 19/12/2018 em 21:05, Roy disse:

Você pode optar pelo Script do Yan Liima também para quando o player relogar/logar ser teleportado para o templo. E esse para checar o player dentro do jogo.

 

Em Creaturescripts.xml adicione:

 


<event type="think" name="CheckPrem" event="script" value="CheckPrem.lua"/>

em login.lua registe.


registerCreatureEvent(cid, "CheckPrem")

 

Agora crie um arquivo com nome CheckPrem.lua e adicione.

 

  Mostrar conteúdo oculto


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 - 10 minutos
if isPremium(cid) == TRUE then -- se o Player for premium account
setPlayerStorageValue(cid, 1000, 1)
elseif isPremium(cid) == FALSE then -- se o Player não for premium account
setPlayerStorageValue(cid, 1000, -1)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)), 10)
doPlayerPopupFYI(cid, "Sua Premium Expirou!\nNao Deixe De Visitar Nosso SHOP.")
end
last_interval= os.clock()
return true
end   
return false
end

 

 

 

Esse script também, fica jogando todos os jogadores para o templo e fala que a premium expirou, sem mesmo tendo que acabado a premium, alias a conta nunca foi premium account. Também se não fosse por isso acho que funcionaria 100%

Meu Curso sobre Programação para OTServer

Programando OTServer

 

Peça o seu script! Entre agora mesmo no grupo

Developing

 

Conteúdos:

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

  • Respostas 20
  • Visualizações 1.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 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 doT

  • Verifique se está funcionando da seguinte forma. 1º Quando o player Free account nunca estiver colocado PA logar Ele não irá ser teleportado e nem irá surgir mensagem. 2º Após ele comprar PA

  • O primeiro que te mandei com certeza irá dar certo. Da até pra fazer por outro script, mas não será necessario. Teste que irá dar certo. function onLogin(cid) local pos = {x = 153, y = 52, z = 7}

Posted Images

Postado
  • Autor
20 horas atrás, Yan Liima disse:

O primeiro que te mandei com certeza irá dar certo. Da até pra fazer por outro script, mas não será necessario. Teste que irá dar certo.


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

 

 

Poderia verificar a linha que fala que a Premium Expirou por favor? Por que ela não estar aparecendo mais não

Meu Curso sobre Programação para OTServer

Programando OTServer

 

Peça o seu script! Entre agora mesmo no grupo

Developing

 

Conteúdos:

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

Postado

@Phineasz Faz assim, vai na script que adiciona os dias de VIP e acrescente a linha; 

local storage = 342555 -- Tem que ser a mesma na script que mandará ao DP quando a vip acabar

setPlayerStorageValue(cid, storage, 1)


E depois usa essa para mandar o player ao DP quando a vip acabar;

local pos = {x = 153, y = 52, z = 7} -- Posição que será teleportado ao acabar a vip
local storage = 342555 -- Storage adicionada no item que da premium 

function onLogin(cid)
    
    if getCreatureStorage(cid, storage) == 1 and not isPremium(cid) then
        doTeleportThing(cid, pos)
        doSendMagicEffect(getPlayerPosition(cid), 3)
        setPlayerStorageValue(cid, storage, -1)
        doPlayerPopupFYI(cid, "Sua Premium Expirou!\nNao Deixe De Visitar Nosso SHOP.")
        return true
    end
    return true
end

 

Postado
  • Autor

@Storm Vou testar aqui, amanhã eu posso te marcar aqui para te dizer o resultado?

OBS: Não sei se isso faz muita diferença, mais vou dizer mesmo assim por que se fizer talvez possa ajudar. Assim que é criado uma nova conta é adicionado 1 Dia De Premium Account, caso você queria virar Premium Account de novo é preciso comprar o item no Shop do servidor, o script desse item é este aqui

function onUse(cid, item, frompos, item2, topos)
local storage = 342555 -- Tem que ser a mesma na script que mandará ao DP quando a vip acabar
setPlayerStorageValue(cid, storage, 1)

local config={
dias="15"
}
doPlayerAddPremiumDays(cid, config.dias)
doPlayerSendTextMessage(cid,22,"Voce ganhou 15 dias de premium account.")
doRemoveItem(item.uid,1) 
return TRUE
end

 

O um dia de premium account que é ganho quando cria uma conta nova é do próprio site, configurado no config.php

Meu Curso sobre Programação para OTServer

Programando OTServer

 

Peça o seu script! Entre agora mesmo no grupo

Developing

 

Conteúdos:

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

Postado
  • Autor

@Storm Não funcionou :( ele nem jogou o jogador para o templo como também não apareceu a mensagem

O script que eu postei no tópico ele funciona 90% sabe? O que eu estou pedindo é uma forma que o script cheque assim que a premium account acabar o jogador ir direto para o templo mesmo ele estando logado, sem precisar relogar ou o SS, o único defeito desse script é que você pode ficar premium account pra sempre se não relogar. Alguma forma de quicar o jogador, não sei, mais o script logo abaixo ele funciona.

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)
doPlayerPopupFYI(cid, "Sua Premium Expirou!\nNao Deixe De Visitar Nosso SHOP.")
doSendMagicEffect(getPlayerPosition(cid), 240)
setPlayerStorageValue(cid, 6787656, -1)
end
return TRUE
end

 

@Roy @Storm @Yan Liima 

Meu Curso sobre Programação para OTServer

Programando OTServer

 

Peça o seu script! Entre agora mesmo no grupo

Developing

 

Conteúdos:

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo