Jump to content
×
×
  • Create New...

[OTClient Module] Client Version


samueldev
 Share

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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Similar Content

    • By Slytherin
      Bom galera, eu to com esse erro ai... vou seguindo os parços e coloco
       
      cd c
      git clone https://github.com/microsoft/vcpkg.git
      cd vcpkg
       
      Porem quando uso esse ".\bootstrap-vcpkg.bat" da esse erro ai...
      Desculpas se coloquei na area errada, alguém poderia me ajudar? 😕
       
      Grato pela atenção ❤️

    • 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