E ai, rapaziada. Não sei se criei o tópico na área correta, mas enfim, peço desculpas caso isso tenha acontecido, sou novo por aqui.
Estou a um bom tempo tentando solucionar uma questão num servidor que estou preparando.
Quero passar informações do Servidor para o Client. Testei com informações simples mas infelizmente não consegui solucionar o meu problema. Espero que algum expert possa me ajudar.
Tenho isso no meu \creaturescripts\creaturescripts.xml
Estou usando esse código no meu \creaturescripts\scripts\opcodes.lua
Spoiler
local OPCODES = {
GET_NAME = 110
}
function onExtendedOpcode(cid, opcode, buffer)
local player = Player(cid)
if opcode == 110 then
Player:sendExtendedOpcode(cid, OPCODES.GET_NAME, player:GetStorageValue(32000))
end
end
Registrei o evento Opcodes do \creaturescripts\creaturescripts.xml no \creaturescripts\scripts\others\loginEvents.lua
Pergunta
Biohazardz 0
E ai, rapaziada. Não sei se criei o tópico na área correta, mas enfim, peço desculpas caso isso tenha acontecido, sou novo por aqui.
Estou a um bom tempo tentando solucionar uma questão num servidor que estou preparando.
Quero passar informações do Servidor para o Client. Testei com informações simples mas infelizmente não consegui solucionar o meu problema. Espero que algum expert possa me ajudar.
Tenho isso no meu \creaturescripts\creaturescripts.xml
<event type="extendedopcode" name="Opcodes" event="script" value="opcodes.lua"/>
Estou usando esse código no meu \creaturescripts\scripts\opcodes.lua
local OPCODES = {
GET_NAME = 110
}
function onExtendedOpcode(cid, opcode, buffer)
local player = Player(cid)
if opcode == 110 then
Player:sendExtendedOpcode(cid, OPCODES.GET_NAME, player:GetStorageValue(32000))
end
end
Registrei o evento Opcodes do \creaturescripts\creaturescripts.xml no \creaturescripts\scripts\others\loginEvents.lua
...
"mozradek_kill",
"xogixath_kill",
"CultoFafnar",
"ratsTask",
"Opcodes"
}
for i = 1, #events do
player:registerEvent(events)
end
return true
end
Partindo para o client, tenho o meu \modules\game_teste\teste.lua
local window = nil
local lblName = nil
function init()
ProtocolGame.registerExtendedOpcode(110, printOpCode)
--lblName:setText('Name: '..buffer)
--print(buffer)
--end)
window = g_ui.displayUI('teste')
window:hide()
lblName = window:getChildById('lblName')
g_keyboard.bindKeyPress('Ctrl+X', toggle)
end
function terminate()
disconnect(g_game, { onGameEnd = offline })
ProtocolGame.unregisterExtendedOpcode(110)
window:destroy()
g_keyboard.unbindKeyPress('Ctrl+X')
end
function toggle()
if window:isVisible() then
window:setFocusable(false)
window:hide()
else
window:show()
end
end
function printOpCode(protocol, opcode, buffer)
print(buffer)
end
function getName()
g_game.getProtocolGame():sendExtendedOpcode(110, '')
end
--function(protocol, opcode, buffer)
Por algum motivo o client me retorna sempre a mesma mensagem:
ERROR: Unable to send extended opcode 110, extended opcodes are not enabled on this server
Já rachei demais minha cabeça, o que estou fazendo de errado? Por favor, peço que me ajudem humildemente.
Estou usando a TFS 1.3.
Editado por BiohazardzLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados