Ir para conteúdo

Huske

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Huske deu reputação a Marco Oliveira em Servidor 10.90 | Windows 32/64 Bits | Versão Final   
    Depois de muitos pedidos e muita procura acabei compilando o TFS da versão 10.90, está estável. 
    As sources são originais, não houve modificações nelas, apenas os sistemas foram adicionados...
     
    Clique Aqui para fazer o download da versão 32 bits.
    Clique Aqui para fazer o download da versão 64 bits.
    Clique Aqui para fazer o download das sources.
     
    Clique Aqui para o scan de 32 bits.
    Clique Aqui para o scan de 64 bits.
    Clique Aqui para o scan das sources.
     
    Para usar o Reward Chest adicione a seguinte flag no monstro.
    <flag rewardchest="1" /  
    Você também pode definir o drop para ser único, dessa forma só a pessoa que fez o maior dano irá obter este item. exemplo:
    <item id="5903" chance="100000" uniquedrop="1" /><!-- ferumbras' hat --> Na versão final foram corrigidos os bugs das mensagens do Server Log como as de potion e loot. Seguem as screen shots..
     

     

     
     
    Ps: Eu ainda não tinha disponibilizado o download para outros fóruns.. até pq era exclusivo de um outro fórum do mesmo conteúdo....
    Se algum ADM tiver alguma duvida sobre os tópicos não autorizados por favor me mandar msg inbox.
  2. Gostei
    Huske deu reputação a Kemix em Sistema de Resete   
    MySQL:
    ALTER TABLE `players` ADD `resets` INT(11) NOT NULL DEFAULT "0";  
     
    Sources:
     
    player.h
     
    Procure por:
    uint32_t level; Adicione abaixo:
    uint32_t resets;  
     
    iologindata.cpp
     
    Procure por:
    bool IOLoginData::loadPlayerById(Player* player, uint32_t id) Substitua a parte que tenha querry por:
    query << "SELECT `id`, `name`, `account_id`, `group_id`, `sex`, `vocation`, `experience`, `level`, `resets`, `maglevel`, `health`, `healthmax`, `blessings`, `mana`, `manamax`, `manaspent`, `soul`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `lookaddons`, `posx`, `posy`, `posz`, `cap`, `lastlogin`, `lastlogout`, `lastip`, `conditions`, `skulltime`, `skull`, `town_id`, `balance`, `offlinetraining_time`, `offlinetraining_skill`, `stamina`, `skill_fist`, `skill_fist_tries`, `skill_club`, `skill_club_tries`, `skill_sword`, `skill_sword_tries`, `skill_axe`, `skill_axe_tries`, `skill_dist`, `skill_dist_tries`, `skill_shielding`, `skill_shielding_tries`, `skill_fishing`, `skill_fishing_tries` FROM `players` WHERE `id` = " << id; Procure por:
    bool IOLoginData::loadPlayerByName(Player* player, const std::string& name) Substitua a parte que tenha querry por:
    query << "SELECT `id`, `name`, `account_id`, `group_id`, `sex`, `vocation`, `experience`, `level`, `resets`, `maglevel`, `health`, `healthmax`, `blessings`, `mana`, `manamax`, `manaspent`, `soul`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `lookaddons`, `posx`, `posy`, `posz`, `cap`, `lastlogin`, `lastlogout`, `lastip`, `conditions`, `skulltime`, `skull`, `town_id`, `balance`, `offlinetraining_time`, `offlinetraining_skill`, `stamina`, `skill_fist`, `skill_fist_tries`, `skill_club`, `skill_club_tries`, `skill_sword`, `skill_sword_tries`, `skill_axe`, `skill_axe_tries`, `skill_dist`, `skill_dist_tries`, `skill_shielding`, `skill_shielding_tries`, `skill_fishing`, `skill_fishing_tries` FROM `players` WHERE `name` = " << db->escapeString(name); Procure por:
    player->level = std::max<uint32_t>(1, result->getNumber<uint32_t>("level")); Adicione abaixo:
    player->resets = result->getNumber<uint32_t>("resets"); Procure por:
    query << "`level` = " << player->level << ','; Adicione abaixo:
    query << "`resets` = " << player->resets << ", ";  
     
    player.cpp
     
    procure por:
    s << " (Level " << level << ")"; Substitua por:
    s << " You are " << vocation->getVocDescription() << ". [Resets " << resets << "]";  
     
    player.h
     
    procure por:
    uint32_t level; Abaixo adicione:
    uint32_t resets; procure por:
    uint32_t getLevel() const { return level; } Adicione abaixo:
    uint32_t getResets() const { return resets; } void setResets(int32_t amount) { resets += amount; if (resets < 0) { resets = 0; } }  
     
    luascript.cpp
     
    Procure por:
    registerMethod("Player", "getLevel", LuaScriptInterface::luaPlayerGetLevel); Abaixo adicione:
    registerMethod("Player", "getResets", LuaScriptInterface::luaPlayerGetResets); registerMethod("Player", "setResets", LuaScriptInterface::luaPlayerSetResets); Procure por:
    int LuaScriptInterface::luaPlayerGetLevel(lua_State* L) { // player:getLevel() Player* player = getUserdata<Player>(L, 1); if (player) { lua_pushnumber(L, player->getLevel()); } else { lua_pushnil(L); } return 1; } Adicione abaixo:
    int LuaScriptInterface::luaPlayerGetResets(lua_State* L) { //getResets(cid) Player* player = getUserdata<Player>(L, 1); if (player) { lua_pushnumber(L, player->getResets()); } else { lua_pushnil(L); } return 1; } int LuaScriptInterface::luaPlayerSetResets(lua_State* L) { //setResets(cid, amount) int32_t amount = getNumber<int32_t>(L, 2); Player* player = getUserdata<Player>(L, 1); if (player) { player->setResets(amount); lua_pushboolean(L, true); } else { lua_pushnil(L); } return 1; }     luascript.h   procure por: static int luaPlayerGetLevel(lua_State* L); Adicione abaixo:
    static int luaPlayerGetResets(lua_State* L); static int luaPlayerSetResets(lua_State* L);  
    - Npc para esse sistema de resete
    - Aumento de damage por esse sistema de reset

Informação Importante

Confirmação de Termo