-
Quem Está Navegando 0 membros estão online
Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
Por KekezitoLHP
Nome: Fist Fighting/Attackspeed
Tipo: C++
Autor: Oneshot
Já vi alguns pedidos no fórum sobre a skill Fist Fighting, onde quanto mais você treinasse ela, mais rápido você atacaria no jogo, e parece que isto é um feature do Tibia. Como é uma modificação muito fácil nas sources, resolvi passar aí para a galera.
Por padrão, o intervalo entre ataques do Tibia é 2000ms, ou seja, um ataque físico a cada dois segundos. Eu fiz uma pequena modificação nas sources onde o Fist Fighting seria inversamente proporcional ao tal intervalo, ou seja, quanto maior o valor da skill, menor seria o intervalo.
Fiz de um modo que um jogador com Fist Fighting de nível 200, então, teria uma redução de 75% no intervalo de ataque, ou seja, um ataque a cada meio segundo ou dois ataques por segundo
Leve em consideração que ele pega como base o attackspeed da vocação ou da arma usada, ou seja, se seu servidor já tem o tal chamado "fast attack", de nada adianta adicionar esse código C++.
Abra seu player.cpp, procure por isso:
Player::getAttackSpeed() Substitua toda a função, dependendo da versão de seu servidor:
0.3.6
uint32_t Player::getAttackSpeed() { Item* weapon = getWeapon(); if(weapon && weapon->getAttackSpeed() != 0) return std::ceil(weapon->getAttackSpeed() * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375))); return std::ceil(vocation->getAttackSpeed() * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375))); } 0.4
uint32_t Player::getAttackSpeed() const { return std::ceil(((weapon && weapon->getAttackSpeed() != 0) ? weapon->getAttackSpeed() * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375)) : (vocation->getAttackSpeed() / std::max((size_t)1, getWeapons().size()) * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375))))); } Isso adiciona uma utilidade para a skill Fist Fighting que em muitos dos servidores é algo deixado de lado e inútil.
-
Por Gengo
Fala galera do TibiaKing venho disponibilizar para a comunidade um script bem bacana para seu poketibia, o famoso Slot Machine, no qual ele te recompensa com pedras de evolução, sem mas delongas vamos para a instalação.
1º Baixe os arquivos no link:
- http://www.mediafire.com/file/9df09dpbftz328y/slot_machine.rar
- Scan do link 1 ( https://www.virustotal.com/pt/file/ac47987beb6aa6437259226f09927099d4f7670c780315f8707e57e16767ad9f/analysis/1514485261/ )
- http://www.mediafire.com/file/x7xtq6otxfo70vf/machine.rar
- Scan do link 2 ( https://www.virustotal.com/pt/file/98d44e8815811eb8f4dc722c98faae690dae6bca0b79f67df1e3b5c5b9faaecb/analysis/1514485429/ )
Feito o 1º passo, coloque a pasta slot_machine na pasta do seu otClient modules/ e a pasta machine em data/images/game/ colocando os arquivos nos devido lugar certo já deve funcionar, mas agora vamos prosseguir em fazer com que ele dê o premio.
Na pasta do servidor em data/creaturescripts/scritps crie um arquivo chamado SlotMachine.lua e coloque o seguinte script:
local OPCODE_SLOT_MACHINE = 12 local removeDollar = 2000*100 -- = equivale a 20 Hundred Dollar function onExtendedOpcode(cid, opcode, buffer) if opcode == OPCODE_SLOT_MACHINE then if ( buffer ~= 1 ) then doPlayerAddItem(cid, buffer, 1) end doPlayerRemoveMoney(cid, removeDollar) end return true end Depois na mesma pasta abre o arquivo login.lua coloque o seguinte comando:
registerCreatureEvent(cid,"SlotMachine") E por fim na mesma pasta do seu servidor onde você estava abre o arquivo data/creaturescripts/creaturescripts.xml coloque a seguinte tag:
<event type="extendedopcode" name="SlotMachine" event="script" value="SlotMachine.lua"/>
Imagem de como está em in game:
Bom espero que tenham entendido, não sou muito bom com explicações ou escrever um tutorial, mas espero que gostem. :D
-
Por L3K0T
Tibia Ginius Versão 1.1 by L3K0T
O Tibia Genius, desenvolvido por L3K0T, é uma ferramenta essencial para desenvolvedores de OTServ que desejam otimizar e simplificar o processo de desenvolvimento dos seus servidores. Essa ferramenta integra diversas funcionalidades que eliminam a necessidade de utilizar múltiplos programas para tarefas distintas. Entre suas principais funcionalidades, destacam-se:
Item Editor: Permite a edição detalhada dos itens do jogo, facilitando a criação e modificação de itens conforme a necessidade do servidor. RME (Remere's Map Editor): Um editor de mapas completo que oferece uma interface intuitiva para criar e modificar mapas do jogo. Object Builder: Ferramenta para a construção e edição de objetos no jogo, essencial para personalizar a experiência do jogador. Mapa Converter: Utilitário que converte mapas entre diferentes formatos, garantindo compatibilidade e facilitando a integração de mapas em diversos servidores. Servidor Integrado: Opção para iniciar o servidor diretamente no ambiente Windows para testes, eliminando a necessidade de configurar servidores externos para verificações rápidas. Acesso Facilitado às Pastas: Botões dedicados para acessar rapidamente as pastas do servidor, aumentando a eficiência no gerenciamento dos arquivos do servidor.
Antes de utilizar o Tibia Genius, é necessário importar o servidor. Isso é feito através do botão "Selecionar Servidor", onde o usuário deve especificar a pasta do servidor para que todas as funcionalidades possam ser utilizadas de forma integrada. Da mesma forma, para utilizar o RME e o Item Editor, é preciso importar os arquivos SPR e DAT do cliente do jogo.
Com o Tibia Genius, l3k0t proporciona uma solução tudo-em-um para desenvolvedores de OTServ, tornando o processo de desenvolvimento mais ágil e centralizado, ao mesmo tempo que oferece ferramentas poderosas e de fácil acesso para a criação e manutenção de servidores personalizados.
Espero que ajude os preguiçosos risos, qualquer coisa reporte e ajude a melhorar, ideias são todas bem vindas!
Download GitHub: https://github.com/l3k0t/Tibia_Ginius
Scan Virus Total: https://www.virustotal.com/gui/file/f406f1310f8c5f403c35115eaaddc609ccdff2ff56b4a96b619ac7df914829e1?nocache=1
Discord do Projeto: https://discord.gg/MGD55hPWYf
-
Por Gengo
[OTClient] Sistema de Dialogo Otpokemon
Venho através desse tópico contribuir para a comunidade, um simples modulo de dialogo no estilo do Otpokemon,
não é um sistema de dialogo avançado é algo simples que deixa seu servidor intuitivo.
1) Faça o download do modulo no qual se encontra no final do tópico e abrindo a pasta do seu client,, extraia e coloque o modulo na pasta modules.
2) O módulo utiliza uma função chamada switch que não é comum ter no otclient, porem podemos colocar sem muito esforço, na pasta do otclient abra o arquivo util.lua que se encontra em modules/corelib/ e no final do arquivo coloque o seguinte código:
Feito o passo 1 e 2, vamos para a parte do servidor.
1) Crie um arquivo na pasta data/lib/ podendo ter o nome de npcdialog_lib.lua e coloque o seguinte código:
2) O arquivo que acabamos de criar utiliza uma função chamada table.serialize que não é comum ter nos servidores, para que funcione sem erros vamos adicionar, abra o arquivo 012-table.lua que fica na pasta do seu servidor em data/lib/ ou você pode criar o arquivo e adicionar o seguinte código:
Feito todo esse procedimento, estarei disponibilizando um npc para que vocês possam ter uma noção de como utilizar esse sistema de dialogo.
1) Crie um arquivo na pasta do servidor em data/npc/ chamado Gengo.xml e adicione o seguinte código:
2) Crie um arquivo na pasta do servidor em data/npc/lib/ com o nome gengo.lua e adicione o seguinte código:
O npc é algo simples, porem serve para que você possa ter uma noção de como utilizar as funções do npc.
Demostrativo dentro do game:
Arquivos para download e o scan:
-
Por marcoshps11
* Áudio de saudação *
Neste tutorial, irei ensinar alguns passos inicias para utilizar o OTClientV8
1º Passo: Como fixar ip e colocar a spr no local correto
- Faço o download no link: https://github.com/OTCv8/otclientv8
- Extraia o arquivo
- Dentro da pasta principal, vá até o arquivo init.lua
Neste trecho, precisará remover os comentários --[[ e ]]:
Servers = { --[[ OTClientV8 = "http://otclient.ovh/api/login.php", OTClientV8c = "otclient.ovh:7171", OTClientV8Test = "http://otclient.ovh/api/login2.php", LocalTestServ = "127.0.0.1:7171:1098:110:30:93" ]] }
Ficando assim:
Servers = { Meuserver = "127.0.0.1:7171:1098" } ficando na seguinte configuração NOME = "IP:PORTA:VERSÃO"
Para fixar e não aparecer a lista de servers, basta alterar:
ALLOW_CUSTOM_SERVERS = true -- if true it shows option ANOTHER on server list
Para:
ALLOW_CUSTOM_SERVERS = false -- if true it shows option ANOTHER on server list
Caso queira trocar o nome do aplicativo é só mudar
g_app.setName("OTCv8") trocando o "OTCv8" para o nome desejado, lembrando que isto irá alterar apenas o nome da janela do aplicativo
Incluir a SPR/Dat:
Para incluir, basta ir na pasta data, criar uma nova pasta e renomear com o nome "things" e depois criar uma outra pasta dentro dela com o nome da versão que desejar utilizar, exemplos:
* 800
* 860
* 910
* 1100
dentro desta pasta, incluir as respectivas spr/dat da versão correspondente
Um vídeo objetivo do conteúdo citado acima:
2º Passo: Remover campo "Token" da tela inicial
Apesar de ser algo simples, vejo muitos perguntarem como remover este campo, vamos lá:
- Vá até a pasta modules -> client_entergame
- Abra o arquivo entergame.lua
- Na linha 380 remova ou comente o trecho:
enterGame:getChildById('accountTokenTextEdit'):clearText()
- Na linha 412 remova ou comente o trecho:
G.authenticatorToken = enterGame:getChildById('accountTokenTextEdit'):getText()
- salve o arquivo
- na mesma pasta, abra o arquivo entergame.otui
- da linha 32 a 44 remova ou comente o seguinte trecho:
MenuLabel !text: tr('Token') anchors.left: prev.left anchors.top: prev.bottom text-auto-resize: true margin-top: 8 TextEdit id: accountTokenTextEdit anchors.left: parent.left anchors.right: parent.right anchors.top: prev.bottom margin-top: 2
Um vídeo objetivo do conteúdo citado acima:
3º Passo: como encriptar os arquivos
- Recomendo inicialmente criar uma cópia da pasta que ira encriptar, pois não é reversivo
- Copie o endereço da pasta onde estão os arquivos
- Abra o cmd e navegue até esta pasta utilizando o comando cd (link do endereço da pasta)
- utilize o comando otclient_dx.exe --encrypt
- Aguarde o sistema sinalizar que os arquivos foram encriptados
PS: a pasta do modulo bot ( modules -> game_bot ) não pode ser encriptado, remova ela antes deste processo.
Um vídeo objetivo do conteúdo citado acima:
4º Passo: Utilizando o auto update
IMPORTANTE:
Este processo precisa ser feito exatamente como demonstrado, qualquer link errado o sistema não irá funcionar.
- Dentro da pasta API, abra o arquivo updater_advanced.php
em $files_dir = "/var/www/otclient/files"; é a pasta onde conterá os arquivos do otclient para download, lembrando que o caminho precisa estar especificada desde a pasta inicial
em $files_url = "http://otclient.ovh/files"; é o link que você pode utilizar o navegador para acessar a pasta "files" a mesma pasta do processo anterior.
em $checksum_update_interval = 60; é o tempo em segundos, que o update levará para checkar se há alguma atualização ( não é necesário alterar )
- Na sua vps, dentro da pasta do SITE, cria uma pasta chamada API e outra pasta dentro dela chamada FILES
- Envie o arquivo updater_advanced.php para a pasta API
- De permissão 777 para pasta e subpasta API
* voltando aos arquivos do otclient *
- Abra o arquivo init.lua
aconselho alterar o "APP_NAME = "otclientv8", pois é o nome da pasta que ficará salva nos arquivos temporários, isso evitará conflitos com versões já existe no pc
altere o campo updater, colocando o endereço apontado para o arquivo updater_advanced.php enviado para o seu site nos passos anteriores.
- Após as edições anteriores, salve o arquivo
- Compacte os arquivos data, layout, modules e init.lua, renomeando para data.zip ( obrigatoriamente precisa ser zip )
- Exclua os arquivos zipados e os demais desnecessários para os jogadores.
Atenção: o auto update só funcionará se os arquivos estiverem zipado conforme descrito.
- Envie todos os arquivos para a pasta files em sua vps ( recomendo zipar para enviar, poupara processamento e tempo de envio )
- Após enviar, extraia os arquivos NA VPS, os arquivos no pc devem continuar zipado
- Atenção nesta parte, as pastas e arquivo data / layout / modules / init.lua necessáriamente precisam estar na mesma pasta do executáveis, conforme time 4:20 no vídeo que deixarei disponível no final.
lembrando: o update só aceitará arquivos editados após o tempo estipulado em checksum_update_interval , se fizer edições antes deste tempo, o sistema não irá considerar
Um vídeo objetivo do conteúdo citado acima:
-
-
Estatísticas dos Fóruns
96842
Tópicos519602
Posts
Posts Recomendados
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.