Obs: não delete esse formulário pré-definido, preencha-o corretamente para postar o seu tópico!
Descreva em algumas palavras a base utilizada. (Nome do servidor / Nome do cliente / Nome do website / etc.).
Base:
OTServBR-Global.
Qual é a sua pergunta?
Fala pessoal beleza?
Então estou tentando adicionar um sistema de modal no meu servidor, o sistema funciona certo, porem na hora de clicar em Confimar eu não sou teleportado para o sala selecionada
Vocês conseguem me ajudar com este erro? Ficarei muito agradecido!
Você tem o código disponível? Se tiver poste-o na caixa de código que está dentro do spoiler abaixo:
Moveevents:
Spoiler
local config = {
titulo = "BEM VINDO(A) A JANELA DE HUNTS!", -- Título da Janela
mensagem = "Selecione qual hunt voce deseja ir:", -- Mensagem abaixo do título da janela
}
CONFIG_TPS_JANELA = {
[19090] = { -- ID do action que ficará no portal da hunt
{nome = "Demon 01", pos = {x = 1000, y = 1000, z = 7}}, -- Segue padrão, nome da cave e posição que o player será teleportado
{nome = "Demon 02", pos = {x = 1001, y = 1000, z = 7}},
{nome = "Demon 03", pos = {x = 1002, y = 1000, z = 7}},
{nome = "Demon 04", pos = {x = 1003, y = 1000, z = 7}},
{nome = "Demon 05", pos = {x = 1004, y = 1000, z = 7}},
},
[19091] = {
{nome = "Frost 01", pos = {x = 98, y = 140, z = 7}},
{nome = "Frost 02", pos = {x = 93, y = 145, z = 7}},
{nome = "Frost 03", pos = {x = 91, y = 141, z = 7}},
{nome = "Frost 04", pos = {x = 94, y = 139, z = 7}},
{nome = "Frost 05", pos = {x = 95, y = 137, z = 7}},
},
}
local janelahunts = MoveEvent()
function janelahunts.onStepIn(creature, item, pos, fromPosition)
if ((CONFIG_TPS_JANELA[item:getActionId()]) and creature:isPlayer()) then
JANELA_TP_ACTION = item:getActionId()
creature:teleportTo(fromPosition, true)
creature:registerEvent("janela_hunts")
local janela = ModalWindow(1000, config.titulo, config.mensagem)
for i, v in ipairs(CONFIG_TPS_JANELA[JANELA_TP_ACTION]) do
janela:addChoice(i, v.nome)
end
janela:addButton(100, "Confirmar")
janela:addButton(101, "Fechar")
janela:setDefaultEnterButton(100)
janela:setDefaultEscapeButton(101)
janela:sendToPlayer(creature)
end
return true
end
janelahunts:type("stepin")
janelahunts:id(5023)
janelahunts:register()
CreatureScript:
Na versão antiga é pedido para adionar esta tag em creaturescripts.xml:
eu acho que tenho algo haver com name="janela hunts" por não estar definido no script, porem eu não sei qual comando eu coloco para definir esse Evento!
Spoiler
local JanelaDeHunts = CreatureEvent("JanelaDeHunts")
function JanelaDeHunts.onModalWindow(player, modalWindowId, buttonId, choiceId)
player:unregisterEvent("janela_hunts")
if (modalWindowId == 1000) then
if (buttonId == 100) then
local tele_pos = CONFIG_TPS_JANELA[JANELA_TP_ACTION][choiceId].pos
player:teleportTo(tele_pos)
local pos_t = Position(tele_pos)
pos_t:sendMagicEffect(CONST_ME_MAGIC_BLUE)
end
end
return true
end
JanelaDeHunts:register()
Você tem alguma imagem que possa auxiliar no problema? Se sim, anexe-a dentro do spoiler abaixo:
Antes de fazer a sua pergunta, tenha certeza de ter lido as regras da seção e o guia abaixo:
https://forums.otserv.com.br/index.php?/forums/topic/168583-regras-da-seção/
https://forums.otserv.com.br/index.php?/forums/topic/165121-como-fazer-uma-pergunta-ou-o-grande-guia-do-usuário-com-dúvidas/
Obs: não delete esse formulário pré-definido, preencha-o corretamente para postar o seu tópico!
Descreva em algumas palavras a base utilizada. (Nome do servidor / Nome do cliente / Nome do website / etc.).
Base:
OTServBR-Global.
Qual é a sua pergunta?
Fala pessoal beleza?
Então estou tentando adicionar um sistema de modal no meu servidor, o sistema funciona certo, porem na hora de clicar em Confimar eu não sou teleportado para o sala selecionada
Estou usando o servidor https://github.com/opentibiabr/otservbr-global.git como base para meu servidor custom.
Vocês conseguem me ajudar com este erro? Ficarei muito agradecido!
Você tem o código disponível? Se tiver poste-o na caixa de código que está dentro do spoiler abaixo:
Moveevents:
local config = { titulo = "BEM VINDO(A) A JANELA DE HUNTS!", -- Título da Janela mensagem = "Selecione qual hunt voce deseja ir:", -- Mensagem abaixo do título da janela } CONFIG_TPS_JANELA = { [19090] = { -- ID do action que ficará no portal da hunt {nome = "Demon 01", pos = {x = 1000, y = 1000, z = 7}}, -- Segue padrão, nome da cave e posição que o player será teleportado {nome = "Demon 02", pos = {x = 1001, y = 1000, z = 7}}, {nome = "Demon 03", pos = {x = 1002, y = 1000, z = 7}}, {nome = "Demon 04", pos = {x = 1003, y = 1000, z = 7}}, {nome = "Demon 05", pos = {x = 1004, y = 1000, z = 7}}, }, [19091] = { {nome = "Frost 01", pos = {x = 98, y = 140, z = 7}}, {nome = "Frost 02", pos = {x = 93, y = 145, z = 7}}, {nome = "Frost 03", pos = {x = 91, y = 141, z = 7}}, {nome = "Frost 04", pos = {x = 94, y = 139, z = 7}}, {nome = "Frost 05", pos = {x = 95, y = 137, z = 7}}, }, } local janelahunts = MoveEvent() function janelahunts.onStepIn(creature, item, pos, fromPosition) if ((CONFIG_TPS_JANELA[item:getActionId()]) and creature:isPlayer()) then JANELA_TP_ACTION = item:getActionId() creature:teleportTo(fromPosition, true) creature:registerEvent("janela_hunts") local janela = ModalWindow(1000, config.titulo, config.mensagem) for i, v in ipairs(CONFIG_TPS_JANELA[JANELA_TP_ACTION]) do janela:addChoice(i, v.nome) end janela:addButton(100, "Confirmar") janela:addButton(101, "Fechar") janela:setDefaultEnterButton(100) janela:setDefaultEscapeButton(101) janela:sendToPlayer(creature) end return true end janelahunts:type("stepin") janelahunts:id(5023) janelahunts:register()
CreatureScript:
Na versão antiga é pedido para adionar esta tag em creaturescripts.xml:
<event type="ModalWindow" name="janela hunts" script="creature_janela_hunts.lua"/>
eu acho que tenho algo haver com name="janela hunts" por não estar definido no script, porem eu não sei qual comando eu coloco para definir esse Evento!
local JanelaDeHunts = CreatureEvent("JanelaDeHunts")
function JanelaDeHunts.onModalWindow(player, modalWindowId, buttonId, choiceId)
player:unregisterEvent("janela_hunts")
if (modalWindowId == 1000) then
if (buttonId == 100) then
local tele_pos = CONFIG_TPS_JANELA[JANELA_TP_ACTION][choiceId].pos
player:teleportTo(tele_pos)
local pos_t = Position(tele_pos)
pos_t:sendMagicEffect(CONST_ME_MAGIC_BLUE)
end
end
return true
end
JanelaDeHunts:register()
Você tem alguma imagem que possa auxiliar no problema? Se sim, anexe-a dentro do spoiler abaixo:
Compartilhar este post
Link para o post
Compartilhar em outros sites