Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 11/21/10 em %
-
Alissow OTs 4.11! Esta versão 4.11 foi meio apressada, só adicionamos as features novas do 8.6. Aproveitem. Créditos: Alissow Comedinha Luis Nirk TFS Team Viniply Xedegux Sobre o OT/Mapa: Principais quests: -Annihilator -Inquisition Quest -Pits of inferno -Demon Oak -Solar axe quest -HOTA -MPA quest -The Challenger Monstros: -Total monstros: 10292 -Total spawn: 5587+ Cidades: -12 Cidades -200 Houses+- Raids/Invasões: -Rat -Orshabaal -Ghazbaran -Giant spider/The old window -Ferumbras -Morgaroth Spells: -Magias editadas para balanceamento das vocações Changelog Atualização [3.4 BETA]: - Removido áreas não usadas no mapa, diminuindo o tamanho em MBs - Adicionado Anti Magebomb System - Corrigido bugs no npc addon - Adicionado sistema onde os npcs falam sozinhos (Igual como foi adicionado no global). First ;] - Adicionado Elf village em Venonh ( bem parecida com a do global ;]) - Potions desaparecem quando usadas - Corrigido sistema de Up - Corrigido sistema de Monster Counter - Nova dragon lair em Mirand Theraan (Subsolo) - Adicionado porta de level, que protege leveis baixos acessarem os demons da cidade de Flam - Ampliado deserto da cidade de Mirand Theraan - Adicionado Ilha de Goroma - Adicionado Forbidden islands - Ampliado floresta da cidade de alfon e colocado área de macacos parecida com Banuta. - Ligação de alfon com Mirand Theraan - Corrigido bugs reportados nas portas das casas - Corrigido posição dos buracos e escadas - Adicionado beds em todas as casas - Corrigido bugs em casas de yalahar - Adicionado Blue legs quest ( Koshei The Deathless global) - Corrigidas quase todas as areas de Yalahar - Teleports em Yalahar substituidos por NPCs de teleport do global - Corrigido pequenos erros no npc Capitao Coruja, e adicionado viagem à goroma - diminuido ataque do Eye of the seven - Ice rapier agora quebra - Corrigido npc Banker - Adicionado quase todos os items 8.5 - Adicionado medusa - Adicionado Todos os outfits novos - Corrigido NPC Banker (que dava dinheiro) Script By Ta4e - Corrigido Annihilator Quest - Adicionado Notice System - Adicionado novo distro, compilado por Comedinha Atualização nº 2 [3.4]: Otserv atualizado... Corrigido debugs frequentes Corrigido debugs na magia exevo pan Corrigido bugs nos npcs Roy e Firewalker Adicionados mais novos items 8.5, agora temos 90% dos items novos... Atualização 3.5 [06/08/2009]: - Cidade principal (dorion) totalmente reformada - corrigido blue legs quest - Corrigido alavancas de compra de potions - Adicionado alavancas de compra de runas - Corrigido npc Bank - Adicionado NPC King Arthas, que vende promotion - Adicionado npc Rashid, que vende items. - Arrumado Wild Growth rune - Arrumado Utani Hur - Magias reajustadas - Novo estilo de server save - Ilha de mystic reformulada (by Nirk) - Adicionado nova magia para knights "Exkordium". - Adicionado nova magia para mages (promoted) "Exura Seil". - Adicionado nova magia para mages (promoted) "Exevo Gran Frigo". (arrumar -> sem exhausted nem gasta mana) - Adicionados novos monstros. - Adicionado quest challenge (lvl 250) - Corrigido bug do Dead Cyclops - Bug aol Arrumado - Poi Modificada - Corrigido teleports ghouls yalahar - Modificada demon helmet quest, assim como o premio da quest - Corrigido nome do Hallowed axe - Corrigido bug das houses - Corrigido bug dos items andaveis Atualização Patch 3.5.1 [07/08/2009]: - Corrigido erro na inicialização do Ot - Bug das potions corrigido - Bug do aol corrigido (pelomenos pra mim) - Bug dos outfits corrigido - Corrigido erros nas escadas na ilha PvP - O monstro The Fastest Turtle agora não morre, se tornando um monstro apenas para atrapalhar - Retirada suposta quest dos 3 hellhounds e 1 minishabaal - Adicionado teleport de retorno na Ferumbras Tower - Corrigido posições da raid de The old widow - Corrigido bug das escadas nas minas de demons - Corrigido alguns bugs vistos no mapa Atualização 3.6 [10/08/2009]: - Arrumado bugs criticos - Arrumado comando !promote/!demote - Atualizado Items.xml - Bug das Beds arrumado - Modificações na cidade, como, nature e caves - Nova sala de treino - Adicionado comando !highscores Atualização 3.7! Beta [18/12/2009]: - Guildhall support (Elf) - Nova deathlist(Elf, OpenTibia SVN) - Frags funcionando (Elf) - Atualizado monstros e items (slawkens, KaczooH, Elf) - Novas talkactions: /commands, /wp, /storage, /config, /promote & /demote. (slawkens) - Novas funções lua - Novos creatureevents (slawkens, Elf) - Novos configuráveis (Elf, slawkens) - Modificado ataque de monstros existentes (especialmente outfits e velocidade) (Elf) - Monstros reorganizados & atualizados (Nem todos) (slawkens) - Melhorado sistema de banimentos (Elf) - Reescrita janela de Rule Violation (Elf) - Arrumado Stamina (Elf, OpenTibia SVN) - Casas agora são salvas nas modificações do dono (Elf) - Escadas de yalahar funcionando perfeitamente (Elf, Talaturen) - Sistema de nado & waterball completo (slawkens) - Monstros invisiveis não são mais mandandos ao client (anti bot) (OpenTibia SVN) - Anti-dash (OpenTibia SVN) - Sistema de leilão de casas, possibilidade de usar site para vender casas (house_actions table) (OpenTibia SVN, Elf) - Salvando bot actions para /logs/bots por cada player. Por exemplo, bot pode enviar mensagem com mais de 255 caracteres (slawkens) - Novos raid events- item spawning & disappearing and more (Elf) - Modificações no NPC system (Elf) - NPCs OutfitModule (Elf) - Completo 8.53 support, com wars (Elf) - Completo 8.54 support (Elf) - Arrumado NPC voices (Elf) - Players serão informados quando o Gamemaster logar ou ficar invisivel (slawkens) - Arrumado Player Deaths (Elf, slawkens) - Arrumado Abuso de PZ (slawkens) - Portas agora não ajudam players a entrar em PZ (slawkens) - Magic level formula (OpenTibia SVN, KaczooH) - Memory leaks (Elf) - Queries optimization (Talaturen) - Janelas podem ser abertas do lado de fora da casa- agora apenas GMs podem fazer isso (slawkens) - arrumado Efeitos para o Ghost (GM)- configuravel (slawkens) - Corrigido >> Ghost debugging players (OpenTibia SVN, Elf) - Corrigido erro na promotion (Elf) - Corrigido vários erros no console. (slawkens) - Corrigido Spam de magias (Elf) - Corrigido stamina premium (Elf) - Corrigido Clean (Elf) - Corrigido vários outfits (Elf) - Corrigido Ghost (Elf) - Todas as correções no OpenTibia SVN (Open Tibia SVN, Elf) - Corrigido Todos os crashes possiveis (Elf) - Npcs Corrigidos (Comedinha) - Distro Reformulado (comedinha) - Bugs de reports arrumados (Comedinha) - Novos outfits (Alissow) - Actions Arrumadas (Comedinha) - Libs trocadas (Comedinha) - Talkactions bugadas arrumadas (Comedinha) - Reforma na área Sul da cidade Dorion (Alissow) - Adicionado monstros 8.54 (Alissow) - Corrigido bug das potions infinitas (Alissow) Atualização 3.7 Patch 1 [27/12/2009]: - Rampa na frente da loja de foods retirada (Alissow) - Arrumado bugs de mapa em anknor (Alissow) - Bug na Lib dos npcs corrigido (Alissow) - Bug do acc manager arrumado! (Alissow) - Magias "Exkordium" e "Ice Storm" arrumadas (Alissow) - Monstros 8.54 funcionando (Alissow) - 2º Addon Yalaharian arrumado (Alissow) - Addons Warmaster adicionados no NPC Addoner (Alissow) - Pequenas modificações na cidade principal, Dorion, para melhora da jogabilidade (Alissow) - Comando /Deathlist retirado (Alissow) - Magic Wall Rune arrumada (Alissow) - Quest Annihilator arrumada (Alissow) - "Your depot contain x items" Arrumado (Alissow) - Addons reorganizados, mais facil aggora (Alissow) - Tempo de Red skull e Black skull reduzidos para 24 e 42 horas (Alissow) - Reduzida porcentagem de morte (Alissow) - Acrescentado chance de critical hits (Alissow) - ShowHealingDamage Adicionado (Alissow) - Várias partes do mapa remapeadas (Alissow) - NPCs para recarga de Soft boots & Firewalker boots arrumados [Não testado] (Alissow) - Comando !frags arrumado! (Alissow) - Agora é possivel fazer addons sem precisar do comando !buypremium (Alissow) Atualização 3.8 [17/01/2010]: - Arrumado bug nas escadas do Dlair (Alissow) - Todos os bugs nos NPCs arrumados (Comedinha) - Novas talkactions [a pedidos] (Comedinha) - Deathlist arrumada (Comedinha) - Novo Distro (Comedinha) - MySQL Atualizada (Comedinha) - Firewarker boots não é mais gasta quando não está usando (Comedinha) - Problemas com items no Rashid arrumados (Alissow, Comedinha, Comunidade) - O NPC Banker foi corrigido, mas achei mais seguro retira-lo, visto que ninguem usava e poderia causar outro tipo de bug - Ilha (Sim aqui é uma ilha) de Zao adicionada (Alissow, Barker) - Monstros 8.54 aperfeiçoados (Alissow, Markithu, Zkum) - Reduzido danos da magia Exkordium (Alissow) - Os npcs Dark Rodo e Rachel vendem Blank Runes (Alissow) - Magias que não hitavam anteriormente foram arrumadas (Alissow) - Comando !buypremium arrumado (Alissow) - Arena PVM - Mais conhecida como Arena Svargrond - FUNCIONANDO!!! (Alissow) - Magia LightChain Retirada (Alissow) - Adicionado um sisteminha legal no templo (Alissow) - NPC Rashid retirado (Alissow) Atualização 3.8 Minor Patch 1 [17/01/2010]: - Comando Deathlist retirado novamente, fizemos testes equivocados. Se você é uma das 16 pessoas que baixou a versão anterior (3.8) não precisa baixar esta, basta retirar o comando !deathlist e /deathlist do seu Talkactions.xml, Os comandos causam quedas no servidor. Atualização 3.9 [15/02/2010]: - Cidade principal (Dorion) reformada, novo templo, novo depot, novo porto, novos npcs :] (Alissow) - Adicionado Reputation System (Comedinha, Cybermaster) - Adicionado !bless system (Comedinha) - /info melhorado (Comedinha) - Jail System (Comedinha) - Bug chatinho nos tiles pretos arrumado. - Magic Wall Funcionando! (Alissow) - Agora você pode fazer bolos e pães :] (Comedinha, Jean, Ojani) - Adicionado sistema de casamento (Comedinha, ScorpiOOn93, Alissow) - Loot The Fastest Turtle diminuido (Alissow) - Loot e experiencia do Feromous mais baixo (Alissow) - Sistema de parceis para Dorion funcionando (Alissow) - Guildwar System (Comedinha) - Anti MageBomb System (Comedinha, Huggen) - Adicionado Anti Nuker - Esse funciona! (Comedinha) - Adicionado Map Marks, para os players novos (Alissow, Comedinha) Atualização 4.0 [15/02/2010]: - Cidade Mountain totalmente reformada (Alissow) - Montanha de Goblins de Dorion reformada (Alissow) - Demonic Castle de Dorion reformado (Alissow) - Cidade de Venonh modificada (Luis) - Distro atualizado, funcionando nos clients 8.54, 8.55, 8.56 e 8.57 (Comedinha) - Comando !bless retirado (Alissow) - O NPC Ermes não vende mais items de decoração (Alissow) - Arrumado bugs na Ferumbras Tower (Alissow) - O comando !AFK on agora mantem o player parado (Comedinha) - Arrumado bugs nas escadas da área de DeathFans (Alissow) - Comando !Deathlist funcionando! (Alissow, Doidinmapper, GT Thionix) - Sistema de REP atualizado (Comedinha) - Sistema de Polls (Comedinha) - Banco por comandos (Comedinha) - Novos comandos de addon e accounts (Comedinha) - Sistema de futebol completo! (Comedinha) - Sistema Antibot (Comedinha) - Magia Spared Hur modificada (Alissow, Orzeleagle) - Adicionado sistema de montaria (Alissow, unknown666) - Adicionado Canivetes (Alissow, Siramix) - Nova hunt Subaquatica (Luis) Atualização 4.11! [11/07/2010]: - Versão 8.6, todos os items, outfits e monstros novos (Comedinhasss, Fireelement) - Adicionados os novos monstros 8.6 (Alissow) - Bug das potions arrumado (Comedinha, Matheusmkalo, Gabriel linhares, Fireelement) - Erros das runas arrumado (Comedinha, Gabriel linhares, Matheusmkalo, fireelement) Download Servidor: 4shared Tamanho: 17,416 KB Download: http://www.4shared.com/file/ez8XKrju/860_Alissow_Ots_411.html Link protegido: http://lix.in/-8d4bc0 Scan VirusTotal: http://www.virustotal.com/pt/analisis/983abb574dbb957a75aa1fd29eb804065f775e6a0c43216aa277686d32bce22a-1263702373 Atenção - Acc do God: god/god - LEIA o tópico antes de postar qualquer coisa ou duvida - Reportem se houver algum bug - A database fica na pasta schemas+Database - Proibido o uso do nosso distro sem o nosso consenso, obrigado. Andei percebendo que há muitos mapas feitos por mim em outros servidores postados aqui no xtibia, eu não sei se vocês sabem, mas isso é PLÁGIO. Eu não sou uma pessoa egoista, tudo que eu posto aqui no XTibia é para ser compartilhado, mas desde que mantenham os devidos créditos. Será denunciado qualquer tipo de "roubo" sem minha autorização para beneficio próprio. Eu sei que vocês não se importam muito com isso, eu também não deveria me importar, mas é o tempo e a dedicação de outra pessoa que vocês estão roubando, então peço gentilmente aos que tem conhecimento desses mapas, que me apontem. Não tem graça trabalhar horas e horas e ser roubado em dois minutos.2 pontos
-
Passando Um Otserv Para 8.60
lucastiond reagiu a comedinhasss por um tópico no fórum
Fala ae galerinha do xtibia... Bom vejo que muitos programadores ainda estão em dúvida para passar o seu ot para 8.6 ... Bom então estou fazendo um tutorial... Testado em tfs 0.3.6pl1 Sources: Em House.cpp: Procure: std::string metachars = ".[{}()\\+|^{:content:}quot;; Substitua por: std::string metachars = ".[{}()\\+|^$*?"; Procure: if(metachars.find(*it) != std::string::npos) outExp += "\\"; Subistitua por: if(metachars.find(*it) != std::string::npos) outExp += ""; Procure: replaceString(outExp, "*", ".*"); replaceString(outExp, "?", ".?"); Subistitua por: replaceString(outExp, "*", ""); replaceString(outExp, "?", ""); Em resources.h: Procure: #define CLIENT_VERSION_MIN 854 #define CLIENT_VERSION_MAX 854 #define CLIENT_VERSION_STRING "Only clients with protocol 8.54 are allowed!" #define STATUS_SERVER_NAME "TheForgottenServer" #define STATUS_SERVER_VERSION "0.3.6" #define STATUS_SERVER_CODENAME "Crying Damson" #define STATUS_SERVER_PROTOCOL "8.54" Substitua por: #define CLIENT_VERSION_MIN 860 #define CLIENT_VERSION_MAX 860 #define CLIENT_VERSION_STRING "Only clients with protocol 8.60 are allowed!" #define STATUS_SERVER_NAME "TheForgottenServer" #define STATUS_SERVER_VERSION "0.3.6" #define STATUS_SERVER_CODENAME "Crying Damson" #define STATUS_SERVER_PROTOCOL "8.60" Em itemloader.h: Procure: CLIENT_VERSION_854 = 16 Substitua e adicione por: CLIENT_VERSION_854 = 16, CLIENT_VERSION_855 = 17, CLIENT_VERSION_856 = 18, CLIENT_VERSION_857 = 19, CLIENT_VERSION_860 = 20 Em items.cpp: Procure: else if(Items::dwMinorVersion != CLIENT_VERSION_854) Substitua e adicione por: else if(Items::dwMinorVersion != 19) Em protocolgame.cpp: Procure: void ProtocolGame::parseAttack(NetworkMessage& msg) { uint32_t creatureId = msg.GetU32(); addGameTask(&Game::playerSetAttackedCreature, player->getID(), creatureId); } Substitua por: void ProtocolGame::parseAttack(NetworkMessage& msg) { uint32_t creatureId = msg.GetU32(); msg.GetU32(); msg.GetU32(); addGameTask(&Game::playerSetAttackedCreature, player->getID(), creatureId); } Também procure: void ProtocolGame::sendCancelTarget() { NetworkMessage_ptr msg = getOutputBuffer(); if(msg) { TRACK_MESSAGE(msg); msg->AddByte(0xA3); } } Substitua por: void ProtocolGame::sendCancelTarget() { NetworkMessage_ptr msg = getOutputBuffer(); if(msg) { TRACK_MESSAGE(msg); msg->AddByte(0xA3); msg->AddU32(0); } } Em spells.cpp (somente em spells.cpp) Procure: g_game.transformItem(item, item->getID(), std::max((int32_t)0, ((int32_t)item->getCharges()) - 1)); Substitua por: g_game.transformItem(item, item->getID(), std::max((int32_t)0, ((int32_t)item->getItemCount()) - 1)); Em tools.cpp: Procure: {"insects", MAGIC_EFFECT_INSECTS} Substitua por: {"insects", MAGIC_EFFECT_INSECTS}, {"dragonhead", MAGIC_EFFECT_DRAGONHEAD} Em const.h: Procure: MAGIC_EFFECT_INSECTS = 0x44, //68 MAGIC_EFFECT_LAST = MAGIC_EFFECT_INSECTS, Substitua por: MAGIC_EFFECT_INSECTS = 0x44, //68, MAGIC_EFFECT_DRAGONHEAD = 0x45, //69 MAGIC_EFFECT_LAST = MAGIC_EFFECT_DRAGONHEAD, Em game.cpp: Procure: void Game::showHotkeyUseMessage(Player* player, Item* item) { int32_t subType = -1; if(item->hasSubType() && !item->hasCharges()) subType = item->getSubType(); const ItemType& it = Item::items[item->getID()]; uint32_t count = player->__getItemTypeCount(item->getID(), subType, false); char buffer[40 + it.name.size()]; if(count == 1) sprintf(buffer, "Using the last %s...", it.name.c_str()); else sprintf(buffer, "Using one of %d %s...", count, it.pluralName.c_str()); player->sendTextMessage(MSG_INFO_DESCR, buffer); } Substitua por: void Game::showHotkeyUseMessage(Player* player, Item* item) { const ItemType& it = Item::items[item->getID()]; uint32_t count = player->__getItemTypeCount(item->getID(), -1); char buffer[40 + it.name.size()]; if(count == 1) sprintf(buffer, "Using the last %s...", it.name.c_str()); else sprintf(buffer, "Using one of %d %s...", count, it.pluralName.c_str()); player->sendTextMessage(MSG_INFO_DESCR, buffer); } Em npc.cpp: Procure: li.itemId = intValue; Embaixo adicione: const ItemType& it = Item::items[li.itemId]; Também procure: if(readXMLInteger(tmpNode, "subtype", intValue)) li.subType = intValue; Embaixo adicione: else { if(it.stackable) li.subType = 1; else if(it.isFluidContainer() || it.isSplash()) li.subType = 0; } Em item.cpp: Procure: s << "("; if(!it.runeSpellName.empty()) s << "\"" << it.runeSpellName << "\", "; s << "Charges:" << subType <<")"; Embaixo adicione: if(!it.runeSpellName.empty()) s << "(\"" << it.runeSpellName << "\")"; Em luascript.cpp: Procure por: //getCreatureHealth(cid) lua_register(m_luaState, "getCreatureHealth", LuaScriptInterface::luaGetCreatureHealth); Embaixo adicione: //getItemParent(uid) lua_register(m_luaState, "getItemParent", LuaScriptInterface::luaGetItemParent); Também procure por: int32_t LuaScriptInterface::luaGetCreatureHealth(lua_State* L) { //getCreatureHealth(cid) ScriptEnviroment* env = getEnv(); if(Creature* creature = env->getCreatureByUID(popNumber(L))) lua_pushnumber(L, creature->getHealth()); else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } Substitua por: int32_t LuaScriptInterface::luaGetItemParent(lua_State* L) { //getItemParent(uid) ScriptEnviroment* env = getEnv(); Item* item = env->getItemByUID(popNumber(L)); if(!item) { errorEx(getError(LUA_ERROR_ITEM_NOT_FOUND)); lua_pushnil(L); return 1; } Item* container = item->getParent()->getItem(); pushThing(L, container, env->addThing(container)); return 1; } Em luascript.h: Procure por: static int32_t luaDoRemoveItem(lua_State* L); Embaixo adicione: static int32_t luaGetItemParent(lua_State* L); Pasta Data: Na pasta data\actions\scripts\liquids\potions.lua: Delete tudo e adicione: local config = { removeOnUse = "no", usableOnTarget = "yes", -- can be used on target? (fe. healing friend) splashable = "no", realAnimation = "no", -- make text effect visible only for players in range 1x1 healthMultiplier = 1.0, manaMultiplier = 1.0 } config.removeOnUse = getBooleanFromString(config.removeOnUse) config.usableOnTarget = getBooleanFromString(config.usableOnTarget) config.splashable = getBooleanFromString(config.splashable) config.realAnimation = getBooleanFromString(config.realAnimation) local POTIONS = { [8704] = {empty = 7636, splash = 2, health = {50, 100}}, -- small health potion [7618] = {empty = 7636, splash = 2, health = {100, 200}}, -- health potion [7588] = {empty = 7634, splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 2, health = {500, 700}, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion [8473] = {empty = 7635, splash = 2, health = {800, 1000}, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 7, mana = {70, 130}}, -- mana potion [7589] = {empty = 7634, splash = 7, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 7, mana = {200, 300}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {empty = 7635, splash = 3, health = {200, 400}, mana = {110, 190}, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion } local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) local potion = POTIONS[item.itemid] if(not potion) then return false end if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then if(not config.splashable) then return false end if(toPosition.x == CONTAINER_POSITION) then toPosition = getThingPos(item.uid) end doDecayItem(doCreateItem(2016, potion.splash, toPosition)) doTransformItem(item.uid, potion.empty) return true end if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return true end if(((potion.level and getPlayerLevel(cid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(cid)))) and not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1) return true end local health = potion.health if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1], health[2]) * config.healthMultiplier))) then return false end local mana = potion.mana if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2]) * config.manaMultiplier))) then return false end doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) if(not realAnimation) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) else for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do if(isPlayer(tid)) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid) end end end doAddCondition(cid, exhaust) local v = getItemParent(item.uid) if(not potion.empty or config.removeOnUse) then return true end if fromPosition.x == CONTAINER_POSITION then for _, slot in ipairs({CONST_SLOT_LEFT, CONST_SLOT_RIGHT, CONST_SLOT_AMMO}) do local tmp = getPlayerSlotItem(cid, slot) if tmp.itemid == potion.empty and tmp.type < 100 then doChangeTypeItem(item.uid, item.type - 1) return getPlayerFreeCap(cid) >= getItemInfo(potion.empty).weight and doChangeTypeItem(tmp.uid, tmp.type + 1) or doPlayerAddItem(cid, potion.empty, 1) end end else doChangeTypeItem(item.uid, item.type - 1) doCreateItem(potion.empty, 1, fromPosition) return true end if v.uid == 0 then if item.type == 1 and isInArray({CONST_SLOT_LEFT, CONST_SLOT_RIGHT, CONST_SLOT_AMMO}, fromPosition.y) then doTransformItem(item.uid, potion.empty) else -- serversided autostack should take care of this doPlayerAddItem(cid, potion.empty, 1) doChangeTypeItem(item.uid, item.type - 1) end return true else doChangeTypeItem(item.uid, item.type - 1) local size = getContainerSize(v.uid) for i = 0, size-1 do local tmp = getContainerItem(v.uid, i) if tmp.itemid == potion.empty and tmp.type < 100 then return getPlayerFreeCap(cid) >= getItemInfo(potion.empty).weight and doChangeTypeItem(tmp.uid, tmp.type + 1) or doPlayerAddItem(cid, potion.empty, 1) end end if getContainerSize(v.uid) < getContainerCap(v.uid) then doAddContainerItem(v.uid, potion.empty) else doPlayerAddItem(cid, potion.empty, 1) end end return true end Na pasta data\lib\000-constant.lua: Procure maleOutfits = {128, 129, 130, 131, 132, 133, 134, 143, 144, 145, 146, 151, 152, 153, 154, 251, 268, 273, 278, 289, 325, 328, 335} femaleOutfits = {136, 137, 138, 139, 140, 141, 142, 147, 148, 149, 150, 155, 156, 157, 158, 252, 269, 270, 279, 288, 324, 329, 336} Subistitua por: maleOutfits = {128, 129, 130, 131, 132, 133, 134, 143, 144, 145, 146, 151, 152, 153, 154, 251, 268, 273, 278, 289, 325, 328, 335, 367} femaleOutfits = {136, 137, 138, 139, 140, 141, 142, 147, 148, 149, 150, 155, 156, 157, 158, 252, 269, 270, 279, 288, 324, 329, 336, 366} Em Data\xml\outfit.xml: Delete tudo e Adicione <?xml version="1.0"?> <outfits> <outfit id="1"> <list gender="0" lookType="136" name="Citizen"/> <list gender="1" lookType="128" name="Citizen"/> </outfit> <outfit id="2"> <list gender="0" lookType="137" name="Hunter"/> <list gender="1" lookType="129" name="Hunter"/> </outfit> <outfit id="3"> <list gender="0" lookType="138" name="Mage"/> <list gender="1" lookType="130" name="Mage"/> </outfit> <outfit id="4"> <list gender="0" lookType="139" name="Knight"/> <list gender="1" lookType="131" name="Knight"/> </outfit> <outfit id="5" premium="yes"> <list gender="0" lookType="140" name="Noblewoman"/> <list gender="1" lookType="132" name="Nobleman"/> </outfit> <outfit id="6" premium="yes"> <list gender="0" lookType="141" name="Summoner"/> <list gender="1" lookType="133" name="Summoner"/> </outfit> <outfit id="7" premium="yes"> <list gender="0" lookType="142" name="Warrior"/> <list gender="1" lookType="134" name="Warrior"/> </outfit> <outfit id="8" premium="yes"> <list gender="0" lookType="147" name="Barbarian"/> <list gender="1" lookType="143" name="Barbarian"/> </outfit> <outfit id="9" premium="yes"> <list gender="0" lookType="148" name="Druid"/> <list gender="1" lookType="144" name="Druid"/> </outfit> <outfit id="10" premium="yes"> <list gender="0" lookType="149" name="Wizard"/> <list gender="1" lookType="145" name="Wizard"/> </outfit> <outfit id="11" premium="yes"> <list gender="0" lookType="150" name="Oriental"/> <list gender="1" lookType="146" name="Oriental"/> </outfit> <outfit id="12" premium="yes"> <list gender="0" lookType="155" name="Pirate"/> <list gender="1" lookType="151" name="Pirate"/> </outfit> <outfit id="13" premium="yes"> <list gender="0" lookType="156" name="Assassin"/> <list gender="1" lookType="152" name="Assassin"/> </outfit> <outfit id="14" premium="yes"> <list gender="0" lookType="157" name="Beggar"/> <list gender="1" lookType="153" name="Beggar"/> </outfit> <outfit id="15" premium="yes"> <list gender="0" lookType="158" name="Shaman"/> <list gender="1" lookType="154" name="Shaman"/> </outfit> <outfit id="16" premium="yes"> <list gender="0" lookType="252" name="Norsewoman"/> <list gender="1" lookType="251" name="Norseman"/> </outfit> <outfit id="17" premium="yes"> <list gender="0" lookType="269" name="Nightmare"/> <list gender="1" lookType="268" name="Nightmare"/> </outfit> <outfit id="18" premium="yes"> <list gender="0" lookType="270" name="Jester"/> <list gender="1" lookType="273" name="Jester"/> </outfit> <outfit id="19" premium="yes"> <list gender="0" lookType="279" name="Brotherhood"/> <list gender="1" lookType="278" name="Brotherhood"/> </outfit> <outfit id="20" premium="yes"> <list gender="0" lookType="288" name="Demonhunter"/> <list gender="1" lookType="289" name="Demonhunter"/> </outfit> <outfit id="21" premium="yes"> <list gender="0" lookType="324" name="Yalaharian"/> <list gender="1" lookType="325" name="Yalaharian"/> </outfit> <outfit id="22" premium="yes"> <list gender="0" lookType="336" name="Warmaster"/> <list gender="1" lookType="335" name="Warmaster"/> </outfit> <outfit id="23" default="0"> <list gender="0" lookType="329" name="Wife"/> <list gender="1" lookType="328" name="Husband"/> </outfit> <outfit id="24" premium="yes"> <list gender="0" lookType="366" name="Wayfarer"/> <list gender="1" lookType="367" name="Wayfarer"/> </outfit> </outfits> Em data\items\items.xml: Delete onde estão configurada as runas a seguinte linha (Em Todas) <attribute key="charges" value="x" /> X: Qualquer numero Arquivos para procurar e repassar: Bom gente eu não gravei como era o antigo desse então procure uma frase e repasse Em container.cpp: Procure e repasse: Cylinder* Container::__queryDestination(int32_t& index, const Thing* thing, Item** destItem, uint32_t&) { if(index == 254 /*move up*/) { index = INDEX_WHEREEVER; *destItem = NULL; Container* parentContainer = dynamic_cast<Container*>(getParent()); if(parentContainer) return parentContainer; return this; } else if(index == 255 /*add wherever*/){ index = INDEX_WHEREEVER; *destItem = NULL; } else if(index >= (int32_t)capacity()){ /* if you have a container, maximize it to show all 20 slots then you open a bag that is inside the container you will have a bag with 8 slots and a "grey" area where the other 12 slots where from the container if you drop the item on that grey area the client calculates the slot position as if the bag has 20 slots */ index = INDEX_WHEREEVER; *destItem = NULL; } const Item* item = thing->getItem(); if(item == NULL){ return this; } if(item->isStackable()){ if(item->getParent() != this){ //try find a suitable item to stack with uint32_t n = 0; for(ItemList::iterator cit = itemlist.begin(); cit != itemlist.end(); ++cit){ if((*cit) != item && (*cit)->getID() == item->getID() && (*cit)->getItemCount() < 100){ *destItem = (*cit); index = n; return this; } ++n; } } } if(index != INDEX_WHEREEVER){ Thing* destThing = __getThing(index); if(destThing) *destItem = destThing->getItem(); Cylinder* subCylinder = dynamic_cast<Cylinder*>(*destItem); if(subCylinder){ index = INDEX_WHEREEVER; *destItem = NULL; return subCylinder; } } return this; } Em item.cpp: Procure e repasse: void Item::setDefaultSubtype() { setItemCount(1); const ItemType& it = items[id]; if(it.charges) setCharges(it.charges); } Em player.cpp: Procure e repasse: Cylinder* Player::__queryDestination(int32_t& index, const Thing* thing, Item** destItem, uint32_t& flags) { if(index == 0 /*drop to capacity window*/ || index == INDEX_WHEREEVER){ *destItem = NULL; const Item* item = thing->getItem(); if(item == NULL){ return this; } //find an appropiate slot std::list<Container*> containerList; for(int i = SLOT_FIRST; i < SLOT_LAST; ++i){ Item* inventoryItem = inventory[i]; if(inventoryItem == tradeItem){ continue; } if(inventoryItem == tradeItem){ continue; } if(inventoryItem){ //try find an already existing item to stack with if(inventoryItem != item && item->isStackable() && inventoryItem->getID() == item->getID() && inventoryItem->getItemCount() < 100){ *destItem = inventoryItem; index = i; return this; } //check sub-containers else if(Container* subContainer = inventoryItem->getContainer()){ Cylinder* tmpCylinder = NULL; int32_t tmpIndex = INDEX_WHEREEVER; Item* tmpDestItem = NULL; tmpCylinder = subContainer->__queryDestination(tmpIndex, item, &tmpDestItem, flags); if(tmpCylinder && tmpCylinder->__queryAdd(tmpIndex, item, item->getItemCount(), flags) == RET_NOERROR){ index = tmpIndex; *destItem = tmpDestItem; return tmpCylinder; } containerList.push_back(subContainer); } } //empty slot else if(__queryAdd(i, item, item->getItemCount(), flags) == RET_NOERROR){ index = i; *destItem = NULL; return this; } } //check deeper in the containers for(std::list<Container*>::iterator it = containerList.begin(); it != containerList.end(); ++it){ for(ContainerIterator iit = (*it)->begin(); iit != (*it)->end(); ++iit){ if(Container* subContainer = (*iit)->getContainer()){ if(subContainer == tradeItem){ continue; } Cylinder* tmpCylinder = NULL; int32_t tmpIndex = INDEX_WHEREEVER; Item* tmpDestItem = NULL; tmpCylinder = subContainer->__queryDestination(tmpIndex, item, &tmpDestItem, flags); if(tmpCylinder && tmpCylinder->__queryAdd(tmpIndex, item, item->getItemCount(), flags) == RET_NOERROR){ index = tmpIndex; *destItem = tmpDestItem; return tmpCylinder; } } } } return this; } Thing* destThing = __getThing(index); if(destThing) *destItem = destThing->getItem(); Cylinder* subCylinder = dynamic_cast<Cylinder*>(destThing); if(subCylinder){ index = INDEX_WHEREEVER; *destItem = NULL; return subCylinder; } else return this; } Downloads: Items.otb (8.6): Clique Aqui Items.xml (8.6): Clique aqui Creditos á: darkhaos - Sources Tauku - Sources BlueSilver - Sources Doidin - Data Cykotitan (O do xtibia) - Sources/Data Eu - Data/Sources Outros - Data/Sources Tutorial atualizado: 24/09/2010 Agora Funciona 99,9% perfeito (deve estar faltando um detalhe ou outro) Recomendo fazer tudo o que está mandando para não ocorrer erros1 ponto -
[Oficial] Real Global Map hello Galerinha do Xtibia, Venho aqui desponibilizar o mapa do Doidin (8.57 Só que editado com minhas ideias e na versão 8.60 OBS: Para rodar esse servidor No seu pc voce tem que ter 2GB+ de memória ram e em bom estado. ( nao recomendo abrir o otserv com o mapa editor aberto junto). Real Global Map: - Versão do Tibia:8.60 - Mapa global 95% full. - Quase todos os NPC's do Tibia Global. - Servidor com o mínimo de bugs possíveis. - Scripts arrumados. - Entre outros... Cidades: Quest's: Oque tem de melhor que o servidor do Doidin? Quase nada pois ele copio minhas coisas x) Algumas Print Screen: para quem nao conseguiu abrir o spolier e gostaria de ver as SS link abaixo: print screen.txt Créditos: - Doohz Rush - Doidin - Alissow - DoidinMapper - RenanSdc - TFS Team - Styller Team - Alissow Team - Feragon - Viana! - Azevedo ATUALIZADO DIA 28/10/2010 Scan: Arquivo Muito grande para fazer scan. Remeres Mapa Editor 2.0 ( nao use outra versão ou vai bugar o mapa: Download Aqui! Doohz Rush Server : Download Aqui! OBS: FOI ARRUMADO TODOS OS LOOT'S DOS MONSTROS, E FOI ADICIONADO A NOVA AREA DE ZÃO (OS Draken elite etc, todos configurados perfeitamente ) Atualização 2.2; Arrumado os Teleport's dos Drakens; Editado os seal's da POI (+ parecido com global); adicionado 1 npc de runa em northern de ZAO; arrumada as Houses, e bugs de Cormaya; Retirado BUG de money; Arrumado detalhes do mapa. MSN: Doohz_rush@hotmail.com Gostou? REP+ Ali do lado :arrow:1 ponto
-
Primeiramente, o que é uma PVP Arena? * PVP Arena, é uma pequena sala onde os players poderão duelar. Assim que um deles for derrotado (Morrer, no caso), o player sera teletransportado para um local pré-escolhido, mas sem perder nenhuma EXP, SKILLs, ou mesmo sua BP ou Equips. Desenhando no MAP Editor Pegue o seu MAP EDITOR, e faça um lugar parecido com este: Entendo: Numero 1 - O lugar onde a pessoa que perdeu ou pegou o teleporte ira aparecer. Numero 2 - Local onde o 2° jogador tera que ficar para entrar na PVP Arena (Ele tera que ficar nesse title e o player 1 ira ativar a alavanca) Numero 3 - Local onde o 1° jogador tera que ficar para entrar na PVP Arena (Ele tera que ficar nesse title e o player 1 ira ativar a alavanca) Numero 4 - A alavanca onde colocara os dois players dentro da PVP Arena (Os 2 players terão quere ficar no title da seta 2 e 3, senão, nenhum nem outro irá entrar) Numero 5 - Teleporte para o player que ganhou voltar (Ele voltara para o title da seta Numero 1) --> Na imagem, o X é o local que o player sera transportado assim que a alavanca for ativada. (Ler acima, caso nao sabe como ativar a alavanca) Fazendo o Script Vá em data/actions/scripts e copie um arquivo qualquer e renomei-e para pvparena . Depois, apague tudo o que está dentro, deixando o arquivo tudo em branco, e então, cole isto: Explicando if item.uid == 7001 - É o numero da Action que voce ira colocar no MAP Editor. (Botão direito, e coloque 7001 nas duas opçoes) item.itemid == 1945 - É o ID do item que ativará a PVP Arena. No caso é uma alavanca, mas voce pode mudar. Eu não aconselharia, pois iria ficar estranho. (Imagina voce clicar numa estatua, e voce é teletransportado? XD) player1pos = {x=653, y=290, z=8, stackpos=253} - É o title que o player 1 terá que ficar para poder ativar / entrar na PVP Arena, caso tenha 2 players. player2pos = {x=667, y=290, z=8, stackpos=253} - É o title que o player 2 terá que fica para poder entrar na PVP Arena, caso tenha 2 players. arenalevel = 25 - É o level minimo requirido para entrar na PVP Arena, no caso esta 25, mas voce pode alterar. =] (Nao ponha o level inicial, pois sempre tem um noob querendo destruir a harmonia do server) XD for arenax = 655,665 do - É o tile inicial (655) até o title final (665) de "X" da PVP Arena. (Mude isso, e coloque os seus, por que senão, nao ira funcionar!) for arenay = 287,292 do - É o tile inicial (287) até o title final (292) de "Y" da PVP Arena. (Mude isso, e coloque os seus, por que senão, nao ira funcionar!) arenapos = {x=arenax, y=arenay, z=8, stackpos=253} - É o andar da PVP Arena. No caso é 8, mas, mude conforme seja o seu "Z". doPlayerSendCancel(cid,"Espere o duelo acabar.") - Ira mostrar essa mensagem caso tenha 1 ou 2 players ainda na PVP Arena. nplayer1pos = {x=655, y=290, z=8} - É para onde o player 1 sera transportado, assim que a alavanca for ativada! (Mude isso tambem, conforme o seu mapa) nplayer2pos = {x=665, y=290, z=8} - É para onde o player 2 sera transportado, assim que a alavanca for ativada! (Mude isso tambem, conforme o seu mapa) doPlayerSendTextMessage(player1.uid,18,"LUTEM!") doPlayerSendTextMessage(player2.uid,18,"LUTEM!") - É a mensagem que sera mandada, assim que os 2 players forem mandados para dentro da PVP Arena. doPlayerSendCancel(cid,"Os dois jogadores presisam ter level 25 ou mais para poder duelar.") - Essa mensagem ira aparecer, caso 1 ou os 2 players nao tiverem level suficiente para entrar (Pré-definido por voce). doPlayerSendCancel(cid,"Voce presisa de 2 players para ter um duelo.") - Caso voce tentar fazer a tentativa de só voce entrar na Arena. Voce achou meio chato fazer isso? Então, se prepara pro momento mais repetitivo do Tutorial! XD Modificando o arquivo pvparena.xml (em alguns servers é "pvparenas.xml", sem as aspas. Caso seu OT seja 7.8++, seu arquivo pvparena.xml começara mais ou menos assim: Explicando: <pvparena exitx="1039" exity="988" exitz="8" - É aonde voce irá sair, depois da PVP Arena, assim que morre / pegar o teleporte. allowsummons="yes" - Permite summons. (Yes, No) multi-combat="no" - Se eu nao me engano, é pra mais de um player entrar. Nao me recordo. =/ (Yes, no) addskilltries="no" - Se o player ira conseguir ganhar Skills na PVP Arena, é bom colocar! ^^ (Yes, no) allowfields="no" - Se podera ter fields na PVP Arena (EX: adevo mas flam, adevo mas vis...) (Yes, no) Mas se seu OT for 7.6 , ira começar assim: Explicando: <pvparena exitx="660" exity="285" exitz="8"> - É aonde voce irá sair, depois da PVP Arena, assim que morre / pegar o teleporte. Agora, voce terá que fazer Title por title da sua PVP Arena. EX: <tile x="655" y="287" z="8"/> Tera que botar o X, Y e o Z da sua pvp arena. Ira ficar mais ou menos assim (No caso da imagem): Este foi o tutorial de como fazeruma PVP Arena 100%! ^^ Funciona em 7.6+++. Créditos: Asould Acalaylaa1 ponto
-
Pessoal me desculpem se houver algum erro e tal e q e meu primeiro server, e tipo fiz ele para vcs aprimorarem ele e deixar ele 100%... [Atençao]:Quem editar as coisas e tals deixe meu nome tipo: New Freezer Yourots, By: CoOcAiNaA 1% e (seu nick) 99%... so q e claro q eu nao fiz 1% fiz mais... Nao vo colocar informaçoes pq como eu disse ali em cima eu fiz para ediçao... Na hora que liga da varios erros mais nao se preocupe nao afeta nada no jogo...pelo menos nas partes q eu vi n!! La vai o Link: Scan Download Conseguir da o Upload na SS do templo ai vai: Comentem Pessoal,Flws1 ponto
-
[ Teaser 2 ] Montarias No Tibia!
Zutun reagiu a Henrique Moura por um tópico no fórum
A CipSoft publicou uma noticia na sua página oficial sobre as montarias no mundo de Tibia. Nela, ela explica como serão as montarias e ainda lhe da dicas sobre como obter. Confira: "Ao Noroeste de Carlin, um velho se estabeleceu numa pequena cabana. Quem é ele? E o que ele faz? Alguns habitantes de Carlin afirmam ter visto ele conversando com os animais e os boatos começaram a se espalhar. Será que ele está fora de si? Ou ele é uma pessoa sábia idosa com um conhecimento raro, uma pessoa que conversa com animais, talvez? Alguém que é abençoado com a habilidade de se comunicar com animais selvagens, para domá-los de modo que você pode até ... montá-los um dia? Temos uma resposta para vocês, Tibianos! É curta, é incrível, e esperamos surpreendê-los: Montarias! Em Tibia? Sim! Após a atualização de inverno deste ano, O NPC Lothar não apenas ira recebê-lo em sua humilde cabana, ele também vai alegremente compartilhar seus conhecimentos sobre domar animais com você. Com esse conhecimento, premium time na sua conta, e um pouco de sorte, você será capaz de montar alguns animais silvestres e, em vez de à pé, explorar as terras do Tibia. Para começar, você será capaz de montar 12 criaturas diferentes, algumas delas já conhecidas, outras serão totalmente novas. A maioria dessas criaturas têm de ser domadas com um item especial de domar antes que você possa andar em cima deles. Quer saber quais os animais podem permitir que você suba em suas costas? Aqui vamos nós: Draptors: seres perigosos que às vezes aparecem para apoiar os seus parentes em Zao. Stampors: monstros com alta afinidade por terra se instalaram em um calabouço abaixo de Chaochai. Midnight Panthers: Estas criaturas místicas da noite são mestres da dissimulação. Em selvas, elas atacam de surpresa e suas garras pode ser mortais. Titanicas: crustáceos gigantescos domados. Crustáceos sente-sem em casa em regiões quentes e cavernas submarinas perto da água. Rapid Boars : Boars gostam de andar na floresta e não vão hesitar em usar suas presas afiadas para lutar contra invasores. Undead Cavebears: Bestas compostas por ossos que, por sua vez, acompanham outros mortos-vivos. Tin Lizzards e Blazebringers: Não se sabe muito sobre essas misteriosas montarias. Aventureiros Tibianos, vocês serão capazes de descobrir mais sobre eles? Racing Birds, Black Sheeps, War Bears e Widow Queens: O êxito domesticando um Terror Bird, uma Black Sheep, um bear ou uma Wailing Widow irá fornecer-lo uma grande e boa companhia para carregá-lo ao redor do mundo de Tibia. Montarias lhe concederão um aumento de velocidade, serão escolhidas como pelo sistema de outfits. Quando você tiver todas as criaturas montáveis disponíveis, você será capaz de escolher o que você quer montar através de uma janela de outfit. Além disso, tanto um atalho, bem como o menu de contexto irá permitir que você facilmente monte e desmonte. Então, agora, a grande pergunta é: Qual a criatura que você gostaria de montar? Conte-nos sobre isso na nossa lista de discussão ou pelo nosso feedback. Lá, você também pode encontrar uma pequena lista com um resumo e algumas informações adicionais sobre essa noticia. FAQ Sobre Montarias Montarias são um recurso Premium Account? Sim, somente os personagens de jogadores premium accounts serão capazes de montar certos animais. Quantas montarias estarão disponíveis? 12 diferentes montarias estarão disponíveis com a próxima atualização, Claro, mais montarias poderão ficar disponíveis no futuro, assim como existem equipamentos novos adicionados a cada atualização. Posso ter mais de uma montaria? As montarias funcionarão semelhante as outfits. Isto significa que você pode ter mais de uma montaria: dentre aqueles que você destravou você pode escolher o que você quer montar através da janela de outfits. Como posso montar / desmontar? Tanto como um atalho, bem como um menu especial irá permitir você facilmente montar e desmontar a criatura domada que você selecionou como montaria. São todas as montarias fáceis de encontrar? Algumas das novas criaturas só aparecem em pequenas invasões aleatórias. Estes ataques vão ocorrer com frequência, todavia. Como posso ter acesso as montarias? A maioria das criaturas montáveis tem que ser domadas com um item especial antes que você possa montá-las. Se você encontrar um item de domesticação, O NPC Lothar terá mais informações sobre o que a criatura pode ser domesticada com aquele item. Onde posso encontrar os itens para domar? A maioria dos itens especiais para domar será deixado como loot de criaturas diferentes em todo o Tibia. Onde posso encontrar esse NPC Lothar? Noroeste de Carlin, em uma pequena cabana. Vou ser mais rápido com uma montaria? A montaria vai conceder-lhe um impulso de velocidade. Uma vez que os valores exatos são frequentemente abertos a mudanças em função do resultado e tal, não vamos entrar em maiores detalhes sobre a velocidade a ser alterada agora. Posso andar de montaria numa protection zone? Você não será capaz de montar uma criatura em uma protection zone. Isto significa que você será automaticamente desmontado quando entrar em uma PZ. O que acontece se eu trocar a outfit? Você não será desmontado automaticamente se você mudar de outfit através do menu de outfits. No entanto, em caso de mudanças no outfit (por exemplo, a invisibility, chameleon runes ou quando entrar na água), você será automaticamente desmontado. Posso lutar enquanto montado? Sim, você será capaz de lutar contra monstros e jogadores, enquanto montado. A montaria não passa de uma outfit. Isso significa, é mais ou menos um efeito gráfico (com um aumento de velocidade) e você pode fazer praticamente tudo que você poderia fazer sem uma montaria com a exceção de entrar em uma protection zone. Apesar de montado, você pode subir escadas, descer buracos, utilizar rope ... Sim, tudo isso será possível enquanto estiver montado. Posso sumonar criaturas enquanto estiver montado? Sim, montarias não irão alterar as batalhas de qualquer forma. As montarias vão me forçar a utilizar certa outfit? Não, você pode escolher qualquer roupa que você quer montar e qualquer montaria que você quer, por exemplo, se você quiser montar um boar, você não será forçado a usar a outfit de hunter. A montaria tem um tempo de espera? Não, vai ser imediato. Ela vai aparecer simultaneamente e você vai poder montar e desmontar. Como a maioria dos itens de domesticação são loots de criaturas, seremos capazes de comprá-los de outros jogadores? Sim, todos os itens de domesticação podem ser vendidos, de forma mais montagens podem ser obtidos apenas por comprar o item. As montarias terão requisitos de niveis? Não com as montarias que vêm junto com o winter update, mas talvez outras no futuro. Estarei imune contra os efeitos de status, como por exemplo, estar bêbado? Não, você ainda pode se embriagar. Está montado é como ter um outro equipamento equipado e não vai mudar muito. Existe alguma outra vantagem, além de boa aparência e velocidade para uma montaria? Para a maioria das montarias: Não. Podemos mudar as cores das montarias? No momento não. Isso pode ser possível no futuro, mas não há planos no momento. Para domar a criatura, eu uso apenas um item sobre ele? Sim, mas nem todas tentativas serão bem sucedidas. Você também precisa de um pouco de sorte para domar um animal. A velocidade da montaria ira parar se estiver usando outro item de velocidade? Não. Se você estiver montado e por exemplo, ter Boots of Haste equipada, você vai ter o bônus de velocidade da montaria e da boots of haste. Aguardemos então ansiosos pelas mudanças! Não deixe de postar sua opinião, neste tópico! <b> Imagens e FAQ retiradas de: TibiaML.com1 ponto -
Crystal Server Venho até aqui para lhes trazer o Crystal Server (Ice Fenix) O mapa deste servidor é o Evolutions, mas estamos desenvolvendo um próprio, caso você esteja afim de usar este mapa Evolutions você pode ultilizar, mas é bom verificarem se há bugs no mapa, pois não nos preucupa-mos com este mapa, apenas com o servidor. Para reportar bugs (Link Removido) Evite flood neste tópico [ CHANGELOG Project Name Crystal Server Version: 0.2.2 Codename: Ice Fenix License: GNU GPLv3 ] [ 0.1.0 A = Tag "log" para commandos (Tryller) A = Protocolo 8.54 (SVN, Tryller) A = Items 8.54 (SVN, Tryller) A = Outfits 8.54 (SVN, Tryller) A = Novos values para weapons (sword, axe, club, rod)(Tryller) A = Comando /premium playername days para GOD's (Tryller) A = Novos commandos para players (Tryller) A = Novas configurações para account manager (Tryller) A = Novas configurações para guilds (Tryller) A = Novas configurações para o sistema de premium account (Tryller) A = Novas configurações para critical hit (Tryller) A = Novas configuraçoes para sistema de cap (Tryller) M = Talkactions setWorldType /pvp, /clean, /B, /i , /n., /bc, /closeserver, /openserver, /m, /summon (Tryller) M = MOD buypremium (Tryller) D = Talkactions em lua /mode, !pvp, !q, !uptime, /clean, !serverinfo, /b, /i, /bc, openserver & /closeserver, /s, !commands (Tryller) D Em data/MODS changender_command.xml, custommonsters.xml, customspells.xml, firstitems.xml, highscorebook.xml (Tryller) D = No distro blacklist code, file's protocolhttp (Tryller) ] [ 0.1.1 A = Todos os outfits e addons (Tryller) A = Novo npc de addons (Tryller) A = Novas funçoes para talkactions (Tryller) C = Spell spaming (TFS, Tryller) C = Recuperação da premium stamina (TFS) C = Skull yellow (TFS) C = Ghost mode (TFS) C = Todos os possiveis crashs (TFS, Tryller) C = Outfits.xml (Tryller) D = Commands.xml (Tryller) D = Preço e numero de dias premium do config.lua (Tryller) ] [ 0.1.3 A = Versão GUI do executavel (Tryller) A = Mnu "About" na versão GUI, lá você encontra informações sobre o servidor (Tryller) A = Novo sistema para verificar se o servidor está atualizado, (Tryller) C = Problema de incompatibilidade com Gesior account maker (Tryller) ] [ 0.1.3 A = Commands.xml (Tryller) A = reloads para commands.xml (Tryller) A = Warsystem adicionado nas sources (TFS, Tryller) A = Adicionado "emblem" para monstros e npcs (TFS, Tryller) M = Agora commandos e talkactions não são mais definidos por "access" e sim por "group" (Tryller) C = Arrumado problema com QuestLog (Tryller) D = "access" dos commandos e talkactions (Tryller) ] [ 0.1.8 A = 8.62 Protocolo suport (SVN) A = 8.60 Items (SVN) A = Sistema de cap configuravel no config.lua (Tryller) C = death debug (TFS) C = sqlite bug em disband guild (TFS) C = unified spells typo (TFS) C = bug que poderia ser usado para criar items (TFS) ] [ 0.1.9 A = Novas configurações para o account manager no config.lua (Tryller) A = Guild Wars funcionando perfeitamente (TFS, Tryller) A = Database atualizando automaticamente para adicionar o guild wars sem resetar o server (Tryller, TFS) A = Sistema de noticias, para ver uma noticia use !notice, e para editar vá no arquivo data/XML/notices.xml (Tryller) A = Mais items 8.6 funcionando corretamente - armors - shields - swords e mais... (Tryller) M = Loot dos monstros não cai mais bag, e já cai amontoado (Tryller) M = Legion helmet não dropa mais de rotworms (Tryller) M = Nome dos items de beholder agora é bonelord (Tryller) M = Agora os player já ganham acesso à todas as outfits apenas pagando premium (Tryller) ] [ 0.2.0 A = Adicionado sistema de VIP - 2 novas funções lua - getPlayerVipDays(cid), doPlayerAddVipDays(cid, days) - comandos do vip system /vip playerName, 1, adiciona 1 dia de VIP ao player, !vip mostra quantos dias vip o player possui (Tryller) A = Adicionado comando para GOD's adicionar premium ao player /premium playerName, 1, adiciona 1 dia de premium ao player (Tryller) A = 2 novas funções lua - getCreatureStorage() & getCreatureStorageList(cid) (TFS) A = NPC de Addon C = Corrigido bug no Global Save - em alguns casos, ele estava funcionando uma hora antes do previsto (TFS) C = Crash bug enquanto estiver usando impressão com null ou tables (TFS) C = Bug do sistema de noticias (TFS) M = Diminuiu o tempo de sleep quando o servidor inicia (de 10 segundos para 1 segundo) - Também foi alterado na SVN, então vamos ver se há alguma desvantagem (SVN) M = Aprimorado sistema de premium account (Tryller) M = data/talkactions/scripts/frags.lua (TFS) M = Mostrar a descrição do erro sqlite quando o servidor não conseguiu conexão M = data/lib/050-functions.lua - doSummonCreature function (TFS) M = Alterado as opções de reload, sem necessidade de reiniciar - experienceStages, useFragHandler, advancedFragList (TFS) ] [ 0.2.1 A = data/XML/commands.xml (Tryller) A = Todos os items 8.6 funcionando (items.xml) (SVN, Tryller) A = Versão para 8.60 (Tryller) A = Novos comandos - /addon - /bless (Tryller) C = Bugs em conexão MySql (Tryller) C = Bugs em houses (TFS, Tryller) C = Bugs em Guilds (TFS) C = Alguns erros com reloads (Tryller) C = Jewelled Backpack, antes tava key ring e não dava de usar como backpack (Tryller) C = Bug em spellbook of dark mysteries (Tryller) M = data/talkactions/talkactions.xml (Tryller) M = data/movements/scripts/citizen.lua (Tryller) M = data/items/items.xml (Tryller) M = data/movements/movements.xml (Tryller) M = data/weapowns/weapons.xml (Tryller) D = data/lib/000-constant.lua - reload types (Tryller) D = data/talkactions/scripts/reload.lua (Tryller) D = data/talkactions/scripts/commands.lua (Tryller) D = data/talkactions/scripts/mode.lua (Tryller) D = data/talkactions/scripts/pvp.lua (Tryller) S = Systema de verificação de versão do servidor (Tryller) ] [ 0.2.2 A = Novos comandos para players !exp, !mana, !r (Tryller) A = Mais items 8.6 adcionados - Corpses, Grounds (Picachu) C = Erros com sqlie (Tryller) C = Erro no war system (Tryller, Picachu) C = Eros em conexão (Tryller) C = Erros da versão 8.60 (Tryller) M = data/npc/lib - isto fará as libs de npc dos ot 8.5 compativeis com o servidor (Tryller) ] Download do Servidor (Links Removidos) Caso você goste do nosso trabalho add Rep++ O Servidor foi compilado com o war system, mas não liberei os scripts, caso queira os scripts faça uma doação no paypal para o endereço a baixo. Faça uma doação no paypal.com para ajudar nosso servidor, doe para shynzomapper@hotmail.com. acc do GOD é 222222/password Não troque a senha na database pois este servidor não usa mais password plain se você mudar lá vai dizer que a senha ta errada, você deve trocar a senha no Account Manager.1 ponto
-
function onUse(cid, item, frompos, item2, topos) doTeleportThing(cid, {x=165,y=54,z=7}) end tag: <action actionid="8010" script="NOME DO SEU SCRIPT.lua" />1 ponto
-
76 Spells Pokemon
gugudoki97 reagiu a meubk por um tópico no fórum
@GuguMasterSorc Gugu, fazendo isso vc está adc ela no serv, agora pra adc no pokemon vc tem ki configurar , não é mto trabalhoso... -- Tópico Atualizado -- -> Adicionado Tutorial para adicionar a spell no monstro.1 ponto -
Estarei dando uma olhada para ver se consigo adicionar suporte a Conditions. rsrs1 ponto
-
Sistema De Gps
cariocaenois reagiu a junior2b por um tópico no fórum
Galera, esse é o meu primeiro system! Revisado pelo @MateusMkalo. Funciona assim: Você da use no GPS (item que você terá editado a spr e o itens.xml) e ele te diz suas coordenadas (X ; Y ; Z). Digamos que você quer se encontrar com um amigo, ele te diz as coordenadas dele e você vai procurando ;D Testado em TFS 0.3.6 (8.54) Primeiro, vá ta pasta data/actions/actions.xml e coloque isso: Agora vá em data/actions/scripts e copie algum arquivo que tem lá dentro e renomeie-o para gps.lua e coloque isso dentro: Se gostou da rep+ Lembrando que é meu primeiro script! SS1 ponto -
1 ponto
-
-1 pontos
Líderes está configurado para São Paulo/GMT-03:00