Ir para conteúdo

[OTClient Module] Client Version


samueldev

Posts Recomendados

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 para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...