Ir para conteúdo
  • Cadastre-se

Outro [Spell / cooldown] Channel própria


Posts Recomendados

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

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros 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

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por Budrox
      ola! venho apresentar meu protejo e ouvir a opinião de
      vocês estou trabalhando a alguns meses nessas sprites,
      jogariam um protejo assim, penso em fazer o jogo em
      outras engines mas faria mais sentido se fosse um
      protejo online.

    • Por GamerGoiano
      Provavelmente funciona com os outros jogos do quilante, basta substituir a pasta data na pasta do servidor e substituir os arquivos do cliente na pasta otclient/data/things/860
      Eu não tenho créditos sobre o projeto, estou apenas postando aqui porque ja é de dominio público porém em todos os tópicos na internet o projeto está muito desatualizado
      Este aqui está configurado pra por online no pc.
       

      Download: (TFS 04 860 + OTCLIENT "Ultima versão x64", Htdocs "O site" e o Banco de dados Compativel.
      https://www.mediafire.com/file/bmponjci62txbxd/TIBIA+GTA+ARRUMADO.rar/file

      Scan:
      https://www.virustotal.com/gui/file/b6236579ad11201f3c01899a218f6ca8ef8e645cf3881f5de2af46a04837085d?nocache=1
    • Por Tyren
      Fala galera, tranquilos?
      Recentemente comecei a desenvolver um servidor de Pokémon (famoso poketibia) porém ai me veio a duvida, ainda existe "players" interessados nisso?
      Pois eu vejo vários projetos bons morrerem na praia ou nem saírem do papel e isso meio que da uma desanimada.
      Na concepção de vocês, o que falta para um bom poketibia? Mapa? Sistemas? Voltar as antigas e lançar um servidor Old School?
    • Por TestAccount
      Bem vindos a SwampSoldiers, um ot alternativo único de sapos e minhocas! Achou estranho? Eu também, mas comecei a jogar e viciei ?

      Website
      SwampSoldier - Play to earn (https://www.swampsoldiers.com/index)

      Social Media
      Twitter: https://twitter.com/SoldiersSwamp
      Discord: Join the SwampSoldiers | ? Vs ? Discord Server! (https://discord.gg/qc9wfMQ8vK)
      Youtube: https://www.youtube.com/c/SwampSoldiers
      Facebook: SwampSoldier (https://www.facebook.com/profile.php?id=100087871800250)
      Instagram: Swamp Soldiers (@swampsoldiers) • Instagram photos and videos (https://www.instagram.com/swampsoldiers/)

      =================================================================================================
      SwampSoldiers é um jogo blockchain gratuito, onde você é o verdadeiro dono de seus ativos e pode vendê-los facilmente a outros jogadores por dinheiro real.

      Características:
      Músicas de fundo e efeitos de som; Mapa unico e original; 6 diferentes classes e 2 facções; NPCs animados; Spells unicos com som; Mercado p2p; Quests únicas; 0% de perda de exp até o lvl 5; Sistema de crafting; Sistema de casas e ilhas particulares; Sistema de pet e autoloot; World boss; Tower defense mini-game; Battle royale sendo desenvolvido;  

       

       

       

       

       

    • Por MatteusDeli
      Nesse tópico você irá aprender a diferença entre ItemID, ActionID e UniqueID na criação de scripts.
       
      Primeiramente vamos começar com o ItemID, imagine que você está criando um simples script que o player pode ter acesso a uma área VIP, só que para ele entrar, primeiro precisará passar por um tile especial que possui o ID 471, até aqui tudo bem, só que qualquer player do servidor irá ter acesso também, já que não possui nenhuma restrição.
       
      Como poderíamos resolver isso?
       
      É aqui que entra a função da ActionID, com ela podemos dizer que os tiles que tiverem o valor 1000 no atributo ActionID, serão os tiles referentes a área VIP. Agora temos uma maneira de diferenciar os tiles comuns dos que são VIPs, veja como ficaria:
       

      (tiles sem as ActionIDs no valor de 1000)
       
      Repare que os 3 tiles tem apenas o atributo ItemID: [471]. Todos os players poderiam passar sem problemas… Caso você use apenas esse tipo de tile para as suas áreas VIPs então não tem problema, agora se você usa esses mesmos tiles para outras finalidades, então você precisará recorrer a ActionID, para que assim consiga diferenciá-los.
       
      Vamos adicionar as ActionIDs então:
       

      (tiles com as ActionIDs adicionados no valor de 1000)
       
      Pronto, agora apenas esse tiles terão a função de controlar a entrada para a área VIP!
       
      Bom, então você deve estar se perguntando, aonde que o UniqueID entra nessa história?
       
      O UniqueID é parecido com a ActionID com apenas uma diferença. O valor que você define para ele deve ser único para o servidor inteiro, caso ele se repita aparecerá um aviso na sua distro, mais ou menos como este…
       

       
      Repare quantos UniqueIDs duplicados existem, isso é ruim porque quanto mais tiver mais tempo demorará para o servidor iniciar, entre outras coisas como conflitos de scripts.
       
      Concluindo…
       
      O ItemID é usado quando você quer que todos os itens com esse ID façam uma ação, por exemplo a fishing rod, qualquer player pode comprar uma no NPC e começar a pescar.
       
      A ActionID é usado geralmente quando você quer diferenciar os mesmos itens um dos outros. Eu tenho 2 crystal rings só que apenas um deles vai me curar 500 de vida quando usá-lo.
       
      O UniqueID é quando você quer definir um ID único para um determinado item e só terá apenas um dele no servidor, um exemplo seria uma estátua que vai dar ao player um determinado item e só existirá somente uma dela no jogo.
       
      Tentei ser o mais breve e direto sobre esse assunto, espero que tenha ficado claro… Agora é só praticar!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo