Postado Dezembro 26, 2021 3 anos Salve Família do TK... Estava tentando fazer 2 scripts aqui porem me deparo com um impasse... que é ele o seguinte: Antigamente a uns 6 anos eu tinha um OT e eu vivia criando Scripts, porem desta vez quando fui criar minha script de mensagem automática de publicidade do servidor, eu me deparei que meu distro não tem o arquivo globalevents.xml como no outro OT existia.. então agora fiquei perdido... pois não sei como fazer para o servidor reconhecer as scripts que eu adicionei, sendo que antes eu dava este comando pelo arquivo "principal" da pasta... Se alguém poder me dar uma luz, ficarei muito grato, alias desde já obrigado!
Postado Dezembro 26, 2021 3 anos Administrador Olá Rafa estranho, se você se baseia na ultima versão da TFS o arquivo existe sim ? https://github.com/otland/forgottenserver/blob/master/data/globalevents/globalevents.xml Qual seria sua base?
Postado Dezembro 27, 2021 3 anos Autor 12 horas atrás, Underewar disse: Olá Rafa estranho, se você se baseia na ultima versão da TFS o arquivo existe sim ? https://github.com/otland/forgottenserver/blob/master/data/globalevents/globalevents.xml Qual seria sua base? ??
Postado Dezembro 27, 2021 3 anos Administrador Solução 6 horas atrás, RafaelMCA disse: ?? A claro você esta usando a base da OTX ? Então vamos la vou te falar aqui oque é isso O revScript é um sistema que agora não tem mais necessidade do XML, podemos registrar o evento no proprio arquivo LUA (Graças adeus), pelomenos eu acho inutil o XML e é esse o intuito do revScript, algumas principais caracteristicas de criar scripts com revscritp é a facilidade de manipular events em um unico script, ou até compartilhar resultados de funções com outros arquivos revScript, fica aqui um exmeplo de como criar um BoradCast MSG no revScript sem a necessidad de um XML! Apenas crie um arquivo.lua e adicione! local autoBroadcast = GlobalEvent("AutoBroadcast") -- Criando o Evento para Registro como se fosse no XML function autoBroadcast.onThink(interval, lastExecution) local messages = { "[DONATES]: write your message here", "[COMMANDS]: write your message here " } Game.broadcastMessage(messages[math.random(#messages)], MESSAGE_EVENT_ADVANCE) return true end autoBroadcast:interval(300000) --5 minutes aqui seria o intervalo que adicionariamos no XML autoBroadcast:register() -- Aqui seria o registro que fariamos no XML Espero que tenha conseguido te dar uma luz! Bônus : Existem maneiras de modificar o método desta MSG no player.lua em /data/lib você consegue desenvolver novas funcionalidades para o evento de broadCast function Game.broadcast(message, sender) local players = Game.getPlayers() ? função braodcast capturando jogadores online for _, cid in ipairs(players) do ? array de jogadores local msg = NetworkMessage() ? Verificando jogadores online msg:addByte(0xAA) ? -- interação Hexadecimal com Client 12 msg:addU32(1) -- ??????? Same HERE msg:addString(sender) ? Este evento ja existia msg:addU16(0x00) ? Nova interação com Client12 msg:addByte(TALKTYPE_BROADCAST) ? Ja existia msg:addString(message) ? Ja existia msg:sendToPlayer(Player(cid)) ? Ja existia end end Editado Dezembro 27, 2021 3 anos por Underewar (veja o histórico de edições)
Postado Dezembro 27, 2021 3 anos Autor 8 horas atrás, Underewar disse: A claro você esta usando a base da OTX ? Então vamos la vou te falar aqui oque é isso O revScript é um sistema que agora não tem mais necessidade do XML, podemos registrar o evento no proprio arquivo LUA (Graças adeus), pelomenos eu acho inutil o XML e é esse o intuito do revScript, algumas principais caracteristicas de criar scripts com revscritp é a facilidade de manipular events em um unico script, ou até compartilhar resultados de funções com outros arquivos revScript, fica aqui um exmeplo de como criar um BoradCast MSG no revScript sem a necessidad de um XML! Apenas crie um arquivo.lua e adicione! local autoBroadcast = GlobalEvent("AutoBroadcast") -- Criando o Evento para Registro como se fosse no XML function autoBroadcast.onThink(interval, lastExecution) local messages = { "[DONATES]: write your message here", "[COMMANDS]: write your message here " } Game.broadcastMessage(messages[math.random(#messages)], MESSAGE_EVENT_ADVANCE) return true end autoBroadcast:interval(300000) --5 minutes aqui seria o intervalo que adicionariamos no XML autoBroadcast:register() -- Aqui seria o registro que fariamos no XML Espero que tenha conseguido te dar uma luz! Bônus : Existem maneiras de modificar o método desta MSG no player.lua em /data/lib você consegue desenvolver novas funcionalidades para o evento de broadCast function Game.broadcast(message, sender) local players = Game.getPlayers() ? função braodcast capturando jogadores online for _, cid in ipairs(players) do ? array de jogadores local msg = NetworkMessage() ? Verificando jogadores online msg:addByte(0xAA) ? -- interação Hexadecimal com Client 12 msg:addU32(1) -- ??????? Same HERE msg:addString(sender) ? Este evento ja existia msg:addU16(0x00) ? Nova interação com Client12 msg:addByte(TALKTYPE_BROADCAST) ? Ja existia msg:addString(message) ? Ja existia msg:sendToPlayer(Player(cid)) ? Ja existia end end Mano com toda certeza, vc deu uma grande luz... vou testar aqui seu modelo de Script e estou rezando q de certo... assim que testa volto pra dizer, porem eu queria saber qual linguagem eu deva estudar para saber montar as scripts sozinho... pois desta forma eu realmente concordo que esta bem mais fácil, sem precisar ficar adicionando vários .lua ou .xml para 1 única função, porem na parte de script agora pra mim ficou mais complicado, já que agora todos os encaminhamentos estão em códigos... EDIT: tenho recebido este erro aqui amigo! não sei se estou errando em alguma coisa, porem copiei exatamente a msg como vc deixou, porem eu adicionei algumas linhas de MSGs, mas acredito q isso não seja o problema... e se for eu teria que criar 1 arquivo deste para kda msg então? Vlw ERRO: > msg.lua [error] ^ ...\CBS\Desktop\OTX 12.64\data\scripts\globalevents\msg.lua:6: '}' expected (to close '{' at line 3) near '"Promote e AOL com Eremo em cima do templo."' Editado Dezembro 27, 2021 3 anos por RafaelMCA (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.