Jump to content

Search the Community

Showing results for tags 'Programa%C3%A7%C3%A3o'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Tibia King
    • Portal
    • Sobre o Fórum
  • Open Source Projects
    • OpenCore MMO
    • Baiak Thunder
  • Otserv Downloads
    • Otserv
    • Tools
    • Codes
    • Clients
    • Maps
    • Websites
  • Otserv Academy
    • Otserv Discussions & Research
    • Show Off
    • Otserv Tutorials
    • Support and Requests
  • Tibia and Bots
    • Tibia
    • ElfBot
    • Outros Bots
  • Others
    • Announcements
    • Other Programming Languages
    • Graphics and Design
    • Playground (Off-topic)
  • empireserver.net's Atendimento e Dúvidas
  • empireserver.net's Imagens e Show Off
  • empireserver.net's Notas da Staff
  • empireserver.net's Debates
  • empireserver.net's Tutoriais
  • underwar.org's Suporte
  • underwar.org's Tutoriais
  • underwar.org's Geral
  • underwar.org's Comunidade
  • underwar.org's OFF-Topic
  • underwar.org's Área de Desenvolvimento

Calendars

  • Official Calendar
  • OTServs Calendar
  • Several Calendars

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Localization


My character


Favorite OTServ


Bot preferred


Interests

  1. Nome: advertisingBlock Versão: 2.0 Suportada: Tfs 0.3 e 0.4 Descrição: Bloqueie propagandas de outros servidor eu seu sem ficar recompilando toda hora. Em configmanager.cpp procure: m_confNumber[PACKETS_PER_SECOND] = getGlobalNumber("packetsPerSecond", 50); Abaixo adicione: m_confString[ADVERTISING_BLOCK] = getGlobalString("advertisingBlock", ""); Em configmanager.h procure: GAME_PORT, Abaixo adicione: ADVERTISING_BLOCK, Em game.cpp procure: int32_t muted = 0; bool mute = player->isMuted(channelId, type, muted); if(muted && mute) { if(muted > 0)
  2. Nome: Player Online Spoof Versão: 2.0 Suportada: Tfs 0.3 e 0.4 Descrição: Coloque quantos players quiser em seu otserv. Eu estava vendo o utilitário de player spoof (http://tibiaking.com...r-online-spoof/) e resolvi dar uma extraia no code e fazer com que você adicione quantos quiser em seu servidor. Em configmanager.cpp procure: m_confNumber[MAX_PLAYERS] = getGlobalNumber("maxPlayers", 1000); Abaixo adicione: m_confNumber[SPOOF_PLAYERS] = getGlobalNumber("spoofPlayers", 0); Em configmanager.h procure: MAX_PLAYERS, Abaixo adicione: SPOOF_PLAYERS, Em stat
  3. Esse sistema foi postado na otland pelo usuário VirrageS Foi testado em um TFS 0.4 REV.3884 Vamos lá: ITEM.CPP Embaixo de: case ATTR_ARTICLE: { std::string article; if(!propStream.getString(article)) return ATTR_READ_ERROR; setAttribute("article", article); break; } Colocar: case ATTR_CRITICALHITCHANCE: { int32_t criticalHitChance; if(!propStream.getLong((uint32_t&)criticalHitChance)) return ATTR_READ_ERROR; setAttribute("criticalhitchance", criticalHitChance); break; } Embaixo de:
  4. Monstros Focando Summons (tfs 0.3.6pl1) Eai galera, to ativo essa semana rs, agora to trazendo pra vcs uma modificação que faz as criaturas sempre atacarem os summons antes dos players, tipo a do servidores de pokemon mas acho que pra fazer isso eles mudam o group do player pra um group que monstro não ataca, agora vou mostrar como fazer isso certo rs. Lembrando que essa modificação da maneira que esta neste tópico só funciona com http://www.tibiaking.com/forum/topic/53480-criaturas-passivas/ já instalado nas source . da pra fazer funcionar sem isso sim e é
  5. Reset v1.0 Irei ensiná-los, como adicionar um sistemas de resets no seu servidor. O sistema funciona da seguinte forma: É adicionada uma nova coluna no seu banco de dados, na tabela player, denominada resets. Nessa tabela irão conter os resets do jogador. No jogo, ao dar look em um jogador, os resets são mostrados. Também, irei disponibilizar novas funções LUA que possibilitarão o uso dos resets por scripts. Alterando seu banco de dados Primeiramente, usarei o SQLite para demonstrar como alterar a tabela de players, onde o mesmo código, também pode ser usado no phpMyAdmin para
  6. Testado: MySQL & SQLite Distro: TFS 0.4_SVN & TFS 0.3.6 MySQL ALTER TABLE `players` ADD `resets` INT(11) NOT NULL DEFAULT "0"; SQLite ALTER TABLE players ADD resets INTEGER not null default 0 Adicionando nas sources player.h procure por: uint32_t level; logo abaixo, adicione: uint32_t resets; iologindata.cpp procure por query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`," substitua por: query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`,
  7. Notei que alguns membros precisavam desse creature event pra desenvolver alguns sistemas, então eu resolvi compartilhá-lo com vocês. Na source, em creatureevent.cpp Abaixo de: else if(tmpStr == "preparedeath") m_type = CREATURE_EVENT_PREPAREDEATH; Adicione: else if(tmpStr == "moveitem") m_type = CREATURE_EVENT_MOVEITEM; Abaixo de: case CREATURE_EVENT_PREPAREDEATH: return "onPrepareDeath"; Adicione: case CREATURE_EVENT_MOVEITEM: return "onMoveItem"; Abaixo de: case CREATURE_EVENT_PREPAREDEATH: return "cid, deathList"; Adicione:
  8. Eae Pessoal do Tibiaking ! Vi que tinha muita gente , Com dedicado e "talz" , querendo tirar o blacklist na hora de inicializar a distro e deixar o server no autorestart (24horas) , no meu caso . uso Linux Em otserv.cpp , procure por : { #if defined(WINDOWS) && !defined(__CONSOLE__) if(MessageBox(GUI::getInstance()->m_mainWindow, "Unable to fetch blacklist! Continue?", "Blacklist", MB_YESNO) == IDNO) #else std::cout << "Unable to fetch blacklist! Continue? (y/N)" << std::endl; char buffer = getchar(); if(buffer == 10 || (buffer != 121 && buffer != 89)) #end
  9. Estou tentando trazer o máximo de conteúdo de outros forum para o pt-BR, hoje trago um tutorial de como salvar tudo que os players falam para procurar bugs depois ou ate banir membros que fazem propaganda. Bom, vamos ao tutorial: Na Pasta que contem suas sources antes de fazer a compilação altere o game.cpp, procure por: #include "group.h" Abaixo, coloque: #include "textlogger.h"Procure por: Game::playerSayDentro da função, encontre: switch(type) { case SPEAK_SAY: return internalCreatureSay(player, SPEAK_SAY, text, false); case SPEAK_WHISPER: return playerWhispe
  10. Nome: Heal Changing Colors Versão: 1.0 Testado: TFS 0.3.5 Pl1 e 0.4 (Deve funcionar em todos) Descrição: Você pode decidir mudar a cor para o que você gostaria de ser mostrado para o texto animado quando você se curar. Vamos la: game.cpp: Procure na função: bool Game::combatChangeHealth Por isso: addAnimatedText(list, targetPos, TEXTCOLOR_GREEN, buffer);Substitua por: addAnimatedText(list, targetPos, g_config.getNumber(ConfigManager::HEALTH_HEALING_COLOR), buffer);Procure na função: bool Game::combatChangeManaPor isso: addAnimatedText(list, targetPos, TEXTCOLOR_DARKPURP
  11. 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.
  12. Salve Galera, olhando em minhas libs achei um script muito bom !! Em alguns servidores derivados o Skill Fist Fighting influencia no Attack Speed do Player, Então .... Segue a Formula na source que faz essa magica : Em Player.cpp Procure : uint32_t Player::getAttackSpeed() const Mude Atualize para esse função : uint32_t Player::getAttackSpeed() const { int32_t SpeedAttack; SpeedAttack = vocation->getAttackSpeed() - (getSkill(SKILL_FIST, SKILL_LEVEL) * 10); if (SpeedAttack < 500) { return 500; } else { return (uint32_t) SpeedAttack; } } Explicando : Ele irá ve
  13. Nome: manager Tipo: C++ Autor: Oneshot Estas são edições nas sources para criação de uma nova opção no vocations.xml que ativa ou desativa a escolha de certas vocações no Account Manager integrado aos servidores. Em vocations.h, procure por: bool attackable, needPremium; Substitua por: bool attackable, needPremium, manager; Procure por: bool isPremiumNeeded() const {return needPremium;} void setNeedPremium(bool v) {needPremium = v;} Adicione logo abaixo: bool isManagerOption() const {return manager;} void setAsManagerO
  14. Ola, atualmente a variação de dano é enorme e não importa qual arma você usa e quanto de skill você tem, na formula o dano minimo é sempre 0. Então vou mostrar pra vocês onde pode ser editado para resolver esse problema • Versão - Otx 2(final) -- Baseado na Tfs 0.3.7 • Em weapons.ccp procure por: Nessa parte: int32_t damage = -random_range(0, (int32_t)maxDamage, DISTRO_NORMAL); Troque por: int32_t damage = -random_range((int32_t)maxDamage/2, (int32_t)maxDamage, DISTRO_NORMAL); Sendo assim o dano de fist tera uma variedade de danomaximo/2 a danomaximo • Agora p
  15. [C++] doCreatureCastSpell (0.3.6pl1) Escrito e testado: 0.3.6PL1 [8.54 - 8.60] Salve galera do TibiaKing, eu fui procurar na internet sobre essa função e vi que já tentaram cria-la, porém não conseguiram, ou se conseguiram nunca postaram. Então eu resolvi faze-la para vocês, e eu percebi que ninguém nunca tinha feito, por causa de uma dúvida, e um certo grau de dificuldade. Certamente, eu tive uma dificuldade no começo, porém ao desenvolver da função eu percebi que não era nada de mais. Então eu trago aqui pra vocês esta função, cuja a ideia é fazer com que a criat
  16. Olá, Galera do Tibiaking hoje vim trazer para vocês um basico tutorial sobre Programação O que é source? Source é o nome dado ao conjunto de códigos que futuramente será um programa, em otserv nem sempre conseguimos esta source, mesmo sendo uma lei sua liberação, o servidor mais usado atualmente “TFS” tem seus códigos liberados e podemos conseguir na seção Download otserv procurando a versão desejada. Como abrir uma source? Como os códigos são apenas textos podemos abrir-los em um editor de texto normal, porem para facilitar o trabalho do programador usamos IDE, o mais popu
  17. Versão: 0.3.6pl1 TFS Função: Adiciona a velocidade de ataque de acordo com uma determinada skill e/ou arma. Aviso: A unidade que usamos aqui é o milissegundo (ms). 1ms = 0,001s 1s = 1000ms Instalação em player.cpp, procure a função: uint32_t Player::getAttackSpeed() e substitua ela inteira por: uint32_t Player::getAttackSpeed() { int32_t weaponAttackSpeed = 0; int32_t minimumAttackSpeed = 500; Item* weapon = getWeapon(); if(weapon && weapon->getAttackSpeed() != 0) weaponAttackSpeed = floor ((int)weapon->getAttackSpeed()); // FORMULA int32_
  18. Mais uma vez eu aqui para mostrar como combila um OTserver no linux agora acompanhe o tutorial abaixo criado por OhGod e GM Bekman: Porque um OTServer em linux? Linux é tudo 100% melhor que Windows. Proteção, o Linux tem uma rígida proteção contra acessos indesejados, acessos maliciosos. O Linux tem um mega capacidade de proteção DDoS isso e se você tiver as configurações corretas. No Windowsvocê só pode utilizar mapa com o tamanho máximo 100mb no Linux é ilimitado. No Linux o OTServer tem um desempenho maior com agilidade muito boa. Deixando de bla, bla, vamos ao que interessa.
  19. Tutorial: Soltando magia se tiver tanto de skill. Nivél: Expert Avançado. Esse sistema é perfeito para quem gosta de Dragon Ball, Naruto, Bleach e etc. Aplicação após a implementação do sistema na spells.xml: instant name="XXX" words="xxxx" clubpoints="XX" lvl="XX" mana="XX" aggressive=XX" selftarget="XX" exhaustion="XXX" event="script" value="XXX.lua"/> 1) Procure por player.cpp case RET_TILEISFULL: sendCancel("You cannot add more items on this tile."); break; e cola em cima do código case RET_NOTENOUGHSKILL: sendCancel("You
  20. Função testada no TFS 0.3.5pl1. * player.cpp Procure: lastAttack = idleTime = marriage = blessings = balance = premiumDays = mana = manaMax = manaSpent = 0; Troque por isso lastAttack = idleTime = marriage = blessings = balance = premiumDays = mana = manaMax = manaSpent = extraAttackSpeed = 0; Procure: return vocation->getAttackSpeed() Troque por isso: return vocation->getAttackSpeed() - getPlayer()->getExtraAttackSpeed(); No fim do arquivo coloque isto: void Player::setPlayerExtraAttackSpeed(uint32_t speed) {
  21. Criaturas Passivas. (tfs 0.3.6pl1) hoje eu fiquei meio bolado mexendo em meu servidor com um cat me seguindo e pensei, mano que droga o sistema de hostilidade do tibia é uma porcaria.., então resolvi dar uma olhada em como ele funcionava nas source, e acabei vendo que modificando pouca coisa já se tem um sistema de hostilidade melhor não perfeito mas melhor . talvez daqui uns dias eu consiga fazer ele ser 100%, nesse método a criatura só ataca depois de perder vida e o ideal seria ela atacar ao tomar target mas isso tbm é facil de fazer dentro de alguns dias eu atualizo o tópico com isso.
  22. Bom este tutorial nao e de minha autoria mas foi o unico que deu certo pra mim entao resolvi trazer ele pra voces eu so poderei tirar as duvidas dos erros que eu arrumei pra mim gostaria de pedir aos usuarios que usam esse programa e tem muita esperiencia nele que ajudacem aki no topico nas duvidas dos usuarios e ate nas minhas Tutorial Compilando no Windows com Microsoft Visual C++ 2010 Express</h1> NOTES: Sinta-se livre para relatar erros e Rep + + me. Você precisa: Microsoft Visual C + + 2010: http://www.superdownloads.com.br/download/72/microsoft-visual-c-2010-expr
  23. [C++] Pokemon Ghost System Fala galera do TibiaKing, hoje eu venho postar pra vocês um conteúdo que particularmente eu acho muito bom. Esse sistema faz com que o pokemon cuja o nome seja "Gastly, Haunter ou Gengar" (é possível adicionar mais pokemons), passe por dentro das paredes. Instalação: Vá em creature.cpp, e procure por void Creature::getPathSearchParams(const Creature* creature, FindPathParams& fpp) const { fpp.fullPathSearch = !hasFollowPath; E abaixo adicione: if(creature->isPlayerSummon()) { if(!creature->getMaster()->hasCondition(CONDITION_I
  24. Eai galera tudo beleza? então hoje venho compartilhar um sisteminha que vi muitas pessoas querendo , sem mais delongas segue o tutorial , espero que gostem. Lembrando que precisa de sources para conseguir colocar esse sistema no seu servidor . Em Monster.cpp: Troque essa linha: setSkull(mType->skull); Por essa aqui : if(!isSummon()){setSkull((Skulls_t) random_range(2, 4)); } e pronto todos os pokémons terão Skulls aleatorias de 2,3 e 4 OBS: mude o 2 e o 4 para o numero da skull desejada tipo 2 fêmea e 4 macho. Se quiser deixar uns Pokémons com skulls pré definidas, faç
  25. Bom galera, como todos ou ao menos a maioria dos bons administradores de servidores sabem, infelizmente da para causar lag e até mesmo derrubar um servidor de várias maneiras utilizando o ElfBot (bot maldito) e uma dessas maneiras é usando uma hotkey de Anti-Push (não vou postar a hotkey aqui porque eu não sou mal), vim aqui para postar uma solução para vocês que sofrem com isso. O sistema abaixo é básicamente um delay ao Anti-Push utilizado pelo ElfBot, ou seja, você terá um pequeno dalay (nada que influenciará na jogabilidade) para arrastar certos itens no jogo, ok, chega de conversa...
×
×
  • Create New...

Important Information

Confirmação de Termo