Jump to content
Close
LeoTK

Outro [Spell / cooldown] Channel própria

Recommended Posts

Fala galera bom eu coloquei esse "sistema" recentemente no meu servidor e achei muito bacana então resolvi compartilhar com vocês que basicamente funciona da seguinte maneira quando o jogador usar a spell e subir o exaust de cooldown vai aparecer a mensagem no chat configurado assim não floodando o chat do default dos jogadores enfim vamos lá

 

Primeiramente vocês vão precisar editar a source

 

Source 0.3.6 8.54

Usem esse tópico do membro @MySticaL

Clique Aqui

 

Source 0.4 8.60

Usem esse tópico do membro @L3K0T

Clique Aqui

 

Após aplicar as configurações na source vamos configurar o servidor, criando um channel para spell no meu caso vou criar com nome registro de spells

Vá na pasta do seu servidor/data/xml/channel.xml

<?xml version="1.0" encoding="UTF-8"?>
<channels>
<channel id="11" active="no" logged="yes" name="Registro De Spells"/>
</channels>

Explicando: nessa configuração o jogador não vai poder falar no chat apenas ler o que aparece lá, no caso o cooldown das spells.


Agora vamos configurar a lib do servidor para registrar o novo channel 

pasta do servidor/data/lib/000-constant.lua

procure por CHANNEL_HELP

e logo abaixo configure a sua nova channel.

Exemplo:

CHANNEL_HELP = 9
CHANNEL_SPELL = 10

Explicando: no caso o channel do help é o último então vamos aumentar um número depois dele deixando o channel da spell como 10

no meu caso ficando assim

CHANNEL_GUILD = 0
CHANNEL_PARTY = 1
CHANNEL_RVR = 3
CHANNEL_HELP = 9
CHANNEL_SPELL = 10
CHANNEL_DEFAULT = 0xFFFE
CHANNEL_PRIVATE = 0xFFFF

Após ter configurado essa parte vamos na pasta do servidor/data/creaturescripts/login.lua

dentro do login lua vamos até o final

antes do último return true coloque o seguinte código

 

doPlayerOpenChannel(cid, 4)
doPlayerOpenChannel(cid, 9)
doPlayerOpenChannel(cid, 10)

 

Explicando: usando essa configuração toda vez que o player entrar no servidor os channels 4, 9 e 10 vão abrir automaticamente no meu caso são os channels gamechat, help e spells

 

Após ter feito isso vamos adicionar o cooldown nas spells para enviar a mensagem para o channel

Obs: deixe o cooldown de todas as spells no spell.xml em 0 vamos adicionar o cooldown da spells no script de cada spell

 

Na script da spell embaixo de function onCastSpell(cid, var)

Adicione

local waittime = 1
local storage = 111102

if exhaustion.check(cid, storage) then
doPlayerSendChannelMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde ".. exhaustion.get(cid, storage) .. " segundos para usar o jutsu novamente.", TALKTYPE_CHANNEL_O, CHANNEL_SPELL)
return false
end

Explicando Waittime = 1 é o cooldown da spell que vai ser de 1 segundo

Storage é a storage que o jogador vai ter após usar a spell para contar os segundos (cada spell tem que ter a storage diferente)

doPlayerSendChannelMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde ".. exhaustion.get(cid, storage) .. " segundos para usar o jutsu novamente.", TALKTYPE_CHANNEL_O, CHANNEL_SPELL

Nessa linha é onde vamos editar para a mensagem do cooldown ir para o channel no final da linha nesta parte

 TALKTYPE_CHANNEL_O, CHANNEL_SPELL

 

Caso vocês usarem o mesmo nome que eu postei aqui não tem necessidade de mudar o channel apenas copiar e colar caso usarem outro nome mude o

CHANNEL_SPELL  << o spell para o nome colocado na lib

Por fim no último return True do script da spell coloque 

 

exhaustion.set(cid, storage, waittime)

 

e pronto assim que usar a spell e mostrar o cooldown vai ficar assim

 

KsPd2wO.png

 

Ficando assim não vai ficar floodando o chat default do seu servidor ^^ 

 

Espero que tenham gostado 

 

by: Brunds

 

Crédito pelas alterações na source aos membros

@MySticaL

@L3K0T





Share this post


Link to post
Share on other sites

Muito bom, é uma opção de cooldown para servidores que não possuem os ícones das versões recentes também, criativo.

E se o player fechar o channel? Ou não da pra fechar



• Mapas do Nolis •




Share this post


Link to post
Share on other sites

@Daniel da pra fechar o channel normalmente assim caso o player não quiser ver o channel ou não quiser que o channel fique lá alertando sobre os cooldown o player pode apenas fechar o channel normalmente

obs: mas toda vez que o player reloga ou sai e entra abre novamente





Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

×
×
  • Create New...