Ir para conteúdo
  • Cadastre-se

Serpente

Membro
  • Total de itens

    58
  • Registro em

  • Última visita

  • Dias Ganhos

    2

Histórico de Curtidas

  1. Obrigado
    Serpente recebeu reputação de Dragonight em [8.10] Pacote de OTS Clássicos   
    Revirando meu computador acabei achando vários servidores antigos, decidi posta-los antes que se sumam por completo.
     
     
    Avallon Clássico 8.10
     
    Avallon Returns 8.10
     
    Vigawar 8.10
     
    Servfull 8.10 (Global)
     
    Yurots Edited by God Sih (8.10)
    Yurots 3.3 by Grafit (8.10)
     
    Yurots 1.2 Editado por mim :D (8.10)
     
     
     
    Infelizmente meu HD estragou recentemente e eu perdi mais de 30 servidores.
    Se eu achar mais algum atualizarei o tópico.
  2. Curtir
    Serpente recebeu reputação de Vodkart em [8.6] Task System 4.0! (Task system + Daily Task System)   
    Mesmo pedido, será que seria possivel além de dar rewards, algumas tasks derem storage quando completadas, para que seja possivel fazer um sistema de teleport de boss?
  3. Gostei
    Serpente deu reputação a Tricoder em Player nao perde nada quando morre.   
    creaturescripts/droploot.lua
    function onDeath(player, corpse, killer, mostDamage, unjustified, mostDamage_unjustified) if getPlayerFlagValue(player, PlayerFlag_NotGenerateLoot) or player:getVocation():getId() == VOCATION_NONE then return true end local amulet = player:getSlotItem(CONST_SLOT_NECKLACE) if amulet and amulet.itemid == ITEM_AMULETOFLOSS and not isInArray({SKULL_RED, SKULL_BLACK}, player:getSkull()) then local isPlayer = false if killer:isPlayer() then isPlayer = true else local master = killer:getMaster() if master and master:isPlayer() then isPlayer = true end end if not isPlayer or not player:hasBlessing(6) then player:removeItem(ITEM_AMULETOFLOSS, 1, -1, false) end else for i = CONST_SLOT_HEAD, CONST_SLOT_AMMO do local item = player:getSlotItem(i) if item then if isInArray({SKULL_RED, SKULL_BLACK}, player:getSkull()) or math.random(item:isContainer() and 100 or 1000) <= player:getLossPercent() then if not item:moveTo(corpse) then item:remove() end end end end end if not player:getSlotItem(CONST_SLOT_BACKPACK) then player:addItem(ITEM_BAG, 1, false, CONST_SLOT_BACKPACK) end return true endcreaturescripts.xml <event type="death" name="DropLoot" script="droploot.lua"/>loginplayer:registerEvent("DropLoot")
  4. Curtir
    Serpente deu reputação a Pedriinz em Auto Loot Sytem for TFS 1.3 + revscripts   
    Depois de milhões de anos sem programar porcaria nenhuma... Eu desenvolvi este sistema como um método de estudo. (C++)
    Este sistema foi inspirado no Auto Loot System por @psychonaut. (OTland)
    Criei o mesmo na versão mais recente do tfs. 
     
    Auto Loot System for TFS 1.3

     
    Como funciona?
    Simples, quando você mata um monstro e abre o corpo (você precisa clicar no corpo), os itens vão para o seu personagem.

     
    Instalando
    em actions.cpp, encontre:
    if (corpseOwner != 0 && !player->canOpenCorpse(corpseOwner)) { return RETURNVALUE_YOUARENOTTHEOWNER; } e mude isso para:
     
    if (corpseOwner != 0 && !player->canOpenCorpse(corpseOwner)) { return RETURNVALUE_YOUARENOTTHEOWNER; } else { if (player->canOpenCorpse(corpseOwner) && player->autoLootList.size() != 0) { if (player->getCapacity() > 100 * 100) { //Minimum of Capacity for autoloot works. (100 CAP) for (Item* item : container->getItemList()) { if (player->getItemFromAutoLoot(item->getID())) { std::ostringstream msgAutoLoot; msgAutoLoot << "You looted a " << item->getItemCount() << "x " << item->getName() << "."; g_game.internalMoveItem(container, player, CONST_SLOT_WHEREEVER, item, item->getItemCount(), nullptr); player->sendTextMessage(MESSAGE_INFO_DESCR, msgAutoLoot.str()); } } } else { player->sendTextMessage(MESSAGE_INFO_DESCR, "Sorry, you don't have enough capacity to use auto loot, so it has been disabled. (100+ capacity is required)"); } } } em player.h, abaixo de:
    std::unordered_set<uint32_t> VIPList; adicione isso:
    std::set<uint32_t> autoLootList; ainda em player.h encontre:
    bool hasLearnedInstantSpell(const std::string& spellName) const; adicione em baixo:
    void addItemToAutoLoot(uint16_t itemId); void removeItemFromAutoLoot(uint16_t itemId); bool getItemFromAutoLoot(uint16_t itemId); em player.cpp no final do arquivo, adicione:
    void Player::addItemToAutoLoot(uint16_t itemId) { autoLootList.insert(itemId); } void Player::removeItemFromAutoLoot(uint16_t itemId) { autoLootList.erase(itemId); } bool Player::getItemFromAutoLoot(const uint16_t itemId) { return autoLootList.find(itemId) != autoLootList.end(); } em luascript.cpp encontre:
    registerMethod("Player", "getFightMode", LuaScriptInterface::luaPlayerGetFightMode); e adicione em baixo:
    registerMethod("Player", "addItemToAutoLoot", LuaScriptInterface::luaPlayerAddItemToAutoLoot); registerMethod("Player", "removeItemFromAutoLoot", LuaScriptInterface::luaPlayerRemoveItemFromAutoLoot); registerMethod("Player", "getItemFromAutoLoot", LuaScriptInterface::luaPlayerGetItemFromAutoLoot); registerMethod("Player", "getAutoLootList", LuaScriptInterface::luaPlayerGetAutoLootList); ainda em luascript.cpp encontre essa função:
    int LuaScriptInterface::luaPlayerGetFightMode(lua_State* L) { // player:getFightMode() Player* player = getUserdata<Player>(L, 1); if (player) { lua_pushnumber(L, player->fightMode); } else { lua_pushnil(L); } return 1; }  
    abaixo dela, adicione:
    int LuaScriptInterface::luaPlayerAddItemToAutoLoot(lua_State* L) { // player:addItemToAutoLoot(itemId) Player* player = getUserdata<Player>(L, 1); if (!player) { lua_pushnil(L); return 1; } uint16_t itemId; if (isNumber(L, 2)) { itemId = getNumber<uint16_t>(L, 2); } else { itemId = Item::items.getItemIdByName(getString(L, 2)); if (itemId == 0) { lua_pushnil(L); return 1; } } player->addItemToAutoLoot(itemId); pushBoolean(L, true); return 1; } int LuaScriptInterface::luaPlayerRemoveItemFromAutoLoot(lua_State* L) { // player:removeItemFromAutoLoot(itemId) Player* player = getUserdata<Player>(L, 1); if (!player) { lua_pushnil(L); return 1; } uint16_t itemId; if (isNumber(L, 2)) { itemId = getNumber<uint16_t>(L, 2); } else { itemId = Item::items.getItemIdByName(getString(L, 2)); if (itemId == 0) { lua_pushnil(L); return 1; } } player->removeItemFromAutoLoot(itemId); pushBoolean(L, true); return 1; } int LuaScriptInterface::luaPlayerGetItemFromAutoLoot(lua_State* L) { // player:getItemFromAutoLoot(itemId) Player* player = getUserdata<Player>(L, 1); if (!player) { lua_pushnil(L); return 1; } uint16_t itemId; if (isNumber(L, 2)) { itemId = getNumber<uint16_t>(L, 2); } else { itemId = Item::items.getItemIdByName(getString(L, 2)); if (itemId == 0) { lua_pushnil(L); return 1; } } if (player->getItemFromAutoLoot(itemId)) { pushBoolean(L, true); } else { pushBoolean(L, false); } return 1; } int LuaScriptInterface::luaPlayerGetAutoLootList(lua_State* L) { // player:getAutoLootList() Player* player = getUserdata<Player>(L, 1); if (player) { std::set<uint32_t> value = player->autoLootList; if (value.size() == 0) { lua_pushnil(L); return 1; } int index = 0; lua_createtable(L, value.size(), 0); for(auto i : value) { lua_pushnumber(L, i); lua_rawseti(L, -2, ++index); } } else { lua_pushnil(L); } return 1; }  
    em luascript.h encontre:
    static int luaPlayerGetFightMode(lua_State* L);  
    adicione a baixo:
    static int luaPlayerAddItemToAutoLoot(lua_State* L); static int luaPlayerRemoveItemFromAutoLoot(lua_State* L); static int luaPlayerGetItemFromAutoLoot(lua_State* L); static int luaPlayerGetAutoLootList(lua_State* L);  
    em iologindata.cpp encontre:
    //load storage map query.str(std::string()); query << "SELECT `key`, `value` FROM `player_storage` WHERE `player_id` = " << player->getGUID(); if ((result = db.storeQuery(query.str()))) { do { player->addStorageValue(result->getNumber<uint32_t>("key"), result->getNumber<int32_t>("value"), true); } while (result->next()); }  
    e adicione em baixo:
    query.str(std::string()); query << "SELECT `autoloot_list` FROM `player_autoloot` WHERE `player_id` = " << player->getGUID(); if ((result = db.storeQuery(query.str()))) { unsigned long lootlistSize; const char* autolootlist = result->getStream("autoloot_list", lootlistSize); PropStream propStreamList; propStreamList.init(autolootlist, lootlistSize); int16_t value; int16_t item = propStreamList.read<int16_t>(value); while (item) { player->addItemToAutoLoot(value); item = propStreamList.read<int16_t>(value); } }  
    acima de:
    //save inbox items adicione:
    query.str(std::string()); query << "DELETE FROM `player_autoloot` WHERE `player_id` = " << player->getGUID(); if (!db.executeQuery(query.str())) { return false; } PropWriteStream propWriteStreamAutoLoot; for (auto i : player->autoLootList) { propWriteStreamAutoLoot.write<uint16_t>(i); } size_t lootlistSize; const char* autolootlist = propWriteStreamAutoLoot.getStream(lootlistSize); query.str(std::string()); DBInsert autolootQuery("INSERT INTO `player_autoloot` (`player_id`, `autoloot_list`) VALUES "); query << player->getGUID() << ',' << db.escapeBlob(autolootlist, lootlistSize); if (!autolootQuery.addRow(query)) { return false; } if (!autolootQuery.execute()) { return false; }  
    em sua database, execute esta query
    CREATE TABLE player_autoloot ( id int NOT NULL AUTO_INCREMENT, player_id int NOT NULL, autoloot_list blob, PRIMARY KEY (id) );  
    agora vá em data/scripts/talkactions e crie esse arquivo LUA
     
    autoloot.lua
    local talk = TalkAction("!autoloot") function talk.onSay(player, words, param) local i = player:getAutoLootList() local cache = "Check your loot list: " local split = param:split(",") local action = split[1] if param == "list" then if i then for _, item in ipairs(i) do cache = cache .. (ItemType(item)):getName() .. ", " end else player:sendTextMessage(MESSAGE_INFO_DESCR, "Your list is empty! Add some item and try again.") return false end player:sendTextMessage(MESSAGE_INFO_DESCR, cache:sub(1, -3)) return false end if action == "add" then local item = split[2]:gsub("%s+", "", 1) local itemType = ItemType(item) if itemType:getId() == 0 then itemType = ItemType(tonumber(item)) if itemType:getName() == '' then player:sendCancelMessage("There is no item with that id or name.") return false end end if player:getItemFromAutoLoot(itemType:getId()) then player:sendCancelMessage("You're already autolooting this item.") return false end player:addItemToAutoLoot(itemType:getId()) player:sendTextMessage(MESSAGE_INFO_DESCR, "You're now auto looting " .. itemType:getName()) return false elseif action == "remove" then local item = split[2]:gsub("%s+", "", 1) local itemType = ItemType(item) if itemType:getId() == 0 then itemType = ItemType(tonumber(item)) if itemType:getName() == '' then player:sendCancelMessage("There is no item with that id or name.") return false end end if player:getItemFromAutoLoot(itemType:getId()) then player:removeItemFromAutoLoot(itemType:getId()) player:sendTextMessage(MESSAGE_INFO_DESCR, "You removed the " .. itemType:getName() .. " from your loot list.") else player:sendCancelMessage("This item does not exist in your loot list.") end return false end player:sendTextMessage(MESSAGE_EVENT_ORANGE, "Auto Loot commands (items are automatically moved to your bp if you open monster corpse):"..'\n'.."!addloot add, nameItem - add item to auto loot by name"..'\n'.."!autoloot remove, itemName - remove item from auto loot by name"..'\n'.."!autoloot list - list your current auto loot items") return false end talk:separator(" ") talk:register()  
     
    É isso, espero que gostem do sisteminha
    Se você encontrar algum bug, deixe-me saber.

    Falta fazer:
    Optimizar a mensagem de loot.
    Adicionar ModalWindow.
     
    Cheers~
     

  5. Obrigado
    Serpente recebeu reputação de danielcasco em [8.10] Pacote de OTS Clássicos   
    Revirando meu computador acabei achando vários servidores antigos, decidi posta-los antes que se sumam por completo.
     
     
    Avallon Clássico 8.10
     
    Avallon Returns 8.10
     
    Vigawar 8.10
     
    Servfull 8.10 (Global)
     
    Yurots Edited by God Sih (8.10)
    Yurots 3.3 by Grafit (8.10)
     
    Yurots 1.2 Editado por mim :D (8.10)
     
     
     
    Infelizmente meu HD estragou recentemente e eu perdi mais de 30 servidores.
    Se eu achar mais algum atualizarei o tópico.
  6. Obrigado
    Serpente recebeu reputação de danielcasco em [8.10] Yurots 1.2 by GOD Bon em XML   
    Revirando meu computador acabei achando vários servidores antigos, decidi posta-los antes que se sumam por completo.
     
     
    Yurots 1.2 Original em XML versão 8.10
    Prints: 
     
     
     
    Downloads:
     
    SCAN:
     
    Observações:
     
  7. Curtir
    Serpente deu reputação a WooX em Remover o limite de velocidade   
    Nem esquenta, foi só um mal entendido mesmo. Caramba, estou realmente impressionado que também funcione desta maneira no cliente da Cip, consegue repetir o teste com ambos com 1.5k de speed?
  8. Obrigado
    Serpente recebeu reputação de jakons em Problemas de invasão no Gesior 2012   
    Pode ser que ele tenha acesso a várias databases de outros servidores. Verifique se você não usou o mesmo login e senha do seu god em outros servidores.
    O Próprio site avisa quando a conta existe, então ele verifica account por account até achar uma que existe usando as databases que ele tem, e tenta as senhas. Ultimamente ta bem comum fazer isso. Pra economizar tempo o pessoal usa as mesmas contas em todos os servidores e dá nisso ai
  9. Curtir
    Serpente recebeu reputação de WooX em [8.10] OTX 2.9   
    [8.10] Yurots OTX
     
     
    Minha versão favorita do tibia sempre foi a 8.10, e infelizmente não existem servidores decentes que não usem a antiga evolutions e XML para essa versão.
    Então eu mesmo decidi criar um a partir da base OTX 2.9 convertida da versão 8.0 para 8.10
     
     
    [Features]
    Suporte total a SQLite e MySQL
    Account Manager igual ao 8.60
    Sistema de Encantamento de Armas
    Hit Critico [Pode ser desativado]
    Sistema de Bank
    Potions Totalmente Funcionais.
    Spells com danos idênticos ao 8.10
    Runas Idênticas ao 8.10
    Rook System
    Black Skull
    Todos os itens do 8.10
    Bless [Pode ser desativado]
     
     
    [Mapa]
    Yurots 8.10 do Bon apenas melhorado para manter o mais fiel ao original.
    Anihilator, Poi e todas as quests funcionando.
     
     
    [Fotos]
     
     
     
    [Bugs Encontrados]
    Black Skull não pode ser desativado ou todos ficarão automaticamente como black skull (A solução temporária é aumentar o frag para black skull para um valor alto)
    [IMPORTANTE] As 8 rochas [ID: 3651, 3656, 3653, 3648, 3650, 3652, 3649, 3654] causam debug ao passar em cima, não coloquem elas no mapa.
    A causa disso é que não existe nenhum items.otb 8.10 compatível, fui obrigado a improvisar com um 8.11 e esse foi o único problema encontrado. Infelizmente isso não pode ser resolvido
     
     
    [Downloads]
     
     
     
  10. Curtir
    Serpente recebeu reputação de celohere em [8.10] OTX 2.9   
    [8.10] Yurots OTX
     
     
    Minha versão favorita do tibia sempre foi a 8.10, e infelizmente não existem servidores decentes que não usem a antiga evolutions e XML para essa versão.
    Então eu mesmo decidi criar um a partir da base OTX 2.9 convertida da versão 8.0 para 8.10
     
     
    [Features]
    Suporte total a SQLite e MySQL
    Account Manager igual ao 8.60
    Sistema de Encantamento de Armas
    Hit Critico [Pode ser desativado]
    Sistema de Bank
    Potions Totalmente Funcionais.
    Spells com danos idênticos ao 8.10
    Runas Idênticas ao 8.10
    Rook System
    Black Skull
    Todos os itens do 8.10
    Bless [Pode ser desativado]
     
     
    [Mapa]
    Yurots 8.10 do Bon apenas melhorado para manter o mais fiel ao original.
    Anihilator, Poi e todas as quests funcionando.
     
     
    [Fotos]
     
     
     
    [Bugs Encontrados]
    Black Skull não pode ser desativado ou todos ficarão automaticamente como black skull (A solução temporária é aumentar o frag para black skull para um valor alto)
    [IMPORTANTE] As 8 rochas [ID: 3651, 3656, 3653, 3648, 3650, 3652, 3649, 3654] causam debug ao passar em cima, não coloquem elas no mapa.
    A causa disso é que não existe nenhum items.otb 8.10 compatível, fui obrigado a improvisar com um 8.11 e esse foi o único problema encontrado. Infelizmente isso não pode ser resolvido
     
     
    [Downloads]
     
     
     
  11. Curtir
    Serpente recebeu reputação de DdJs em [8.10] OTX 2.9   
    [8.10] Yurots OTX
     
     
    Minha versão favorita do tibia sempre foi a 8.10, e infelizmente não existem servidores decentes que não usem a antiga evolutions e XML para essa versão.
    Então eu mesmo decidi criar um a partir da base OTX 2.9 convertida da versão 8.0 para 8.10
     
     
    [Features]
    Suporte total a SQLite e MySQL
    Account Manager igual ao 8.60
    Sistema de Encantamento de Armas
    Hit Critico [Pode ser desativado]
    Sistema de Bank
    Potions Totalmente Funcionais.
    Spells com danos idênticos ao 8.10
    Runas Idênticas ao 8.10
    Rook System
    Black Skull
    Todos os itens do 8.10
    Bless [Pode ser desativado]
     
     
    [Mapa]
    Yurots 8.10 do Bon apenas melhorado para manter o mais fiel ao original.
    Anihilator, Poi e todas as quests funcionando.
     
     
    [Fotos]
     
     
     
    [Bugs Encontrados]
    Black Skull não pode ser desativado ou todos ficarão automaticamente como black skull (A solução temporária é aumentar o frag para black skull para um valor alto)
    [IMPORTANTE] As 8 rochas [ID: 3651, 3656, 3653, 3648, 3650, 3652, 3649, 3654] causam debug ao passar em cima, não coloquem elas no mapa.
    A causa disso é que não existe nenhum items.otb 8.10 compatível, fui obrigado a improvisar com um 8.11 e esse foi o único problema encontrado. Infelizmente isso não pode ser resolvido
     
     
    [Downloads]
     
     
     
  12. Curtir
    Serpente deu reputação a Mathias Kenfi em (Resolvido)Diminuir o Exhaust das runas   
    -- Item usage timeBetweenActions = 100 timeBetweenExActions = 1000 -- Pra diminui exhausted só modificar aqui mesmo timeBetweenCustomActions = 500  
  13. Curtir
    Serpente deu reputação a Mathias Kenfi em (Resolvido)Editar o dano das magias   
    setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, mglvl, min, lvl, max)
     
    Para facilitar, se você colocar assim: 
    setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, mglvl, min, lvl, max) 
     
    Ele irá causar 100% do seu Level + uns quebrados do seu Magic Level. As outras fórmulas eu não sei como funciona, mas são valores muito quebrados e nunca são exatos, tanto que mesmo nessa formula, para checar o Level Atual de forma correta, teria que ser um numero tipo 4.2222123, então eu recomendo você usar o onGetFormulaValues(cid, level, maglevel)
     
    function onGetFormulaValues(cid, level, maglevel)
    return -(level + maglevel), -(level + maglevel)
    end
    setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
     
    Neste caso ele irá retornar seu Level+MagicLevel.
    Você também pode com SKILL V
     
    function onGetFormulaValues(cid, level, skill)
    return -(level + skill), -(level + skill)
    end
    setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
     
     
     
     
     
     
  14. Curtir
    Serpente recebeu reputação de celohere em [8.10] Pacote de OTS Clássicos   
    Revirando meu computador acabei achando vários servidores antigos, decidi posta-los antes que se sumam por completo.
     
     
    Avallon Clássico 8.10
     
    Avallon Returns 8.10
     
    Vigawar 8.10
     
    Servfull 8.10 (Global)
     
    Yurots Edited by God Sih (8.10)
    Yurots 3.3 by Grafit (8.10)
     
    Yurots 1.2 Editado por mim :D (8.10)
     
     
     
    Infelizmente meu HD estragou recentemente e eu perdi mais de 30 servidores.
    Se eu achar mais algum atualizarei o tópico.
  15. Gostei
    Serpente recebeu reputação de mullino em [8.10] Yurots 1.2 by GOD Bon em XML   
    Revirando meu computador acabei achando vários servidores antigos, decidi posta-los antes que se sumam por completo.
     
     
    Yurots 1.2 Original em XML versão 8.10
    Prints: 
     
     
     
    Downloads:
     
    SCAN:
     
    Observações:
     
  16. Obrigado
    Serpente deu reputação a Dwarfer em [Pedido] NPC que vende premium account e promotion   
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local npcTopic = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function onPlayerEndTrade(cid) npcHandler:onPlayerEndTrade(cid) end function onPlayerCloseChannel(cid) npcHandler:onPlayerCloseChannel(cid) end local premium = {days = 30, cost = 10000} -- days = dias de premium comprados, cost = valor em gold coins function creatureSayCallback(cid, type, msg) local talkUser, msg = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid, string.lower(msg) if not npcHandler:isFocused(cid) then return false end if msgcontains(msg, "premium") then if not isPremium(cid) then npcHandler:say("Do you want to buy ".. premium.days .." premium days for ".. premium.cost .. " gold coins?", cid) npcTopic[talkUser] = 1 else npcHandler:say("You are already a premium player.", cid) npcTopic[talkUser] = 0 end elseif msgcontains(msg, "yes") and npcTopic[talkUser] == 1 then if doPlayerRemoveMoney(cid, premium.cost) then npcHandler:say("Here you go, as I promised.", cid) doPlayerAddPremiumDays(cid, premium.days) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_GREEN) else npcHandler:say("You do not have ".. premium.cost .." gold coins.", cid) end npcTopic[talkUser] = 0 elseif msgcontains(msg, "no") and npcTopic[talkUser] == 1 then npcHandler:say("No problem. Maybe on next time.", cid) npcTopic[talkUser] = 0 end return true end local node1 = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you for 20000 gold coins. Do you want me to promote you?'}) node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 20000, level = 20, promotion = 1, text = 'Congratulations! You are now promoted.'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true}) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:setMessage(MESSAGE_GREET, "Welcome, |PLAYERNAME|. Become a premium or a promoted player here!") npcHandler:setMessage(MESSAGE_FAREWELL, "Who is next?") npcHandler:setMessage(MESSAGE_WALKAWAY, "Who is next?") npcHandler:addModule(FocusModule:new())  
  17. Curtir
    Serpente deu reputação a DdJs em Pedido de NPC que vende runas com charges   
    Acredito que você teria que deixar elas stackaveis lá pelas sources, já que nessa versão não havia isso. 
  18. Curtir
    Serpente recebeu reputação de Seilahmanomano em [8.10] Pacote de OTS Clássicos   
    Revirando meu computador acabei achando vários servidores antigos, decidi posta-los antes que se sumam por completo.
     
     
    Avallon Clássico 8.10
     
    Avallon Returns 8.10
     
    Vigawar 8.10
     
    Servfull 8.10 (Global)
     
    Yurots Edited by God Sih (8.10)
    Yurots 3.3 by Grafit (8.10)
     
    Yurots 1.2 Editado por mim :D (8.10)
     
     
     
    Infelizmente meu HD estragou recentemente e eu perdi mais de 30 servidores.
    Se eu achar mais algum atualizarei o tópico.
  19. Obrigado
    Serpente recebeu reputação de Seilahmanomano em [8.10] Yurots 1.2 by GOD Bon em XML   
    Revirando meu computador acabei achando vários servidores antigos, decidi posta-los antes que se sumam por completo.
     
     
    Yurots 1.2 Original em XML versão 8.10
    Prints: 
     
     
     
    Downloads:
     
    SCAN:
     
    Observações:
     
  20. Curtir
    Serpente recebeu reputação de dimiot em [8.10] Pacote de OTS Clássicos   
    Revirando meu computador acabei achando vários servidores antigos, decidi posta-los antes que se sumam por completo.
     
     
    Avallon Clássico 8.10
     
    Avallon Returns 8.10
     
    Vigawar 8.10
     
    Servfull 8.10 (Global)
     
    Yurots Edited by God Sih (8.10)
    Yurots 3.3 by Grafit (8.10)
     
    Yurots 1.2 Editado por mim :D (8.10)
     
     
     
    Infelizmente meu HD estragou recentemente e eu perdi mais de 30 servidores.
    Se eu achar mais algum atualizarei o tópico.
  21. Curtir
    Serpente deu reputação a Leohige em The Ruby Server - Base Pokémon   
    The Ruby Server - Base Pokémon
    Ao olhar as diversas bases que podem ser encontradas aqui no fórum e em outros locais da internet, pude ver que todas elas carecem de qualidade. Todas estas bases são feitas utilizando gambiarras para diversos sistemas funcionarem, e com isso vários problemas surgem, como de sistemas que não funcionam direito, e o mais importante, com um desempenho extremamente baixo, gerando apenas servidores instáveis. Com isso eu decidi que iria começar a desenvolver uma base para servidores relacionados a Pokémon, com dois objetivos. Um dos objetivos é ganhar mais conhecimento em cima da linguagem de programação C++, o outro objetivo é disponibilizar uma base completamente estável, funcional e de fácil configuração e desenvolvimento para servidores de Pokémon, para que mais ótimos trabalhos possam surgir. Este projeto também irá incluir um cliente próprio e estável, junto com um website.
     
    Também planejo criar uma espécie de Wiki para o servidor, cliente e website, com o objetivo de auxiliar quem for desenvolver em cima deste servidor, e também aqueles que pouco entendem do assunto relacionando a criação de escripts, Pokémon, spells e etc.
     
    Alguns poucos sistemas foram implementados no servidor por ora. Sistemas como o de catch e de goback serão implementados mais para frente, quando outros sistemas forem completamente implementados, como o sistema de configuração de Pokeballs, criação de Pokémons e sistema de shinys. Estou visando a qualidade do servidor como um todo, por isso algumas coisas irão demorar para aparecer.

    O sistema de Pokeballs e de criação de Pokémon já está bem encaminhado, e um sistema de gêneros também já está pronto com fácil configuração, onde o spawn destes Pokémon com sexo será por % igual aos jogos da franquia. Um sistema de surgimento de Ditto aleatório já está praticamente implementado, onde um Pokémon aleatório pode ser um Ditto disfarçado.
     
    [+] Informações do Servidor
    Baseado em: TFS 1.3
    Protocolo: 10.98
     
    [+] Informações do Client
    Baseado em: otclient 0.6.6

    [+] Informações do Website
    Baseado em: nenhum
    Desenvolvido em: PHP (por ser o mais comum na comunidade)
     
    Como contribuir?
    Eu gostaria muito que a comunidade ajudasse no desenvolvimento deste projeto, pois o mesmo será disponibilizado para todos, e para contribuir não necessariamente é preciso entender de programação. Você pode também ajudar testando e reportando os bugs encontrados no repositório do projeto no GitHub, assim como com sugestões e ideias de mudança/implementação no servidor através do próprio repositório ou através do Discord, ou ajudar na criação de guias para o website do projeto.
     
    Links
     
    [+] RubyServer - GitHub
    https://github.com/rubyserver/rubyserver
     
    [+] RubyClient - GitHub
    https://github.com/rubyserver/rubyclient
     
    [+] RubyServer - Website
    https://rubyserver.github.io/rubyserver/
     
    [+] RubyServer - Discord
    https://discord.gg/XTrZGpy
     
    Algumas Imagens
     
     
     
     
     
  22. Gostei
    Serpente recebeu reputação de nicolas schroeder ve em [Criar servidor] Ajuda com base.   
    Existem vários distros atualmente, cada um tem seu ponto forte e seu ponto fraco, vou listar alguns que considero os melhores:
     
    TFS 1.3: https://github.com/otland/forgottenserver (Mais estável e mais popular dentre todos, versão 10.98)
    TFS 0.3.6 (Crying Damson): https://github.com/peonso/forgottenserver036pl1 (Versão mais antiga do TFS, contém algumas features que foram removidas posteriormente como account manager,etc, versão 8.54)
    OTX3 (Baseado no TFS 1.3): https://github.com/mattyx14/otxserver/tree/otxserv3 (Distro com uma comunidade bastante ativa, possui mais recursos que o tfs 1.3, versão: 10.11/7.7/8.5 e 8.6)
    OTX2 (Baseado em TFS 0.3.7): https://github.com/mattyx14/otxserver/tree/otxserv2 (versões: 10.0/7.4/8.1/8.5/8.6 e 8.7)
     
    É possível fazer um downgrade de distro para alguma versão anterior, não é uma tarefa muito dificil, só dispensiosa, mais vale a pena.
     
    No seu caso eu recomendaria o distro tfs 1.2 por ser muito estável e um dos mais atuais:
    TFS 1.2 para versão 8.60: https://github.com/ninjalulz/forgottenserver/tree/8.6
     
    boa sorte amigo!
     
  23. Curtir
    Serpente recebeu reputação de Leolinduxo em [Criar servidor] Ajuda com base.   
    Existem vários distros atualmente, cada um tem seu ponto forte e seu ponto fraco, vou listar alguns que considero os melhores:
     
    TFS 1.3: https://github.com/otland/forgottenserver (Mais estável e mais popular dentre todos, versão 10.98)
    TFS 0.3.6 (Crying Damson): https://github.com/peonso/forgottenserver036pl1 (Versão mais antiga do TFS, contém algumas features que foram removidas posteriormente como account manager,etc, versão 8.54)
    OTX3 (Baseado no TFS 1.3): https://github.com/mattyx14/otxserver/tree/otxserv3 (Distro com uma comunidade bastante ativa, possui mais recursos que o tfs 1.3, versão: 10.11/7.7/8.5 e 8.6)
    OTX2 (Baseado em TFS 0.3.7): https://github.com/mattyx14/otxserver/tree/otxserv2 (versões: 10.0/7.4/8.1/8.5/8.6 e 8.7)
     
    É possível fazer um downgrade de distro para alguma versão anterior, não é uma tarefa muito dificil, só dispensiosa, mais vale a pena.
     
    No seu caso eu recomendaria o distro tfs 1.2 por ser muito estável e um dos mais atuais:
    TFS 1.2 para versão 8.60: https://github.com/ninjalulz/forgottenserver/tree/8.6
     
    boa sorte amigo!
     
  24. Curtir
    Serpente recebeu reputação de AdmAlexandre em [8.10] Pacote de OTS Clássicos   
    Revirando meu computador acabei achando vários servidores antigos, decidi posta-los antes que se sumam por completo.
     
     
    Avallon Clássico 8.10
     
    Avallon Returns 8.10
     
    Vigawar 8.10
     
    Servfull 8.10 (Global)
     
    Yurots Edited by God Sih (8.10)
    Yurots 3.3 by Grafit (8.10)
     
    Yurots 1.2 Editado por mim :D (8.10)
     
     
     
    Infelizmente meu HD estragou recentemente e eu perdi mais de 30 servidores.
    Se eu achar mais algum atualizarei o tópico.
  25. Curtir
    Serpente recebeu reputação de KotZletY em [8.10] Pacote de OTS Clássicos   
    Revirando meu computador acabei achando vários servidores antigos, decidi posta-los antes que se sumam por completo.
     
     
    Avallon Clássico 8.10
     
    Avallon Returns 8.10
     
    Vigawar 8.10
     
    Servfull 8.10 (Global)
     
    Yurots Edited by God Sih (8.10)
    Yurots 3.3 by Grafit (8.10)
     
    Yurots 1.2 Editado por mim :D (8.10)
     
     
     
    Infelizmente meu HD estragou recentemente e eu perdi mais de 30 servidores.
    Se eu achar mais algum atualizarei o tópico.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo