Códigos C++
Encontre aqui Códigos prontos em C++.
- Esta área é para publicação de Scripts prontos para rodar em Ots.
- Favor manter tópicos organizados! Utilizar code, spoiler, fontes, cores e espaçamentos equilibrados. Tópicos desorganizados, sem formatação ou colados sem alteração serão excluídos.
- Se possível informe se o script foi testado. Explique como instalar e publique imagens/gifs/videos para mostrar o sistema funcionando.
- Ao usar um Script que gostou, dê reputação ao membro que publicou e comente no tópico, para que mais códigos sejam publicados na seção!
- Se o conteúdo não for seu, adicione Créditos!
85 tópicos neste fórum
-
Push Cruzado Como prometido, hoje eu vou ensinar como implementar o push cruzado. Este tutorial é feito especificamente para a versão 2 do OTX, porem, devido a simplicidade do código (sério, é muito simples, você vai se surpreender), acredito que possa ser implementado em qualquer source code disponível atualmente. Antes do tutorial vou falar sobre como surgiu o "sistema" e de como o mesmo ficou popular entre os jogadores de Baiak, então senta que lá vem história. Se você não tem interesse na história de como surgiu e se popularizou e só está aqui pelo tutorial de como implementar, pule para o final do tópico. História Familiar p…
- 21 respostas
- 5.8k visualizações
- 2 followers
-
Boa noite galera, depois de muitas fuçadas em forums e ajuda de algumas pessoas, consegui tirar o delay do push de longe no caso ( + de 1 sqm do player) Bom.. vamos lá ! Em OTX Server , Em game.cpp procure por " boost::bind(&Game::playerMoveCreature, this, playerId, movingCreatureId, movingCreaturePos, toPos, false)); " aonde está "false" estará na sua sources ORIGINAL "true" então no caso a palavra "true" (ativa a função) "false" (desativa a função) ~~ TFS 0.4 Em game.cpp procure por " boost::bind(&Game::playerMoveCreature, this, playerId, movingCreatureId, movingCreaturePos, toPos, false)); " aonde está "false" estará na s…
-
- 7 respostas
- 4.5k visualizações
- 1 follower
-
-
Estou trazendo esse conteúdo de outro fórum pôs não achei aqui e acho esse fórum um dos mais completos, bom vamos lá sistema não foi feito por mim logo mais colocarei os créditos, Oque sistema faz!? bom... ele permite você usar qualquer arma de uma mão na outra mão assim somando os dois valores de atributos como dano e def e aplicando e também aumentando a velocidade de ataque então vamos lá. Vá em player.ccp e procure por: ret = RET_CANONLYUSEONEWEAPON; Você ira encontrar dois "ret = RET_CANONLYUSEONEWEAPON;", substitua por: ret = RET_NOERROR; Após, localize weapons.h e procure por: const Weapon* getWeapon(const Item* item) const; Embaix…
- 6 respostas
- 2.9k visualizações
- 1 follower
-
Nao sei se estou postando na area correta mas.... vamo la Um player esta visitando quase todos os server e derrubando por um sistema de party (ele se dá auto-party) com o bot fazendo enviar pacotes inválidos que acabam crashando a sua distro: depois que fiz isso, meu server voltou ao normal (ja esta 7 dias online, desde seu ultimo nuke) procurei e achei em outro forum, e vi um cidadão de deus que encontrou a solução. (Creditos: Gesior.pl) ele diz que o codigo é pra TFS 0.4 r3777 vamos ao que interessa: Em game.cpp (nas sources) , procure por: Spoiler Party* party = player->getParty(); adi…
- 15 respostas
- 8.7k visualizações
- 1 follower
-
Bom, postarei como colocar para gm, adm, cm falar em red nos channels e tutores e senior tutores em orange. testado em: tfs 0.3.6 |854| pl Em chat.cpp procure por: bool ChatChannel::talk(Player* player, SpeakClasses type, const std::string& text, uint32_t _time/* = 0 e vai ter uma linha assim: if(it == m_users.end()) return false; de 2 quebra de linhas e adicione em baixo: SpeakClasses ntype = type; uint16_t channelId = getId(); if (channelId == 5) { if (player->getGroupId() == 6) { ntype = SPEAK_CHANNEL_RN; } else if (player->getGroupId() == 5) { ntype = SPEAK_CHANNEL_RN; } else if (player->getGroupId() == 4) { ntype = SPEAK_CHANNEL_RN; } e…
- 39 respostas
- 8.9k visualizações
- 1 follower
-
Olá Reparei Que muitos Está Procurando essa alteração , em todo fórum só acha a versão 0.3.6. . e vim trazer 0.4 E OTX. OTX 2.1 procure por: Player.cpp if((!_weapon->hasExhaustion() || !hasCondition(CONDITION_EXHAUST)) && _weapon->useWeapon(this, weapon, attackedCreature)) Altere por: if(!_weapon->hasExhaustion() && _weapon->useWeapon(this, weapon, attackedCreature)) Usar runa enquanto corre. Em player.cpp, remova essa linha setNextAction(OTSYS_TIME() + getStepDuration(dir)); - TFS 0.4 Procure por: Player.cpp if((!_weapon->hasExhaustion() || !hasCondition(CONDITION_EXHAUST, EXHAU…
- 22 respostas
- 3.7k visualizações
- 2 followers
-
Introdução : Muta um jogador no canal HELP por meio de um comando. game.cpp Procure por Game::playerSay, abaixo de player->setIdleTime(0) adicione : if (channelId == CHANNEL_HELP) { std::string helpmute = "0"; player->getStorage("455010", helpmute); time_t now = time(NULL); time_t seconds = atoi(helpmute.c_str()) - now; if (seconds > 0) { std::stringstream sec; sec << "You are muted for " << seconds << " seconds on this channel."; player->sendTextMessage(MSG_STATUS_SMALL, sec.str()); return false; } } data/talkactions/scripts/helpmute.lua : function onSay(cid, …
-
- 1 resposta
- 3.1k visualizações
-
-
Sorry I don't speak spanish so you will have to bare with me. This is a new way for people to create npc's which use different types of currency, rather than a coming up with different items to trade with the npc or trying to edit the npc modules this method simplifies everything by providing the npc with a npc currency id. All this npc currency id is, is a storage value.. pretty simple eh? If the npc doesn't have a currency id then it will use the normal currency e.g. gold, plat, cc etc.. I originally posted this on otland, but fuck them xD Using Lailene here you can see she has a currency attribute with id of 123456 …
-
- 5 respostas
- 3k visualizações
- 1 follower
-
-
Not tested but I wrote them anyway... this is a means of adding the missing stat information in TFS 1.3 & OTX 3 for 10.98 & up. This is the previous code protocolgame.cpp in TFS 1.3 void ProtocolGame::AddPlayerStats(NetworkMessage& msg) { msg.addByte(0xA0); msg.add<uint16_t>(std::min<int32_t>(player->getHealth(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getMaxHealth(), std::numeric_limits<uint16_t>::max())); msg.add<uint32_t>(player->getFreeCapacity()); msg.add<uint32_t>(player->getCapacity()); msg.add<uint64_t…
-
- 4 respostas
- 4.4k visualizações
-
-
Ola, tinha umas pessoas pedindo para eu mostrar aonde muda a cor do monstro então resolvi criar um tópico para mostrar, vamos la. na source do cliente va no arquivo creature.cpp procure por: void Creature::internalDrawOutfit(Point dest, float scaleFactor, bool animateWalk, bool animateIdle, Otc::Direction direction, LightView *lightView) dentro dessa funçao ache isso: g_painter->setColor(m_outfitColor); logo abaixo add isso: if (isMonster() && m_name == "Demon") g_painter->setColor(Color::orange); if (isMonster() && m_name == "Dragon") g_painter->setColor(Color::teal); pronto todos os demons e drag…
- 13 respostas
- 5.4k visualizações
- 2 followers
-
Boa noite, venho compartilhar o código feito por @Oneshot/ @Garou, com adaptação para tfs 0.3.6 (854) por mim. Bem, ele postou para atfs 0.4 (860), dai eu só mexi em umas linhas parar funcionar no tfs 0.3.6(854), dai vou compartilhar com vocês. Com o monster level system, o monstro passa a ter level e ganha mais HP, dá mais dano, tem mais defesa, dependendo dele. monsters.h procure por: bool isSummonable, isIllusionable, isConvinceable, isAttackable, isHostile, isLureable, isWalkable, canPushItems, canPushCreatures, pushable, hideName, hideHealth; Substitua por: bool isSummonable, isIllusionable, isConvinceable, isAttackable, isHostile, isLureable,…
- 11 respostas
- 4.2k visualizações
-
Bom vi em vários tutoriais ai da vida, que se colocar isso no config.lua já removia a xp que o summon ganha. NoShareExpSummonMonster = true MAS NÃO FUNCIONA O correto é ir na sua source e em criature.cpp e editar essa parte aqui. void Creature::addDamagePoints(Creature* attacker, int32_t damagePoints) { if(damagePoints < 0) return; uint32_t attackerId = 0; if(attacker) attackerId = attacker->getID(); CountMap::iterator it = damageMap.find(attackerId); if(it != damageMap.end()) { it->second.ticks = OTSYS_TIME(); if(damagePoints > 0) it->second.total += damagePoints; } else damageMap[attackerId] = CountBlock_t(damagePoin…
-
- 3 respostas
- 1.8k visualizações
- 1 follower
-
-
Boa noite, preciso da ajuda de vocês e é claro, quem me ajudar vai ganhar 1 Proteção totalmente de graça. Como vai funcionar: - Vou disponibilizar meu cliente criptografado para vocês e vocês vão tentar achar brecha. - O objectivo e abrir os arquivos em qualquer editor. - Quem conseguir abrir as sprites é para postar aqui no forum. - Caso não consiga, poste o nome de todos os programas que usou. E como ganha a proteção de graça ? - o membro deve postar todos os programas que utilizou para tentar abrir, todas as formas que tentou. - Caso tenha empate o critério será em sorteio. Vou deixar aberto até dia 31…
- 8 respostas
- 2.9k visualizações
-
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 setAsManagerOption(bool v) {manager = v;} Em vocations.cpp, procure por: if(readX…
-
- 1 resposta
- 2.3k visualizações
-
-
Fala galerinha Vim aqui trazer pra vocês um negocio bem simples, Mais creio que vai ser bem útil pra quem usa tfs 0.3.6, Bom oque isso faz ?, Ao invés da sua barra de vida e mana ficar com aqueles números gigantes, Vai ficar por porcentagem %%, independente do level do personagem vai ficar 100/100 % MAX, Então vamos lá vocês vão ter que ter as souces que você usa em seu servidor, Abra elas com Deve C++, Agora vá em protocolgame.cpp, Em seguida: PROCURE POR: msg->AddU16(player->getHealth()); AGORA SUBSTITUA POR: msg->AddU16((uint16_t)std::ceil(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEAL…
- 8 respostas
- 2.4k visualizações
- 2 followers
Quem Está Navegando 0
- Nenhum usuário registrado visualizando esta página.