Ir para conteúdo

Under

Administrador
  • Registro em

  • Última visita

Tudo que Under postou

  1. Nesse caso só inserindo uma função externa com o tibia API. Mesmo assim alguns offsets mudaram do client 13x para a nova versão 14x então seria necessário basicamente trazer os pacotes de volta pro cliente novamente. Infelizmente como não temos a src do client da cip fica ainda mais dificil fazer mudanças.
  2. F se fosse tfs 1.0 poderia usar o tibia ai https://ai.tibiaking.com/
  3. Under postou uma resposta no tópico em Suporte Tibia OTServer
    Me adicioanr no discord : underewar
  4. Ganhe 50 Gerações Grátis ao Cadastrar um Billing Account. Disponível novamente para uso. Confira os planos disponíveis. https://ai.tibiaking.com/subscription Tibia IA esta funcionando novamente. Agora o Script Generator está em sua versão estável e em produção, outras ferramentas ainda devem ser disponibilizadas como gratuitas antes de serem incorporadas no sistema de planos. Na própria geração envie feedbacks sobre os scripts para que possamos continuar gerando scripts : Em sua versão grátis foram geradas 587 Scripts, agora depois de um intenso FineTunning a geração está ainda mais poderosa, aproveite em : https://ai.tibiaking.com/
  5. Under postou uma resposta no tópico em Suporte Tibia OTServer
    Olá Bem vindo ao fórum, me adicione no discord -> underewar Vou te passar um conteúdo sobre como abrir o server e compilar nessas versões legado.
  6. Antes de mais nada, você precisa saber que o revscriptsys é compatível apenas com: TFS 1.3+. Canary. OTX 5, que foi criado usando como base o TFS 1.3 e OTG-Global. O revscriptsys é uma nova forma de registrar scripts para que você não precise fazer isso via XML (apenas em Lua). Você só precisa colocar seus scripts Lua dentro de "data/scripts/" ou em qualquer subpasta dele, se desejar. Os scripts de monstro são colocados em um caminho diferente: data/monster também sendo possível colocar em qualquer subpasta e organizar como você bem entender. Este sistema suporta o uso de diferentes metatables no mesmo script (Actions, MoveEvents, GlobalEvents... Etc). Isso é muito útil se você fizer missões prolongadas (por exemplo), não necessitando criar arquivos separados para cada metatable. O script deve conter um cabeçalho e rodapé, confirme mostrado no exemplo a seguir. -- Este é o nosso cabeçalho, é a primeira coisa que deve ser colocada, com exceção das variáveis de configuração local testAction = Action() -- Aqui, nós registramos a action na função onUse, se você esquecer de declarar a variável testAction aqui, o script não funcionará function testAction.onUse(player, item, fromPosition, target, toPosition, isHotkey) return print("We used this item: " .. item.itemid ..".) end -- Aqui você registra o id do item testAction:id(2550) -- Este é o rodapé, deve sempre ser a última função registrada testAction:register() -- Movement local testMovement = MoveEvent() function testMovement.onStepIn(creature, item, position, fromPosition) local player = creature:getPlayer() if not player then return true end print(player:getName(), item:getId(), item:getName()) return true end testMovement:id(426) testMovement:register() No exemplo acima, temos uma Action e um MoveEvent dentro do mesmo script, lembra da introdução? O revscriptsys suporta o uso de diferentes metatables no mesmo script. O "testAction" é uma variável (local), o que significa que você pode mudar ele para qualquer outro nome do seu gosto, por exemplo: local scythe = Action() Fazendo isso, você também precisa modificar a variável que fica na linha do function, ficando assim: function scythe.onUse(player, item, fromPosition, target, toPosition, isHotkey) Também precisa modificar a variável do "id", ficando assim: scythe:id(2550) E a do register, ficando assim: scythe:register() Conclusão agora não é necessário mais registrar via xml você tem as tags de registro com base no nome da função no próprio script lua ilocal scythe = Action() NOME DA FUNÇÂO + Modulo action nesse caso. function scythe.onUse(player, item, fromPosition, target, toPosition, isHotkey) Função scythe declarada com modulo Action sendo usado na função onUse. scythe:id(2550) Registro do ITEMID scythe:register() Registro Do EVENTO Então repare que agora nos scripts sempre no inicio você vai ter o nome da função que esta sendo declarada junto do modulo e no final os tipos de registros atrelado a função.
  7. Conversor de Mapas ServerID para ClientID Ferramenta para converter qualquer mapa de ServerID para ClientID e vice-versa. Imagens: Requisitos: - Node.js - Download Como usar: 1. Coloque os arquivos .otbm na pasta "input_folder". 2. Execute o arquivo autorun.bat. 3. Selecione no menu para qual ID você deseja converter os mapas. 4. Após a execução do script, os mapas convertidos estarão na pasta "output_folder". Download: ServerId and ClientID Map Converter.zip
  8. Under postou uma resposta no tópico em Suporte Tibia OTServer
    Acho que o ideial seria você retirar esse castelo e adicionar um aqui do fórum que não tem erro.
  9. O design não ta bom mas ta funcionando KSKSKSKSKSKS
  10. Você esta correto é um pouco diferente da tfs a implementação de uma nova vocação na src canary. Meda até um dejavu quando eu adicionava novas vocações em 2003 mas tudo bem, segue o tutorial.
  11. Tutorial Completo: Como Adicionar uma Nova Vocação no Canary Server 1. Entendendo a Lógica das Vocações No servidor Canary, cada vocação representa uma classe de personagem com habilidades, atributos e características específicas. Para que o servidor reconheça uma nova vocação, é necessário: - Definir um identificador único (ID); - Registrar o ClientID (usado para exibição no cliente); - Especificar um BaseID (para herança de características ou evolução); - Configurar atributos, fórmulas e habilidades no XML. 2. Alterando a Enumeração das Vocações (Código Fonte C++) Arquivo: `src/creatures/creatures_definitions.hpp` Adicione os novos IDs no enum `Vocation_t`: enum Vocation_t : uint16_t { VOCATION_NONE = 0, VOCATION_SORCERER = 1, VOCATION_DRUID = 2, VOCATION_PALADIN = 3, VOCATION_KNIGHT = 4, VOCATION_MASTER_SORCERER = 5, VOCATION_ELDER_DRUID = 6, VOCATION_ROYAL_PALADIN = 7, VOCATION_ELITE_KNIGHT = 8, VOCATION_WARRIOR = 9, VOCATION_ELITE_WARRIOR = 10, VOCATION_LAST = VOCATION_ELITE_WARRIOR }; 3. Atualizando o Script de Vocações (Lua) Arquivo: `data/libs/vocation.lua` Adicione os novos valores nas três seções do objeto `VOCATION`: VOCATION = { ID = { WARRIOR = 9, ELITE_WARRIOR = 10, ... }, CLIENT_ID = { WARRIOR = 0, ELITE_WARRIOR = 0, ... }, BASE_ID = { WARRIOR = 5, ... } } 4. Criando Função de Verificação da Nova Vocação Arquivo: `data/libs/functions/player.lua` Adicione a seguinte função no final do arquivo: function Player.isWarrior(self) return table.contains({VOCATION.ID.WARRIOR, VOCATION.ID.ELITE_WARRIOR}, self:getVocation():getId()) end 5. Configurando as Vocações no XML Arquivo: `data/XML/vocations.xml` Adicione o bloco de cada nova vocação com os atributos desejados: <vocation id="9" clientid="0" baseid="5" name="Warrior" description="a warrior" magicshield="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="4000" gainhpamount="1" gainmanaticks="6000" gainmanaamount="2" manamultiplier="3.0" attackspeed="2000" basespeed="110" soulmax="200" gainsoulticks="15000" fromvoc="5"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.1" /> <skill id="1" multiplier="1.1" /> <skill id="2" multiplier="1.1" /> <skill id="3" multiplier="1.1" /> <skill id="4" multiplier="1.4" /> <skill id="5" multiplier="1.1" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="10" clientid="0" baseid="6" name="Elite Warrior" description="an elite warrior" magicshield="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="4000" gainhpamount="1" gainmanaticks="6000" gainmanaamount="2" manamultiplier="3.0" attackspeed="2000" basespeed="110" soulmax="200" gainsoulticks="15000" fromvoc="5"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.1" /> <skill id="1" multiplier="1.1" /> <skill id="2" multiplier="1.1" /> <skill id="3" multiplier="1.1" /> <skill id="4" multiplier="1.4" /> <skill id="5" multiplier="1.1" /> <skill id="6" multiplier="1.1" /> </vocation> 6. Compilando o Servidor Após todas as alterações, é obrigatório recompilar o servidor para que as novas vocações sejam reconhecidas corretamente. Conclusão: Ao seguir todos os passos, suas novas vocações estarão totalmente integradas ao servidor. Você poderá usá-las para personagens.
  12. Basicamente os seus commandos de god ficam na pasta data/talkactions ou data/scripts/talkaction confira os scripts para ver quais estão faltando ou forneça mais informação.
  13. Under postou uma resposta no tópico em OTClient
    img broken!
  14. Legal hein! CrystalServer
  15. Bem legal esse tópico, porque não continuamos a compartilhar projetos incríveis aqui ?
  16. Under postou uma resposta no tópico em Sistemas Show Off
    Genio!

Informação Importante

Confirmação de Termo