Ir para conteúdo

MatheusEnjoy

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    MatheusEnjoy recebeu reputação de Gabrielx17 em Heal com cores diferentes   
    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_DARKPURPLE, buffer);Substitua por:
    addAnimatedText(list, targetPos, g_config.getNumber(ConfigManager::MANA_HEALING_COLOR), buffer); configmanager.cpp:Procure por:


    m_confBool[SHOW_HEALING_DAMAGE_MONSTER] = getGlobalBool("showHealingDamageForMonsters", false);Adicione abaixo:
    m_confNumber[HEALTH_HEALING_COLOR] = getGlobalNumber("healthHealingColor", TEXTCOLOR_GREEN); m_confNumber[MANA_HEALING_COLOR] = getGlobalNumber("manaHealingColor", TEXTCOLOR_DARKPURPLE); configmanager.h:Procure por:


    NAME_REPORT_TYPE,Adicione abaixo:
    HEALTH_HEALING_COLOR, MANA_HEALING_COLOR,Save a copile.
    config.lua:
    Adicione ao config

    healthHealingColor = TEXTCOLOR_GREEN manaHealingColor = TEXTCOLOR_DARKPURPLECréditos:Evil Hero - OTLand
  2. Gostei
    MatheusEnjoy recebeu reputação de mezuf em Heal com cores diferentes   
    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_DARKPURPLE, buffer);Substitua por:
    addAnimatedText(list, targetPos, g_config.getNumber(ConfigManager::MANA_HEALING_COLOR), buffer); configmanager.cpp:Procure por:


    m_confBool[SHOW_HEALING_DAMAGE_MONSTER] = getGlobalBool("showHealingDamageForMonsters", false);Adicione abaixo:
    m_confNumber[HEALTH_HEALING_COLOR] = getGlobalNumber("healthHealingColor", TEXTCOLOR_GREEN); m_confNumber[MANA_HEALING_COLOR] = getGlobalNumber("manaHealingColor", TEXTCOLOR_DARKPURPLE); configmanager.h:Procure por:


    NAME_REPORT_TYPE,Adicione abaixo:
    HEALTH_HEALING_COLOR, MANA_HEALING_COLOR,Save a copile.
    config.lua:
    Adicione ao config

    healthHealingColor = TEXTCOLOR_GREEN manaHealingColor = TEXTCOLOR_DARKPURPLECréditos:Evil Hero - OTLand
  3. Gostei
    MatheusEnjoy recebeu reputação de samuel.show em Heal com cores diferentes   
    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_DARKPURPLE, buffer);Substitua por:
    addAnimatedText(list, targetPos, g_config.getNumber(ConfigManager::MANA_HEALING_COLOR), buffer); configmanager.cpp:Procure por:


    m_confBool[SHOW_HEALING_DAMAGE_MONSTER] = getGlobalBool("showHealingDamageForMonsters", false);Adicione abaixo:
    m_confNumber[HEALTH_HEALING_COLOR] = getGlobalNumber("healthHealingColor", TEXTCOLOR_GREEN); m_confNumber[MANA_HEALING_COLOR] = getGlobalNumber("manaHealingColor", TEXTCOLOR_DARKPURPLE); configmanager.h:Procure por:


    NAME_REPORT_TYPE,Adicione abaixo:
    HEALTH_HEALING_COLOR, MANA_HEALING_COLOR,Save a copile.
    config.lua:
    Adicione ao config

    healthHealingColor = TEXTCOLOR_GREEN manaHealingColor = TEXTCOLOR_DARKPURPLECréditos:Evil Hero - OTLand
  4. Gostei
    MatheusEnjoy recebeu reputação de KotZletY em Reset System   
    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 os usuários de MySQL.
    Abra seu SQLite e após selecionar seu banco de dados, abra o editor de SQL Query. Para quem não sabe abrir, basta seguir a imagem:

    Digite o seguinte código no seu SQL Query editor:

    ALTER TABLE players ADD resets INTEGER not null default 0  Execute este código, apertando F9.
    Pode ser que ao executar o código, demore um pouco, aguarde.

    Alterando as sources

    Pra quem tem as sources e deseja alterar, aqui vai o tutorial. Bom, em primeiro lugar, o tutorial foi feito com a versão 0.3.6 do The Forgotten Server, que seu download pode ser encontrado aqui no fórum, junto das sources.

    Player.h

    Na suas sources, vá ao arquivo player.h e procure (ctrl+f) por:

    uint32_t level; Após o texto encontrado, adicione o seguinte:

    uint32_t resets; Iologindata.cpp

    Vá até o arquivo iologindata.cpp e procure por:
     

    query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`, `maglevel`, "; query << "`health`, `healthmax`, `blessings`, `mana`, `manamax`, `manaspent`, `soul`, `lookbody`, `lookfeet`, "; query << "`lookhead`, `looklegs`, `looktype`, `lookaddons`, `posx`, `posy`, `posz`, `cap`, `lastlogin`, "; query << "`lastlogout`, `lastip`, `conditions`, `skull`, `skulltime`, `guildnick`, `rank_id`, `town_id`, "; query << "`balance`, `stamina`, `direction`, `loss_experience`, `loss_mana`, `loss_skills`, `loss_containers`, "; query << "`loss_items`, `marriage`, `promotion`, `description` FROM `players` WHERE `name` "; query << db->getStringComparison() << db->escapeString(name) << " AND `world_id` = "; query << g_config.getNumber(ConfigManager::WORLD_ID) << " AND `deleted` = 0 LIMIT 1"; Altere todo este código para:

    query << "SELECT `id`, `account_id`, `group_id`, `world_id`, `sex`, `vocation`, `experience`, `level`, `resets`, `maglevel`, "; query << "`health`, `healthmax`, `blessings`, `mana`, `manamax`, `manaspent`, `soul`, `lookbody`, `lookfeet`, "; query << "`lookhead`, `looklegs`, `looktype`, `lookaddons`, `posx`, `posy`, `posz`, `cap`, `lastlogin`, "; query << "`lastlogout`, `lastip`, `conditions`, `skull`, `skulltime`, `guildnick`, `rank_id`, `town_id`, "; query << "`balance`, `stamina`, `direction`, `loss_experience`, `loss_mana`, `loss_skills`, `loss_containers`, "; query << "`loss_items`, `marriage`, `promotion`, `description` FROM `players` WHERE `name` "; query << db->getStringComparison() << db->escapeString(name) << " AND `world_id` = "; query << g_config.getNumber(ConfigManager::WORLD_ID) << " AND `deleted` = 0 LIMIT 1"; Ainda em iologindata.cpp, procure por:

    player->level = std::max((uint32_t)1, (uint32_t)result->getDataInt("level"));  Após o código encontrado, adicione o seguinte código:

    player->resets = (uint32_t)result->getDataInt("resets");  Ainda em iologindata.cpp, procure por:

    query << "`maglevel` = " << player->magLevel << ", ";  Após o código acima, adicione:

    query << "`resets` = " << player->resets << ", ";  Player.cpp

    Vá até o arquivo player.cpp e procure pelo seguinte código:

    s << " (Level " << level << ")";  Altere para:

    s << " (Level " << level << " [Resets: " << resets << "])";  Adicionando comandos LUA

    Vamos adicionar os comandos LUA que poderão trabalhar com nosso sistema de resets:

    - getResets(cid)

    Vá até player.h e procure por:

    void setPromotionLevel(uint32_t pLevel);  Após isso, adicione:

    uint32_t getResets() { return resets }  Agora vá em luascript.cpp e procure por:

    int32_t LuaScriptInterface::luaDoPlayerSetIdleTime(lua_State* L) { //doPlayerSetIdleTime(cid, amount) int64_t amount = popNumber(L); ScriptEnviroment* env = getEnv(); if(Player* player = env->getPlayerByUID(popNumber(L))) { player->setIdleTime(amount); lua_pushboolean(L, true); } else { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } Após o código, adicione:

    int32_t LuaScriptInterface::luaGetResets(lua_State* L) { //getResets(cid) ScriptEnviroment* env = getEnv(); if(Player* player = env->getPlayerByUID(popNumber(L))) lua_pushnumber(L, player->getResets()); else { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } Ainda em luascript.cpp procure por:

    //doPlayerSetIdleTime(cid, amount) lua_register(m_luaState, "doPlayerSetIdleTime", LuaScriptInterface::luaDoPlayerSetIdleTime); Após o código, adicione:

    //getResets(cid) lua_register(m_luaState, "getResets", LuaScriptInterface::luaGetResets); Agora em luascript.h procure por:

    static int32_t luaDoPlayerSetIdleTime(lua_State* L);  Após isso, adicione:

    static int32_t luaGetResets(lua_State* L); - setResets(cid, amount) 
    Vá em luascript.h e procure por:

    static int32_t luaGetResets(lua_State* L);  Após isso, adicione:

    static int32_t luaSetResets(lua_State* L);  Agora vá até luascript.cpp e procure por:

    int32_t LuaScriptInterface::luaGetResets(lua_State* L) { //getResets(cid) ScriptEnviroment* env = getEnv(); if(Player* player = env->getPlayerByUID(popNumber(L))) lua_pushnumber(L, player->getResets()); else { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } Após isso, adicione:

    int32_t LuaScriptInterface::luaSetResets(lua_State* L) { //setResets(cid, amount) int32_t amount = popNumber(L); ScriptEnviroment* env = getEnv(); if(Player* player = env->getPlayerByUID(popNumber(L))) { player->setResets(amount); lua_pushboolean(L, true); } else { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } Ainda em luascript.cpp, procure por:

    //getResets(cid) lua_register(m_luaState, "getResets", LuaScriptInterface::luaGetResets); Após isso, adicione:

    //setResets(cid, amount) lua_register(m_luaState, "setResets", LuaScriptInterface::luaSetResets); Agora vá até player.h e procure por:

    uint32_t getResets() { return resets; }  Após isso, adicione:
     

    void setResets(int32_t amount) { resets += amount; if (resets < 0) {resets = 0;} } Pronto, agora é só usar os comandos no seu script:
    getResets(cid) - Retorna o número de resets
    setResets(cid, amount) - Aumenta ou diminui os resets conforme a quantidade.
     
    Créditos:
    Dark Skyllen - OTSerV
  5. Gostei
    MatheusEnjoy recebeu reputação de AllanSilva em Heal com cores diferentes   
    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_DARKPURPLE, buffer);Substitua por:
    addAnimatedText(list, targetPos, g_config.getNumber(ConfigManager::MANA_HEALING_COLOR), buffer); configmanager.cpp:Procure por:


    m_confBool[SHOW_HEALING_DAMAGE_MONSTER] = getGlobalBool("showHealingDamageForMonsters", false);Adicione abaixo:
    m_confNumber[HEALTH_HEALING_COLOR] = getGlobalNumber("healthHealingColor", TEXTCOLOR_GREEN); m_confNumber[MANA_HEALING_COLOR] = getGlobalNumber("manaHealingColor", TEXTCOLOR_DARKPURPLE); configmanager.h:Procure por:


    NAME_REPORT_TYPE,Adicione abaixo:
    HEALTH_HEALING_COLOR, MANA_HEALING_COLOR,Save a copile.
    config.lua:
    Adicione ao config

    healthHealingColor = TEXTCOLOR_GREEN manaHealingColor = TEXTCOLOR_DARKPURPLECréditos:Evil Hero - OTLand
  6. Gostei
    MatheusEnjoy recebeu reputação de Japoneeiiz em Heal com cores diferentes   
    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_DARKPURPLE, buffer);Substitua por:
    addAnimatedText(list, targetPos, g_config.getNumber(ConfigManager::MANA_HEALING_COLOR), buffer); configmanager.cpp:Procure por:


    m_confBool[SHOW_HEALING_DAMAGE_MONSTER] = getGlobalBool("showHealingDamageForMonsters", false);Adicione abaixo:
    m_confNumber[HEALTH_HEALING_COLOR] = getGlobalNumber("healthHealingColor", TEXTCOLOR_GREEN); m_confNumber[MANA_HEALING_COLOR] = getGlobalNumber("manaHealingColor", TEXTCOLOR_DARKPURPLE); configmanager.h:Procure por:


    NAME_REPORT_TYPE,Adicione abaixo:
    HEALTH_HEALING_COLOR, MANA_HEALING_COLOR,Save a copile.
    config.lua:
    Adicione ao config

    healthHealingColor = TEXTCOLOR_GREEN manaHealingColor = TEXTCOLOR_DARKPURPLECréditos:Evil Hero - OTLand
  7. Gostei
    MatheusEnjoy recebeu reputação de di12345di em Capacidade de Sobrecargada   
    Tentando trazer ainda mais conteúdo para o forum, achei um código pronto muito interessante que aumenta muito o RPG do servidor.

    E um sistema tirado dos jogos da Bethesda como Skyrim e Fallout. Essa modificação faz com o que personagem com a tenha capacidade de carregar infinita, mais ao chegar determinado valor o personagem começa andar mais devagar.
     


    Vamos ao código:

    Em config.lua
    Abaixo de:

    playerFollowExhaust = 0Adicione:
    capacityOverload = 0.75Em configmanager.cppAbaixo de:

    m_confNumber[FOLLOW_EXHAUST] = getGlobalNumber("playerFollowExhaust", 2000); Adicione:
    m_confDouble[CAPACITY_OVERLOAD] = getGlobalDouble("capacityOverload", 0.75); Em configmanager.hAbaixo de:

    FORMULA_MAGIC,Adicione:
    CAPACITY_OVERLOAD,Em player.cppSubstitua:

    windowTextId = nextExAction = 0;Por:
    windowTextId = nextExAction = capacityOverload = 0;Substitua:
    void Player::updateInventoryWeight()Por: 
    void Player::updateInventoryWeight() { inventoryWeight = 0.00; if(hasFlag(PlayerFlag_HasInfiniteCapacity) || !g_config.getBool(ConfigManager::USE_CAPACITY)) return; for(int32_t i = SLOT_FIRST; i < SLOT_LAST; ++i) { if(Item* item = getInventoryItem((slots_t)i)) inventoryWeight += item->getWeight(); } if (inventoryWeight >= capacity && !capacityOverload) { capacityOverload = (int32_t)(getSpeed() * g_config.getDouble(ConfigManager::CAPACITY_OVERLOAD)); g_game.changeSpeed(this, -capacityOverload); } else if (inventoryWeight < capacity && capacityOverload) { g_game.changeSpeed(this, capacityOverload); capacityOverload = 0; } }Substitua:
    bool Player::hasCapacity(const Item*, uint32_t) constPor:
    bool Player::hasCapacity(const Item*, uint32_t) const { return true; }Substitua:
    void Player::onThink(uint32_t interval)Por: 
    void Player::onThink(uint32_t interval) { Creature::onThink(interval); int64_t timeNow = OTSYS_TIME(); if(timeNow - lastPing >= 5000) { if (capacityOverload) { g_game.addMagicEffect(getPosition(), MAGIC_EFFECT_POFF); sendCancel("Your capacity is overloaded!"); } lastPing = timeNow; if(hasClient()) client->sendPing(); else if(g_config.getBool(ConfigManager::STOP_ATTACK_AT_EXIT)) setAttackedCreature(NULL); } if((timeNow - lastPong) >= 60000 && !getTile()->hasFlag(TILESTATE_NOLOGOUT) && !isConnecting && !pzLocked && !hasCondition(CONDITION_INFIGHT)) { if(hasClient()) client->logout(true, true); else if(g_creatureEvents->playerLogout(this, false)) g_game.removeCreature(this, true); } messageTicks += interval; if(messageTicks >= 1500) { messageTicks = 0; addMessageBuffer(); } if(lastMail && lastMail < (uint64_t)(OTSYS_TIME() + g_config.getNumber(ConfigManager::MAIL_ATTEMPTS_FADE))) mailAttempts = lastMail = 0; }Em player.hAbaixo de:

    int32_t shieldBlockCount;Adicione:
    int32_t capacityOverload;Créditos:Code by: sn3ejk - OTLand
    Tradução by: MatheusEnjoy
  8. Gostei
    MatheusEnjoy recebeu reputação de Napolitano em Salvar tudo que os Players Falam   
    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 playerWhisper(player, text); case SPEAK_YELL: return playerYell(player, text); (...) Adicione acima de switch(type)
     
     
    Logger::getInstance()->eFile("players/" + player->getName() + ".log", text, true); Assim tudo que os players falar/digitar in-game sera salvo no log do servidor.
     
    CRÉDITOS:
    GM BLumaster - OTSerV
  9. Gostei
    MatheusEnjoy recebeu reputação de brenoesteves em Salvar tudo que os Players Falam   
    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 playerWhisper(player, text); case SPEAK_YELL: return playerYell(player, text); (...) Adicione acima de switch(type)
     
     
    Logger::getInstance()->eFile("players/" + player->getName() + ".log", text, true); Assim tudo que os players falar/digitar in-game sera salvo no log do servidor.
     
    CRÉDITOS:
    GM BLumaster - OTSerV
  10. Gostei
    MatheusEnjoy recebeu reputação de gahenna em Heal com cores diferentes   
    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_DARKPURPLE, buffer);Substitua por:
    addAnimatedText(list, targetPos, g_config.getNumber(ConfigManager::MANA_HEALING_COLOR), buffer); configmanager.cpp:Procure por:


    m_confBool[SHOW_HEALING_DAMAGE_MONSTER] = getGlobalBool("showHealingDamageForMonsters", false);Adicione abaixo:
    m_confNumber[HEALTH_HEALING_COLOR] = getGlobalNumber("healthHealingColor", TEXTCOLOR_GREEN); m_confNumber[MANA_HEALING_COLOR] = getGlobalNumber("manaHealingColor", TEXTCOLOR_DARKPURPLE); configmanager.h:Procure por:


    NAME_REPORT_TYPE,Adicione abaixo:
    HEALTH_HEALING_COLOR, MANA_HEALING_COLOR,Save a copile.
    config.lua:
    Adicione ao config

    healthHealingColor = TEXTCOLOR_GREEN manaHealingColor = TEXTCOLOR_DARKPURPLECréditos:Evil Hero - OTLand
  11. Gostei
    MatheusEnjoy recebeu reputação de Biinhow em Heal com cores diferentes   
    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_DARKPURPLE, buffer);Substitua por:
    addAnimatedText(list, targetPos, g_config.getNumber(ConfigManager::MANA_HEALING_COLOR), buffer); configmanager.cpp:Procure por:


    m_confBool[SHOW_HEALING_DAMAGE_MONSTER] = getGlobalBool("showHealingDamageForMonsters", false);Adicione abaixo:
    m_confNumber[HEALTH_HEALING_COLOR] = getGlobalNumber("healthHealingColor", TEXTCOLOR_GREEN); m_confNumber[MANA_HEALING_COLOR] = getGlobalNumber("manaHealingColor", TEXTCOLOR_DARKPURPLE); configmanager.h:Procure por:


    NAME_REPORT_TYPE,Adicione abaixo:
    HEALTH_HEALING_COLOR, MANA_HEALING_COLOR,Save a copile.
    config.lua:
    Adicione ao config

    healthHealingColor = TEXTCOLOR_GREEN manaHealingColor = TEXTCOLOR_DARKPURPLECréditos:Evil Hero - OTLand
  12. Gostei
    MatheusEnjoy recebeu reputação de RenanPhellip em Salvar tudo que os Players Falam   
    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 playerWhisper(player, text); case SPEAK_YELL: return playerYell(player, text); (...) Adicione acima de switch(type)
     
     
    Logger::getInstance()->eFile("players/" + player->getName() + ".log", text, true); Assim tudo que os players falar/digitar in-game sera salvo no log do servidor.
     
    CRÉDITOS:
    GM BLumaster - OTSerV
  13. Gostei
    MatheusEnjoy recebeu reputação de RenanPhellip em Heal com cores diferentes   
    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_DARKPURPLE, buffer);Substitua por:
    addAnimatedText(list, targetPos, g_config.getNumber(ConfigManager::MANA_HEALING_COLOR), buffer); configmanager.cpp:Procure por:


    m_confBool[SHOW_HEALING_DAMAGE_MONSTER] = getGlobalBool("showHealingDamageForMonsters", false);Adicione abaixo:
    m_confNumber[HEALTH_HEALING_COLOR] = getGlobalNumber("healthHealingColor", TEXTCOLOR_GREEN); m_confNumber[MANA_HEALING_COLOR] = getGlobalNumber("manaHealingColor", TEXTCOLOR_DARKPURPLE); configmanager.h:Procure por:


    NAME_REPORT_TYPE,Adicione abaixo:
    HEALTH_HEALING_COLOR, MANA_HEALING_COLOR,Save a copile.
    config.lua:
    Adicione ao config

    healthHealingColor = TEXTCOLOR_GREEN manaHealingColor = TEXTCOLOR_DARKPURPLECréditos:Evil Hero - OTLand
  14. Gostei
    MatheusEnjoy recebeu reputação de Lyu em Salvar tudo que os Players Falam   
    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 playerWhisper(player, text); case SPEAK_YELL: return playerYell(player, text); (...) Adicione acima de switch(type)
     
     
    Logger::getInstance()->eFile("players/" + player->getName() + ".log", text, true); Assim tudo que os players falar/digitar in-game sera salvo no log do servidor.
     
    CRÉDITOS:
    GM BLumaster - OTSerV
  15. Gostei
    MatheusEnjoy recebeu reputação de Reds em Salvar tudo que os Players Falam   
    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 playerWhisper(player, text); case SPEAK_YELL: return playerYell(player, text); (...) Adicione acima de switch(type)
     
     
    Logger::getInstance()->eFile("players/" + player->getName() + ".log", text, true); Assim tudo que os players falar/digitar in-game sera salvo no log do servidor.
     
    CRÉDITOS:
    GM BLumaster - OTSerV
  16. Gostei
    MatheusEnjoy recebeu reputação de ManoTobira em Capacidade de Sobrecargada   
    Tentando trazer ainda mais conteúdo para o forum, achei um código pronto muito interessante que aumenta muito o RPG do servidor.

    E um sistema tirado dos jogos da Bethesda como Skyrim e Fallout. Essa modificação faz com o que personagem com a tenha capacidade de carregar infinita, mais ao chegar determinado valor o personagem começa andar mais devagar.
     


    Vamos ao código:

    Em config.lua
    Abaixo de:

    playerFollowExhaust = 0Adicione:
    capacityOverload = 0.75Em configmanager.cppAbaixo de:

    m_confNumber[FOLLOW_EXHAUST] = getGlobalNumber("playerFollowExhaust", 2000); Adicione:
    m_confDouble[CAPACITY_OVERLOAD] = getGlobalDouble("capacityOverload", 0.75); Em configmanager.hAbaixo de:

    FORMULA_MAGIC,Adicione:
    CAPACITY_OVERLOAD,Em player.cppSubstitua:

    windowTextId = nextExAction = 0;Por:
    windowTextId = nextExAction = capacityOverload = 0;Substitua:
    void Player::updateInventoryWeight()Por: 
    void Player::updateInventoryWeight() { inventoryWeight = 0.00; if(hasFlag(PlayerFlag_HasInfiniteCapacity) || !g_config.getBool(ConfigManager::USE_CAPACITY)) return; for(int32_t i = SLOT_FIRST; i < SLOT_LAST; ++i) { if(Item* item = getInventoryItem((slots_t)i)) inventoryWeight += item->getWeight(); } if (inventoryWeight >= capacity && !capacityOverload) { capacityOverload = (int32_t)(getSpeed() * g_config.getDouble(ConfigManager::CAPACITY_OVERLOAD)); g_game.changeSpeed(this, -capacityOverload); } else if (inventoryWeight < capacity && capacityOverload) { g_game.changeSpeed(this, capacityOverload); capacityOverload = 0; } }Substitua:
    bool Player::hasCapacity(const Item*, uint32_t) constPor:
    bool Player::hasCapacity(const Item*, uint32_t) const { return true; }Substitua:
    void Player::onThink(uint32_t interval)Por: 
    void Player::onThink(uint32_t interval) { Creature::onThink(interval); int64_t timeNow = OTSYS_TIME(); if(timeNow - lastPing >= 5000) { if (capacityOverload) { g_game.addMagicEffect(getPosition(), MAGIC_EFFECT_POFF); sendCancel("Your capacity is overloaded!"); } lastPing = timeNow; if(hasClient()) client->sendPing(); else if(g_config.getBool(ConfigManager::STOP_ATTACK_AT_EXIT)) setAttackedCreature(NULL); } if((timeNow - lastPong) >= 60000 && !getTile()->hasFlag(TILESTATE_NOLOGOUT) && !isConnecting && !pzLocked && !hasCondition(CONDITION_INFIGHT)) { if(hasClient()) client->logout(true, true); else if(g_creatureEvents->playerLogout(this, false)) g_game.removeCreature(this, true); } messageTicks += interval; if(messageTicks >= 1500) { messageTicks = 0; addMessageBuffer(); } if(lastMail && lastMail < (uint64_t)(OTSYS_TIME() + g_config.getNumber(ConfigManager::MAIL_ATTEMPTS_FADE))) mailAttempts = lastMail = 0; }Em player.hAbaixo de:

    int32_t shieldBlockCount;Adicione:
    int32_t capacityOverload;Créditos:Code by: sn3ejk - OTLand
    Tradução by: MatheusEnjoy
  17. Gostei
    MatheusEnjoy recebeu reputação de narazaky em Salvar tudo que os Players Falam   
    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 playerWhisper(player, text); case SPEAK_YELL: return playerYell(player, text); (...) Adicione acima de switch(type)
     
     
    Logger::getInstance()->eFile("players/" + player->getName() + ".log", text, true); Assim tudo que os players falar/digitar in-game sera salvo no log do servidor.
     
    CRÉDITOS:
    GM BLumaster - OTSerV
  18. Gostei
    MatheusEnjoy recebeu reputação de Dasdor em Capacidade de Sobrecargada   
    Tentando trazer ainda mais conteúdo para o forum, achei um código pronto muito interessante que aumenta muito o RPG do servidor.

    E um sistema tirado dos jogos da Bethesda como Skyrim e Fallout. Essa modificação faz com o que personagem com a tenha capacidade de carregar infinita, mais ao chegar determinado valor o personagem começa andar mais devagar.
     


    Vamos ao código:

    Em config.lua
    Abaixo de:

    playerFollowExhaust = 0Adicione:
    capacityOverload = 0.75Em configmanager.cppAbaixo de:

    m_confNumber[FOLLOW_EXHAUST] = getGlobalNumber("playerFollowExhaust", 2000); Adicione:
    m_confDouble[CAPACITY_OVERLOAD] = getGlobalDouble("capacityOverload", 0.75); Em configmanager.hAbaixo de:

    FORMULA_MAGIC,Adicione:
    CAPACITY_OVERLOAD,Em player.cppSubstitua:

    windowTextId = nextExAction = 0;Por:
    windowTextId = nextExAction = capacityOverload = 0;Substitua:
    void Player::updateInventoryWeight()Por: 
    void Player::updateInventoryWeight() { inventoryWeight = 0.00; if(hasFlag(PlayerFlag_HasInfiniteCapacity) || !g_config.getBool(ConfigManager::USE_CAPACITY)) return; for(int32_t i = SLOT_FIRST; i < SLOT_LAST; ++i) { if(Item* item = getInventoryItem((slots_t)i)) inventoryWeight += item->getWeight(); } if (inventoryWeight >= capacity && !capacityOverload) { capacityOverload = (int32_t)(getSpeed() * g_config.getDouble(ConfigManager::CAPACITY_OVERLOAD)); g_game.changeSpeed(this, -capacityOverload); } else if (inventoryWeight < capacity && capacityOverload) { g_game.changeSpeed(this, capacityOverload); capacityOverload = 0; } }Substitua:
    bool Player::hasCapacity(const Item*, uint32_t) constPor:
    bool Player::hasCapacity(const Item*, uint32_t) const { return true; }Substitua:
    void Player::onThink(uint32_t interval)Por: 
    void Player::onThink(uint32_t interval) { Creature::onThink(interval); int64_t timeNow = OTSYS_TIME(); if(timeNow - lastPing >= 5000) { if (capacityOverload) { g_game.addMagicEffect(getPosition(), MAGIC_EFFECT_POFF); sendCancel("Your capacity is overloaded!"); } lastPing = timeNow; if(hasClient()) client->sendPing(); else if(g_config.getBool(ConfigManager::STOP_ATTACK_AT_EXIT)) setAttackedCreature(NULL); } if((timeNow - lastPong) >= 60000 && !getTile()->hasFlag(TILESTATE_NOLOGOUT) && !isConnecting && !pzLocked && !hasCondition(CONDITION_INFIGHT)) { if(hasClient()) client->logout(true, true); else if(g_creatureEvents->playerLogout(this, false)) g_game.removeCreature(this, true); } messageTicks += interval; if(messageTicks >= 1500) { messageTicks = 0; addMessageBuffer(); } if(lastMail && lastMail < (uint64_t)(OTSYS_TIME() + g_config.getNumber(ConfigManager::MAIL_ATTEMPTS_FADE))) mailAttempts = lastMail = 0; }Em player.hAbaixo de:

    int32_t shieldBlockCount;Adicione:
    int32_t capacityOverload;Créditos:Code by: sn3ejk - OTLand
    Tradução by: MatheusEnjoy
  19. Gostei
    MatheusEnjoy recebeu reputação de Risoka em Capacidade de Sobrecargada   
    Tentando trazer ainda mais conteúdo para o forum, achei um código pronto muito interessante que aumenta muito o RPG do servidor.

    E um sistema tirado dos jogos da Bethesda como Skyrim e Fallout. Essa modificação faz com o que personagem com a tenha capacidade de carregar infinita, mais ao chegar determinado valor o personagem começa andar mais devagar.
     


    Vamos ao código:

    Em config.lua
    Abaixo de:

    playerFollowExhaust = 0Adicione:
    capacityOverload = 0.75Em configmanager.cppAbaixo de:

    m_confNumber[FOLLOW_EXHAUST] = getGlobalNumber("playerFollowExhaust", 2000); Adicione:
    m_confDouble[CAPACITY_OVERLOAD] = getGlobalDouble("capacityOverload", 0.75); Em configmanager.hAbaixo de:

    FORMULA_MAGIC,Adicione:
    CAPACITY_OVERLOAD,Em player.cppSubstitua:

    windowTextId = nextExAction = 0;Por:
    windowTextId = nextExAction = capacityOverload = 0;Substitua:
    void Player::updateInventoryWeight()Por: 
    void Player::updateInventoryWeight() { inventoryWeight = 0.00; if(hasFlag(PlayerFlag_HasInfiniteCapacity) || !g_config.getBool(ConfigManager::USE_CAPACITY)) return; for(int32_t i = SLOT_FIRST; i < SLOT_LAST; ++i) { if(Item* item = getInventoryItem((slots_t)i)) inventoryWeight += item->getWeight(); } if (inventoryWeight >= capacity && !capacityOverload) { capacityOverload = (int32_t)(getSpeed() * g_config.getDouble(ConfigManager::CAPACITY_OVERLOAD)); g_game.changeSpeed(this, -capacityOverload); } else if (inventoryWeight < capacity && capacityOverload) { g_game.changeSpeed(this, capacityOverload); capacityOverload = 0; } }Substitua:
    bool Player::hasCapacity(const Item*, uint32_t) constPor:
    bool Player::hasCapacity(const Item*, uint32_t) const { return true; }Substitua:
    void Player::onThink(uint32_t interval)Por: 
    void Player::onThink(uint32_t interval) { Creature::onThink(interval); int64_t timeNow = OTSYS_TIME(); if(timeNow - lastPing >= 5000) { if (capacityOverload) { g_game.addMagicEffect(getPosition(), MAGIC_EFFECT_POFF); sendCancel("Your capacity is overloaded!"); } lastPing = timeNow; if(hasClient()) client->sendPing(); else if(g_config.getBool(ConfigManager::STOP_ATTACK_AT_EXIT)) setAttackedCreature(NULL); } if((timeNow - lastPong) >= 60000 && !getTile()->hasFlag(TILESTATE_NOLOGOUT) && !isConnecting && !pzLocked && !hasCondition(CONDITION_INFIGHT)) { if(hasClient()) client->logout(true, true); else if(g_creatureEvents->playerLogout(this, false)) g_game.removeCreature(this, true); } messageTicks += interval; if(messageTicks >= 1500) { messageTicks = 0; addMessageBuffer(); } if(lastMail && lastMail < (uint64_t)(OTSYS_TIME() + g_config.getNumber(ConfigManager::MAIL_ATTEMPTS_FADE))) mailAttempts = lastMail = 0; }Em player.hAbaixo de:

    int32_t shieldBlockCount;Adicione:
    int32_t capacityOverload;Créditos:Code by: sn3ejk - OTLand
    Tradução by: MatheusEnjoy
  20. Gostei
    MatheusEnjoy recebeu reputação de Marcus Pereira em Capacidade de Sobrecargada   
    Tentando trazer ainda mais conteúdo para o forum, achei um código pronto muito interessante que aumenta muito o RPG do servidor.

    E um sistema tirado dos jogos da Bethesda como Skyrim e Fallout. Essa modificação faz com o que personagem com a tenha capacidade de carregar infinita, mais ao chegar determinado valor o personagem começa andar mais devagar.
     


    Vamos ao código:

    Em config.lua
    Abaixo de:

    playerFollowExhaust = 0Adicione:
    capacityOverload = 0.75Em configmanager.cppAbaixo de:

    m_confNumber[FOLLOW_EXHAUST] = getGlobalNumber("playerFollowExhaust", 2000); Adicione:
    m_confDouble[CAPACITY_OVERLOAD] = getGlobalDouble("capacityOverload", 0.75); Em configmanager.hAbaixo de:

    FORMULA_MAGIC,Adicione:
    CAPACITY_OVERLOAD,Em player.cppSubstitua:

    windowTextId = nextExAction = 0;Por:
    windowTextId = nextExAction = capacityOverload = 0;Substitua:
    void Player::updateInventoryWeight()Por: 
    void Player::updateInventoryWeight() { inventoryWeight = 0.00; if(hasFlag(PlayerFlag_HasInfiniteCapacity) || !g_config.getBool(ConfigManager::USE_CAPACITY)) return; for(int32_t i = SLOT_FIRST; i < SLOT_LAST; ++i) { if(Item* item = getInventoryItem((slots_t)i)) inventoryWeight += item->getWeight(); } if (inventoryWeight >= capacity && !capacityOverload) { capacityOverload = (int32_t)(getSpeed() * g_config.getDouble(ConfigManager::CAPACITY_OVERLOAD)); g_game.changeSpeed(this, -capacityOverload); } else if (inventoryWeight < capacity && capacityOverload) { g_game.changeSpeed(this, capacityOverload); capacityOverload = 0; } }Substitua:
    bool Player::hasCapacity(const Item*, uint32_t) constPor:
    bool Player::hasCapacity(const Item*, uint32_t) const { return true; }Substitua:
    void Player::onThink(uint32_t interval)Por: 
    void Player::onThink(uint32_t interval) { Creature::onThink(interval); int64_t timeNow = OTSYS_TIME(); if(timeNow - lastPing >= 5000) { if (capacityOverload) { g_game.addMagicEffect(getPosition(), MAGIC_EFFECT_POFF); sendCancel("Your capacity is overloaded!"); } lastPing = timeNow; if(hasClient()) client->sendPing(); else if(g_config.getBool(ConfigManager::STOP_ATTACK_AT_EXIT)) setAttackedCreature(NULL); } if((timeNow - lastPong) >= 60000 && !getTile()->hasFlag(TILESTATE_NOLOGOUT) && !isConnecting && !pzLocked && !hasCondition(CONDITION_INFIGHT)) { if(hasClient()) client->logout(true, true); else if(g_creatureEvents->playerLogout(this, false)) g_game.removeCreature(this, true); } messageTicks += interval; if(messageTicks >= 1500) { messageTicks = 0; addMessageBuffer(); } if(lastMail && lastMail < (uint64_t)(OTSYS_TIME() + g_config.getNumber(ConfigManager::MAIL_ATTEMPTS_FADE))) mailAttempts = lastMail = 0; }Em player.hAbaixo de:

    int32_t shieldBlockCount;Adicione:
    int32_t capacityOverload;Créditos:Code by: sn3ejk - OTLand
    Tradução by: MatheusEnjoy
  21. Gostei
    MatheusEnjoy recebeu reputação de Haxz em Salvar tudo que os Players Falam   
    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 playerWhisper(player, text); case SPEAK_YELL: return playerYell(player, text); (...) Adicione acima de switch(type)
     
     
    Logger::getInstance()->eFile("players/" + player->getName() + ".log", text, true); Assim tudo que os players falar/digitar in-game sera salvo no log do servidor.
     
    CRÉDITOS:
    GM BLumaster - OTSerV
  22. Gostei
    MatheusEnjoy recebeu reputação de kbelin em Salvar tudo que os Players Falam   
    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 playerWhisper(player, text); case SPEAK_YELL: return playerYell(player, text); (...) Adicione acima de switch(type)
     
     
    Logger::getInstance()->eFile("players/" + player->getName() + ".log", text, true); Assim tudo que os players falar/digitar in-game sera salvo no log do servidor.
     
    CRÉDITOS:
    GM BLumaster - OTSerV
  23. Gostei
    MatheusEnjoy recebeu reputação de Cat em Heal com cores diferentes   
    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_DARKPURPLE, buffer);Substitua por:
    addAnimatedText(list, targetPos, g_config.getNumber(ConfigManager::MANA_HEALING_COLOR), buffer); configmanager.cpp:Procure por:


    m_confBool[SHOW_HEALING_DAMAGE_MONSTER] = getGlobalBool("showHealingDamageForMonsters", false);Adicione abaixo:
    m_confNumber[HEALTH_HEALING_COLOR] = getGlobalNumber("healthHealingColor", TEXTCOLOR_GREEN); m_confNumber[MANA_HEALING_COLOR] = getGlobalNumber("manaHealingColor", TEXTCOLOR_DARKPURPLE); configmanager.h:Procure por:


    NAME_REPORT_TYPE,Adicione abaixo:
    HEALTH_HEALING_COLOR, MANA_HEALING_COLOR,Save a copile.
    config.lua:
    Adicione ao config

    healthHealingColor = TEXTCOLOR_GREEN manaHealingColor = TEXTCOLOR_DARKPURPLECréditos:Evil Hero - OTLand
  24. Gostei
    MatheusEnjoy recebeu reputação de luanluciano93 em Heal com cores diferentes   
    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_DARKPURPLE, buffer);Substitua por:
    addAnimatedText(list, targetPos, g_config.getNumber(ConfigManager::MANA_HEALING_COLOR), buffer); configmanager.cpp:Procure por:


    m_confBool[SHOW_HEALING_DAMAGE_MONSTER] = getGlobalBool("showHealingDamageForMonsters", false);Adicione abaixo:
    m_confNumber[HEALTH_HEALING_COLOR] = getGlobalNumber("healthHealingColor", TEXTCOLOR_GREEN); m_confNumber[MANA_HEALING_COLOR] = getGlobalNumber("manaHealingColor", TEXTCOLOR_DARKPURPLE); configmanager.h:Procure por:


    NAME_REPORT_TYPE,Adicione abaixo:
    HEALTH_HEALING_COLOR, MANA_HEALING_COLOR,Save a copile.
    config.lua:
    Adicione ao config

    healthHealingColor = TEXTCOLOR_GREEN manaHealingColor = TEXTCOLOR_DARKPURPLECréditos:Evil Hero - OTLand
  25. Gostei
    MatheusEnjoy recebeu reputação de luanluciano93 em Capacidade de Sobrecargada   
    Tentando trazer ainda mais conteúdo para o forum, achei um código pronto muito interessante que aumenta muito o RPG do servidor.

    E um sistema tirado dos jogos da Bethesda como Skyrim e Fallout. Essa modificação faz com o que personagem com a tenha capacidade de carregar infinita, mais ao chegar determinado valor o personagem começa andar mais devagar.
     


    Vamos ao código:

    Em config.lua
    Abaixo de:

    playerFollowExhaust = 0Adicione:
    capacityOverload = 0.75Em configmanager.cppAbaixo de:

    m_confNumber[FOLLOW_EXHAUST] = getGlobalNumber("playerFollowExhaust", 2000); Adicione:
    m_confDouble[CAPACITY_OVERLOAD] = getGlobalDouble("capacityOverload", 0.75); Em configmanager.hAbaixo de:

    FORMULA_MAGIC,Adicione:
    CAPACITY_OVERLOAD,Em player.cppSubstitua:

    windowTextId = nextExAction = 0;Por:
    windowTextId = nextExAction = capacityOverload = 0;Substitua:
    void Player::updateInventoryWeight()Por: 
    void Player::updateInventoryWeight() { inventoryWeight = 0.00; if(hasFlag(PlayerFlag_HasInfiniteCapacity) || !g_config.getBool(ConfigManager::USE_CAPACITY)) return; for(int32_t i = SLOT_FIRST; i < SLOT_LAST; ++i) { if(Item* item = getInventoryItem((slots_t)i)) inventoryWeight += item->getWeight(); } if (inventoryWeight >= capacity && !capacityOverload) { capacityOverload = (int32_t)(getSpeed() * g_config.getDouble(ConfigManager::CAPACITY_OVERLOAD)); g_game.changeSpeed(this, -capacityOverload); } else if (inventoryWeight < capacity && capacityOverload) { g_game.changeSpeed(this, capacityOverload); capacityOverload = 0; } }Substitua:
    bool Player::hasCapacity(const Item*, uint32_t) constPor:
    bool Player::hasCapacity(const Item*, uint32_t) const { return true; }Substitua:
    void Player::onThink(uint32_t interval)Por: 
    void Player::onThink(uint32_t interval) { Creature::onThink(interval); int64_t timeNow = OTSYS_TIME(); if(timeNow - lastPing >= 5000) { if (capacityOverload) { g_game.addMagicEffect(getPosition(), MAGIC_EFFECT_POFF); sendCancel("Your capacity is overloaded!"); } lastPing = timeNow; if(hasClient()) client->sendPing(); else if(g_config.getBool(ConfigManager::STOP_ATTACK_AT_EXIT)) setAttackedCreature(NULL); } if((timeNow - lastPong) >= 60000 && !getTile()->hasFlag(TILESTATE_NOLOGOUT) && !isConnecting && !pzLocked && !hasCondition(CONDITION_INFIGHT)) { if(hasClient()) client->logout(true, true); else if(g_creatureEvents->playerLogout(this, false)) g_game.removeCreature(this, true); } messageTicks += interval; if(messageTicks >= 1500) { messageTicks = 0; addMessageBuffer(); } if(lastMail && lastMail < (uint64_t)(OTSYS_TIME() + g_config.getNumber(ConfigManager::MAIL_ATTEMPTS_FADE))) mailAttempts = lastMail = 0; }Em player.hAbaixo de:

    int32_t shieldBlockCount;Adicione:
    int32_t capacityOverload;Créditos:Code by: sn3ejk - OTLand
    Tradução by: MatheusEnjoy

Informação Importante

Confirmação de Termo