Ir para conteúdo
Close

REFORMULAMOS A SEÇÃO DE CLASSIFICADOS! - Crie grátis os seus anúncios de procura e oferta de serviços e produtos relacionados ao OTServ! - Acesse através do nosso menu ou clique aqui e confira já!

Vodkart

Moderador
  • Total de itens

    2.603
  • Registro em

  • Última visita

  • Dias Ganhos

    91

Tudo que Vodkart postou

  1. @Phineasz Você praticamente teria que editar todas as quest, npc, globalevents, etc... para colocar as frases em inglês, espanhol, pt e tal... ai sim vai ter diferença.
  2. acho que nesse caso teria que editar a lib do npc para aceitar as linguagens diferentes dentro de uma tabela...
  3. no script do onLogin você deixa assim então, aquela parte que te falei pra adc lá em cima lembra? deixa assim: doRemoveConditions(cid, false) for store, buff in pairs(command_buffs_storages) do setPlayerStorageValue(cid, store, 0) end
  4. @Phineasz no caso das tuas spells, quando o jogador é buffado e reloga/morre... os atributos do buff somem né?
  5. @Phineasz --[[ PERFECT UPGRADE SYSTEM 2.0 Criado por Oneshot É proibido a venda ou a cópia sem os devidos créditos desse script. ]]-- UpgradeHandler = { levels = { [1] = {100, true, true}, [2] = {90, true, true}, [3] = {75, true, true}, [4] = {60, true, true}, [5] = {45, true, true}, [6] = {30, true, true}, [7] = {25, true, true}, [8] = {20, true, true}, [9] = {15, true, true}, [10] = {5, true, true} }, broadcast = 9, attributes = { ["attack"] = 2, ["defense"] = 2, ["armor"] = 2, }, message = { console = "{Upgrade System} Refinando %s para o level adiante você tem %s%% de conseguir.", success = "{Upgrade System} Você conseguiu Refinar %s para o level +%s.", fail = "{Upgrade System} Você falhou a sua refinação.", downgrade = "{Upgrade System} Seu item %s voltou para o level +%s.", erase = "{Upgrade System} O level da refinação %s foi apagado.", maxlevel = "{Upgrade System} O item %s ja esta no level maximo.", notupgradeable = "{Upgrade System} Este item não é refinavel.", broadcast = "{Upgrade System} The player %s was successful in upgrading %s to level +%s.\nCongratulations!!", invalidtool = "{Upgrade System} Este não é um item de refinação valido.", toolrange = "{Upgrade System} Você so pode usar o refinamento do level +%s ate +%s." }, tools = { [8300] = {range = {0, 10}, info = {chance = 0, removeable = true}}, [8306] = {range = {0, 10}, info = {chance = 100, removeable = true}} }, isEquipment = function(self) local weaponType = self:getItemWeaponType() return ((weaponType > 0 and weaponType < 7) or self.item.armor ~= 0) end, setItemName = function(self, name) return doItemSetAttribute(self.item.uid, "name", name) end, chance = function(self) local chances = {} chances.upgrade = (self.levels[self.item.level + 1][1] or 100) chances.downgrade = (self.item.level * 5) chances.erase = (self.item.level * 11) return chances end } function UpgradeHandler:new(item) local obj, ret = {} obj.item = {} obj.item.level = 0 obj.item.uid = item.uid for key, value in pairs(getItemInfo(item.itemid)) do obj.item[key] = value end ret = setmetatable(obj, {__index = function(self, index) if _G[index] then return (setmetatable({callback = _G[index]}, {__call = function(self, ...) return self.callback(item.uid, ...) end})) else return UpgradeHandler[index] end end}) if ret:isEquipment() then ret:update() return ret end return false end function UpgradeHandler:update() self.item.level = (tonumber(self:getItemName():match("%+(%d+)")) or 0) end function UpgradeHandler:refine(uid, item) if not self.item then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, self.message.notupgradeable) return "miss" end local tool = self.tools[item.itemid] if(tool == nil) then doPlayerSendTextMessage(uid, MESSAGE_EVENT_DEFAULT, self.message.invalidtool) return "miss" end if(self.item.level > #self.levels) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.maxlevel:format(self.item.name)) return "miss" end if(self.item.level < tool.range[1] or self.item.level >= tool.range[2]) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.toolrange:format(unpack(tool.range))) return "miss" end local chance = (self:chance().upgrade + tool.info.chance) doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, self.message.console:format(self.item.name, (self.item.level + 1), math.min(100, chance))) if(tool.info.removeable == true) then doRemoveItem(item.uid, 1) end local r = chance * 100 if r >= 10000 or r < 10000 and r > math.random(1, 10000) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_ORANGE, self.message.success:format(self.item.name, (self.item.level + 1))) self:setItemName((self.item.level > 0 and self:getItemName():gsub("%+(%d+)", "+".. (self.item.level + 1)) or (self:getItemName() .." +1"))) for key, value in pairs(self.attributes) do if getItemAttribute(self.item.uid, key) ~= nil or self.item[key] ~= 0 then doItemSetAttribute(self.item.uid, key, (self.item.level > 0 and getItemAttribute(self.item.uid, key) or self.item[key]) + value) end end return "success" elseif item.itemid == 8300 then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.downgrade:format(self.item.name, (self.item.level - 1))) self:setItemName((self.item.level == 1 and self.item.name or self:getItemName():gsub("%+(%d+)", "+".. (self.item.level - 1)))) for key, value in pairs(self.attributes) do if getItemAttribute(self.item.uid, key) ~= nil or self.item[key] ~= 0 then doItemSetAttribute(self.item.uid, key, (self.item[key] + value * (self.item.level - 1))) end end return "fail" end end
  6. ué, o da party eu ja coloquei ali em cima, todos ganham storage. for _, pid in ipairs(affectedList) do doAddCondition(pid, condition) setPlayerStorageValue(pid, store, os.time()+ret.tempo) -- aqui storage end
  7. Ficou bem completo e bem desenvolvido esses teus códigos!! parabéns, sempre excelentes trabalhos. GGWP!
  8. Faço Scripts LUA - 8.6 em troca de RP(Riot Points). Valeu, Falow!

  9. verdade, vou usar o do Vita Sio como exemplo, ficou assim: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 39) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local config = { tempo = 600, --- tempo que vai durar a spell percent = 20 -- quanto % vai aumentar } local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, config.tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 100+config.percent) setCombatCondition(combat, condition) function onCastSpell(cid, var) local store = 789651 -- valor da storage escolhido setPlayerStorageValue(variantToNumber(var), store, os.time()+config.tempo) return doCombat(cid, combat, var) end ------------------------------------------------------------------------ Testa a spell do Vita Sio - Vida // e fala se funcionou.
  10. @Phineasz Não entendi, que storage? esse ele adiciona storage para todos na party. deixa eu ver a tag nos script que da pra buffar o target?
  11. @Phineasz pois é, testa esse Gran Mas Sio que editei pra vc: local ret = { tempo = 600, --- tempo que vai durar a spell percent = 40 -- quanto % vai aumentar } local store = 789653 -- aqui valor da storage local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, ret.tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 100+ret.percent) local config = { baseMana = 120, pvpManaSpent = getConfigValue("addManaSpentInPvPZone") } function onCastSpell(cid, var) local pos, membersList = getCreaturePosition(cid), getPartyMembers(cid) if not membersList then doPlayerSendTextMessage(cid,22,"Voce precisa esta em party para usar esse buff.") doSendMagicEffect(pos, CONST_ME_POFF) return false end if table.maxn(membersList) <= 1 then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOPARTYMEMBERSINRANGE) doSendMagicEffect(pos, CONST_ME_POFF) return false end local affectedList = {} for _, pid in ipairs(membersList) do if(getDistanceBetween(getCreaturePosition(pid), pos) <= 36) then table.insert(affectedList, pid) end end local tmp = table.maxn(affectedList) if(tmp <= 1) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOPARTYMEMBERSINRANGE) doSendMagicEffect(pos, CONST_ME_POFF) return false end local mana = math.ceil((0.9 ^ (tmp - 1) * config.baseMana) * tmp) if(getCreatureMana(cid) < mana) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHMANA) doSendMagicEffect(pos, CONST_ME_POFF) return false end doCreatureAddMana(cid, -(mana - config.baseMana), false) if(not getPlayerFlagValue(cid, PlayerFlag_NotGainMana) and (not getTileInfo(getThingPosition(cid)).pvp or config.pvpManaSpent)) then doPlayerAddSpentMana(cid, (mana - config.baseMana)) end for _, pid in ipairs(affectedList) do doAddCondition(pid, condition) setPlayerStorageValue(pid, store, os.time()+ret.tempo) -- aqui storage end return true end
  12. @Phineasz No Vita Gran Mas Sio tinha duas tabelas com o mesmo nome... ------------------------------ sobre os demais scripts, o buff não é só em si mesmo? tbm dá para colocar no target? em todos eles?
  13. @viniciusgdesousa faltou só um end no final rs function onStepIn(cid, item, position, fromPosition) if getPlayerLevel(cid) < 200 then doTeleportThing(cid, fromPosition, true) doPlayerPopupFYI(cid, "Você não tem level o suficiente para passar.") return true end if getPlayerStorageValue(cid, 13602) - os.time() <= 0 then doTeleportThing(cid, fromPosition, true) doPlayerPopupFYI(cid, "[Tesouro] Você não é Ultimate. Para Ter Acesso faça a quest Ultimate!") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return true end doPlayerPopupFYI(cid, "[Tesouro] Bem Vindo a área Ultimate!") return true end
  14. @Phineasz vou te ensinar como fazer, é meio chato mas vou fazer em 3 script diferentes para você. Presta atenção: Vita Sio - Vida Vita Gran Sio - Vida Vita Gran Mas Sio - Vida. ---------------------------------------------- agora vou na lib e coloco em qualquer arquivo la no final essa tabela: -- buffs info command_buffs_storages = { [789651] = "Vida up - tempo restante: %s.", [789652] = "Super vida up - tempo restante: %s.", [789653] = "Party Vida Up - tempo restante: %s." } -------------------------------------------------- agora vou no creaturescript e no arquivo do login.lua adiciona antes do último return true: for store, buff in pairs(command_buffs_storages) do setPlayerStorageValue(cid, store, 0) end e o script vc deixa assim a talk:
  15. @douglas0000777 testei e funcionou... colou o evento no xml do monstro? 15:42 Parabéns, Você destriu o monstro Pythius The Rotten. Suas recompensas: 20 scarab coin, 100 crystal coin. -------------------------- no arquivo do monstro tem que ficar assim olha: <?xml version="1.0" encoding="UTF-8"?> <monster name="Pythius the rotten" nameDescription="a Pythius the rotten" race="undead" experience="100" speed="300" manacost="0"> <health now="8350" max="8350"/> <look type="231" corpse="6306"/> <targetchange interval="5000" chance="8"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" skill="95" attack="95"/> <attack name="fire" interval="2000" chance="20" range="7" radius="4" target="1" min="-300" max="-395"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="redspark"/> </attack> <attack name="death" interval="3000" chance="20" range="7" min="-0" max="-600"> <attribute key="shootEffect" value="suddendeath"/> </attack> <attack name="poison" interval="2000" chance="20" range="7" radius="4" target="1" min="-120" max="-390"> <attribute key="shootEffect" value="poison"/> <attribute key="areaEffect" value="poison"/> </attack> <attack name="poison" interval="1000" chance="10" range="7" min="-50" max="-180"> <attribute key="shootEffect" value="poison"/> <attribute key="areaEffect" value="poison"/> </attack> <attack name="fire" interval="4000" chance="25" length="8" spread="3" min="-500" max="-600"> <attribute key="areaEffect" value="firearea"/> </attack> <attack name="poison" interval="2000" chance="23" length="8" spread="3" min="-200" max="-685"> <attribute key="areaEffect" value="poison"/> </attack> <attack name="lifedrain" interval="3000" chance="25" length="8" spread="3" min="-300" max="-600"> <attribute key="areaEffect" value="greenshimmer"/> </attack> </attacks> <defenses armor="35" defense="30"> </defenses> <elements> <element physicalPercent="10"/> <element icePercent="10"/> <element holyPercent="-10"/> </elements> <immunities> <immunity death="1"/> <immunity earth="1"/> <immunity fire="1"/> <immunity drown="1"/> <immunity lifedrain="1"/> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> <summons maxSummons="2"> <summon name="Undead Gladiator" interval="1000" chance="8"/> </summons> <voices interval="5000" chance="10"> <voice sentence="YOU'LL NEVER GET MY TREASURE!"/> </voices> <script> <event name="RewaMonster"/> </script> </monster> você precisa registrar essa parte : <script> <event name="RewaMonster"/> </script>
  16. show de bola, muitos membros procuram por isso! parabéns.
  17. Vodkart

    Sistema [8.6] Labia System

    Descrição do Arquivo *Sobre o Sistema* Labia System é um sistema que proporciona ao jogador a capacidade de aprimorar sua habilidade de venda, aumentando assim sua Labia Skill e obtendo maiores lucros em futuras vendas de itens. O Skill de Labia, pode ser upado enquanto Free ou Premmy Account em qualquer level que você queira! Basta vender itens no NPC Soya Master. Lembrando que sendo free, sua lábia pode ser upada apenas até skill 90. Já sendo premmium até a lábia 120. Se o player for premmy account, de repente ficar free... sua lábia cai para 90, e todos os itens serão vendidos com preços avaliados dentro dessa lábia! Quanto mais caro for, o item vendido, maior será a porcentagem de lábia upada. *Exclusividade* O Sistema também conta com uma configuração exclusiva, tendo a possibilidade de jogadores Premmy account possam upar mais rapído a sua Skill de Labia! Sem falar no comando inovador: !labia info -- Ensinando ao jogador como usar o sistema !labia level -- Mostrando ao jogador quanto de skill Try falta para o próximo level!! *Benefícios da Lábia* Quanto maior for sua Labia Skill, maior será o valor pago pelas NPC Soya Master em troca do seu item ! Lembrando que, este é um benefício apenas, para premiuns!, Desta maneira, jogadores premiuns com labia skill alta, conseguem maiores lucros ao vender seus itens! O valor do item varia de acordo com a Labia upada! Quanto mais skill, mais lucro na venda! A maior Labia alcançada é você que decide nas suas configurações! por exemplo no RPG Brasil a é Skill 120. *exemplo da fórmula para cálculos do valor do item de acordo com uma Lábia desejada* P = PI + PI * 0,025 * (L / 2) Onde: P ~ Preço que o item será vendido na lábia L. PI ~ Preço Inicial do item, preço do item para um lábia 0. L ~ Labia em que o item será vendido! Vale lembrar que se L for um nº ímpar, deve-se reduzir uma unidade deste número, ou seja, 13 vira 12, 27 vira 26, 91 vira 90, nesse esquema, apenas se L for í­mpar! Exemplo: Preço de uma Golden Legs na lábia 95: P = PI + PI * 0,025 * (L / 2) Como L é í­mpar (95), reduzimos uma unidade, 95 vira 94: P = 48000 + 48000 * 0,025 * (94 / 2) P = 48000 + 48000 * 0,025 * 47 P = 48000 + 56400 P = 104400 GP's ou 104,4 k Sistema Labia.rar
  18. @douglas0000777 vc copiou errado ta vendo essa linha: local chance, itemid, amount = items[i].chance, items[i].itemid,items[i].amount na sua sumiu os "i" entendeu? ai da esses erros mesmo... tente copiar certinho brother. COPIA DIRETO DAQUI O CODIGO PRA NAO BUGAR: https://pastebin.com/raw/38hjyntG
  19. @douglas0000777 deixa eu ver como ficou seu script
  20. Atualizado: 04/02/2017 Agora é por onKill ao invés de onDeath(estava bugando) Arrumado Stacking Item(vale quando começar a pegar o item) Max Slots de acordo com free ou premium Comandos adicionados: !autoloot --> Mostra uma janela com as informações do sistema !autoloot item name --> para adicionar ou remover itens na lista. !autoloot money --> Vai começar a coletar os gold automaticamente !autoloot clear --> limpar os slots da lista !autoloot on/off --> para ativar ou desativar o sistema obs: aconselho a usar no máximo 8 Slots para não bugar a storage. Credits: MatheusMkalo & Vodkart versão testada: 8.6, 9.1 Auto Loot.xml <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="Loot System" version="1.0" author="Vodkart And Mkalo" contact="none.com" enabled="yes"> <config name="Loot_func"><![CDATA[ info = { AutomaticDeposit = true, BlockMonsters = {}, BlockItemsList = {2123,2515}, Max_Slots = {free = 2, premium = 5}, Storages = {27000,28001,28002} } function setPlayerStorageTable(cid, storage, tab) local tabstr = "&" for i,x in pairs(tab) do tabstr = tabstr .. i .. "," .. x .. ";" end setPlayerStorageValue(cid, storage, tabstr:sub(1, #tabstr-1)) end function getPlayerStorageTable(cid, storage) local tabstr = getPlayerStorageValue(cid, storage) local tab = {} if type(tabstr) ~= "string" then return {} end if tabstr:sub(1,1) ~= "&" then return {} end local tabstr = tabstr:sub(2, #tabstr) local a = string.explode(tabstr, ";") for i,x in pairs(a) do local b = string.explode(x, ",") tab[tonumber(b[1]) or b[1]] = tonumber(b[2]) or b[2] end return tab end function isInTable(cid, item) for _,i in pairs(getPlayerStorageTable(cid, info.Storages[1]))do if tonumber(i) == tonumber(item) then return true end end return false end function addItemTable(cid, item) local x = {} for i = 1,#getPlayerStorageTable(cid, info.Storages[1]) do table.insert(x,getPlayerStorageTable(cid, info.Storages[1])[i]) end if x ~= 0 then table.insert(x,tonumber(item)) setPlayerStorageTable(cid, info.Storages[1], x) else setPlayerStorageTable(cid, info.Storages[1], {item}) end end function removeItemTable(cid, item) local x = {} for i = 1,#getPlayerStorageTable(cid, info.Storages[1]) do table.insert(x,getPlayerStorageTable(cid, info.Storages[1])[i]) end for i,v in ipairs(x) do if tonumber(v) == tonumber(item) then table.remove(x,i) end end return setPlayerStorageTable(cid, info.Storages[1], x) end function ShowItemsTabble(cid) local n,str = 0,"[+] Auto Loot Commands [+]\n\n!autoloot item name --> To add ou Remove item from list.\n!autoloot money --> To collect gold automatically.\n!autoloot clear --> To clear the list.\n!autoloot on/off --> To enable or disable the collecting of items in the system.\n\n[+] Auto Loot Info [+]\n\nSystem: "..(getPlayerStorageValue(cid, info.Storages[3]) <= 0 and "Activated" or "Disabled")..".\nGold Collecting: "..(getPlayerStorageValue(cid, info.Storages[2]) > 0 and "Activated" or "Disabled")..".\nBalance Total: ["..getPlayerBalance(cid).."] gp's.\nMaximum Slots: ["..#getPlayerStorageTable(cid, info.Storages[1]).."/"..(isPremium(cid) and info.Max_Slots.premium or info.Max_Slots.free).."]\n\n[+] Auto Loot Slots [+]\n\n" for i = 1,#getPlayerStorageTable(cid, info.Storages[1]) do n = n + 1 str = str.."Slot "..n.." - "..getItemNameById(getPlayerStorageTable(cid, info.Storages[1])[i]).."\n" end return doPlayerPopupFYI(cid, str) end function getContainerItems(containeruid) local items = {} local containers = {} if type(getContainerSize(containeruid)) ~= "number" then return false end for slot = 0, getContainerSize(containeruid)-1 do local item = getContainerItem(containeruid, slot) if item.itemid == 0 then break end if isContainer(item.uid) then table.insert(containers, item.uid) end table.insert(items, item) end if #containers > 0 then for i,x in ipairs(getContainerItems(containers[1])) do table.insert(items, x) end table.remove(containers, 1) end return items end function getItemsInContainerById(container, itemid) -- Function By Kydrai local items = {} if isContainer(container) and getContainerSize(container) > 0 then for slot=0, (getContainerSize(container)-1) do local item = getContainerItem(container, slot) if isContainer(item.uid) then local itemsbag = getItemsInContainerById(item.uid, itemid) for i=0, #itemsbag do table.insert(items, itemsbag[i]) end else if itemid == item.itemid then table.insert(items, item.uid) end end end end return items end function doPlayerAddItemStacking(cid, itemid, amount) -- revisado local item, _G = getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, itemid), 0 if #item > 0 then for _ ,x in pairs(item) do local ret = getThing(x) if ret.type < 100 then doTransformItem(ret.uid, itemid, ret.type+amount) if ret.type+amount > 100 then doPlayerAddItem(cid, itemid, ret.type+amount-100) end break else _G = _G+1 end end if _G == #item then doPlayerAddItem(cid, itemid, amount) end else return doPlayerAddItem(cid, itemid, amount) end end function AutomaticDeposit(cid,item,n) local deposit = item == tonumber(2160) and (n*10000) or tonumber(item) == 2152 and (n*100) or (n*1) return doPlayerDepositMoney(cid, deposit) end function corpseRetireItems(cid, pos) local check = false for i = 0, 255 do pos.stackpos = i tile = getTileThingByPos(pos) if tile.uid > 0 and isCorpse(tile.uid) then check = true break end end if check == true then local items = getContainerItems(tile.uid) for i,x in pairs(items) do if isInArray(getPlayerStorageTable(cid, info.Storages[1]), tonumber(x.itemid)) or getPlayerStorageValue(cid, info.Storages[2]) > 0 and isInArray({2148,2152,2160},tonumber(x.itemid)) then if isItemStackable(x.itemid) then doPlayerAddItemStacking(cid, x.itemid, x.type) if info.AutomaticDeposit == true and isInArray({2148,2152,2160}, tonumber(x.itemid)) then AutomaticDeposit(cid,x.itemid,x.type) end else doPlayerAddItem(cid, x.itemid) end doRemoveItem(x.uid) end end end end ]]></config> <event type="login" name="LootLogin" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "LootEventKIll") if isPremium(cid) and getPlayerStorageValue(cid, 27001) <= 0 then setPlayerStorageValue(cid, 27001, 1) elseif getPlayerStorageValue(cid, 27001) > 0 and not isPremium(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[Auto Loot] You premium is Over, Start a new list!") setPlayerStorageValue(cid, 27001, -1) setPlayerStorageValue(cid, info.Storages[1], -1) end return true end]]></event> <event type="kill" name="LootEventKIll" event="script"><![CDATA[ domodlib('Loot_func') function onKill(cid, target, lastHit) if isPlayer(cid) and getPlayerStorageValue(cid, info.Storages[3]) <= 0 and isMonster(target) and not isInArray(info.BlockMonsters, getCreatureName(target):lower()) then addEvent(corpseRetireItems, 0, cid ,getThingPos(target)) end return true end]]></event> <talkaction words="!autoloot;/autoloot" event="buffer"><![CDATA[ domodlib('Loot_func') local param, slots = param:lower(), isPremium(cid) and info.Max_Slots.premium or info.Max_Slots.free if not param or param == "" then ShowItemsTabble(cid) return true elseif tonumber(param) then doPlayerSendCancel(cid, "enter commands: !autoloot item name [+] !autoloot clean [+] !autoloot money [+] !autoloot on/off") return true elseif isInArray({"clean","limpar", "clear"}, param) then setPlayerStorageValue(cid, info.Storages[1], -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"[Auto Loot] Your list has been cleaned.") return true elseif isInArray({"start","stop","on","off"}, param) then setPlayerStorageValue(cid, info.Storages[3], getPlayerStorageValue(cid, info.Storages[3]) <= 0 and 1 or 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"[Auto Loot] "..(getPlayerStorageValue(cid, info.Storages[3]) > 0 and "Stopped" or "Started")..".") return true elseif isInArray({"money","gold","gps","dinheiro"}, param) then setPlayerStorageValue(cid, info.Storages[2], getPlayerStorageValue(cid, info.Storages[2]) <= 0 and 1 or 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"[Auto Loot] Gold Colleting "..(getPlayerStorageValue(cid, info.Storages[2]) > 0 and "Activated" or "disabled")..".") return true end local item = getItemIdByName(param, false) if not item then doPlayerSendCancel(cid, "This item does not exist.") return true end local var = isInTable(cid, item) if isInArray({2148,2152,2160},item) then doPlayerSendCancel(cid, "Enter !autoloot money to add money in your list!") return true elseif isInArray(info.BlockItemsList, item) then doPlayerSendCancel(cid, "You can not add this item in the list!") return true elseif not var and #getPlayerStorageTable(cid, info.Storages[1]) >= slots then doPlayerSendCancel(cid, "max "..slots.." from auto loot") return true end if not var then addItemTable(cid, item) else removeItemTable(cid, item) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,not var and "you added the item "..param.." in the list" or "you removed the item "..param.." from the list") return true]]></talkaction> </mod> Configurações: versão que vende itens automaticamente
  21. viu vc nao copiou, olha como está o outro script: local tpId = 1387 local pos, topos = {x=151, y=40, z=7},{x=95, y=182, z=7} function onSay(cid,words,param,channel) local t = getTileItemById(pos, tpId).uid if param == "close" then if t > 0 then doRemoveItem(t) doSendMagicEffect(pos, CONST_ME_POFF) doBroadcastMessage("O teleporte foi fechado!") else doPlayerSendCancel(cid, "Desculpe, mas nao tem nenhum teleport no momento.") end return true end if t > 0 then doPlayerSendCancel(cid, "Desculpe, ja existe um telepor criado no momento.") return true end doCreateTeleport(tpId, topos, pos) doBroadcastMessage("O teleporte foi aberto!") return true end está diferente.
  22. @mullino Então você não copiou meu script que editei ali em cima, testei aqui e funcionou:
  23. @mullino usa o ultimo script que editei ali em cima e testa fazendo o favor.
  24. @mullino local tpId = 1387 local pos, topos = {x=151, y=40, z=7},{x=95, y=182, z=7} function onSay(cid,words,param,channel) local t = getTileItemById(pos, tpId).uid if param == "close" then if t > 0 then doRemoveItem(t) doSendMagicEffect(pos, CONST_ME_POFF) doBroadcastMessage("O teleporte foi fechado!") else doPlayerSendCancel(cid, "Desculpe, mas nao tem nenhum teleport no momento.") end return true end if t > 0 then doPlayerSendCancel(cid, "Desculpe, ja existe um telepor criado no momento.") return true end doCreateTeleport(tpId, topos, pos) doBroadcastMessage("O teleporte foi aberto!") return true end vc está colocando algum item embaixo do teleport? porque o tile tem que estar "limpo", sem aquelas bolinhas verdes embaixo sabe rs ##EDITADO## estava usando base do tfs 0.3.8 mas vi que vc usa outra versão por iso não iria... KKKKK valeu @mullino editei o ultimo script agora

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!

×