Ir para conteúdo

Featured Replies

Postado

Teria como me passar entao o seu actions?

Desculpe, não quero ser grosso, mas foi muito necessário isso, pois o meu possui o "templo donate" e o templo normal, obrigado mesmo assim por contribuir :)

UP

 

Lembrando que não é nossa obrigação ajudar, fazemos isso por que gostamos, e NENHUM lugar está falando do "Templo Donate".

Para alterar também o templo, retira a linha.

doTeleportThing(cid, temple)

e substituia por 

doPlayerSetTown(cid, 1) -- 1 É o town que vai ser padrão.

E remova a linha

local pos = {x = 655, y = 1014, z = 7}

Editado por p e o p l e (veja o histórico de edições)

  • Respostas 16
  • Visualizações 739
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @moviebr Esquece, era só pra eu entender o que o estagiário estava fazendo. Criei um método que envolve outra storage key, possibilitando assim a identificação de um player com tempo de vip ativo/in

  • @p e o p l e Ótimo ver você ajudando, só uma coisa.. Não precisa criar uma tabela com a posição do templo do creature id, faz algo mais clean direto na função: doTeleportThing(cid, getTownTemplePo

  • Eu fiz isso, o id da town está na variável local default:

Postado

Eu gostaria de quando acabasse o VIP, automáticamente ele iria para o templo(pode ser ao logar).

Minha storage do VIP: 13500

A função vip.hasVip(cid) está em uso no seu servidor?

The corrupt fear us.

The honest support us.

The heroic join us.

Postado
  • Solução

@moviebr
Esquece, era só pra eu entender o que o estagiário estava fazendo.
Criei um método que envolve outra storage key, possibilitando assim a identificação de um player com tempo de vip ativo/inativo.


autocheckvip.lua (data\creaturescripts\scripts):

local key = {13500, 53100} -- storages
local default = 1 -- default town id

function onLogin(cid)
    if getPlayerStorageValue(cid, key[1]) < os.time() and getPlayerStorageValue(cid, key[2]) > 0 then
        doPlayerSetTown(cid, default)
        setPlayerStorageValue(cid, key[2], -1)
        doTeleportThing(cid, getTownTemplePosition(default))
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Your VIP time is over.')
    end
    
    return true
end

function onLogout(cid)
    return getPlayerStorageValue(cid, key[1]) > os.time() and getPlayerStorageValue(cid, key[2]) < 1 and setPlayerStorageValue(cid, key[2], 1) or true
end




creaturescripts.xml (data\creaturescripts):

<event type="login" name="CheckLogin" event="script" value="autocheckvip.lua"/>
<event type="logout" name="CheckLogout" event="script" value="autocheckvip.lua"/>

Basta o player vip fazer logout 1 vez para que o resto execute perfeitamente.
Sugiro que remova a vip de todos os players ou que faça uso de uma nova storage key para evitar possíveis falhas na identificação do player vip ativo/inativo.

The corrupt fear us.

The honest support us.

The heroic join us.

Postado
  • Autor

@moviebr

Esquece, era só pra eu entender o que o estagiário estava fazendo.

Criei um método que envolve outra storage key, possibilitando assim a identificação de um player com tempo de vip ativo/inativo.

autocheckvip.lua (data\creaturescripts\scripts):

local key = {13500, 53100} -- storages
local default = 1 -- default town id

function onLogin(cid)
    if getPlayerStorageValue(cid, key[1]) < os.time() and getPlayerStorageValue(cid, key[2]) > 0 then
        doPlayerSetTown(cid, default)
        setPlayerStorageValue(cid, key[2], -1)
        doTeleportThing(cid, getTownTemplePosition(default))
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Your VIP time is over.')
    end
    
    return true
end

function onLogout(cid)
    return getPlayerStorageValue(cid, key[1]) > os.time() and getPlayerStorageValue(cid, key[2]) < 1 and setPlayerStorageValue(cid, key[2], 1) or true
end

creaturescripts.xml (data\creaturescripts):

<event type="login" name="CheckLogin" event="script" value="autocheckvip.lua"/>
<event type="logout" name="CheckLogout" event="script" value="autocheckvip.lua"/>

Basta o player vip fazer logout 1 vez para que o resto execute perfeitamente.

Sugiro que remova a vip de todos os players ou que faça uso de uma nova storage key para evitar possíveis falhas na identificação do player vip ativo/inativo.

Vou testar aqui, caso funcione REP+ + Melhor Resposta. Em questão para remover o VIP, o servidor ainda está hospedado em minha casa, apenas eu jogo, por enquanto.

 

A 2 key, eu uso qual storage?

@moviebr

Esquece, era só pra eu entender o que o estagiário estava fazendo.

Criei um método que envolve outra storage key, possibilitando assim a identificação de um player com tempo de vip ativo/inativo.

autocheckvip.lua (data\creaturescripts\scripts):

local key = {13500, 53100} -- storages
local default = 1 -- default town id

function onLogin(cid)
    if getPlayerStorageValue(cid, key[1]) < os.time() and getPlayerStorageValue(cid, key[2]) > 0 then
        doPlayerSetTown(cid, default)
        setPlayerStorageValue(cid, key[2], -1)
        doTeleportThing(cid, getTownTemplePosition(default))
        doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Your VIP time is over.')
    end
    
    return true
end

function onLogout(cid)
    return getPlayerStorageValue(cid, key[1]) > os.time() and getPlayerStorageValue(cid, key[2]) < 1 and setPlayerStorageValue(cid, key[2], 1) or true
end

creaturescripts.xml (data\creaturescripts):

<event type="login" name="CheckLogin" event="script" value="autocheckvip.lua"/>
<event type="logout" name="CheckLogout" event="script" value="autocheckvip.lua"/>

Basta o player vip fazer logout 1 vez para que o resto execute perfeitamente.

Sugiro que remova a vip de todos os players ou que faça uso de uma nova storage key para evitar possíveis falhas na identificação do player vip ativo/inativo.

Te amo, sério.

 

Funcionou perfeitamente, porém gostaria de pedir outra coisinha... Ao acabar o VIP time, o town dele mude para "1". 

Editado por moviebr (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.

Visitante
Responder

Quem Está Navegando 0

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

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo