Jump to content
Close

Search the Community

Showing results for tags '7.4'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Community
    • Rules
    • Portal
    • Resources
    • Commerce
    • Clubs
  • OTServers
    • Discussion
    • Support
    • Tutorial
    • Download
    • Code Development
    • Contests and Events
    • Form Team
    • Advertise your Server
  • Tibia Bots
    • Discussion
  • League of Legends's Geral
  • League of Legends's Suporte
  • Jogos Gerais's Geral
  • Nto New Season's Tópicos
  • Fakes's Fakes
  • Tibia's Geral
  • Tibia's Notícias
  • Tibia's Media
  • Tibia's Life Thread
  • Gráficos's Geral
  • Gráficos's Tutoriais
  • Gráficos's Recursos
  • Gráficos's Aprendizagem & Recursos
  • Gráficos's Galeria
  • Gráficos's Duelos & Batalhas
  • Gráficos's Suporte
  • Desenvolvimento e Programação's Geral
  • Desenvolvimento e Programação's Tutoriais
  • Desenvolvimento e Programação's Trabalhos
  • Desenvolvimento e Programação's Suporte
  • Computação's Geral
  • Computação's Dicas e Tutoriais
  • Computação's Suporte
  • Roleplaying's Roleplaying
  • Playground's (Off-topic)
  • Divulgações's Tópicos
  • Academia de Mapping's Geral
  • Academia de Mapping's Tutoriais

Calendars

  • Official Calendar
  • OTServs Calendar
  • Several Calendars

Product Groups

  • Advertisements in Top
  • Advertisements In Signatures
  • Advertisements in Topics
  • Others Advertisements

Categories

  • Sales Section
    • Scripting Sales
    • Codes Sales
    • Mapping Sales
    • Websites Sales
    • Design/Sprites Sales
    • Bots Sales
  • Look Jobs
  • Looking for Freelancers
  • Team Formation

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Localization


My character


Favorite OTServ


Bot preferred


Interests

Found 75 results

  1. GLOBAL 100% 7.40 >> Information: -7.4 Features: No Protection zone nos barcos e tapetes. - Spells, vocations e spells formuled baseada em Tibia 7.4. nao tem Hotkleys! -War System. -Cast System. -Anti Clone. -Task System (Mais de 50) -Party Sharing Experience. You can share experience in-party with your friends, and receive 10% bonus experience when actived (!share). -Nao tem runas no Shop. somente conjurada. -Editado, conjura runas 2x mais que real tibia (ex. Sd 2x). -Fast Soul Regen -Conjure Runes na backpack. ! -Nao tem Wands/Rods, Burst Arrowns baseado em magic level. >> Vocation Features: -Paladins conjure mais ammunition. (ex. exevo con = 15 arrows) -Mages conjure mais runes. (ex. adori vita vis = 2 SDs) -Damage melhorado em 10% para Knights and Paladins. -Attack speed melhorado em 10% for all vocations. >> NPCs: -Nao vende runes. -Pode comprar bp de MF (pode remover se quizer): "buy bp mf" -Pode comprar bp de LF (pode remover se quizer): "buy bp lf" -Djinns in ankrahmun (Precisa de Quest) -Eremo sells amulet of loss. >> Game Features: -Bank system. -Auto-stack items -Full HP and MP at level up. -Stone Skin Amulet nao tem em NPCs, dropa somente de Warlock ou Hydra. >> Extra Information: -Real Tibia map: Full real Tibia map, incluindo todos os NPCs, Port Hope, monsters e quests 100% RL. - POI quest e todas as rooms(Custom feita por min). - Svarground 7.4. -Demon Oak Quest (Custom feita por min). -Uptime: Muito Estavel. -Cliente Próprio das 3 ultimas imagem, não acompanha o servidor (usei somente para tirar prints). DOWNLOAD OTSERV/SOURCES OTX 7.x/CLIENTE/WEBSITE/DATABASE (Pra Editar o cliente basta abrir o Tibia.exe com notepad procurar o ip 167.114.111.25 e alterar pelo o seu ip caso tenha a mesma quantidade de numeros) Executavel + DLLs Scan Virus Total. PACOTE PREMIUM 7.40 EDUZZ - Mais completo e sem Erros. (Duvidas entre em contato) Creditos Qwizer - OTX
  2. Antic - Baiak 7.4 Informações Gerais: Site: www.antic-baiak.tk Versão: 7.xx Port: 7171 Exp: 100x (Stages) Sejam Bem-vindos ao Antic-Baiak um servidor unico com mapa inspirado em Baiak Yoruts, com vocações, magias, items Oldschool versão 7.4. Faz meses que estamos trabalhando neste servidor para proporcionar uma boa jogatina com nostalgia dos velhos tempos do tibia (Old But Gold 😄) Antic, é um servidor com experiencia Média-Baixa (Stages) onde proporciona tudo de melhor que o tibia 7.4 pode oferecer, com a inspiração em baiak yoruts temos sala de quests, teleports e bosses. Antic, tem algumas novidades, você já viu addons em 7.4? nós temos! Gosta de coisas novas também? Temos diversos monstros novos Asuras 70 Mini Quests 20 Quests War System XP Party (/share) Bosses Auto Loot
  3. Dwin Global Servidor com stages Global Full 7.60 Poi - 100% Anihi - 100% Inquisition - 100% Entre outras quests. Servidor com trainer offline. Equipe dedicada SITE : dwin-global.ddns.net:8090 IP: dwin-global.ddns.net BAIXE UM CLIENTE 7.60 E USE O IP CHANGER ...
  4. Boa tarde, Estou com este seguinte código dando isto attempt to index local 'v' (a boolean value) na linha 1077 -- Advanced NPC System (Created by Jiddo), -- Modified by TheForgottenServer Team, -- Modified by The OTX Server Team. if(Modules == nil) then -- Constants used to separate buying from selling. SHOPMODULE_SELL_ITEM = 1 SHOPMODULE_BUY_ITEM = 2 SHOPMODULE_BUY_ITEM_CONTAINER = 3 -- Constants used for shop mode. Notice: addBuyableItemContainer is working on all modes SHOPMODULE_MODE_TALK = 1 -- Old system used before Tibia 8.2: sell/buy item name SHOPMODULE_MODE_TRADE = 2 -- Trade window system introduced in Tibia 8.2 SHOPMODULE_MODE_BOTH = 3 -- Both working at one time -- Used in shop mode SHOPMODULE_MODE = SHOPMODULE_MODE_TALK -- Constants used for outfit giving mode OUTFITMODULE_FUNCTION_OLD = { doPlayerAddOutfit, canPlayerWearOutfit } -- lookType usage OUTFITMODULE_FUNCTION_NEW = { doPlayerAddOutfitId, canPlayerWearOutfitId } -- OutfitId usage -- Used in outfit module OUTFITMODULE_FUNCTION = OUTFITMODULE_FUNCTION_NEW if(OUTFITMODULE_FUNCTION[1] == nil or OUTFITMODULE_FUNCTION[2] == nil) then OUTFITMODULE_FUNCTION = OUTFITMODULE_FUNCTION_OLD end Modules = { parseableModules = {} } StdModule = {} -- These callback function must be called with parameters.npcHandler = npcHandler in the parameters table or they will not work correctly. -- Notice: The members of StdModule have not yet been tested. If you find any bugs, please report them to me. -- Usage: -- keywordHandler:addKeyword({'offer'}, StdModule.say, {npcHandler = npcHandler, text = 'I sell many powerful melee weapons.'}) function StdModule.say(cid, message, keywords, parameters, node) local npcHandler = parameters.npcHandler if(npcHandler == nil) then print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'StdModule.say - Call without any npcHandler instance.') return false end local onlyFocus = (parameters.onlyFocus == nil or parameters.onlyFocus == true) if(not npcHandler:isFocused(cid) and onlyFocus) then return false end local parseInfo = {[TAG_PLAYERNAME] = getCreatureName(cid)} npcHandler:say(npcHandler:parseMessage(parameters.text or parameters.message, parseInfo), cid, parameters.publicize and true) if(parameters.reset) then npcHandler:resetNpc(cid) elseif(parameters.moveup and type(parameters.moveup) == 'number') then npcHandler.keywordHandler:moveUp(parameters.moveup) end return true end --Usage: -- local node1 = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, text = 'I can promote you for 20000 brozne coins. Do you want me to promote you?'}) -- node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 20000, promotion = 1, level = 20}, text = 'Congratulations! You are now promoted.') -- node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, text = 'Alright then, come back when you are ready.'}, reset = true) function StdModule.promotePlayer(cid, message, keywords, parameters, node) local npcHandler = parameters.npcHandler if(npcHandler == nil) then print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'StdModule.promotePlayer - Call without any npcHandler instance.') return false end if(not npcHandler:isFocused(cid)) then return false end if(isPremium(cid) or not getBooleanFromString(getConfigValue('premiumForPromotion'))) then if(getPlayerPromotionLevel(cid) >= parameters.promotion) then npcHandler:say('You are already promoted!', cid) elseif(getPlayerLevel(cid) < parameters.level) then npcHandler:say('I am sorry, but I can only promote you once you have reached level ' .. parameters.level .. '.', cid) elseif(not doPlayerRemoveMoney(cid, parameters.cost)) then npcHandler:say('You do not have enough money!', cid) else doPlayerSetPromotionLevel(cid, parameters.promotion) npcHandler:say(parameters.text, cid) end else npcHandler:say("You need a premium account in order to get promoted.", cid) end npcHandler:resetNpc(cid) return true end function StdModule.learnSpell(cid, message, keywords, parameters, node) local npcHandler = parameters.npcHandler if(npcHandler == nil) then print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'StdModule.learnSpell - Call without any npcHandler instance.') return false end if(not npcHandler:isFocused(cid)) then return false end if(isPremium(cid) or not(parameters.premium)) then if(getPlayerLearnedInstantSpell(cid, parameters.spellName)) then npcHandler:say('You already know this spell.', cid) elseif(getPlayerLevel(cid) < parameters.level) then npcHandler:say('You need to obtain a level of ' .. parameters.level .. ' or higher to be able to learn ' .. parameters.spellName .. '.', cid) elseif(not parameters.vocation(cid)) then npcHandler:say('This spell is not for your vocation', cid) elseif(not doPlayerRemoveMoney(cid, parameters.price)) then npcHandler:say('You do not have enough money, this spell costs ' .. parameters.price .. ' gold coins.', cid) else npcHandler:say('You have learned ' .. parameters.spellName .. '.', cid) playerLearnInstantSpell(cid, parameters.spellName) end else npcHandler:say('You need a premium account in order to buy ' .. parameters.spellName .. '.', cid) end npcHandler:resetNpc(cid) return true end function StdModule.bless(cid, message, keywords, parameters, node) local npcHandler = parameters.npcHandler if(npcHandler == nil) then print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'StdModule.bless - Call without any npcHandler instance.') return false end if(not getBooleanFromString(getConfigValue('blessings'))) then npcHandler:say("Sorry, but Gods moved back my permission to bless anyone.", cid) return false end if(not npcHandler:isFocused(cid)) then return false end if(isPremium(cid) or not getBooleanFromString(getConfigValue('blessingsOnlyPremium')) or not parameters.premium) then local price = parameters.baseCost if(getPlayerLevel(cid) > parameters.startLevel) then price = (price + ((math.min(parameters.endLevel, getPlayerLevel(cid)) - parameters.startLevel) * parameters.levelCost)) end if(parameters.number > 0) then if(getPlayerBlessing(cid, parameters.number)) then npcHandler:say("Gods have already blessed you with this blessing!", cid) elseif(not doPlayerRemoveMoney(cid, price)) then npcHandler:say("You don't have enough money for blessing.", cid) else npcHandler:say("You have been blessed by one of the five gods!", cid) doPlayerAddBlessing(cid, parameters.number) end else if(getPlayerPVPBlessing(cid)) then npcHandler:say("Gods have already blessed you with this blessing!", cid) elseif(not doPlayerRemoveMoney(cid, price)) then npcHandler:say("You don't have enough money for blessing.", cid) else local any = false for i = 1, 5 do if(getPlayerBlessing(cid, i)) then any = true break end end if(any) then npcHandler:say("You have been blessed by the god of war!", cid) doPlayerSetPVPBlessing(cid) else npcHandler:say("You need to be blessed by at least one god to get this blessing.", cid) end end end else npcHandler:say('You need a premium account in order to be blessed.', cid) end npcHandler:resetNpc(cid) return true end function StdModule.travel(cid, message, keywords, parameters, node) local npcHandler = parameters.npcHandler if(npcHandler == nil) then print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'StdModule.travel - Call without any npcHandler instance.') return false end if(not npcHandler:isFocused(cid)) then return false end local storage, pzLocked = parameters.storageValue or (EMPTY_STORAGE + 1), parameters.allowLocked or false if(parameters.premium and not isPremium(cid)) then npcHandler:say('I\'m sorry, but you need a premium account in order to travel onboard our ships.', cid) elseif(parameters.level ~= nil and getPlayerLevel(cid) < parameters.level) then npcHandler:say('You must reach level ' .. parameters.level .. ' before I can let you go there.', cid) elseif(parameters.storageId ~= nil and getPlayerStorageValue(cid, parameters.storageId) < storage) then npcHandler:say(parameters.storageInfo or 'You may not travel there yet!', cid) elseif(not pzLocked and isPlayerPzLocked(cid)) then npcHandler:say('First get rid of those blood stains! You are not going to ruin my vehicle!', cid) elseif(not doPlayerRemoveMoney(cid, parameters.cost)) then npcHandler:say('You don\'t have enough money.', cid) else npcHandler:say('Set the sails!', cid) npcHandler:releaseFocus(cid) doTeleportThing(cid, parameters.destination, false) doSendMagicEffect(parameters.destination, CONST_ME_TELEPORT) end npcHandler:resetNpc(cid) return true end FocusModule = { npcHandler = nil } -- Creates a new instance of FocusModule without an associated NpcHandler. function FocusModule:new() local obj = {} setmetatable(obj, self) self.__index = self return obj end -- Inits the module and associates handler to it. function FocusModule:init(handler) self.npcHandler = handler for i, word in pairs(FOCUS_GREETWORDS) do local obj = {} table.insert(obj, word) obj.callback = FOCUS_GREETWORDS.callback or FocusModule.messageMatcher handler.keywordHandler:addKeyword(obj, FocusModule.onGreet, {module = self}) end for i, word in pairs(FOCUS_FAREWELLWORDS) do local obj = {} table.insert(obj, word) obj.callback = FOCUS_FAREWELLWORDS.callback or FocusModule.messageMatcher handler.keywordHandler:addKeyword(obj, FocusModule.onFarewell, {module = self}) end end -- Greeting callback function. function FocusModule.onGreet(cid, message, keywords, parameters) parameters.module.npcHandler:onGreet(cid) return true end -- UnGreeting callback function. function FocusModule.onFarewell(cid, message, keywords, parameters) if(not parameters.module.npcHandler:isFocused(cid)) then return false end parameters.module.npcHandler:onFarewell(cid) parameters.module.npcHandler:resetNpc(cid) return true end -- Custom message matching callback function for greeting messages. function FocusModule.messageMatcher(keywords, message) local spectators = getSpectators(getCreaturePosition(getNpcId()), 7, 7) for i, word in pairs(keywords) do if(type(word) == 'string') then if(string.find(message, word) and not string.find(message, '[%w+]' .. word) and not string.find(message, word .. '[%w+]')) then if(string.find(message, getCreatureName(getNpcId()))) then return true end for i, uid in ipairs(spectators) do if(string.find(message, getCreatureName(uid))) then return false end end return true end end end return false end KeywordModule = { npcHandler = nil } -- Add it to the parseable module list. Modules.parseableModules['module_keywords'] = KeywordModule function KeywordModule:new() local obj = {} setmetatable(obj, self) self.__index = self return obj end function KeywordModule:init(handler) self.npcHandler = handler end -- Parses all known parameters. function KeywordModule:parseParameters() local ret = NpcSystem.getParameter('keywords') if(ret ~= nil) then self:parseKeywords(ret) end end function KeywordModule:parseKeywords(data) local n = 1 for keys in string.gmatch(data, '[^;]+') do local i = 1 local keywords = {} for temp in string.gmatch(keys, '[^,]+') do table.insert(keywords, temp) i = i + 1 end if(i ~= 1) then local reply = NpcSystem.getParameter('keyword_reply' .. n) if(reply ~= nil) then self:addKeyword(keywords, reply) else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'Parameter \'' .. 'keyword_reply' .. n .. '\' missing. Skipping...') end else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'No keywords found for keyword set #' .. n .. '. Skipping...') end n = n + 1 end end function KeywordModule:addKeyword(keywords, reply) self.npcHandler.keywordHandler:addKeyword(keywords, StdModule.say, {npcHandler = self.npcHandler, onlyFocus = true, text = reply, reset = true}) end TravelModule = { npcHandler = nil, destinations = nil, yesNode = nil, noNode = nil, } -- Add it to the parseable module list. Modules.parseableModules['module_travel'] = TravelModule function TravelModule:new() local obj = {} setmetatable(obj, self) self.__index = self return obj end function TravelModule:init(handler) self.npcHandler = handler self.yesNode = KeywordNode:new(SHOP_YESWORD, TravelModule.onConfirm, {module = self}) self.noNode = KeywordNode:new(SHOP_NOWORD, TravelModule.onDecline, {module = self}) self.destinations = {} end -- Parses all known parameters. function TravelModule:parseParameters() local ret = NpcSystem.getParameter('travel_destinations') if(ret ~= nil) then self:parseDestinations(ret) for _, word in ipairs({'destination', 'list', 'where', 'travel'}) do self.npcHandler.keywordHandler:addKeyword({word}, TravelModule.listDestinations, {module = self}) end end end function TravelModule:parseDestinations(data) for destination in string.gmatch(data, '[^;]+') do local i, name, pos, cost, premium, level, storage = 1, nil, {x = nil, y = nil, z = nil}, nil, false for tmp in string.gmatch(destination, '[^,]+') do if(i == 1) then name = tmp elseif(i == 2) then pos.x = tonumber(tmp) elseif(i == 3) then pos.y = tonumber(tmp) elseif(i == 4) then pos.z = tonumber(tmp) elseif(i == 5) then cost = tonumber(tmp) elseif(i == 6) then premium = getBooleanFromString(tmp) else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'Unknown parameter found in travel destination parameter.', tmp, destination) end i = i + 1 end if(name ~= nil and pos.x ~= nil and pos.y ~= nil and pos.z ~= nil and cost ~= nil) then self:addDestination(name, pos, cost, premium) else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'Parameter(s) missing for travel destination:', name, pos, cost, premium) end end end function TravelModule:addDestination(name, position, price, premium) table.insert(self.destinations, name) local parameters = { cost = price, destination = position, premium = premium, module = self } local keywords, bringWords = {}, {} table.insert(keywords, name) table.insert(bringWords, 'bring me to ' .. name) self.npcHandler.keywordHandler:addKeyword(bringWords, TravelModule.bring, parameters) local node = self.npcHandler.keywordHandler:addKeyword(keywords, TravelModule.travel, parameters) node:addChildKeywordNode(self.yesNode) node:addChildKeywordNode(self.noNode) end function TravelModule.travel(cid, message, keywords, parameters, node) local module = parameters.module if(not module.npcHandler:isFocused(cid)) then return false end module.npcHandler:say('Do you want to travel to ' .. keywords[1] .. ' for ' .. parameters.cost .. ' gold coins?', cid) return true end function TravelModule.onConfirm(cid, message, keywords, parameters, node) local module = parameters.module if(not module.npcHandler:isFocused(cid)) then return false end local parent = node:getParent():getParameters() if(isPremium(cid) or not parent.premium) then if(not isPlayerPzLocked(cid)) then if(doPlayerRemoveMoney(cid, parent.cost)) then module.npcHandler:say('Set the sails!', cid) module.npcHandler:releaseFocus(cid) doTeleportThing(cid, parent.destination, true) doSendMagicEffect(parent.destination, CONST_ME_TELEPORT) else module.npcHandler:say('You don\'t have enough money.', cid) end else module.npcHandler:say('First get rid of those blood stains! You are not going to ruin my vehicle!', cid) end else module.npcHandler:say('I\'m sorry, but you need a premium account in order to travel onboard our ships.', cid) end module.npcHandler:resetNpc(cid) return true end -- onDecline keyword callback function. Generally called when the player sais 'no' after wanting to buy an item. function TravelModule.onDecline(cid, message, keywords, parameters, node) local module = parameters.module if(not module.npcHandler:isFocused(cid)) then return false end module.npcHandler:say(module.npcHandler:parseMessage(module.npcHandler:getMessage(MESSAGE_DECLINE), {[TAG_PLAYERNAME] = getCreatureName(cid)}), cid) module.npcHandler:resetNpc(cid) return true end function TravelModule.bring(cid, message, keywords, parameters, node) local module = parameters.module if(not module.npcHandler:isFocused(cid)) then return false end if((isPremium(cid) or not parameters.premium) and not isPlayerPzLocked(cid) and doPlayerRemoveMoney(cid, parameters.cost)) then module.npcHandler:say('Set the sails!', cid) module.npcHandler:releaseFocus(cid) doTeleportThing(cid, parameters.destination, false) doSendMagicEffect(parameters.destination, CONST_ME_TELEPORT) end module.npcHandler:releaseFocus(cid) return true end function TravelModule.listDestinations(cid, message, keywords, parameters, node) local module = parameters.module if(not module.npcHandler:isFocused(cid)) then return false end local msg = nil for _, destination in ipairs(module.destinations) do if(msg ~= nil) then msg = msg .. ", " else msg = "" end msg = msg .. "{" .. destination .. "}" end module.npcHandler:say(msg .. ".", cid) module.npcHandler:resetNpc(cid) return true end OutfitModule = { npcHandler = nil, outfits = nil, yesNode = nil, noNode = nil, } -- Add it to the parseable module list. Modules.parseableModules['module_outfit'] = OutfitModule function OutfitModule:new() if(OUTFITMODULE_FUNCTION[1] == nil or OUTFITMODULE_FUNCTION[2] == nil) then return nil end local obj = {} setmetatable(obj, self) self.__index = self return obj end function OutfitModule:init(handler) self.npcHandler = handler self.yesNode = KeywordNode:new(SHOP_YESWORD, OutfitModule.onConfirm, {module = self}) self.noNode = KeywordNode:new(SHOP_NOWORD, OutfitModule.onDecline, {module = self}) self.outfits = {} end -- Parses all known parameters. function OutfitModule:parseParameters() local ret = NpcSystem.getParameter('outfits') if(ret ~= nil) then self:parseKeywords(ret) for _, word in ipairs({'outfits', 'addons'}) do self.npcHandler.keywordHandler:addKeyword({word}, OutfitModule.listOutfits, {module = self}) end end end function OutfitModule:parseKeywords(data) local n = 1 for outfit in string.gmatch(data, '[^;]+') do local i, keywords = 1, {} for tmp in string.gmatch(outfit, '[^,]+') do table.insert(keywords, tmp) i = i + 1 end if(i > 0) then local ret = NpcSystem.getParameter('outfit' .. n) if(ret ~= nil) then self:parseList(keywords, ret) else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'Missing \'outfit' .. n .. '\' parameter, skipping...') end else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'No keywords found for outfit set #' .. n .. ', skipping...') end n = n + 1 end end function OutfitModule:parseList(keywords, data) local outfit, items = nil, {} for list in string.gmatch(data, '[^;]+') do local a, b, c, d, e = nil, nil, nil, nil, 1 for tmp in string.gmatch(list, '[^,]+') do if(e == 1) then a = tmp elseif(e == 2) then b = tmp elseif(e == 3) then c = tmp elseif(e == 4) then d = tmp else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'Unknown parameter found in outfit list while parsing ' .. (outfit == nil and 'outfit' or 'item') .. '.', tmp, list) end e = e + 1 end if(outfit == nil) then outfit = {tonumber(a), tonumber(b), getBooleanFromString(c), d} elseif(a ~= nil) then local tmp = tonumber(a) if((tmp ~= nil or tostring(a) == "money") and b ~= nil and c ~= nil) then a = tmp or 20000 tmp = tonumber(d) if(tmp == nil) then tmp = -1 end items[a] = {b, tmp, c} else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'Missing parameter(s) for outfit items.', b, c, d) end else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'Missing base parameter for outfit items.', a) end end if(type(outfit) == 'table') then local tmp = true for i = 1, 2 do if(outfit == nil) then tmp = false break end end if(tmp and table.maxn(items) > 0) then self:addOutfit(keywords, outfit, items) else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'Invalid outfit, addon or empty items pool.', data) end end end function OutfitModule:addOutfit(keywords, outfit, items) table.insert(self.outfits, keywords[1]) local parameters = { outfit = outfit[1], addon = outfit[2], premium = outfit[3], gender = nil, items = items, module = self } if(outfit[4] ~= nil) then local tmp = string.lower(tostring(outfit[5])) if(tmp == 'male' or tmp == '1') then parameters.gender = 1 elseif(tmp == 'female' or tmp == '0') then parameters.gender = 0 end end for i, name in pairs(keywords) do local words = {} table.insert(words, name) local node = self.npcHandler.keywordHandler:addKeyword(words, OutfitModule.obtain, parameters) node:addChildKeywordNode(self.yesNode) node:addChildKeywordNode(self.noNode) end end function OutfitModule.obtain(cid, message, keywords, parameters, node) local module = parameters.module if(not module.npcHandler:isFocused(cid)) then return false end local i, items, size = 0, nil, table.maxn(parameters.items) for k, v in pairs(parameters.items) do if(v[1] ~= "storageset") then i = i + 1 if(items ~= nil) then if(i == size) then items = items .. " and " else items = items .. ", " end else items = "" end if(tonumber(v[1]) ~= nil and tonumber(v[1]) > 1) then items = items .. v[1] .. " " end items = items .. v[3] end end module.npcHandler:say('Do you want ' .. keywords[1] .. ' ' .. (addon == 0 and "outfit" or "addon") .. ' for ' .. items .. '?', cid) return true end function OutfitModule.onConfirm(cid, message, keywords, parameters, node) local module = parameters.module if(not module.npcHandler:isFocused(cid)) then return false end local parent = node:getParent():getParameters() if(isPremium(cid) or not parent.premium) then if(not OUTFITMODULE_FUNCTION[2](cid, parent.outfit, parent.addon)) then if(parent.addon == 0 or OUTFITMODULE_FUNCTION[2](cid, parent.outfit)) then if(parent.gender == nil or parent.gender == getPlayerSex(cid)) then local found = true for k, v in pairs(parent.items) do local tmp = tonumber(v[1]) if(tmp == nil) then if(v[1] == "storagecheck") then if(getCreatureStorage(cid, k) < v[2]) then found = false end elseif(v[1] == "outfitid") then if(not canPlayerWearOutfitId(cid, k, v[2])) then found = false end elseif(v[1] == "outfit") then if(not canPlayerWearOutfit(cid, k, v[2])) then found = false end else found = false end elseif(k == 20000) then if(getPlayerMoney(cid) < tmp) then found = false end elseif(getPlayerItemCount(cid, k, v[2]) < tmp) then found = false end if(not found) then break end end if(found) then for k, v in pairs(parent.items) do if(tonumber(v[1]) ~= nil) then if(k == 20000) then doPlayerRemoveMoney(cid, v[1]) else doPlayerRemoveItem(cid, k, v[1], v[2]) end elseif(v[1] == "storageset") then doCreatureSetStorage(cid, k, v[2]) end end module.npcHandler:say('It was a pleasure to dress you.', cid) OUTFITMODULE_FUNCTION[1](cid, parent.outfit, parent.addon) doPlayerSetStorageValue(cid, parent.storageId, storage) else module.npcHandler:say('You don\'t have these items!', cid) end else module.npcHandler:say('Sorry, this ' .. (parent.addon == 0 and 'outfit' or 'addon') .. ' is not for your gender.', cid) end else module.npcHandler:say('I will not dress you with addon of outfit you cannot wear!', cid) end else module.npcHandler:say('You already have this ' .. (parent.addon == 0 and 'outfit' or 'addon') .. '!', cid) end else module.npcHandler:say('Sorry, I dress only premium players.', cid) end module.npcHandler:resetNpc(cid) return true end -- onDecline keyword callback function. Generally called when the player sais 'no' after wanting to buy an item. function OutfitModule.onDecline(cid, message, keywords, parameters, node) local module = parameters.module if(not module.npcHandler:isFocused(cid)) then return false end module.npcHandler:say(module.npcHandler:parseMessage(module.npcHandler:getMessage(MESSAGE_DECLINE), {[TAG_PLAYERNAME] = getCreatureName(cid)}), cid) module.npcHandler:resetNpc(cid) return true end function OutfitModule.listOutfits(cid, message, keywords, parameters, node) local module = parameters.module if(not module.npcHandler:isFocused(cid)) then return false end local msg, size = nil, table.maxn(module.outfits) if(size > 0) then for i, outfit in ipairs(module.outfits) do if(msg ~= nil) then if(i == size) then msg = msg .. " and " else msg = msg .. ", " end else msg = "I can dress you into " end msg = msg .. "{" .. outfit .. "}" end else msg = "Sorry, I have nothing to offer right now." end module.npcHandler:say(msg .. ".", cid) module.npcHandler:resetNpc(cid) return true end ShopModule = { npcHandler = nil, yesNode = nil, noNode = nil, noText = '', maxCount = 100, amount = 0 } -- Add it to the parseable module list. Modules.parseableModules['module_shop'] = ShopModule -- Creates a new instance of ShopModule function ShopModule:new() local obj = {} setmetatable(obj, self) self.__index = self return obj end -- Parses all known parameters. function ShopModule:parseParameters() local ret = NpcSystem.getParameter('shop_buyable') if(ret ~= nil) then self:parseBuyable(ret) end local ret = NpcSystem.getParameter('shop_sellable') if(ret ~= nil) then self:parseSellable(ret) end local ret = NpcSystem.getParameter('shop_buyable_containers') if(ret ~= nil) then self:parseBuyableContainers(ret) end end -- Parse a string contaning a set of buyable items. function ShopModule:parseBuyable(data) for item in string.gmatch(data, '[^;]+') do local i, name, itemid, cost, subType, realName = 1, nil, nil, nil, nil, nil for tmp in string.gmatch(item, '[^,]+') do if(i == 1) then name = tmp elseif(i == 2) then itemid = tonumber(tmp) elseif(i == 3) then cost = tonumber(tmp) elseif(i == 4) then subType = tonumber(tmp) elseif(i == 5) then realName = tmp else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'Unknown parameter found in buyable items parameter.', tmp, item) end i = i + 1 end if(SHOPMODULE_MODE == SHOPMODULE_MODE_TRADE) then if(itemid ~= nil and cost ~= nil) then if(isItemFluidContainer(itemid) and subType == nil) then print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'SubType missing for parameter item:', item) else self:addBuyableItem(nil, itemid, cost, subType, realName) end else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'Parameter(s) missing for item:', itemid, cost) end elseif(name ~= nil and itemid ~= nil and cost ~= nil) then if(isItemFluidContainer(itemid) and subType == nil) then print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'SubType missing for parameter item:', item) else local names = {} table.insert(names, name) self:addBuyableItem(names, itemid, cost, subType, realName) end else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'Parameter(s) missing for item:', name, itemid, cost) end end end -- Parse a string contaning a set of sellable items. function ShopModule:parseSellable(data) for item in string.gmatch(data, '[^;]+') do local i, name, itemid, cost, realName = 1, nil, nil, nil, nil for temp in string.gmatch(item, '[^,]+') do if(i == 1) then name = temp elseif(i == 2) then itemid = tonumber(temp) elseif(i == 3) then cost = tonumber(temp) elseif(i == 4) then realName = temp else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'Unknown parameter found in sellable items parameter.', temp, item) end i = i + 1 end if(SHOPMODULE_MODE == SHOPMODULE_MODE_TRADE) then if(itemid ~= nil and cost ~= nil) then self:addSellableItem(nil, itemid, cost, realName) else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'Parameter(s) missing for item:', itemid, cost) end elseif(name ~= nil and itemid ~= nil and cost ~= nil) then local names = {} table.insert(names, name) self:addSellableItem(names, itemid, cost, realName) else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'Parameter(s) missing for item:', name, itemid, cost) end end end -- Parse a string contaning a set of buyable items. function ShopModule:parseBuyableContainers(data) for item in string.gmatch(data, '[^;]+') do local i, name, container, itemid, cost, subType, realName = 1, nil, nil, nil, nil, nil, nil for temp in string.gmatch(item, '[^,]+') do if(i == 1) then name = temp elseif(i == 2) then itemid = tonumber(temp) elseif(i == 3) then itemid = tonumber(temp) elseif(i == 4) then cost = tonumber(temp) elseif(i == 5) then subType = tonumber(temp) elseif(i == 6) then realName = temp else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'Unknown parameter found in buyable items parameter.', temp, item) end i = i + 1 end if(name ~= nil and container ~= nil and itemid ~= nil and cost ~= nil) then if(isItemFluidContainer(itemid) and subType == nil) then print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'SubType missing for parameter item:', item) else local names = {} table.insert(names, name) self:addBuyableItemContainer(names, container, itemid, cost, subType, realName) end else print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'Parameter(s) missing for item:', name, container, itemid, cost) end end end -- Initializes the module and associates handler to it. function ShopModule:init(handler) self.npcHandler = handler self.yesNode = KeywordNode:new(SHOP_YESWORD, ShopModule.onConfirm, {module = self}) self.noNode = KeywordNode:new(SHOP_NOWORD, ShopModule.onDecline, {module = self}) self.noText = handler:getMessage(MESSAGE_DECLINE) if(SHOPMODULE_MODE ~= SHOPMODULE_MODE_TALK) then for i, word in pairs(SHOP_TRADEREQUEST) do local obj = {} table.insert(obj, word) obj.callback = SHOP_TRADEREQUEST.callback or ShopModule.messageMatcher handler.keywordHandler:addKeyword(obj, ShopModule.requestTrade, {module = self}) end end end -- Custom message matching callback function for requesting trade messages. function ShopModule.messageMatcher(keywords, message) for i, word in pairs(keywords) do if(type(word) == 'string' and string.find(message, word) and not string.find(message, '[%w+]' .. word) and not string.find(message, word .. '[%w+]')) then return true end end return false end -- Resets the module-specific variables. function ShopModule:reset() self.amount = 0 end -- Function used to match a number value from a string. function ShopModule:getCount(message) local ret, b, e = 1, string.find(message, PATTERN_COUNT) if(b ~= nil and e ~= nil) then ret = tonumber(string.sub(message, b, e)) end return math.max(1, math.min(self.maxCount, ret)) end -- Adds a new buyable item. -- names = A table containing one or more strings of alternative names to this item. Used only for old buy/sell system. -- itemid = The itemid of the buyable item -- cost = The price of one single item -- subType - The subType of each rune or fluidcontainer item. Can be left out if it is not a rune/fluidcontainer. Default value is 0 and 1 (depending on shop mode) -- realName - The real, full name for the item. Will be used as ITEMNAME in MESSAGE_ONBUY and MESSAGE_ONSELL if defined. Default value is nil (getItemNameById will be used) function ShopModule:addBuyableItem(names, itemid, cost, subType, realName) if(type(subType) == 'string' and realName == nil) then realName = subType subType = nil end local v = getItemInfo(itemid) if(SHOPMODULE_MODE ~= SHOPMODULE_MODE_TALK) then local item = { id = itemid, buy = cost, sell = -1, subType = tonumber(subType) or (v.charges > 0 and v.charges or 0), name = realName or v.name } for i, shopItem in ipairs(self.npcHandler.shopItems) do if(shopItem.id == item.id and (shopItem.subType == item.subType or shopItem.subType == 0)) then if(item.sell ~= shopItem.sell) then item.sell = shopItem.sell end self.npcHandler.shopItems = item item = nil break end end if(item ~= nil) then table.insert(self.npcHandler.shopItems, item) end end if(names ~= nil and SHOPMODULE_MODE ~= SHOPMODULE_MODE_TRADE) then local parameters = { itemid = itemid, cost = cost, eventType = SHOPMODULE_BUY_ITEM, module = self, realName = realName or v.name, subType = tonumber(subType) or (v.charges > 0 and v.charges or 1) } for i, name in pairs(names) do local keywords = {} table.insert(keywords, 'buy') table.insert(keywords, name) local node = self.npcHandler.keywordHandler:addKeyword(keywords, ShopModule.tradeItem, parameters) node:addChildKeywordNode(self.yesNode) node:addChildKeywordNode(self.noNode) end end end -- Adds a new buyable container of items. -- names = A table containing one or more strings of alternative names to this item. -- container = Backpack, bag or any other itemid of container where bought items will be stored -- itemid = The itemid of the buyable item -- cost = The price of one single item -- subType - The subType of each rune or fluidcontainer item. Can be left out if it is not a rune/fluidcontainer. Default value is 1. -- realName - The real, full name for the item. Will be used as ITEMNAME in MESSAGE_ONBUY and MESSAGE_ONSELL if defined. Default value is nil (getItemNameById will be used) function ShopModule:addBuyableItemContainer(names, container, itemid, cost, subType, realName) if(names ~= nil) then local v = getItemInfo(itemid) local parameters = { container = container, itemid = itemid, cost = cost, eventType = SHOPMODULE_BUY_ITEM_CONTAINER, module = self, realName = realName or v.name, subType = tonumber(subType) or (v.charges > 0 and v.charges or 1) } for i, name in pairs(names) do local keywords = {} table.insert(keywords, 'buy') table.insert(keywords, name) local node = self.npcHandler.keywordHandler:addKeyword(keywords, ShopModule.tradeItem, parameters) node:addChildKeywordNode(self.yesNode) node:addChildKeywordNode(self.noNode) end end end -- Adds a new sellable item. -- names = A table containing one or more strings of alternative names to this item. Used only by old buy/sell system. -- itemid = The itemid of the sellable item -- cost = The price of one single item -- realName - The real, full name for the item. Will be used as ITEMNAME in MESSAGE_ONBUY and MESSAGE_ONSELL if defined. Default value is nil (getItemNameById will be used) function ShopModule:addSellableItem(names, itemid, cost, realName) local v = getItemInfo(itemid) if(SHOPMODULE_MODE ~= SHOPMODULE_MODE_TALK) then local item = { id = itemid, buy = -1, sell = cost, subType = ((v.charges > 0 and v.stackable) and v.charges or 0), name = realName or v.name } for i, shopItem in ipairs(self.npcHandler.shopItems) do if(shopItem.id == item.id and shopItem.subType == item.subType) then if(item.buy ~= shopItem.buy) then item.buy = shopItem.buy end self.npcHandler.shopItems = item item = nil break end end if(item ~= nil) then table.insert(self.npcHandler.shopItems, item) end end if(names ~= nil and SHOPMODULE_MODE ~= SHOPMODULE_MODE_TRADE) then local parameters = { itemid = itemid, cost = cost, eventType = SHOPMODULE_SELL_ITEM, module = self, realName = realName or v.name } for i, name in pairs(names) do local keywords = {} table.insert(keywords, 'sell') table.insert(keywords, name) local node = self.npcHandler.keywordHandler:addKeyword(keywords, ShopModule.tradeItem, parameters) node:addChildKeywordNode(self.yesNode) node:addChildKeywordNode(self.noNode) end end end -- onModuleReset callback function. Calls ShopModule:reset() function ShopModule:callbackOnModuleReset() self:reset() return true end -- Callback onBuy() function. If you wish, you can change certain Npc to use your onBuy(). function ShopModule:callbackOnBuy(cid, itemid, subType, amount, ignoreCap, inBackpacks) local shopItem = nil for _, item in ipairs(self.npcHandler.shopItems) do if(item.id == itemid and item.subType == subType) then shopItem = item break end end if(shopItem == nil) then print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'ShopModule.onBuy - Item not found on shopItems list') return false end if(shopItem.buy == -1) then print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'ShopModule.onBuy - Attempt to purchase an item which only sellable') return false end if(amount <= 0) then print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'ShopModule.onBuy - Attempt to purchase ' .. amount .. ' items') return false end local subType, count = shopItem.subType or 0, amount local backpack, backpackPrice, totalCost = 1988, 20, amount * shopItem.buy if(inBackpacks) then totalCost = totalCost + (math.max(1, math.floor(count / getContainerCapById(backpack))) * backpackPrice) end local parseInfo = { [TAG_PLAYERNAME] = getPlayerName(cid), [TAG_ITEMCOUNT] = amount, [TAG_TOTALCOST] = totalCost, [TAG_ITEMNAME] = shopItem.name } if(getPlayerMoney(cid) < totalCost) then local msg = self.npcHandler:getMessage(MESSAGE_NEEDMONEY) doPlayerSendCancel(cid, self.npcHandler:parseMessage(msg, parseInfo)) return false end local a, b = doNpcSellItem(cid, itemid, count, subType, ignoreCap, inBackpacks, backpack) if(a < amount) then local msgId = MESSAGE_NEEDMORESPACE if(a == 0) then msgId = MESSAGE_NEEDSPACE end local msg = self.npcHandler:getMessage(msgId) parseInfo[TAG_ITEMCOUNT] = a doPlayerSendCancel(cid, self.npcHandler:parseMessage(msg, parseInfo)) if(NPCHANDLER_CONVBEHAVIOR ~= CONVERSATION_DEFAULT) then self.npcHandler.talkStart[cid] = os.time() else self.npcHandler.talkStart = os.time() end if(a > 0) then doPlayerRemoveMoney(cid, ((a * shopItem.buy) + (b * backpackPrice))) return true end return false end local msg = self.npcHandler:getMessage(MESSAGE_BOUGHT) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, self.npcHandler:parseMessage(msg, parseInfo)) doPlayerRemoveMoney(cid, totalCost) if(NPCHANDLER_CONVBEHAVIOR ~= CONVERSATION_DEFAULT) then self.npcHandler.talkStart[cid] = os.time() else self.npcHandler.talkStart = os.time() end return true end -- Callback onSell() function. If you wish, you can change certain Npc to use your onSell(). function ShopModule:callbackOnSell(cid, itemid, subType, amount, ignoreEquipped, dummy) local shopItem = nil for _, item in ipairs(self.npcHandler.shopItems) do if(item.id == itemid and item.subType == subType) then shopItem = item break end end if(shopItem == nil) then print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'ShopModule.onSell - Item not found on shopItems list') return false end if(shopItem.sell == -1) then print('[Warning - ' .. getCreatureName(getNpcId()) .. '] NpcSystem:', 'ShopModule.onSell - Attempt to sell an item which is only buyable') return false end local parseInfo = { [TAG_PLAYERNAME] = getPlayerName(cid), [TAG_ITEMCOUNT] = amount, [TAG_TOTALCOST] = amount * shopItem.sell, [TAG_ITEMNAME] = shopItem.name } if(subType < 1 or getItemInfo(itemid).stackable) then subType = -1 end if(doPlayerRemoveItem(cid, itemid, amount, subType, ignoreEquipped)) then local msg = self.npcHandler:getMessage(MESSAGE_SOLD) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, self.npcHandler:parseMessage(msg, parseInfo)) doPlayerAddMoney(cid, amount * shopItem.sell) if(NPCHANDLER_CONVBEHAVIOR ~= CONVERSATION_DEFAULT) then self.npcHandler.talkStart[cid] = os.time() else self.npcHandler.talkStart = os.time() end return true end local msg = self.npcHandler:getMessage(MESSAGE_NEEDITEM) doPlayerSendCancel(cid, self.npcHandler:parseMessage(msg, parseInfo)) if(NPCHANDLER_CONVBEHAVIOR ~= CONVERSATION_DEFAULT) then self.npcHandler.talkStart[cid] = os.time() else self.npcHandler.talkStart = os.time() end return false end -- Callback for requesting a trade window with the NPC. function ShopModule.requestTrade(cid, message, keywords, parameters, node) local module = parameters.module if(not module.npcHandler:isFocused(cid)) then return false end local shop = getShopOwner(cid) if(shop and shop == getNpcId()) then return true end if(table.maxn(module.npcHandler.shopItems) == 0) then local parseInfo = { [TAG_PLAYERNAME] = getPlayerName(cid) } local msg = module.npcHandler:parseMessage(module.npcHandler:getMessage(MESSAGE_NOSHOP), parseInfo) module.npcHandler:say(msg, cid) return true end local parseInfo = { [TAG_PLAYERNAME] = getPlayerName(cid) } local msg = module.npcHandler:parseMessage(module.npcHandler:getMessage(MESSAGE_SENDTRADE), parseInfo) addEvent(openShopWindow, 100, cid, module.npcHandler.shopItems, function(cid, itemid, subType, amount, ignoreCap, inBackpacks) module.npcHandler:onBuy(cid, itemid, subType, amount, ignoreCap, inBackpacks) end, function(cid, itemid, subType, amount, ignoreCap, inBackpacks) module.npcHandler:onSell(cid, itemid, subType, amount, ignoreCap, inBackpacks) end ) module.npcHandler:say(msg, cid) return true end -- onConfirm keyword callback function. Sells/buys the actual item. function ShopModule.onConfirm(cid, message, keywords, parameters, node) local module = parameters.module if(not module.npcHandler:isFocused(cid)) then return false end local parentParameters = node:getParent():getParameters() local parseInfo = { [TAG_PLAYERNAME] = getPlayerName(cid), [TAG_ITEMCOUNT] = module.amount, [TAG_TOTALCOST] = parentParameters.cost * module.amount, [TAG_ITEMNAME] = parentParameters.realName } if(parentParameters.eventType == SHOPMODULE_SELL_ITEM) then local ret = doPlayerSellItem(cid, parentParameters.itemid, module.amount, parentParameters.cost * module.amount) if(ret) then local msg = module.npcHandler:getMessage(MESSAGE_ONSELL) msg = module.npcHandler:parseMessage(msg, parseInfo) module.npcHandler:say(msg, cid) else local msg = module.npcHandler:getMessage(MESSAGE_MISSINGITEM) msg = module.npcHandler:parseMessage(msg, parseInfo) module.npcHandler:say(msg, cid) end elseif(parentParameters.eventType == SHOPMODULE_BUY_ITEM) then local ret = doPlayerBuyItem(cid, parentParameters.itemid, module.amount, parentParameters.cost * module.amount, parentParameters.subType) if(ret) then if parentParameters.itemid == ITEM_PARCEL then doPlayerBuyItem(cid, ITEM_LABEL, module.amount, 0, parentParameters.subType) end local msg = module.npcHandler:getMessage(MESSAGE_ONBUY) msg = module.npcHandler:parseMessage(msg, parseInfo) module.npcHandler:say(msg, cid) else local msg = module.npcHandler:getMessage(MESSAGE_MISSINGMONEY) msg = module.npcHandler:parseMessage(msg, parseInfo) module.npcHandler:say(msg, cid) end elseif(parentParameters.eventType == SHOPMODULE_BUY_ITEM_CONTAINER) then local ret = doPlayerBuyItemContainer(cid, parentParameters.container, parentParameters.itemid, module.amount, parentParameters.cost * module.amount, parentParameters.subType) if(ret) then local msg = module.npcHandler:getMessage(MESSAGE_ONBUY) msg = module.npcHandler:parseMessage(msg, parseInfo) module.npcHandler:say(msg, cid) else local msg = module.npcHandler:getMessage(MESSAGE_MISSINGMONEY) msg = module.npcHandler:parseMessage(msg, parseInfo) module.npcHandler:say(msg, cid) end end module.npcHandler:resetNpc(cid) return true end -- onDecliune keyword callback function. Generally called when the player sais 'no' after wanting to buy an item. function ShopModule.onDecline(cid, message, keywords, parameters, node) local module = parameters.module if(not module.npcHandler:isFocused(cid)) then return false end local parentParameters = node:getParent():getParameters() local parseInfo = { [TAG_PLAYERNAME] = getPlayerName(cid), [TAG_ITEMCOUNT] = module.amount, [TAG_TOTALCOST] = parentParameters.cost * module.amount, [TAG_ITEMNAME] = parentParameters.realName } local msg = module.npcHandler:parseMessage(module.noText, parseInfo) module.npcHandler:say(msg, cid) module.npcHandler:resetNpc(cid) return true end -- tradeItem callback function. Makes the npc say the message defined by MESSAGE_BUY or MESSAGE_SELL function ShopModule.tradeItem(cid, message, keywords, parameters, node) local module = parameters.module if(not module.npcHandler:isFocused(cid)) then return false end local count = module:getCount(message) module.amount = count local parseInfo = { [TAG_PLAYERNAME] = getPlayerName(cid), [TAG_ITEMCOUNT] = module.amount, [TAG_TOTALCOST] = parameters.cost * module.amount, [TAG_ITEMNAME] = parameters.realName } if(parameters.eventType == SHOPMODULE_SELL_ITEM) then local msg = module.npcHandler:getMessage(MESSAGE_SELL) msg = module.npcHandler:parseMessage(msg, parseInfo) module.npcHandler:say(msg, cid) elseif(parameters.eventType == SHOPMODULE_BUY_ITEM) then local msg = module.npcHandler:getMessage(MESSAGE_BUY) msg = module.npcHandler:parseMessage(msg, parseInfo) module.npcHandler:say(msg, cid) elseif(parameters.eventType == SHOPMODULE_BUY_ITEM_CONTAINER) then local msg = module.npcHandler:getMessage(MESSAGE_BUY) msg = module.npcHandler:parseMessage(msg, parseInfo) module.npcHandler:say(msg, cid) end return true end end
  5. Bem-vindos ao Realistic! Um servidor brasileiro hospedado em São Paulo baseado na versão 7.72 original do Tibia, ANTIBOT, com as sprites e mecânicas da versão 7.4. Somos o primeiro servidor em parceria com o software ANTIDDOS oferecido pela empresa ProGDN (chega de instabilidade)! https://realistic.global Quais mecânicas são essas? As mecânicas citadas são para deixar o jogo mais parecido com a versão 7.4: Runas só podem ser castadas em cima do jogador alvo, sem usar battle ou hotkeys. O PVP é feito para vencer não só o mais forte, mas o mais inteligente e habilidoso. Nenhum dos barcos possue protection zone, você poderá viajar mesmo estando PZ; As fórmulas de combate e spells estão de acordo com a versão 7.4, e estes não precisando de level, mas sim magic level para serem usados; Sem wands ou rods, apenas bow e burst arrows. Burst arrows baseadas no magic level; NPC's não vendem spellrunes, apenas blank runes. A economia do jogo é criada pelos próprios players; Heal friend (exura sio) funcionam mesmo com paredes bloqueando; O sistema de houses é feito por leilão no website; As runas serão castadas apenas no último player da stack. Sempre bom relembrar o famoso vídeo do Acko, que segue abaixo. https://www.youtube.com/watch?v=m8Klkq6LYtM E as modificações? As modificações trazidas servem para deixar o jogo mais dinâmico, aproveitando conceitos das versões atuais do game: O sistema de share que aumenta 20% de experiência para cada vocação que está caçando em party; Sistema de cast para fazer stream privada ou pública para amigos e outras pessoas; Balanceamento de vocações, onde os knights e paladins apresentam ser ligeiramente mais fortes do que na versão original; Change gold com apenas um click; Spells não precisam ser comprados, apenas adquirir o magic level necessário; Matar players próximos ao seu level, assim como monstros, concede experiência; Novo task system que será explicado abaixo. Como funciona o Task System? É feito de duas formas, as tasks normais, e as tasks diárias, cada uma com sua recompensa. Você poderá fazer tasks normais e tasks diárias ao mesmo tempo, ou seja, podem ser combinadas. O mais interessante do sistema são as recompensas, que além de experiência e gold, como padrão, temos também task points e task rank. Os task points poderão ser usados na troca de itens com NPC's selecionados, como uma moeda de compra. A parte do rank de task é feita como experiência para subir de level nas seguintes patentes: 1- Explorer; 2- Third Class Hunter; 3- Second Class Hunter; 4- First Class Hunter; 5- Elite hunter. O rank aparecerá quando der look no player (You see Daniel. He is a master sorcerer... Adventurer Rank: First Class Hunter), e você vai ter habilidade de frequentar novos lugares de caça, além de conversar com NPC's que só responderão a pessoas com respectivo rank necessário. Quais são as rates de experiência? Experience: Level 1 to Level 8 (5X) Level 9 to Level 20 (15X) Level 21 to Level 40 (10X) Level 41 to Level 60 (8X) Level 61 to Level 80 (6X) Level 81 to Level 100 (3X) Level 101 to Level 120 (2X) Level 121 + (1X) Misc: Skills: 5X Magic: 3X Respawn: 2X Loot: 3X Redskull: 5 players daily Qual o client usado? Usamos uma versão do OTClient perfeitamente otimizada, e 100% antibot com as seguintes funções: Ping system; Smoothwalking; Smartwalking; Autobouncing keys; Painéis extras; Light system fixado; Antibot encryptation. O servidor é estável? Possui proteção DDoS? Aqui está o ponto crucial e diferencial do Realistic. Somos o primeiro parceiro da empresa ProGDN, que desenvolveu um sistema antiddos semelhante ao usado no Tibia global, onde os pacotes direcionados ao servidor passam por mútiplas rotas até chegar a nós, e caso uma rota esteja congestionada ou sofrendo ataques, automaticamente trocará para uma rota livre. Assim, impossibilitando kicks ou lags. Além disso, o software buscará automaticamente a melhor rota para sua conexão, melhorando seu ping, assim como um proxy tunnel. Desejamos o melhor, Realistic Team.
  6. Olá comunidade, TL;DR; http://www.mediafire.com/file/2rsqxzbwr9k... Eu procurei em diversos fóruns, falei com algumas pessoas, tentei desencryptar alguns e até mesmo montar o meu próprio client, porém sem sucesso. Faz um tempo que eu achei um client em outro fórum mas ele simplesmente se recusava a conectar-se em qualquer servidor devido a RSA que vinha compilada no próprio client, e sério, vocês não tem ideia do trabalho que uma pessoa leiga tem para fazer coisas que não funcionam funcionarem, isso é, sem suporte de ninguém. Entre telas pretas, problemas de conexão, debugs e outras coisas que aqui não citei finalmente obtive sucesso, isso só prova que independente do seu conhecimento se você persevera vocẽ chega em um resultado, você supera um obstaculo por menor que ele seja e se sente bem com isso. (Isso é estranho, devo ser a única pessoa que encontra filosofia enquanto monta um server, gay.) Eu não achei um client que funcionasse em NENHUM lugar da internet que fosse próprio para versão 7.x, eu também vi uma regressão em servidores de qualidade com essa versão, posto isso sem o intuito de ser bonzinho com alguém, mas com o intuito que as pessoas USEM, sonhem e realizem esse sonho, por menor que ele seja, eu posso, eu quero, eu consigo. Espero realmente que isso facilite mesmo que minimamente o trabalho de todo aquele que deseja criar um servidor em uma versão inferior mas considerada por muitos superior em questão de nostalgia e qualidade. ATENÇÃO: O cliente necessita de alterações para que seja de uso próprio de qualquer servidor, o meu trabalho nele foi apenas fazer funcionar, o que não foi fácil para alguém que como dito antes é leigo, como eu apendi minha lição superando esse obstaculo hoje seria fácil para mim repetir o feito. Utilizei alguns ícones e o background do Medivia, fica a seu gosto substituir ou não, se tiver algum problema fico a seu dispor para tentar auxiliá-lo por intermédio desse tópico. Deus abençoe o TibiaKing. Download: http://www.mediafire.com/file/2rsq... Scan: https://www.virustotal.com/#/file-analy... Imagens:
  7. Oi pessoal, tudo bem? Bom... como podem ver me chamo Camilo e sempre acompanhei showoff de mapas tanto daqui quanto de outros forums. Há um tempo atrás, iniciei meu projeto, mas não sabia nem por onde começar mapeando... me faltava inspiração e criatividade! Com o tempo fui aprimorando lentamente os detalhes e fui ficando satisfeito com o progresso... Sei que sou iniciante ainda, mas como fico responsável por todas as áreas do servidor não consigo passar horas e horas treinando! Mas digo para vocês: fazer um mapa e gostar do que tu estás fazendo e imaginar gente jogando nele é terapeutico. Bom, sem mais delongas, vou compartilhar aqui alguns ambientes... Lembrando que não vou usar nenhum programa de edição de imagem nem nada do tipo... só o mapa nu e cru direto do editor... bem amador mesmo, mas espero que gostem! Só mais um adendo para levarem em consideração: Os sprites que não são custom, são do tibia 7.3 e 7.4 e que ainda pretendo, em algumas destas fotos, polir mais os cenários/biomas Aqui é uma cave do jogo... Acredito que eu deveria diminuir um pouco o número de stalagmites Aqui é uma repaginação do famoso "single resp de dragon" próximo a Dwarf Bridge. Créditos ao Mapper da Cipsoft Aqui um acampamento simples de "Ogres" Aqui é estrutura de uma hunt no mesmo estilo "Plains of Havoc", com bixos soltos, no seus devidos biomas: Lembrando que as sprites são do tibia antigo... (na sua maior parte) Esta aqui é o andar debaixo, mostrando os segredos desta cratera: Aqui um vasto deserto com seus mistérios, abrigando criaturas que "viveriam" neste local Aqui mais um pouco deste bioma do deserto e um single resp: Ainda sobre este bioma desértico (esta foto coloquei no post do projeto, mas acho que o lugar certo é aqui): Aqui fiz uma experiência de misturar biomas para ver como ficava e gostei! Este aqui (sul de Thais) retrata uma ambientação "mística". Aqui fiz uma experiência em criar uma árvore (supostamente o habitat original dos Elfos) para ver como ficava com criaturas.. Isto é uma brincadeira que eu fiz com as perspectivas do Tibia... Todo este cenário se encontra no mesmo floor: tudo no mesmo andar, porém dando a impressão que são vários! As fotos abaixo são uma inspiração direta desta mesma hunt no Medivia! (Como eu só vi stream ali, acabei fazendo bem do meu jeito mesmo..) A entrada clássica, acima de Thais: Aqui dei uma brincada com os andares... Este é o andar debaixo: Aqui criei uma espécie de adega/depósito de cerveja (a idéia é que as coisas sejam entupidas e meio bagunçadas lá dentro) Aqui de novo quis retratar uma perspectiva de andar: Superior: Inferior: Por enquanto é isto, pessoal! Não me xinguem se acharem ruim... lembrem que é para o meu servidor e estou fazendo tudo sozinho... Estou compartilhando, pois apesar de tudo, sou apaixonado por criação de mapas, tanto pela criação em si, quanto por imaginar que um dia alguém pode gostar do que está vendo ou se imaginar jogando! Uma boa tarde a todos!
  8. Olá queridos, estou precisando de ajuda para finalizar um projeto no qual venho desenvolvendo a algum tempo, será um servidor old school 7.4 com cliente proprio 7.72 anti bot.
  9. realebra.com Introdução: Nosso servidor é uma réplica completa da versão mais famosa do Tibia já criada em termos de playercount. Estamos orgulhosamente convidando você para participar do nosso servidor, onde você poderá reviver esses momentos. Também acreditamos firmemente que você vai adorar o servidor depois de ter começado! Características: »Todas 7.4 Missões / missões / tarefas. »Vocações equilibradas, danos de magias de 7.4 foram levemente ajustadas para melhorar isso. »Grande estabilidade do servidor em termos de proteção D-dos, juntamente com uma conexão completamente livre de atraso. »Suporte ativo que irá ajudá-lo no facebook ou no canal de ajuda caso você precise. Configuração do mundo: -Taxa média 7.4 Realmap Server -PVP (sem bênçãos devido a esta configuração) -Datacenter: Brasil -Antibot Client (gravador de câmera e reprodutor CAM); -Preço de promoção: 10k Amuleto De Custo De Perda: 10k Jogabilidade: Fórmula de velocidade modificada Respaw -Properly oldchool UHTrap -Servidor está usando o sistema de saldo da conta em NPCs Tarefas Avançadas. (NPC David Freeman na taberna Frodo). Configuração do Jogo: -Loot rate: 3x -Magic rate: 5x -Skill rate: 16x -Spawn rate: 3x Taxas de regeneração: Sorcerer: 3 HP / 4 seconds, 7 MP / 4 seconds Druid: 3 HP / 4 seconds, 7 MP / 4 seconds Paladin: 3 HP / 3 seconds, 7 MP / 6 seconds Knight: 3 HP / 2 seconds, 7 MP / 8 seconds Master Sorcerer: 3 HP / 3 seconds, 7 MP / 2 seconds Elder Druid: 3 HP / 3 seconds, 7 MP / 2 seconds Royal Paladin: 3 HP / 2 seconds, 7 MP / 3 seconds Elite Knight: 3 HP / 1 seconds, 7 MP / 4 seconds Estágio de experiência: 1. Stage : Level 1 to 30 : 35x 2. Stage : Level 31 to 40 : 25x 3. Stage : Level 41 to 50 : 15x 4. Stage : Level 51 to 60 : 10x 5. Stage : Level 61 to 70 : 8x 6. Stage : Level 71 to 80 : 6x 7. Stage : Level 81 to 90 : 5x 8. Stage : Level 91 to 100 : 4x 9. Stage : Level 101 to 120 : 3x 10. Stage : Level 121 to 999 : 2x Configuração de Batalha: Se você obtiver 6 ou mais frags por dia (24h) - você terá redskull Se você obtiver 42 ou mais frags por semana (7 dias) - você terá redskull Se você conseguir 186 ou mais frags por mês (30 dias) - você terá redskull Se você receber 12 frags por dia (24h), você será banido por 24h. Cidades: (Novos respaws em várias cidades, trazendo de volta a utilidade de cidades como kazordoon) Ab'dendriel Kazordoon Thais Venore Carlin Ankrahmun Darashia Edron Rookgaard Meadowfield - Vip City
  10. Colaboradores Apesar de já ter 8 meses de projeto em andamento, posso dizer que ainda falta bastante coisa para finalizar. Não quero de maneira nenhuma lançar um projeto pela metade, e para que eu possa prosseguir com o projeto eu preciso de pessoas que possam ajudar a testar o servidor. Obviamente todos que colaborarem, farão parte da Staff do servidor e obviamente, tendo pequena participação dos lucros. Uma pequena lista do que precisa ser testado: - Quests [ Quest, Questlog, Keys, Doors, Recompensa ] - Npcs [ Comprar, Vender, Preços, Se teleporta para o local correto ] - Mapa [ Se existe erros de mapping, bugs, lugares sem saida ] - Spells [ Balanceamento das vocações, Hits, Healing ] Discord: Diego#9020. Sobre o Projeto O Relembra Server é um projeto que está sendo desenvolvido unicamente por mim a quase um ano onde utilizo a TFS 1x modificada e que visa emular a experiencia e jogabilidade da versão 7.4 do Tibia. Existem alguns sistemas de versões superiores a 7.4 que pretendo utilizar no servidor, são eles: Addons (Não vai ter que pegar pelo game, simplesmente quando tiver o Outfit, vai ter os 2 addons para customizar o character como quiser), Mounts (É possível usar até mesmo com Retro-Outfits), QuestLog (Ao logar aparece uma lista com as quests, quando completa fica verde. Postmand Quest e The Djinn War Quest explicam exatamente o que você já fez e o que deve ser feito a seguir), e algumas coisas utilizam Modal Window (NPC de Task e Outros). Sobre o visual do game em Effects, Missiles e Monsters sçao fieis ao 7.4 e o restante é de acordo com as versões atuais do tibia. Todo conteúdo já desenvolvido no servidor foram feitos e adaptados por mim, ou terceirizados com Freelancers aqui mesmo do TibiaKing.. Porque a versão 7.4? Escolhi essa versão pois é uma versão em que eu particularmente gostava de jogar, e atualmente vejo que tem um publico que compartilha do mesmo gosto. Além disso é uma versão que mantém os players ativos no servidor visto que é necessário fazer quests e runar. Desenvolvimento Sources: 100% OTclient: 90% Data: 70% Hospedagem Todos os meus projetos eu sempre desenvolvo em um VPS barato, para que eu e a equipe possamos desenvolver e testar tudo juntos. Ao finalizar, eu mesmo irei investir em um bom dedicado e também na divulgação do servidor.
  11. Oque ja contem . Balanceamento de vocações , Task system 100% global + Task system propria + task system diaria (muda todo dia) .Guild pointsWar systemCidades vip (Vip será por guild points) Cliente proprio com hotkey e utilizavel com elfbot Sobre bots : é totalmente proibido o uso 100% sem estar no computador levando a kick ou a ser preso ( vamos colaborar e ter no minimo essencia ) "Regra pode ou nao ser mudada de acordo com a nescessidade do servidor" A principio estou querendo colocar comando !buypremium pra quem se lembra bem voce só usa magia premium se usar o mesmo , queria trazer a essencia de fazer os primeiros 70k pra pode usar premium e assim ter uma economia boa no servidor ja que o uso de bot seria liberado ate o momento , QUESTS 100% Global e funcionando Addon por items Mount Sim a principio teremos uma mount que em breve disponibilizarei a print da mesmo Caso alguem tenha interesse : https://www.facebook.com/Supremuserv-477125176085682/ × Você colou conteúdo com formatação. Remover formatação Arraste arquivos aqui para anexar ou escolha os arquivos... Inserir outra mídia Imagens Enviadas
  12. Server Info: IP: oldera01.dynu.net (Port: 7171) Online: 24/7 World type: PVP (Protection level: >0) House rent: monthly. Exp Rate: Level = 1 ao Level = 20 exp = 20 Level = 21 ao Level = 30 exp = 15 Level = 31 ao Level = 40 exp = 10 Level = 41 ao Level = 50 exp = 8 Level = 51 ao Level = 60 exp = 6 Level = 61 ao Level = 70 exp = 5 Level = 71 ao Level = 80 exp = 4 Level = 81 ao Level = 90 exp = 3 Level = 91 ao Level = 110 exp = 2 Level = 111 + exp = 1 Regen: Elite Knight 3 segundos 4 HP Elite Knight 6 segundos 5 MP Knight 6 segundos 3 HP Knight 6 segundos 4 MP Royal Paladin 4 seconds 4 HP Royal Paladin 3 seconds 5 MP Paladin 8 seconds 3 HP Paladin 4 seconds 4 MP Master Sorcerer 6 seconds 4 HP Master Sorcerer 2 seconds 5 MP Sorcerer 12 seconds 3 HP Sorcerer 3 seconds 4 MP Elder Druid 6 seconds 4HP Elder Druid 2 seconds 5 MP Druid 12 seconds 3 HP Druid 3 seconds 4 MP Magic Level: x2 Skills: x5 Loot: x1 Spawn: x1 Houses: 20 level (Free Account) Guilds: 20 level (Create via website) Premium Account: Paid Promotion: Free Account Outfits: Premium Account Boats and Spells: Free Account Frags & Skull system PZ Lock: 1 min White Skull Time: 15 min Red skull length: 2 days Red skull 6 frags daily 0 frags weekly 0 frags monthly Banishment length: 7 days Final banishment length: 15 days IP banishment length: 1 days * 7.1 and 7.4 Features * Spells, vocations and spells formuled in Tibia 7.1 and 7.4. There are no Hotkleys * No protection zone boats and rugs * Task system * Party sharing experience * Conjures 1x runes * Conjure runes in backpack * Full real Tibia map, including all NPCs, Port Hope, monsters and 100% RL quests * POI quest and all rooms Site: http://oldera.lastgaming.com.br Client Download: http://oldera.lastgaming.com.br/downloads/ O Oldera Online é um servidor alternativo, uma ótima opção para jogadores que querem se dedicar a um servidor sério. Contamos profissionais que trabalham diariamente para remover problemas encontrados e trazer novidades para os jogadores. Não pretendemos atualizar o jogo. Queremos manter a sensação única do Tibia 7.4. Se fôssemos considerar quaisquer mudanças, primeiro, vamos fazer uma pesquisa para garantir que a grande maioria dos jogadores deseja que a mudança em questão aconteça. Não efetuaremos nenhum reset de forma alguma no servidor no decorrer dos anos, e caso surja necessidade, abriremos mais um mundo de Oldera com uma nova criação de personagens, mantendo assim 2 mundos diferentes mas usando um único cadastro geral. Estamos trazendo novamente a essência do real Tibia, das disputas, das wars, tudo aquilo que marcou uma geração de jogadores. Como tal, não visamos lucros e sim diversão, estratégia e trazer novamente aquela nostalgia. Possuímos mais jogos além do Oldera em nosso portal (www.lastgaming.com.br) e tudo aquilo que é adquirido nas doações, são aplicados em nossos serviços, melhorias, pagamentos para manter toda nossa estrutura online 24hrs. Atualmente hospedamos nosso servidor totalmente no Brasil, para oferecer uma jogabilidade impecável sem qualquer tipo de lag aos nossos jogadores. Se você está conheçendo nosso servidor, ajude-nos a divulgar, trazer aquelas pessoas que realmente amam Tibia Oldschool, tneho certeza que nossa proposta lhe agradará bastante. Nosso servidor foi totalmente feito 100% como o original, mantendo tudo como era, como quests, itens, mapa, gráficos, etc, a única modificação que fizemos foram básicas, liberando todos os mapas do jogo para os jogadores "Free Account", balanceamento de vocações, liberação de spells iniciais sem precisar comprar. Também nosso site foi feito do zero, totalmente próprio, com anti hacks, outros sistemas diferenciados, uma nova loja de doações própria, client próprio do servidor. Espero que todos apreciem nosso servidor, nossas idéias. Estaremos fazendo eventos todo mês, wars, muita coisa legal está sendo preparada para que possamos ter o melhor servidor de todos os tempos. Venham nos conhecer! Estamos te aguardando. Facebook Oficial: https://www.facebook.com/lastgamingbr/ Equipe LastGaming
  13. Olá Jogador, seja bem-vindo! Trazemos até você o OTTS (Old Times Tibia Server), o mais novo servidor na versão 7.72 com mecânica e Sprites do 7.4 disponível no momento, trazemos um mapa 100%RL Old com as seguintes rates para garantir a diversão de todos! Exp: 30x Skills: 20x ML: 15x Loot: 2x Estamos em fase de testes e elaboração de novidades, então precisamos de vocês para garantir que este servidor prossiga com toda força! Caso encontre algum bug, ou queira dar sugestões, entre em contato no e-mail de suporte: oldtimestibiaserver@gmail.com. Para se conectar ao nosso servidor, siga as instruções da página inicial. http://otts.servegame.com 12/06/2018 implementamos o sistema de Tasks e o sistema de Party Experience. Para verificação de Tasks, deve-se consultar o Npc localizado em Venore, chamado Donald McRonald e para a ativação do sistema de Party Experience, utilize o comando /share, que o mesmo habilitará normalmente. Estamos a procura de um editor de client e um criador de sprites, caso tenha interesse, entre em contato no e-mail oldtimestibiaserver@gmail.com. 18/06/2018 É com grande satisfação que venho lançar o nosso Cliente próprio, não sendo necessário a utilização do IP Changer para poder jogar o nosso servidor, convido-lhes para testar e nos dar um retorno referente a utilização do mesmo, aguardem, que virão mais novidades no decorrer do tempo! Em breve teremos mais novidades! Obrigado pessoal, grande abraço!
  14. Fala galera do TK! Serei breve e direto. Estamos em busca de pessoas interessadas em fazer parte de um MEGA Projeto que conta com 3 Servidores diferentes: Tibia Retro 7.4 (Map 8.6) - Customizado [Progresso: 80%] RuneScape OT [Progresso: 70%] [ Confira: Clique Aqui ] Tibia Global 10.xx - Customizado [Progresso: 30%] Por se tratar de muitos servidores, estamos aceitando pessoas de todas as áreas. Caso tenha interesse em fazer parte da equipe de um desses 3 Servidores ou até dos 3, responda a esse tópico com suas informações pessoas pertinentes, área que teria interesse de preencher e amostras de trabalhos anteriores nessa mesma área. Voltaremos a mexer nos servidores dia 13/06, esperamos você! Att, Sp4ceman.
  15. Raiz começa em 17/05/2018 as 16:00 (horário de Brasília) ⛥Cria sua conta no link abaixo Tibia Raiz 7.4 Old School Server _Introdução O Raiz Raiz é um servidor personalizado e oldschool com elementos retro com gráficos baseados na versão 7.4 com novas ferramentas dentro do jogo. _Recursos ⛥Client seguro (anti-bot) _Novos Recursos ⛥Mailbox system ⛥Loot Channel ⛥Addons system ⛥Novas Quests RPG e pequenas missões com tasks _Stages _Rates Gerais _Informações Técnicas Mais informações sobre o servidor clique no link a seguir Tibia Raiz 7.4 Old School Server Discord: Discord - Free voice and text chat for gamers
  16. https://www.youtube.com/watch?v=-4Bf-vuE0-A Register your account here Server start: saturday 5th of may 18:00 CET Website : WeAreTibia.com Discord : Join here Facebook : Wearetibia.com Second edition improvements : *New client (More smoother gameplay, CAM player/recorder, Ping/FPS info, WASD walking, Auto Trade Messenger) *Shielding / defense formulas has been rewritten *Delays between actions Second edition updates : *More dungeons - check list here *Added task list on site - check here *Dungeon section has been added check here *Reward Token system - every 10 levels you will receive X amount of tokens, which you can change for special items *New outfits *All normal and custom caves revamped *New big quests with intresting storylines *Frag time has been increased from 6h to 10h - if you want to war - enter Guild War system, power abusers will be gone quickly. *Second vocation level requirement lowered to 65. *Rarity system ( similiar to Diablo ) Every monster in game is able to drop RARE/EPIC/LEGENDARY item with additional stats. About server Server Features *7.4+7.72 Real map *New monsters + bossess *Dungeons *Custom spawns *Most of existing spawns are boosted + lowered spawn rate *Second promotion system *Custom enchanting system *Over 50 tasks Server Rates *Loot rate 3x *Skill rate 12x *Magic rate 6x Experience rates *From: 1-50 10x *From: 51-80 6x *From: 81+ 4x Regeneration rates Sorcerer / Druid 4sec/3hp 2sec/3mp Knight 2sec/3hp 4 sec/ 3mp Paladin 3sec/4hp 2sec/2mp With promotion: Master Sorcerer / Elder Druid 3sec/2hp 2sec/4mp Elite Knight 2sec/4hp 3 sec/ 3mp Royal Paladin 3sec/5hp 2sec/3mp With second promotion: Grand Sorcerer / Grand Druid 2sec/2hp 2sec/6mp Grand Knight 2sec/6hp 2sec/4mp Grand Paladin 3sec/7hp 2sec/5mp *Hosted in France *DDoS protection *Ip: wearetibia.com *Tibia 7.72 custom client What are you waiting for? Call your friends and begin the adventure!
  17. TIBIA-RETRO Information: UNICO 7.4 COM CASTLE WAR https://www.youtube.com/embed/DNxGFz547qo www.tibia-retro.tk > 7.4 Features > No Protection zone boats and rugs. > Spells, vocations and spells formuled in Tibia 7.4. There are no Hotkleys! > War System. > CASTLE 24H ( EAST THAIS ). > NEW OUTFIT. > NPC AVAR TAR = ALL BLESSING (EDRON) > Anti Clone. > Task System (TASK SHARE SEM LIMITES) > Party Sharing Experience. You can share experience in-party with your friends, and receive 10% bonus experience when actived (!share). > Conjures 2x runes more than real tibia (ex Sd 2x). > Fast Soul Regen > Conjure Runes in a backpack. ! > No Wands / Rods, Burst Arrowns based on magic level. Vocation Features: > Paladins conjure more ammunition. > Mages conjure more runes. (ex. adori vita vis = 2 SDs) > Damage improved by 10% for Knights and Paladins. > Speed attack improved by 10% for all vocations. NPCs: > No sell runes. > You can buy bp from MF: "buy bp mf" > You can buy bp from LF: "buy bp lf" > Djinns in thais > Eremo sells amulet of loss. Game Features: > Bank system. > Auto-stack items > Full HP and MP at level up. > Skin Amulet does not have NPCs, drops only from Warlock or Hydra. Extra Information: > Full real Tibia map, including all NPCs, Port Hope, monsters and 100% RL quests. > POI quest and all rooms.
  18. Time has come to revive those amazing oldschool times! Register your account now at WeAreTibia.com and receive 3 days of golden account! Server start: saturday 14th of april 18:00 CET Website : WeAreTibia.com About server *Hosted in France *DDoS protection Server Features *7.4+7.72 Real map *New monsters + bossess *Dungeons *Custom spawns *Most of existing spawns are boosted + lowered spawn rate *Second promotion system *Custom enchanting system *Over 50 tasks Server Rates *Loot rate 3x *Skill rate 12x *Magic rate 6x Experience rates *From: 1-25 15x *From: 26-50 10x *From: 51+ 7x Regeneration rates Sorcerer / Druid 4sec/3hp 2sec/3mp Knight 2sec/3hp 4 sec/ 3mp Paladin 3sec/4hp 2sec/2mp With promotion: Master Sorcerer / Elder Druid 3sec/2hp 2sec/4mp Elite Knight 2sec/4hp 3 sec/ 3mp Royal Paladin 3sec/5hp 2sec/3mp With second promotion: Grand Sorcerer / Grand Druid 2sec/2hp 2sec/6mp Grand Knight 2sec/6hp 2sec/4mp Grand Paladin 3sec/7hp 2sec/5mp What are you waiting for? Call your friends and begin the adventure! WeAreTibia video:
  19. Coloquei uma ENQUETE, acima, para facilitar! Olá pessoal, tudo bem? Bom, para não tomar muito do seu tempo vou logo ao ponto: 1- Você acharia válido para um OTServer 7.4 com mapa global ter o market das versões mais novas? 2- Seria válido ter offline training nesta versão? Igual o do tibia, ou customizado. 3- O que você acha sobre existir wands no jogo? (no caso, as wands seriam de dano máximo 45) 4- O que vocês pensam a respeito de um sistema de Waypoint como o do Diablo 2: No caso seria um teleporte na cidade que tu só poderia usá-lo de acordo com outros teleportes que tu vai encontrando (se revelou uma área com waypoint, se tornará visível tanto para ir como para voltar pra cidade) Facilitando a locomoção. 5- O que acham de o servidor ser High Exp? começar por 100x e lá pelo level 100 e poucos manter fixo a 3x? Gostaria muito que respondessem estas perguntas para ajudar a criar um servidor em que todos contribuem! Muito obrigado!!
  20. Trimera Global Open: 09/03/2018 19:00 -Português- Nosso servidor Open-Tibia Global Oldschool possui as mais novas tecnologias de desempenho e qualidade. Com isso oferecemos um servidor limpo e rápido. Contamos com uma equipe de suporte In-game 20 horas por dia. Podendo lhe atender com todas as dúvidas e suporte necessário da melhor maneira. O servidor possui vários implementos e sistemas. Todos muito bem balanceados e idênticos ao nosso antigo Tibia. Uma stage ótima para um pvp balanceado e uma hunt em party. Venha, chame seus amigos e inimigos e vamos mostrar o que é um servidor global de alta performance. -English- Our Open-Tibia Global Oldschool server has the latest performance and quality technologies. With this we offer a clean and fast server. We have an In-game support team 20 hours a day. Being able to answer you with all the doubts and support needed in the best way. The server has several implements and systems. All very well balanced and identical to our old Tibia. A great stage for a balanced pvp and a party hunt. Come on, call your friends and enemies and we'll show you what a high-performance global server is. Informações / Information: War System Cast System Anti Clone Party Sharing Experience (!share) Conjure Runes na backpack Fast Soul Regen 2 New Citys ! (Premia/Celestia) Free Premium for All Players Bank system Real Tibia map: Full real Tibia map Quests: Tasks System Demon OAK - 666 Demons Demon Helmet The Pits of Inferno (POI) Banshee Anihilator Anihilator 2 (On new City) And all quests from 7.4 version Mais informações sobre EXP, Rates e etc em Server info More information of EXP, Rates e etc on Server info. Website: www.trimera.tk Version: 7.4 Map: Global Full . Anihilation Screenshot Equipe Trimera
  21. Olá pessoal, estou divulgando o Tibia Raiz, um servidor único em vários quesitos que pretende trazer a nostalgia e uma cultura nova para os padrões de servidores atuais. Versão do cliente: 7.4 anti-bot. A rate do servidor: Experiência - Começa em 40x, termina em 2x Skill - 18x Magic - 6x Loot - 4x Informações relevantes: Cliente disponível 03/03/2018 as 21 horas. Estaremos online domingo 04/03/2018 as 13h. Acesse nosso site: www.tibiaraiz.com
  22. Bom dia a todos do TibiaKing! Já tive vários otservs e participei de várias equipes, porém fiquei um tempo afastado e só editava servidores 8.x+ e agora com um "patrocinador" estamos voltando com a idéia de criar um server old 7.4~7.72 Global Map. Bom vamos direto ao que interessa, estou a procura de (1~2) membros para a Equipe. É Necessário: *saber configurar site (para donates e pontos automaticos). *editar um cliente proprio para não precisar de IP-Changer. *programação (converter o server para plataforma Windows e Linux ). O que ofereço? *Participação nos lucros do servidor. *Dedicado 24/7. *Vaga na staff do servidor. Espero encontrar alguém que entenda do assunto para me ajudar! att: Caramujo CONTATO whatsapp: (35) 9 9910-0105
  23. Fortera.Ml The best old school server Opening Day 02/09/2018 Olá TibiaKingianos! Essa é a melhor opção oldschool dos otserv! Fortera.ML! Dia de abertura 02/09/2018 Espere por você lá! Aqui estão alguns recursos Basic Information: -Website : Fortera.ML -O Servidor possui rates medium -Hosteado no Brasil! Rates: Experience Stages : Do 1 ao 50 - 15x Do 51 ao 80 - 12x Do 81 ao 100 - 9x Do 101 ao 120 - 6x Do 121+ 3x Loot: 2x Skills: 6x Magic: 3x Game Features -Global mapa 7.72 com novas quests e hunts e novo continente com muito RPG -No Soul - 7.4 Características: Nenhuma zona de proteção em barcos e tapete. Vocações e spells formulados com base no Tibia 7.4. - Não há Hotkeys. -War System. - Experiência de compartilhamento em party. Você pode compartilhar experiências em party com seus amigos e receber 10% de experiência de bônus quando ativado (! Share) . -No runes on Shop.Deve ser feitos por Druidas/Sorceres - Conjure Runes na sua backpack. Você pode deixar as blank rune na sua backpack para conjurá-las! -Do not have Wands/Rods, Burst Arrowns based on magic level. -Change gold/platinum/crystal coin no click. -POI quest. -Demon OAK Quest -New Monsters -New hunts -New quests -Task System -Cast System -News Citys -News Features - No "Pay To Win" -E muito mais!.
  24. TIBIA-RETRO NEW OT www.tibia-retro.tk Information: > 7.4 Features > No Protection zone boats and rugs. > Spells, vocations and spells formuled in Tibia 7.4. There are no Hotkleys! > War System. > CASTLE 24H ( EAST THAIS ). > NEW OUTFIT. > NPC AVAR TAR = ALL BLESSING (EDRON) > Anti Clone. > Task System (TASK SHARE SEM LIMITES) > Party Sharing Experience. You can share experience in-party with your friends, and receive 10% bonus experience when actived (!share). > Conjures 2x runes more than real tibia (ex Sd 2x). > Fast Soul Regen > Conjure Runes in a backpack. ! > No Wands / Rods, Burst Arrowns based on magic level. Vocation Features: > Paladins conjure more ammunition. > Mages conjure more runes. (ex. adori vita vis = 2 SDs) > Damage improved by 10% for Knights and Paladins. > Speed attack improved by 10% for all vocations. NPCs: > No sell runes. > You can buy bp from MF: "buy bp mf" > You can buy bp from LF: "buy bp lf" > Djinns in ankrahmun (Need Quest) > Eremo sells amulet of loss. Game Features: > Bank system. > Auto-stack items > Full HP and MP at level up. > Skin Amulet does not have NPCs, drops only from Warlock or Hydra. Extra Information: > Full real Tibia map, including all NPCs, Port Hope, monsters and 100% RL quests. > POI quest and all rooms.
  25. Eltera Click aqui para acessar o site Open: 26/01/2018 18:00 (BR/São Paulo) >>Features: -7.4 Features: Sem protect zone nos barcos ou tapetes. -Spells, vocations e spells formuladas e baseadas em Tibia 7.4. Sem uso de hotkeys! -War System. -Cast System. -Anti Clone. -Party Sharing Experience. Você pode compartilhar experiência em party com seus amigos e receber 10% de experiência de bônus quando ativado (! share). -Sem runas nos NPCs. Runas apenas conjuradas. -Cargas das Runas Editadas. Você conjura runas com mais cargas do que o tibia global (por exemplo, Sd 2x). -Fast Soul Regen -Conjura runas em sua propria backpack. Você pode deixar as blank rune na sua backpack para conjurá-las! -Loot message on screen. -Nao tem Wands/Rods, e as Burst Arrowns sao baseadas no seu magic level. >> Vocation Features: -Paladins conjura mais ammunition. (por exemplo, exevo con = 15 flechas) - Mages conjuram mais runas. (por exemplo, adori vita vis = 2 SDs) -Dano aumentou 10% para cavaleiros e paladinos. -A velocidade de ataque aumentou 10% para todas as vocações. >> NPCs: - Eles não vendem runas. -Você pode comprar backpack de mana usando as palavras: "buy bp mf" -Você pode comprar backpack de health usando as palavras: "comprar bp lf" -Djinns em ankrahmun (NÃO PRECISO A QUEST) -Eremo vende AOL. -NPC Refinador. (Você pode refinar seus itens em até +10!) >> Game Features: -Bank system. -Auto-stack items: Items like gold will be automatically grouped. -Full HP and MP at level up. -Stone Skin Amulet not avaiable on shop or NPCs, you need to drop them from Warlock or Hydra. >> Extra Information: -Real Tibia map: Full real Tibia map, incluiding all NPCs, Port Hope, monsters and quests. -POI quest with all rooms. -Demon Oak Quest. -Uptime: 24 hours a day, 7 days a week. -Team: Dedicated team, ready to give you the proper support. -You: We want you as a player! Your opinions, advice and / or complaints will be welcome in our forums..

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Create New...