-
Posts
648 -
Joined
-
Last visited
-
Days Won
5
Reputation Activity
-
larissaots got a reaction from gabriel28 in RME unsuported client version
Tenta resolver baixando e usando o ComboFix. Seu RME é o mais recente?
-
larissaots got a reaction from Germanotta in Erro na compilação T F S
Tenta deletar o MinGW e qualquer arquivo dev e baixa esse: http://www.4shared.com/archive/jxytO4M5ba/Stians_Repack_Dev-Cpp_02_64bit.htm
Se aparecer algo, clica em yes.
-
larissaots got a reaction from Adolfohrq in [8.6] Tibia-Battle - Roshamuul, All Outfits, All Mounts
Só de ter mounts nessa versão, já deixa todos os outros servidores como inferiores. Parabéns pelo projeto!
Não tenho dúvidas de que daqui um tempo terá bastantes players.
-
larissaots got a reaction from damiaotorres in Monitorando todos os trades do servidor (Trade log)
Créditos à Anonimo e Animal Park.
Objetivo
O script consiste em criar um log .txt em data/logs/trades mostrando quais itens foram passados entre os jogadores dentro do seu servidor
Tutorial
Em data/creaturescripts/scripts/ crie um arquivo .lua chamado: checktrades.lua e dentro coloque:
local servers = {[0] = 'server1', [1] = 'server2', [2] = 'server3'} local function getType(item) return (item.type > 0) and item.type or 1 end Log = {} Log.__index = Log function Log.create() local t = {} setmetatable(t, Log) t.file = servers[getConfigValue("worldId")] .. "/" .. os.date("%B-%d-%Y", os.time()) .. ".txt" t.str, t.cstr, t.con = '', '', 0 return t end function Log:write() local f = io.open("data/logs/trades/" .. self.file, "a+") if not f then return false end f:write(self.str) f:close() end function Log:containerString() self.cstr = '' for i = 1, self.con do self.cstr = self.cstr .. '-> ' end end function Log:addContainer() self.con = self.con + 1 self:containerString() end function Log:closeContainer() self.con = self.con - 1 self:containerString() end function Log:setLine(txt) self.str = self.str .. self.cstr .. txt .. '\n' end function Log:kill() self.file, self.cstr, self.str, self.con = "", "", "", -1 end function onTradeAccept(cid, target, item, targetItem) local this = Log.create() local name, tname = getCreatureName(cid), getCreatureName(target) this:setLine("Trade between " .. name .. " and " .. tname .. " || [" .. os.date("%d/%m/%Y %H:%M:%S") .. "]") local function logging(cid, item) this:setLine(getCreatureName(cid) .. " traded:") local function scanContainer(cid, uid) for k = (getContainerSize(uid) - 1), 0, -1 do local tmp = getContainerItem(uid, k) this:setLine(getItemNameById(tmp.itemid) .. " x " .. getType(tmp) .. " || itemid: " .. tmp.itemid) if isContainer(tmp.uid) then this:addContainer() scanContainer(cid, tmp.uid) this:closeContainer() end end end this:setLine(getItemNameById(item.itemid) .. " x " .. getType(item) .. " || itemid: " .. item.itemid) if isContainer(item.uid) then this:addContainer() scanContainer(cid, item.uid) this:closeContainer() end end logging(cid, item) logging(target, targetItem) this:setLine("END OF THIS TRADE --------------\n") this:write() this:kill() return true end Em data/creaturescripts adicione no creaturescripts.xml a seguinte linha:
<event type="trade" name="tradeCheck" event="script" value="checktrades.lua"/> Em data/creaturescripts/scripts/ abra o arquivo login.lua e adicione:
registerCreatureEvent(cid, "tradeCheck") Pronto, agora você poderá monitorar os trades em seu servidor!
-
larissaots reacted to moskitinho in Dromedary Mount
Fala manola,
Muito bom o tutorial e reconheço o esforço em trazer tanto conteúdo pro Eks, está de parabéns.
Porém deixo a pergunta, se acha necessário, já que temos os "wikis" da vida como meio desse gênero de conteúdo. Volto a dizer que acho uma ótima iniciativa, porém se trouxesse de uma forma mais "informal". Um artigo... Algo de diferente sabe?! Que fale mais da história, são apenas exemplos.
É apenas uma crítica construtiva.
-
larissaots got a reaction from moskitinho in Dromedary Mount
Dromedary Mount
Requisitos para obter o mount
Fist on a Stick
Como obter o Fist on a Stick
Você terá que ir até Ankrahmun e depois na Tumba de Horestis (onde está circulado em vermelho na imagem a seguir):
Você terá que enfrentar um dos seguintes monstros para obter o item;
Sandstone Scorpion Tomb Servant É díficil conseguir esse item. Se você conseguir não só o item, mas o mount também, jogue na mega-sena.
Localização Dromedary
Para encontrar um Dromedary, basta vagar pelo norte de Ankrahmun ou oeste de Darashia que você achará.
Obtendo o mount
Você só conseguirá o mount se você tiver o item necessário. Caso tenha, vá até um Dromedary e sem matá-lo, use o item nele.
-
larissaots got a reaction from Lucasmml in Dromedary Mount
Dromedary Mount
Requisitos para obter o mount
Fist on a Stick
Como obter o Fist on a Stick
Você terá que ir até Ankrahmun e depois na Tumba de Horestis (onde está circulado em vermelho na imagem a seguir):
Você terá que enfrentar um dos seguintes monstros para obter o item;
Sandstone Scorpion Tomb Servant É díficil conseguir esse item. Se você conseguir não só o item, mas o mount também, jogue na mega-sena.
Localização Dromedary
Para encontrar um Dromedary, basta vagar pelo norte de Ankrahmun ou oeste de Darashia que você achará.
Obtendo o mount
Você só conseguirá o mount se você tiver o item necessário. Caso tenha, vá até um Dromedary e sem matá-lo, use o item nele.
-
larissaots got a reaction from Administrador in Dromedary Mount
Dromedary Mount
Requisitos para obter o mount
Fist on a Stick
Como obter o Fist on a Stick
Você terá que ir até Ankrahmun e depois na Tumba de Horestis (onde está circulado em vermelho na imagem a seguir):
Você terá que enfrentar um dos seguintes monstros para obter o item;
Sandstone Scorpion Tomb Servant É díficil conseguir esse item. Se você conseguir não só o item, mas o mount também, jogue na mega-sena.
Localização Dromedary
Para encontrar um Dromedary, basta vagar pelo norte de Ankrahmun ou oeste de Darashia que você achará.
Obtendo o mount
Você só conseguirá o mount se você tiver o item necessário. Caso tenha, vá até um Dromedary e sem matá-lo, use o item nele.
-
larissaots got a reaction from Caktchup in Harmony Map
Categoria: Mapa.
Versão: 8.60
Créditos: OldSchool'er
Anexos: Download
Screenshot;
-
larissaots got a reaction from Caktchup in VipLand + TP Room
Categoria: Mapa.
Versão: 8.60
Créditos: MaSqny
Anexos: cityy-masqny.rar
Screenshot;
-
larissaots got a reaction from JonatasLucasf in Pirate Outfit Full
Pirate Outfit Quest
Requisitos para ter o outfit
Ser premium account. Ter todos os itens necessários. Level: 20+ (depende)
Criaturas que serão enfrentadas (também enfrentará os bosses dos pirates)
Roupa
É necessário ter completado a Meriana Quest e ter acesso à ilha de Nargor. Se você tiver completado a Meriana Quest, vá até o NPC Raymond em Meriana: Nesta imagem indica onde você deve ir.
Logo após, fale o seguinte para ele:
hi, mission, pirate outfit, bye. Pronto, você conseguiu uma parte do outfit!
Sabre
Requisitos
100x Eye Patchs
100x Eye Legs
100x Hooks
Informação
Ambos os itens necessários para ter o outfit podem ser dropados pelos próprios pirates, mas é "díficil" cair os itens.
Obtendo o outfit
Em Meriana novamente, converse com o NPC Duncan (), ele localiza-se nessa parte da ilha:
Tenha consciência de que você tem os itens necessários.
Para iniciar a task, fale:
hi, tasks, yes, bye. Caso já tenha os itens, fale:
hi, addon, task, yes, yes, bye. Logo após, fale:
hi, eyes patches, yes, peg legs, yes, hooks, yes, bye. Agora procure pelo NPC Morgan (), ele fica ao lado esquerdo de onde o NPC Duncan fica. Fale:
hi, firebird, bye Pronto, você obteu o sabre!
Chapéu
Requisitos
Ron the Ripper's Sabre. Deadeye Devious' Eye Patch. The Lethal Lissy's Shirt. Brutus Bloodbeard's Hat. Informação
Nesse momento você terá que procurar pela NPC Ariella (), ela localiza-se nessa parte de Meriana:
Após encontra-la, inicie a task falando:
hi, task, yes, bye. Caso já tenha os itens necessários, fale:
hi, addon, task, yes, bye Caso você NÃO tenha os itens informados, você deverá matar os seguintes monstros para obter os itens:
Lethal Lissy
Ron The Ripper
Deadeye Devious
Brutus Bloodbeard
-
-
larissaots got a reaction from AnneMotta in SimOne MapEditor 0.581 - (7.6 - 8.6)
Quem lembra do famoso SimOne? Há muitos anos atrás esse map editor era uma febre entre os donos de servidores.
Procurei o conteúdo pelo fórum e acabei não encontrando, então, estarei disponibilizando pra vocês!
Download: http://www.mediafire.com/download/mh3k7bcv8u1yb80/SimOne+MapEditor.rar
Senha: xTibia.com
Já coloquei o Tibia 8.60 na pasta do MapEditor.
-
larissaots got a reaction from Administrador in SimOne MapEditor 0.581 - (7.6 - 8.6)
Quem lembra do famoso SimOne? Há muitos anos atrás esse map editor era uma febre entre os donos de servidores.
Procurei o conteúdo pelo fórum e acabei não encontrando, então, estarei disponibilizando pra vocês!
Download: http://www.mediafire.com/download/mh3k7bcv8u1yb80/SimOne+MapEditor.rar
Senha: xTibia.com
Já coloquei o Tibia 8.60 na pasta do MapEditor.
-
larissaots got a reaction from Administrador in [Pedido] Link de Item Editor 8.60
http://www.xtibia.com/forum/topic/234733-item-editor-v035-80-1077/ -
-
-
larissaots reacted to Administrador in [TFS 1.2] Conditions: Resist, Absorv, Reflect, Deflect
Resist: reduz o dano por x% Absorb: reduz o dano por x%, cura x% Reflect: Recebe todo o dano e da x% para o atacante Deflect: Reduz o dano por x% e da x% para o atacante creaturescript.lua local res = { {101, COMBAT_FIREDAMAGE}, {102, COMBAT_EARTHDAMAGE}, {103, COMBAT_ENERGYDAMAGE}, {104, COMBAT_ICEDAMAGE}, {105, COMBAT_HOLYDAMAGE}, {106, COMBAT_DEATHDAMAGE}, {107, COMBAT_PHYSICALDAMAGE}, {108, COMBAT_PHYSICALDAMAGE}, {109, COMBAT_FIREDAMAGE},{110, COMBAT_EARTHDAMAGE}, {111, COMBAT_ENERGYDAMAGE}, {112, COMBAT_ICEDAMAGE}, {113, COMBAT_HOLYDAMAGE}, {114, COMBAT_DEATHDAMAGE}, {115, COMBAT_PHYSICALDAMAGE}, {116, COMBAT_PHYSICALDAMAGE}, {117, COMBAT_FIREDAMAGE}, {118, COMBAT_EARTHDAMAGE}, {119, COMBAT_ENERGYDAMAGE}, {120, COMBAT_ICEDAMAGE}, {121, COMBAT_HOLYDAMAGE}, {122, COMBAT_DEATHDAMAGE}, {123, COMBAT_PHYSICALDAMAGE}, {124, COMBAT_PHYSICALDAMAGE}, {125, COMBAT_FIREDAMAGE}, {126, COMBAT_EARTHDAMAGE}, {127, COMBAT_ENERGYDAMAGE}, {128, COMBAT_ICEDAMAGE}, {129, COMBAT_HOLYDAMAGE}, {130, COMBAT_DEATHDAMAGE}, {131, COMBAT_PHYSICALDAMAGE}, {132, COMBAT_PHYSICALDAMAGE}, } local refs = { [COMBAT_PHYSICALDAMAGE] = CONST_ME_DRAWBLOOD, [COMBAT_ENERGYDAMAGE] = CONST_ME_ENERGYAREA, [COMBAT_EARTHDAMAGE] = CONST_ME_POISONAREA, [COMBAT_FIREDAMAGE] = CONST_ME_FIREAREA, [COMBAT_ICEDAMAGE] = CONST_ME_ICEAREA, [COMBAT_HOLYDAMAGE] = CONST_ME_HOLYAREA, [COMBAT_DEATHDAMAGE] = CONST_ME_MORTAREA } function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin) if creature:isPlayer() then if primaryType == COMBAT_HEALING then return primaryDamage, primaryType, secondaryDamage, secondaryType end if creature:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT, 11) then if primaryType == COMBAT_DROWNDAMAGE then primaryDamage = 0 end if secondaryType == COMBAT_DROWNDAMAGE then secondaryDamage = 0 end end for i = 1, 8 do -- resist if creature:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT, res[i][1]) then if primaryType == res[i][2] or i == 8 then primaryDamage = (primaryDamage - (primaryDamage * (creature:getStorageValue(5) / 100))) end if secondaryType == res[i][2] or i == 8 then secondaryDamage = (secondaryDamage - (secondaryDamage * (creature:getStorageValue(5) / 100))) end end end for i = 9, 16 do -- reflect if creature:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT, res[i][1]) then if not attacker then return primaryDamage, primaryType, secondaryDamage, secondaryType end if primaryType == res[i][2] or i == 16 then local a = math.floor(primaryDamage * (creature:getStorageValue(5) / 100)) if attacker:isMonster() then local m = MonsterType(attacker:getName()) local e = m:getElementList() local f = m:getCombatImmunities() if type(f) == "number" then if f == primaryType then a = 0 end else for i, j in pairs(f) do if i == primaryType then a = 0 end end end if type(e) == "number" then if e == primaryType then if e > 0 then a = (a - (a * (e / 100))) else a = (a + (a * ((e * -1) / 100))) end end else for i, j in pairs(e) do if i == primaryType then if j > 0 then a = (a - (a * (j / 100))) else a = (a + (a * ((j * -1) / 100))) end end end end end doTargetCombatHealth(creature, attacker, primaryType, a, a, refs[primaryType]) end end end for i = 17, 24 do -- deflect if creature:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT, res[i][1]) then if not attacker then return primaryDamage, primaryType, secondaryDamage, secondaryType end if primaryType == res[i][2] or i == 24 then local a = math.floor(primaryDamage * (creature:getStorageValue(5) / 100)) if attacker:isMonster() then local m = MonsterType(attacker:getName()) local e = m:getElementList() local f = m:getCombatImmunities() if type(f) == "number" then if f == primaryType then a = 0 end else for i, j in pairs(f) do if i == primaryType then a = 0 end end end if type(e) == "number" then if e == primaryType then if e > 0 then a = (a - (a * (e / 100))) else a = (a + (a * ((e * -1) / 100))) end end else for i, j in pairs(e) do if i == primaryType then if j > 0 then a = (a - (a * (j / 100))) else a = (a + (a * ((j * -1) / 100))) end end end end end doTargetCombatHealth(creature, attacker, primaryType, a, a, refs[primaryType]) primaryDamage = (primaryDamage - (primaryDamage * (creature:getStorageValue(5) / 100))) secondaryDamage = (secondaryDamage - (secondaryDamage * (creature:getStorageValue(5) / 100))) end end end for i = 25, 32 do if creature:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT, res[i][1]) then if primaryType == res[i][2] or i == 32 then local a = math.floor(primaryDamage * (creature:getStorageValue(5) / 100)) creature:addHealth(a) primaryDamage = (primaryDamage - (primaryDamage * (creature:getStorageValue(5) / 100))) secondaryDamage = (secondaryDamage - (secondaryDamage * (creature:getStorageValue(5) / 100))) end end end end if primaryDamage == 0 and secondaryDamage == 0 and creature:isPlayer() then creature:getPosition():sendMagicEffect(CONST_ME_POFF) end return primaryDamage, primaryType, secondaryDamage, secondaryType end Exemplo
local t = 60 * 1000 local v = 10 local resist = Condition(CONDITION_ATTRIBUTES) resist:setParameter(CONDITION_PARAM_BUFF_SPELL, 1) resist:setParameter(CONDITION_PARAM_SUBID, 108) resist:setParameter(CONDITION_PARAM_TICKS, t) player:addCondition(resist) player:setStorageValue(5, v) Créditos: RazorBlade
-
larissaots got a reaction from Administrador in Nature Island
Categoria: Mapa.
Versão: 8.60
Créditos: Oldschool'er
Anexos: Download
Screenshot;
-
larissaots got a reaction from Administrador in Teleport Room
Categoria: Mapa.
Versão: 8.60
Créditos: iSanto
Anexos: Download
Screenshot;
-
larissaots got a reaction from JonatasLucasf in Ab'Dendriel NOVA APARÊNCIA + Draconia
Categoria: Mapa.
Versão: 10.10
Créditos: zkum
Anexos: Download
Screenshot;
-
larissaots got a reaction from Administrador in Rat Sewer
Categoria: Mapa.
Versão: 8.60
Créditos: Oldschool'er
Anexos: Download
Screenshot;
-
larissaots got a reaction from Administrador in InsanityOT Nature House
Categoria: Mapa.
Versão: 8.60
Créditos: Oldschool'er
Anexos: Download
Screenshot;
-
larissaots got a reaction from Bruno in RPG City: Valkaria and Prima.
Tamanho: 1,6 MB.
Categoria: Mapa.
Versão: 10.31
Créditos: Slec
Anexos: Download
Screenshot;
-
larissaots got a reaction from Bruno in Poi seals
Tamanho: 60 KB.
Categoria: Mapa.
Versão: 10.31
Créditos: Slec
Anexos: Download
Screenshot;
-
Recently Browsing 0 members
- No registered users viewing this page.