Jump to content
×
×
  • Create New...

[OTClient Module] Client Version


Recommended Posts

Eai galera do Xtibia hoje eu trago um module que desenvolvi para notificar o player caso ele esteja com o cliente desatualizado.

Esse tutorial é para TFS 1.x, da pra usar em TFS 0.x mas terá que adaptar o código e ter OPCODES na sua source!

Como instalar o module:

 

1 - Pegue a pasta do module e coloque na pasta mods do seu client.

no arquivo module.lua você vai encontrar a seguinte linha: 

 local VERSION = "1.0"

nessa linha você define a versão atual do seu client, a cada novo client você modifica esse valor!

2 - Vá até a pasta creaturescripts/scripts do seu servidor e crie uma novo script chamado clientVersion.lua

dentro desse script, cole o seguinte código:

 

Spoiler

 


local OPCODE = 55
local VERSION = "1.0"
local MESSAGE = "O seu cliente esta desatualizado, e de extrema importancia que voce faca o download do novo client ("..VERSION..") em nosso website."

function onExtendedOpcode(player, opcode, buffer)
    if opcode == OPCODE then
        local data = stringSplit(buffer, ",")

        if data[1] == "clientVersion" then
            CLIENT_VERSION = data[2]
            if CLIENT_VERSION ~= VERSION then
                player:sendTextMessage(MESSAGE_STATUS_WARNING, MESSAGE)
            end
        end
    end
end

function stringSplit(inputstr, sep)
    if sep == nil then
        sep = "%s"
    end
    local t={}
    for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
        table.insert(t, str)
    end
    return t
end

 

 

 

Em

local VERSION = "1.0"

você define a mesma versão que colocou no client, sempre que atualizar o client, deve alterar a variável VERSION desse script acima, do mesmo modo que altera no module do client.

Em local MESSAGE = "..." você pode alterar a mensagem que será enviada ao player caso ele esteja com um cliente desatualizado.

 

3 - Em creaturescripts/creaturescripts.xml adicione a seguinte linha:

 

<event type="extendedopcode" name="ClientVersion" script="clientVersion.lua" />

 

4 - Agora no arquivo creaturescripts/login.lua registre esse evento antes de return true

 

player:registerEvent("ClientVersion")

 

Pronto, o module foi instalado!

Print:
 

image.thumb.png.90fd48b4b7c8c92c2b6c7ea247b1e15c.png

Download

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.


    Administrador |  Diretor |  Coordenador |  Moderador |  Suporter |  Estagiário |  Herói
  • Similar Content

    • By StardewMon
      Base Pokemasterx, estou editando para um novo projeto, espero que gostem!


    • By helviio
      Olá estou convertendo um tema que ganhei do OtcV8 pra OTC ... porém estou tendo um trabalho enorme pra achar essa parte ... 
      sei que é na pasta styles e tal ... porém ja deixei tudo igual nas pastas window/miniwindow/minimap ... 
       
      se alguém puder me dar essa luz ficaria agradecido  

    • By Mizakinha
      Alguém me ajuda pelo amor de Deus.
       
      Depois de infinitas tentativas eu finalmente consegui compilar as sources do SERVIDOR, substitui o arquivo .exe que gerou e coloquei na pasta do server, liguei o server e tudo funcionou perfeitamente, mas quando eu entro no servidor o client tá todo bugado.
       
      Alguém sabe o que pode ser?
       
      Eu compilei as sources do servidor não a do client, não mexi nada no client. 
       
      To usando como base o Pokemon HuatsonOT V2.0 (DXP).

    • By KaboFlow
      alguem me ajude a adicionar o cliente a este banco de dados, por favor
       
       
      add OTCLIENT Pra base pda old
       
       
    • By Lux Fero
      Olá a todos do xtibia gostaria da ajuda de alguem pra solucionar meu probleminha, estou editando um servidor de dragonball com src etc. So que tem um pequeno bug visual no meu otclient, quando eu solto um atk com effect distance fica esse bug agradeço desde já  🙏❤

       
      PODEM FECHAR O TOPICO NÃO TEVE NEMHUMA RESPOSTA QUE  PUDESE CORRIGIR O
      PROBLEMA ENTÃO EU RESOLVI DEIXAR OS
      EFFECTS EM UNIT8 PARA RESOLVER O PROBLEMA!
      OBRIGADO POR TENTAREM AJUDAR ❤️