Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 04/07/16 em todas áreas
-
Boa noite galera, Trago hoje um gifzinho rápido do sistema de basic attack que estou desenvolvendo. Ele consiste em uma customização completa do ataque básico do jogador sem precisar de armas. A customização abrange desde efeitos, dano base, tipo de dano, distância e skill base até critical, dodge, rajadas, cleave e outros. O inicio desse sistema foi postado aqui no fórum por mim, mostro pra vocês agora a evolução dele e o leque de possibilidades que aquele sisteminha que postei abre quando alterado. Espero que gostem. Abraços,8 pontos
-
[TFS 1.2] Criando novos CombatTypes
darkjaques e 4 outros reagiu a Skulls por um tópico no fórum
Bom dia galera, tudo bem? Hoje vou ensinar uma coisinha simples, porém bem útil: criar um novo tipo de combate. Tipos de combate representam o tipo do dano que você está causando naquele momento. Basicamente, eles são os responsáveis pelo efeito básico daquele tipo de combate (além do efeito e o efeito de distância que você pode adicionar) e também pela cor do texto de dano. Bom, vamos lá. 1. Criação do novo tipo no Enum O primeiro passo para a criação do novo tipo de combate é adicionar o referencial ao seu combate novo no enumerador (enum) de tipos de combate (CombatType_t). Para isso, vá até o arquivo de cabeçalho enums.h, procure por "enum CombatType_t" e, após o último enum, coloque o nome que quer dar ao seu tipo de combate. Eu escolhi chamar o meu de COMBAT_CRITICAL, para fazer um dano diferente quando o acerto for crítico. Ficou assim: enum CombatType_t { COMBAT_NONE = 0, COMBAT_PHYSICALDAMAGE = 1 << 0, COMBAT_ENERGYDAMAGE = 1 << 1, COMBAT_EARTHDAMAGE = 1 << 2, COMBAT_FIREDAMAGE = 1 << 3, COMBAT_UNDEFINEDDAMAGE = 1 << 4, COMBAT_LIFEDRAIN = 1 << 5, COMBAT_MANADRAIN = 1 << 6, COMBAT_HEALING = 1 << 7, COMBAT_DROWNDAMAGE = 1 << 8, COMBAT_ICEDAMAGE = 1 << 9, COMBAT_HOLYDAMAGE = 1 << 10, COMBAT_DEATHDAMAGE = 1 << 11, COMBAT_CRITICAL = 1 << 12, COMBAT_COUNT = 13}; 2. Adicionar "referências" Esse passo consiste em criar facilidades para acessar seu tipo de combate em alguns casos. Para isso, vamos até tools.cpp e vamos alterar o vetor combatTypeNames (que cria uma string que referencia o nosso combate) e a função combatTypeToIndex (indexa os combates), adicionando o nosso novo combate ao final de cada um deles de forma coerente. O meu ficou assim: CombatTypeNames combatTypeNames[] = { {"physical", COMBAT_PHYSICALDAMAGE}, {"energy", COMBAT_ENERGYDAMAGE}, {"earth", COMBAT_EARTHDAMAGE}, {"fire", COMBAT_FIREDAMAGE}, {"undefined", COMBAT_UNDEFINEDDAMAGE}, {"lifedrain", COMBAT_LIFEDRAIN}, {"manadrain", COMBAT_MANADRAIN}, {"healing", COMBAT_HEALING}, {"drown", COMBAT_DROWNDAMAGE}, {"ice", COMBAT_ICEDAMAGE}, {"holy", COMBAT_HOLYDAMAGE}, {"death", COMBAT_DEATHDAMAGE}, { "critical", COMBAT_CRITICAL },}; size_t combatTypeToIndex(CombatType_t combatType){ switch (combatType) { case COMBAT_PHYSICALDAMAGE: return 0; case COMBAT_ENERGYDAMAGE: return 1; case COMBAT_EARTHDAMAGE: return 2; case COMBAT_FIREDAMAGE: return 3; case COMBAT_UNDEFINEDDAMAGE: return 4; case COMBAT_LIFEDRAIN: return 5; case COMBAT_MANADRAIN: return 6; case COMBAT_HEALING: return 7; case COMBAT_DROWNDAMAGE: return 8; case COMBAT_ICEDAMAGE: return 9; case COMBAT_HOLYDAMAGE: return 10; case COMBAT_DEATHDAMAGE: return 11; case COMBAT_CRITICAL: return 12; default: return 0; }} 3. Definir o efeito e o dano do nosso combate Agora devemos definir como o nosso combate vai se comportar dizendo a cor do dano gerado e qual efeito associado a ele. Para isso, vamos até a função combatGetTypeInfo dentro de game.cpp. Dentro de switch (combatType), após o último combate e antes do default, vamos adicionar as características do nosso combate. O meu ficou assim: case COMBAT_CRITICAL: { color = TEXTCOLOR_MAYABLUE; effect = CONST_ME_NONE; break;} Isto é, meu tipo de combate crítico tem a cor azul maia e nenhum efeito. 4. Informar ao LUA seu novo tipo de combate O último passo é simplesmente enviar para o lua o novo tipo de combate. Para isso, vá até luascript.cpp e, logo abaixo de: registerEnum(COMBAT_DEATHDAMAGE) adicione: registerEnum(COMBAT_CRITICAL) Pronto, após seguir esses passos o seu novo tipo combate foi criado, referenciado, caracterizado e definido em lua. Para utilizá-lo basta chamá-lo no lugar certo COMBAT_CRITICAL. Bom, por hoje é só pessoal, espero que gostem. Abraços5 pontos -
Global Full [CLIENTS COMPATÍVEIS] 10 e 11.5. [BUGS E DOWNLOAD] BAIXEM E REPORTEM EM: OTXGlobal Full [FEATURES] NEW DEPOT, NEW SPAWN, NEW CAST SYSTEM, NEW NPC SYSTEM VIA BANK BALANCE, NEW CRITICAL BOOST SYSTEM, NEW POTIONS, REWARD SYSTEM, PREY ... [MAPA] FULL GLOBAL MAP WITH FEYRIST TODAS CIDADES E NOVAS AREAS TODAS QUESTS FUNCIONANDO! [EVENTS] WAR-ANTIENTROSA [CONTATO] SKYPE: onjogos WHATSAPP: (66) 998427-4493 [Créditos]Tfs 1.2 Developers -Zbizu - Pitis91 - MatheusMkalo - Gesior - Lundrial - M4G0 - Fish04k - Printer - Djarek - Ninjalulz - Slavidodo - Thexamx - Socket2810 - Ciroc -Absolute - Gordonbay - Mitsuig - Alissonfgp - Gunz - Bruno Minervino - Comedinha -Hirako - Maya - Mattyx14 – Darkjav - Viking Tibia2 pontos
-
2 pontos
-
já faz um tempo venho percebendo vários usuários novos aqui no fórum em busca de ajuda achei isso muito bom já que o fórum voltou depois de anos dormindo hehe, bom porém venho percebendo que o pessoal está diferente quanto os de antigamente. Por exemplo eu quando era leigo fazia cada pedido aqui no fórum absurdo e muitas das vezes esquecia e ia mecher procurar uma maneira de entender e assim arrumar o problema sozinho porém a turma de hoje quer tudo de mão beijada mastigado e que a gente ainda ajude a engolir o pessoal não quer correr mas atraz de nada aprender com os erros e assim melhorar e pode vir a ser um novo colaborador ao fórum eles vem aqui pedem o que precisa e foda-se certo que tem muitas pessoas de boa fé que querem ajudar mas percebo que eles pedem coisas que basta prestar atenção ler direito que o próprio erro está falando onde o problema se localiza e em qual linha mas parece que eles tem preguiça de ler apenas posta o erro e espera alguém de boa fé vir ajudar e ainda quer ter um bom servidor com uma atitude dessa depois se pergunta porque tem tão poucos players no servidor isso é facil responder o cara só copia não aprende então por consequência ele não consegue inovar o servidor dele para atrair novos players. Bom acho que isso foi mais um desabafo que um assunto kkk mas é isso ai espero que compreendam o que eu acho sobre essas pessoas hehe2 pontos
-
Pips Membros
Administrador e um outro reagiu a Marco Oliveira por um tópico no fórum
Acredito que seja um problema, então venho reporta-lo............ As pips dos membros aparecem muito pequenas, as vezes torna até impossível de ler para quem tem problemas de vista hahaha.. Era pra isso está acontecendo ou é só um problema mal resolvido ?2 pontos -
Isto mesmo @Marco Oliveira, os de equipe estão corretas, pois são pips de Grupo, e não são ranks de post. O método de upload de imagem é diferente em ambos os casos. E esta limitação de resolução acontece apenas nos ranks de posts. Como disse estamos vendo esta questão, e logo creio que chegaremos a uma solução. Abraços2 pontos
-
Sincronizando BasicInfo Cliente/Servidor
GamerGoiano e um outro reagiu a Skulls por um tópico no fórum
Boa tarde galera. Hoje trago um pequeno fix de compatibilidade na troca de informação básica do player entre tfs 1.2 e OTC. O que acontece é que o TFS envia uma coisa e o OTC está preparado para receber outras. A solução prevista aqui não foi testada em cipclients, portanto, não me responsabilizo. Envios que o ptc não utilizava e recebimentos que o tfs não enviava foram deletados. Chega de falar, mãos a obras. Primeiro passo: vá na source do OTC, no arquivo protocolgameparse.cpp, e altere a função void ProtocolGame::parsePlayerInfo(constInputMessagePtr& msg) pela mostrada abaixo: void ProtocolGame::parsePlayerInfo(const InputMessagePtr& msg){bool premium = msg->getU8(); // premiumint vocation = msg->getU8(); // vocationm_localPlayer->setPremium(premium);m_localPlayer->setVocation(vocation);} Segundo passo: agora no servidor, va em ProtocolGame.cpp, procure por void ProtocolGame::sendBasicData() e substitua por: void ProtocolGame::sendBasicData(){NetworkMessage msg;msg.addByte(0x9F);msg.addByte(player->isPremium() ? 0x01 : 0x00);msg.addByte(player->getVocation()->getClientId());writeToOutputBuffer(msg);} Bom galera, por hoje é só. Espero que ajude. Abraços2 pontos -
[aula 1] lógica de programação
brunodisenna reagiu a Caronte por um tópico no fórum
Aula - Lógica de programação fala pessoal, essa aula é a primeira do conjunto que estarei criando para ensinar programação através da linguagem LUA, e depois, aprender como aplicar no tibia. as informações apresentadas a seguir são fundamentais para o apropriado entendimento da logica de programação, porém... Caso você esteja buscando a parte mais prática, pule para: Criando Algoritmos Sem mais delongas, precisamos entender o que é o conceito de lógica de programação, Lógica está contida em um conjunto de atitudes/eventos que tem um sentido por trás, lógica pode tomar várias formas e definições, porém, a que vamos aprender é Lógica de Computador, ela é EXTREMAMENTE necessária para você poder criar scripts, e programar códigos de qualquer tipo e linguagem. A lógica de computador não pode ser argumentada, essa lógica tudo é ou não é, não existe o meio termo ou argumento, ela pode ser entendida na Lógica de Aristóteles com a lei da não contradição, ou é verdadeiro, ou falso. Nós somos quase totalmente diferentes de máquinas, apesar do nosso cérebro funcionar também por eletricidade, a voltagem é fraca e ele não depende só de eletricidade, mas isso não vem ao caso, o que interessa é a nossa maneira de pensar e agir, aí sim, é totalmente diferente de um computador, Porque Será? Ao pensarmos, nosso cérebro trabalha no consciente e inconsciente, alguns cientistas acreditam que a decisão acontece já no inconsciente, através de experiências já vividas e considerações, ou seja, você não sabe que seu cérebro já tomou a decisão, até ficar consciente dela (não acredito 100% nisso, essa informação não tem muita base, tem deduções), mas o que temos que entender é que a gente avalia de acordo com o nosso conhecimento já adquirido, e por meio disso, a decisão é tomada através do nosso conhecimento de certo ou errado, e a decisão não precisa ser exata. Já o computador trabalha através de instruções de linguagens não sofisticadas (códigos de máquina, exemplo: código binário, 0 ou 1), algo que é praticamente incompreensível para os humanos (se não fosse compreensível, não existiria computador), por causa da dificuldade de programar em código de máquina foi criada uma linguagem chamada Assembly que torna muito mais fácil programar, e depois dessa linguagem, foram criadas outras mais sofisticadas. Criando Algoritmos. Agora o que precisamos entender é que a nossa maneira de pensar na resolução de problemas é diferente de como devemos escrever para um computador entender, o computador é muito mais burro na hora de interpretar as ideias, pois ele não tem quase nada para se basear além das suas instruções. Para explicar, vou criar um algoritmo simples para mandar um humano fazer uma determinada tarefa, comprar pão, e depois, vou explicar porque um computador não pode usar o mesmo algoritmo. Vou usar os seguintes substantivos: Pão Dinheiro Troco Casa Padaria Compra Vou usar os seguintes verbos: Pegar Ir / Voltar Fazer Dar Essas são as palavras chaves. Os verbos numa linguagem normal são geralmente chamados de Sintaxe (ou parte dela), ela é quem dirige a logica, e que faz o script ter sentido. Já os substantivos são dados valiosos, são variáveis! , variável é uma incógnita sobre o qual você tem controle, e sabe o valor , ela serve para você resumir dados e guardar, vão ser muito usadas se você quiser programar bastante, ela ajuda a identificar dados, e tornar o programa mais legível. • Vamos ao algoritmo: Bom, uma tarefa com instruções tão gerais não poderia ser seguida por um computador. A menos que sejam funções, porém isso não é assunto para agora. O fato é que essas instruções são bem mais do que a quantidade necessária para um humano, você pode falar: “Vá à padaria comprar pão”, e ele irá executar perfeitamente. Porém, se você quer dar um algoritmo de como ir para a padaria para um computador executar terá que ser bem mais específico e falar todas as tarefas que ficam subentendidas para um humano, mas que não são nem um pouco claras para um computador. Para o computador entender algo parecido do que o humano entende, seria necessária muita inteligência artificial, o que não contamos quando vamos programar em LUA, novamente falo, o computador é burro. Agora vamos ao algoritmo mais próximo do que um computador precisa, vamos precisar adicionar mais termos ao nosso vocabulário: Expressões condicionais: E alguns verbos e termos a mais. Vamos ao algoritmo: As expressões condicionais servem para verificar antes de fazer alguma tarefa, assim, evitamos possíveis erros, por exemplo, caso não tenha dinheiro! Se você mandar o computador pegar o dinheiro e o valor dinheiro não existe, irá gerar erros no seu script. Expressões condicionais não servem somente para verificar, servem para selecionar também, por exemplo, uma Quest que precise de level 20 para entrar. Esse algoritmo acima já dá uma parte de script, se escrito como LUA. A expressão condicional que acabei de passar é considerada fácil, mas para uma Quest é simplesmente isso e mais algumas coisas simples. Bom, esse é o final da aula de algoritmos, gostaria de saber se fui claro em relação ao tutorial e se alguma coisa passou despercebida que merece alguma atenção a mais, assim posso editar o tópico para ficar melhor. Exercício: Resposta: [Aula 2] Booleanos e Operadores ---->>1 ponto -
(8.60) Global Full CAST com Eventos by Neto Sanches/netosremondini/the trackerrr
misternis reagiu a fritowzeera por um tópico no fórum
Global Full com Cast e Eventos Servidor recomendado para ser utilizado em Linux (Debian 6) IMPORTANTE VOCÊ LER AQUI Há um tempo atrás negociei um servidor com Neto Sanches, também conhecido como otrackerrr, em um outro fórum que tem o perfil de NTRemondini. O mesmo me roubou R$450 reais, e eu estou postando o servidor que recebi para vocês, pois para quem monta servidores, tem scripts utilizáveis, mas não recomendo utilizar o server antes de uma revisão, pois foi passado por um ladrão. Felizmente consegui meu dinheiro de volta, e alerto vocês do XTibia para tomarem cuidado com o mesmo, caso tenha algum problema com este tópico me avisem e eu posto provas do mesmo. O skype do ladrão é netosremondini. Agora vamos ao servidor: Eventos e Features War of Emperium Trainers Offline Capture the Flag Battlefield Event Lottery System Itens VIPs já configurados Raids Automáticas Thais Editada Dota Event Guild Points Global Server Versão: 8.60 Mapa: 100% Scripts: 100% Sistemas:. 100% Items: 100% Monstros: 100% Npcs: 100% O Distro é TFS e aparentemente só roda sem bugs no Debian 6 Cidades Algumas cidades VIPs Ankrahmun Ab'Dendriel Carlin Darashia Edron Yalahar Kazordoon Liberty Bay Port Hope Svargrond Thais Venore Farmine Zao Cormaya OTServ Completo http://www.mediafire.com/download/rgx46b9220nsjy7/Global_by_Neto_Remondini.zip Scan https://www.virustotal.com/en/file/f09a547368897dcc857eddc11d82f7084b3bf7ecf25e41bee57aceb224cf36fc/analysis/1459977122/ Recomendo utilizarem os arquivos do servidor, como eventos, scripts... Tem coisa que é difícil encontrar na net de graça.1 ponto -
1 ponto
-
[Fechado] Lista de servidores derivados (SERVIDORES NOVOS, PFV, MANDEM MP OU MANDEM O TÓPICO DO SERVIDOR)
Silveira Crtba reagiu a FlamesAdmin por um tópico no fórum
Bom dia, postarei uma Lista de Servidores Derivados encontrados aqui na comunidade xT. Não colocarei todos, e sim, aqueles que serão úteis para algumas pessoas. Então vamos lá! Derivado Poketibia Derivado Dragon Ball, Naruto, Biohazard Peço à quem postar servidor novo, para que me mande uma MP ou comentar até mesmo aqui no tópico para que eu possa fixar o tópico aqui. Obrigado!1 ponto -
Fala galera, tudo bem? Hoje, para estrear a cara nova do fórum, trago pra vocês uma função bem simples, porém muito legal e útil. Nos TFS 1.X a função sendAnimatedText foi retirada. O motivo aparente, pelo que procurei saber, é que a função não mais é suportada em cipclients. Porém, o suporte a função continua funcionando no OTC e, por isso, decidi refazê-la e trazer para vocês. O tfs 1.2 possui a opção de enviar número animados pela sendTextMessage, porém só funciona para números. sendAnimatedText -> Envia um texto animado na posição escolhida. Ex: "critical" animation, damage animation, etc. Sem mais delongas, vamos ao que interessa. Em luascript.h, abaixo de "// Game", cole: static int luaGameSendAnimatedText(lua_State* L); Em luascript.cpp, abaixo de "// Game", coloque a nova função: int LuaScriptInterface::luaGameSendAnimatedText(lua_State* L) { // Game.sendAnimatedText(position, text, color) TextMessage message; message.position = getPosition(L, 1); message.text = getString(L, 2); message.primary.color = getNumber<TextColor_t>(L, 3); if (message.position.x && message.position.y && message.position.z) { SpectatorVec list; g_game.map.getSpectators(list, message.position, false, true); for (Creature* spectator : list) { spectator->getPlayer()->sendAnimatedText(message); } pushBoolean(L, true); } else { lua_pushnil(L); } return 1;} Feito isso agora vá até player.h, procure por void sendTextMessage e logo após a segunda função sendText message cole: void sendAnimatedText (TextMessage& message) const { if (client) { client->sendAnimatedMessage(message); } } Para finalizar vamos criar o protocolo de envio das informações do nosso efeito de texto para o cliente. Vamos criar a chamada da função em protocolgame.h. Logo após "void sendTextMessage(const TextMessage& message);" coloque: void sendAnimatedMessage(const TextMessage& message); Vá em protocolgame.cpp, procure pela função "void ProtocolGame::sendTextMessage(const TextMessage& message)" e cole logo após seu fim: void ProtocolGame::sendAnimatedMessage(const TextMessage& message){ NetworkMessage msg; msg.addByte(0x84); msg.addPosition(message.position); msg.addByte(message.primary.color); msg.addString(message.text); writeToOutputBuffer(msg);} É isso galerinha, após seguir esses passos você terá a função sendAnimatedText funcionando certinho. Para usá-la basta, no lua, usar a função como no exemplo abaixo: Game.sendAnimatedText(Creature(attacker):getPosition(), "ATACOU", TEXTCOLOR_SKYBLUE) Abraços,1 ponto
-
[OLDClient/OTC] Show Wild Pokemons Caught
Skulls reagiu a Tony Araujo por um tópico no fórum
Show Wild Pokemons Caught Fala galera, beleza? Então, hoje tou aqui pra mostrar pra vocês o sistema de mostrar os pokemons selvagens que capturei. Bom, o sistema é bem simples e legal, ele marca todos os pokemons selvagens que capturei com um ícone de pokebola abaixo do nome, somente quem capturou tal pokemon consegue ver o ícone. Tem como ativar e desativar essa função utilizando o comando (!wildcaught) Sistema compatível com OLDClient (Na versão que estou usando agora) e no OTClient.1 ponto -
Criando seu servidor linux - COMPLETO
Felipe Moraes reagiu a murilo.morales por um tópico no fórum
Olá pessoal, Esse é meu primeiro tutorial e venha aqui deixar um pouco da minha experiência montando meu primeiro servidor de tibia Linux.Sou formado em engenharia da computação porém na hora de montar o servidor tive várias dificuldades e encontrei pouca informação então deixarei aqui o passo a passo que utilizei. *** UTILIZAREI O DISTRO DEBIAN 8.4**** *** É importe usar essa destribuição do debian pois já vem com a biblioteca libboost-system-dev 1.55 necessária para os servidores OT novos**** Programas para instalar PuTTY para conectar via SSH. (aqui) WINSCP para ter acesso aos arquivos da máquina. (aqui) Server do tibia OTSERV SOURCES COM CAST WEBSITE COMPATÍVEL DATABASE Usarei nesse exemplo o server desenvolvido pelo pessoal (OTLAND - TFS TEAM) e Bruno Minervino e algum outro contribuidor) para ver o tópico oficial clique aqui . ETAPA 1: Instale e execute o programa WinSCP. Em HOST(1) coloque o IP do seu servidor linux EM PORT NUMBER (2) coloque a porta do serviço ssh (porta default é a 22) EM User Name (3) o usuário que irá logar (recomendou usar o root por questões de permissões) Em Password (4) colocar a senha do usuário Clique em Login. 2. Crie uma pasta no Desktop com o nome "otserv" dentro da pasta deverá conter os arquivos OTSERV,SOURCES COM CAST e DATABASE ficando as pastas e arquivos iguais a imagem abaixo: 3. Volte ao WinSCP e copiei a pasta otserver criado no seu desktop para o diretório / do linux : 4. Logue no putty e digite o seguinte comando no servidor: apt-get update Logo depois: apt-get install cmake build-essential liblua5.2-dev libgmp3-dev libmysqlclient-dev libboost-system-dev apache2 php5 libapache2-mod-php5 php5-mysql mysql-server phpmyadmin ** Selecione S para instalar os pacotes ** Vai abrir duas telas com caixas de seleção, a primeira você marque "apache2" e dê enter, na segunda você seleciona "yes" ** Irá pedir para definir uma senha para o MySQL defina uma senha e não esqueça da mesma. ** Irá pedir para definir uma senha para o phpMyAdmin defina uma senha e não esqueça da mesma. Etapa 2 (compilação): Digite: cd /otserv/sources e aperte o enter. 2.Digite: mkdir build e aperte o enter. 3. Digite: cd build e aperte o enter. 4. Digite: cmake .. e aperte o enter 5. Digite: make e aperte o enter. ***** Após compilar a tela deverá ser como essa na imagem abaixo : 6. Digite: mv tfs /otserv e aperte o enter. ***O SERVER JÁ ESTÁ COMPILADO!!!! Etapa 3 (Importando banco de dados): Digite no browser http://seuip/phpmyadmin/ na tela de login digite: Utilizador : root Palavra-Passe : **senha que você colocou na primeira etapa** 2. Clique em "BASE DE DADOS"(1) -> Digite "global" no nome do banco (2) -> Clique em "CRIAR"(3) **deverá aparecer uma mensagem em amarelo escrito: "A base de dados global foi criada." 3. Clique em "global"(1) -> "Importar" (2) -> "Escolher arquivo" (3) -> Selecione o arquivo .sql (4) dentro da pasta OTSERV criada no desktop -> clique em "EXECUTAR" (5) **deverá aparecer uma mensagem em amarelo escrito: "Import terminou com sucesso, 159 queries executados. (servidornovo.sql) " Etapa 4 (adicionando e configurando o site): 1. Passe via WinSCP (conforme explicado na etapa 1) os arquivos WEBSITE COMPATÍVEL que já deve ter sido baixado e extraido do zip para "/var/www/html/" 2. Digite no putty : vim /var/www/html/config/config.php **iremos modificar apenas as configurações chaves para o servidor funcionar, caso queira mudar xp do server,loot etc deverá modificar depois esse arquivo: # Account Maker Config$config['site']['serverPath'] = "/otserv/"; #Aqui deve ficar o caminho até o config.lua da pasta do seu servidor OT **Não se esqueça de salvar as edições** 3. Siga para a Etapa 5 abaixo. **** ATENÇÃO: PARA O SITE FUNCIONAR A ETAPA 5 (ABAIXO) DEVERÁ TER SIDO EXECUTADA. ******** Etapa 5 (configurando arquivo config.lua): 1. Digite no putty: vim /otserv/config.lua Aperte o enter **iremos modificar apenas as configurações chaves para o servidor funcionar, caso queira mudar xp do server,loot etc deverá modificar depois esse arquivo: -- Connection Config-- NOTE: maxPlayers set to 0 means no limitip = "167.114.111.25" -- altere esse ip para o ip do seu servidor **Não se esqueça de salvar as edições** 2. Digite no putty: /etc/init.d/apache2 restart Aperte o enter Etapa 6 (Testando o servidor e o site): 1. Para testar o site digite no browser o ip do seu servidor, se tudo estiver certo irá entrar no site. **** ATENÇÃO: PARA GARANTIR QUE TODAS AS FUNÇÕES ESTÃO FUNCIONANDO TESTE O SITE TODO ******** 2. Para testar o servidor digite : cd /otserv Aperte o enter 3. Digite: ./tfs Aperte o enter **** SE APARECER IGUAL A IMAGEM ABAIXO SEU SITE ESTÁ ONLINE. ******** DICA: ** Caso na hora de subir o server depois de MAP ele aparecer Kill ou Morto seu servidor não possui memória suficiente para tal será necessário aumenta-la. CRÉDITOS: @Anuudek Tutorial que usei como base aqui @MitSuig Tutorial que peguei o server tibia aqui Qualquer dúvida podem me enviar um email: murilosm@hotmail.com Obrigado.1 ponto -
(Duvida) Resp De Shiny
BrunooMaciell reagiu a zipter98 por uma questão
Este valor é basicamente a chance, em porcentagem, do pokémon shiny nascer. Há dois possíveis valores, um para a tabela raros e um para a tabela shinys. Se você estabelecer o valor como 5, há 5% de chance de um pokémon shiny nascer. 10, 10% de chance. 70, 70% seria a chance. O mesmo vale para valores decimais acima ou iguais a 0.1. Ou seja, você pode configurar valores como 0.5 (0.5% chance de respaw), 0.75 (0.75% a chance), etc. No caso do exemplo postado no tópico, há 6% de chance dos pokémons da tabela shinys nascerem e 3% de chance do pokémon da tabela raros nascer.1 ponto -
Mapa : world naruto shippuden
Animal Pak reagiu a LipeMihawk por um tópico no fórum
Sim, disponibilizei o mapa exatamente para que vocês possam usar e fazer o melhor proveito dele.1 ponto -
1 ponto
-
1 ponto
-
Criando seu servidor linux - COMPLETO
murilo.morales reagiu a leozinpbb por um tópico no fórum
Cara otimo tutorial parabens, mais isso funciona para sqlite ? tenho um server sem site por acc manager 8.54 (0.3.6) com soucer , e os codigos para copilar sao os mesmos ou nao ? me ajuda por favor + REP1 ponto -
ajuda com script
gusinhi reagiu a luizmachado1 por uma questão
Tentar Fazer 1 Tabela +/- assim local config = { remove = 2160, quantidade = 100, } if doPlayerRemoveItem(cid,config.remove, config.quantidade) == TRUE then ou poder tentar assim1 ponto -
1 ponto
-
Na função playerlearninstantspell muda o cid por char que no caso seria o player em questão. Descreve melhor o ocorrido, se gera error no console, derruba o servidor, apenas laga mas funciona etc. Qual servidor você usa?1 ponto
-
1 ponto
-
em spell.xml nessa tag da magia, mude o valor de learnspell para 1. Adicione no script de talkactions/aura.lua, dentro do escopo para God essa função: Somente a quem o God favorecer, poderá dispor dessa magia.1 ponto
-
Atual crise política Brasileira
RodriigoRobson reagiu a Poccnn por um tópico no fórum
Então em sua concepção seria melhor fazer uma reforma geral da política governamental; constituição e leis. Essa é à hegemonia do capitalismo que doi criada para dar certo apenas para os ricos. Eu acho que o Brasil tem solução. Educação muda o mundo.1 ponto -
Vai em speels.xml e na tag dessa magia verifica se existe algo como learnspell isso faz com que o player só possa usar se aprender essa magia, então você pode adiciona-la pelo god.1 ponto
-
Lula Game - Ajude Lula a fugir do Sergio Moro!
Administrador reagiu a BananaFight por um tópico no fórum
Detectei que algumas vezes o spawn dos enemys estão saindo no lugar errado, vou resolver isso o mais rápido possível.1 ponto -
T1Z1 - Exposição de sprites e sujestões
Administrador reagiu a zouk00 por um tópico no fórum
Olá pessoas, eu serei seu anfitrião essa noite :cool: Não sei se alguns de vocês me conhecem mas já trouxe bastante servidor de WoDBO e PokeTibia antigamente, meu nome era "CrazzyMaster". Juntamente com "Bianco" nós faremos história. Enfim, eu sempre curti jogos de sobrevivência apocalipse, então resolvi voltar depois de tanto tempo e abrir um servidor totalmente sério e dedicado. "O que terá no servidor?" Um servidor de sobrevivência na plataforma tfs é bem complexo, você pode fazer várias coisas, no momento estamos colocando: |Sistema de vasculhar - Lixo, entulhos, e mega drops de alguns monstros| |Sistema de tiros - os tiros serão por Target como sempre forão| |Sistema de montarias e veiculos - as montarias serão cavalos, e os veiculos serão carros, motos, caminhões, etc| |Sistema de fome e sede - estou tentando ao maximo adaptar esse sistema ao servidor| |Sistema de machucados/ferimentos - se você for atacado e se machucara terá que ter bandagens nas mãos, caso contrario irá sangrar| "Qual a previsão para ficar online?" Ainda é um mistério, mas o quanto antes possível. "Será um servidor pay to win?" Certamente não, o servidor contara sim com sua loja de itens e sistema vip, mas, a diferença vai ser variada, armas pouco mais fortes, vips terão acesso há area vip através de comando, vips poderão viajar pelo mapa com veiculos aquáticos ou através dos NPC's de viagem em cada final de mapa. Vips terão acesso a carros modificados. Deixem dúvidas e sujestões, abaixo deixarei um tópico de cada sprite nova que eu fizer. - SPRITES MODIFICADAS - ANTIGA - NOVA -1 ponto -
Pips Membros
Administrador reagiu a Avuenja por um tópico no fórum
Olá @Marco Oliveira, então por padrão é para isto estar acontecendo sim. A nova versão da plataforma da Invision que é a que usamos, deixa as imagens deste tamanho... Estamos trabalhando para que possamos ter as imagens no tamanho real novamente.1 ponto -
Maquina Difusora de helds
Drk Shadow reagiu a Caronte por uma questão
@Pokemonultimatetwo, ele quis dizer se o atributo tem alguma relação com o item, pois para tirar o atributo e dar o item você precisa de um referencial, seria por exemplo uma tabela com itemids e atributos correspondentes aos ids. Vamos dar um exemplo: X Attack - id:2195 Então o atributo é attack, e o id é 2195, para isso, precisamos saber como funciona o seu sistema. Acho que o @zipter98 é melhor para te ajudar, por ele ser mais competente e ter experiência com poketibias...1 ponto -
Aí
Marce Loko reagiu a Caronte por um tópico no fórum
Haha, querendo eliminar a fonte de lucro do fórum? O lucro é usado bem para o fórum, eu acho... Ou ele compra umas 100g1 ponto -
O Novo Xtibia #02/3
Administrador reagiu a Caktchup por um tópico no fórum
Nossa fiquei muito impressionado com essa interface do Xtibia. 1 vez quando entrei nesse novo estilo de fórum fiquei perdido kk, só que dps fui vendo fico lindo. Parabéns Xtibia1 ponto -
Maquina Difusora de helds
Drk Shadow reagiu a zipter98 por uma questão
E quanto ao sistema de held item que você usa? O valor armazenado no atributo heldx por caso é um ID de item?1 ponto -
Maquina Difusora de helds
Drk Shadow reagiu a zipter98 por uma questão
Poderíamos saber como é a estrutura da máquina? Para fazer um código adequado e com configuração simples, precisamos saber se há alguma relação entre a posição do slot e do botão. Por exemplo, como acontece no caso da máquina de boost, em que o container da pokebola se localiza sempre à direita do botão que ativa o processo. Sabendo isso, evitaríamos ter que configurar várias posições para cada máquina.1 ponto -
Parabéns a equipe do XT realmente ficou muito bom, parabéns também aos novos membros da equipe vocês realmente merece ^^ Só falta arruma uns bug do fórum e tals mais isso irá ser arrumado em breve certo? Woow e pelo o que eu vi não só em computadores mais também em mobile ficou muito bom mesmo, Parabéns Daniel e aos de mais...1 ponto
-
Maquina Difusora de helds
Drk Shadow reagiu a Caronte por uma questão
Você está selecionando o item através do outro item? ou você só clica no item? Do jeito que está configurado, o item necessita que clique nele e depois clicar na pokebola desejada. Ou seja, seu item tem que ter use with.1 ponto