Ir para conteúdo

Bruno Rezende

Membro
  • Registro em

  • Última visita

Tudo que Bruno Rezende postou

  1. Tem um bug nesse script! ao morrer e avançar um level, eu to ganhando a grana toda que ja tinha pegado
  2. @Vodkarto problema voltou a acontecer, te pinguei no Discord.
  3. @Vodkarttava falando contigo la: p0t1nh0 #2150
  4. @Vodkart ainda dá suporte pra esse script?
  5. Exato, tinha feito isso também. Ai fiz as configurações baseadas no arquivo updater.php
  6. Não funcionou no meu servidor, os monstros continuam não caindo (as vezes) e o valor vai incorreto pro Storage
  7. Troca o conteudo do advanced_updater pro conteudo do updater, ai faz as alterações necessárias.
  8. Me manda como ficou sua estrutura de arquivos, o meu tá funcionando, inclusive pra Android.
  9. consegui arrumar tudo, minha pasta files ficou assim:
  10. Estou com o mesmo problema @Standard Pra quem tá com o erro abaixo, eu consegui fazer ele atualizar colocando da seguinte forma no xampp em Windows: $files_dir = "/xampp/htdocs/api/files"; Problema é que agora o client entra num loop infinito de atualização
  11. @Vodkart estou com 2 problemas no sistema: * Eu usei sua correção para os kills que registravam string no storage, mas ai parou de contar os bichos pra task * Gostaria que no comando /task viesse quantos pontos de task o player já tem
  12. .Qual servidor ou website você utiliza como base? OTX 2 Qual o motivo deste tópico? Gostaria se alguém pudesse disponibilizar um char market system pra Gesior, os que encontrei são aqueles famosos em que era possível SQL Injection, pegar char que nem estava a venda.
  13. --<action itemid="XXXX" event="script" value="script.lua"/> local config = { level = false, remove = true, time = 30, -- Time is in minutes message = {MESSAGE_EVENT_ADVANCE, "You feel the power growing."}, conditions = {} } -- Sorcerer config.conditions[1] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(config.conditions[1], CONDITION_PARAM_TICKS, config.time * 1000 * 60) setConditionParam(config.conditions[1], CONDITION_PARAM_STAT_MAGICLEVEL, 5) setConditionParam(config.conditions[1], CONDITION_PARAM_BUFF, true) -- Druid config.conditions[2] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(config.conditions[2], CONDITION_PARAM_TICKS, config.time * 1000 * 60) setConditionParam(config.conditions[2], CONDITION_PARAM_STAT_MAGICLEVEL, 5) setConditionParam(config.conditions[2], CONDITION_PARAM_BUFF, true) -- Paladin config.conditions[3] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(config.conditions[3], CONDITION_PARAM_TICKS, config.time * 1000 * 60) setConditionParam(config.conditions[3], CONDITION_PARAM_SKILL_DISTANCE, 15) setConditionParam(config.conditions[3], CONDITION_PARAM_STAT_MAGICLEVEL, 3) setConditionParam(config.conditions[3], CONDITION_PARAM_BUFF, true) -- Knight config.conditions[4] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(config.conditions[4], CONDITION_PARAM_TICKS, config.time * 1000 * 60) setConditionParam(config.conditions[4], CONDITION_PARAM_SKILL_CLUB, 30) setConditionParam(config.conditions[4], CONDITION_PARAM_SKILL_SWORD, 30) setConditionParam(config.conditions[4], CONDITION_PARAM_SKILL_AXE, 30) setConditionParam(config.conditions[4], CONDITION_PARAM_BUFF, true) function onUse(cid, item, fromPosition, itemEx, toPosition) if config.level then if getPlayerLevel(cid) < config.level then return doPlayerSendCancel(cid, "You need to be level " .. config.level .. " or higher.") end end if hasCreatureCondition(cid, CONDITION_ATTRIBUTES) then return doPlayerSendCancel(cid, "You cannot use this item more than once.") end if config.remove then doRemoveItem(item.uid, 1) end if config.message then doPlayerSendTextMessage(cid, config.message[1], config.message[2]) end local voc = (getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5) and 1 or (getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6) and 2 or (getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7) and 3 or (getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8) and 4 doAddCondition(cid, config.conditions[voc]) return true end Resolvi com esse código
  14. Minha ideia é que, ao usar o item já desapareça (um scroll). E no script desse scroll tivesse uma contagem de 30 minutos (1.800.000 ms)
  15. .Qual servidor ou website você utiliza como base? The OTX Server Version: (2.100 - 6000) - Codename: (FINAL) Qual o motivo deste tópico? Tenho um item personalizado em meu servidor (ID 5152). Gostaria de criar um script para ele que forneça o seguinte benefício (por 30 minutos) variando por vocação, por exemplo: ED / MS: ML +5 Cavaleiro: todas as habilidades +30 Paladino: distância +15 e ml +3 Após o período de 30 minutos, as habilidades voltarão ao normal.
  16. Tb deu o mesmo erro, usar parado ele não da erro, mas ao correr e usar, ao invés da pot cair no chão ou não usar, da erro na console.
  17. .Qual servidor ou website você utiliza como base? The OTX Server Version: (2.100 - 6000) - Codename: (FINAL) Qual o motivo deste tópico? Estou com um bug aparentemente comum pra essa versão, ao usar potion correndo, ele não dropa a fluid no chão, dá um erro na distro (erro abaixo). Poderiam me ajudar a consertar? Segue abaixo erro e script potions.lua Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: local ITEM_RUM_FLASK = 5553 local TYPE_EMPTY = 0 local TYPE_WATER = 1 local TYPE_BLOOD = 2 local TYPE_BEER = 3 local TYPE_SLIME = 4 local TYPE_LEMONADE = 5 local TYPE_MILK = 6 local TYPE_MANA_FLUID = 7 local TYPE_LIFE_FLUID = 10 local TYPE_OIL = 11 local TYPE_URINE = 13 local TYPE_COCONUT_MILK = 14 local TYPE_WINE = 15 local TYPE_MUD = 19 local TYPE_FRUIT_JUICE = 21 local TYPE_LAVA = 26 local TYPE_RUM = 27 local TYPE_SWAMP = 28 local TYPE_TEA = 35 local oilLamps = {[2046] = 2044} local casks = {[1771] = TYPE_WATER, [1772] = TYPE_BEER, [1773] = TYPE_WINE} local alcoholDrinks = {TYPE_BEER, TYPE_WINE, TYPE_RUM} local poisonDrinks = {TYPE_SLIME, TYPE_SWAMP} local drunk = createConditionObject(CONDITION_DRUNK) setConditionParam(drunk, CONDITION_PARAM_TICKS, 60000) local poison = createConditionObject(CONDITION_POISON) setConditionParam(poison, CONDITION_PARAM_DELAYED, true) -- Condition will delay the first damage from when it's added setConditionParam(poison, CONDITION_PARAM_MINVALUE, -50) -- Minimum damage the condition can do at total setConditionParam(poison, CONDITION_PARAM_MAXVALUE, -120) -- Maximum damage setConditionParam(poison, CONDITION_PARAM_STARTVALUE, -5) -- The damage the condition will do on the first hit setConditionParam(poison, CONDITION_PARAM_TICKINTERVAL, 4000) -- Delay between damages setConditionParam(poison, CONDITION_PARAM_FORCEUPDATE, true) -- Re-update condition when adding it(ie. min/max value) local burn = createConditionObject(CONDITION_FIRE) setConditionParam(burn, CONDITION_PARAM_DELAYED, true) -- Condition will delay the first damage from when it's added setConditionParam(burn, CONDITION_PARAM_MINVALUE, -70) -- Minimum damage the condition can do at total setConditionParam(burn, CONDITION_PARAM_MAXVALUE, -150) -- Maximum damage setConditionParam(burn, CONDITION_PARAM_STARTVALUE, -10) -- The damage the condition will do on the first hit setConditionParam(burn, CONDITION_PARAM_TICKINTERVAL, 10000) -- Delay between damages setConditionParam(burn, CONDITION_PARAM_FORCEUPDATE, true) -- Re-update condition when adding it(ie. min/max value) function onUse(cid, item, fromPosition, itemEx, toPosition) if(doComparePositions(getCreaturePosition(cid), toPosition))then itemEx.uid = cid end if(itemEx.uid == cid) then if(item.type == TYPE_EMPTY) then doPlayerSendCancel(cid, "It is empty.") return true end if(item.type == TYPE_MANA_FLUID) then if(not doPlayerAddMana(itemEx.uid, math.random(40, 80))) then return false end doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_MONSTER_SAY) doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE) elseif(item.type == TYPE_LIFE_FLUID) then if(not doCreatureAddHealth(itemEx.uid, math.random(40, 80))) then return false end doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_MONSTER_SAY) doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE) elseif(isInArray(alcoholDrinks, item.type)) then if(not doTargetCombatCondition(0, cid, drunk, CONST_ME_NONE)) then return false end doCreatureSay(cid, "Aaah...", TALKTYPE_MONSTER_SAY) elseif(isInArray(poisonDrinks, item.type)) then if(not doTargetCombatCondition(0, cid, poison, CONST_ME_NONE)) then return false end doCreatureSay(cid, "Urgh!", TALKTYPE_MONSTER_SAY) elseif(item.type == TYPE_LAVA) then if(not doTargetCombatCondition(0, cid, burn, CONST_ME_NONE)) then return false end doCreatureSay(cid, "Urgh!", TALKTYPE_MONSTER_SAY) else doCreatureSay(cid, "Gulp.", TALKTYPE_MONSTER_SAY) end doChangeTypeItem(item.uid, TYPE_EMPTY) return true end if(not isCreature(itemEx.uid)) then if(item.type == TYPE_EMPTY) then if(isItemFluidContainer(itemEx.itemid) and itemEx.type ~= TYPE_EMPTY) then doChangeTypeItem(item.uid, itemEx.type) doChangeTypeItem(itemEx.uid, TYPE_EMPTY) return true end local tmp = casks[itemEx.itemid] if(tmp == nil) then tmp = getFluidSourceType(itemEx.itemid) end if(tmp) then doChangeTypeItem(item.uid, tmp) return true end doPlayerSendCancel(cid, "It is empty.") return true end local tmp = oilLamps[itemEx.itemid] if(item.type == TYPE_OIL and tmp ~= nil) then doTransformItem(itemEx.uid, tmp) doChangeTypeItem(item.uid, TYPE_NONE) return true end if(isItemFluidContainer(itemEx.itemid) and itemEx.type == TYPE_EMPTY) then doChangeTypeItem(itemEx.uid, itemEx.type) doChangeTypeItem(item.uid, TYPE_EMPTY) return true end if(hasProperty(itemEx.uid, CONST_PROP_BLOCKSOLID)) then return false end end if(item.type == TYPE_EMPTY) then doPlayerSendCancel(cid, "It is empty.") return true end doDecayItem(doCreateItem(POOL, item.type, toPosition)) doChangeTypeItem(item.uid, TYPE_EMPTY) return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  18. @Vodkart atualizei meu script do 1.0 pra esse, excelente trabalho. O 5.0 já saiu? Gostaria muito que os players escolhessem qualquer task (sem precisar seguir uma ordem) e dar a opção pra eles repetirem as tasks.
  19. Funcionou @Vodkart, muito obrigado. A título de aprendizado, poderia me falar onde e no que reflete a alteração? Obrigado pela atenção.
  20. .Qual servidor ou website você utiliza como base? The OTX Server Version: (2.100 - 6000) - Codename: (FINAL) Qual o motivo deste tópico? Estou disponibilizando um script muito interessante mas preciso de um ajuste final, nessa talkaction, quando você digita /info nome.monstro ele trás as informações de vida, exp e loot. Quando você digita um nome incorreto, ele abre uma janela dizendo que o nome do monstro está incorreto e trás a lista de monstros. Tudo está funcional, porém quando a pessoa digita o nome do monstro incorreto, dá um erro na minha console: Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: function getDirMonsterByNameMonster(name) t = {} local monster = io.open("data/monster/monsters.xml", "r") for i in monster:read("*a"):gmatch('<monster name="'..tostring(name)..'" file="(.-)"/>') do table.insert(t, tostring(i)) end return t[1] or 0 end function getMonsterLootItens(name) local dir = "data/monster/"..getDirMonsterByNameMonster(name).."" local monster = io.open(""..dir.."", "r") str = "" for i in monster:read("*a"):gmatch('id="(.-)"') do str = ""..str.." - "..getItemNameById(i).."" end return str end function getAllMonster() local str = "" local monster = io.open("data/monster/monsters.xml", "r") str = "Voce digitou incorretamente o nome do monstro veja a lista de monstro\n" for i in monster:read("*a"):gmatch('<monster name="(.-)"') do str = ""..str.." - "..i.."" end return str end function getAttrMonster(name) return "Life = "..getMonsterInfo(name).health.."\nExp = "..getMonsterInfo(name).experience.."\n" end function onSay(cid, words, param, channel) if param == "" or not param or param == " " then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce precisa dizer o nome do monstro") return true end local name = param:lower() if getMonsterInfo(name) then name = name:gsub("(%l)(%w*)", function(a,b) return string.upper(a)..b end) doShowTextDialog(cid, 1397, "Info Monster "..name.."\n"..getAttrMonster(name).."\n\nLoots = "..getMonsterLootItens(name).."") else doShowTextDialog(cid, 1397, getAllMonster()) return true end return true end Poderiam me ajudar para remover esse erro da console? Segue script da talkaction, obrigado. Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  21. Consegui fazer funcionar. Nessa versão não existe a janela For Your Information (FYI), então o código foi alterado para um texto comum: Trocado return doPlayerPopupFYI(cid, str) Para: doShowTextDialog(cid, 1961, str)
  22. .Qual servidor ou website você utiliza como base? The OTX Server Version: (2.100 - 6000) - Codename: (FINAL) Qual o motivo deste tópico? Tenho um mod de autoloot que funciona perfeitamennte bem, a não ser pelo comando básico dele de mostrar os comandos disponíveis e informações do mod. Os comandos de add, remover item, etc funcionam perfeitamente e ele recolhe todos os itens, mas o comando "/autoloot" da erro na console, conforme informações abaixo. Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="Perfect Auto Loot" version="1.0" author="Vodkart" contact="none.com" enabled="yes"> <config name="Loot_func"><![CDATA[ info = { directory = "data/logs/autoloot", Warn_Bp_Slots = 5, -- quando tiver 5 ou menos slots na BP vai avisar o jogador Talkaction_delay = 3, -- em segundos // delay para remover e adicionar item BlockMonsters = {}, BlockItemsList = {2123,2515}, Money_ids = {2148, 2152, 2160}, -- id das moedas do ot Max_Slots = {free = 20, premium = 20}, Storages = {988801, 988802, 988803, 988804, 988805, 988806, 988807} } Color_Loot = { [0] = {MESSAGE_EVENT_ORANGE, "Orange"}, [1] = {MESSAGE_STATUS_CONSOLE_BLUE, "Blue"}, [2] = {MESSAGE_INFO_DESCR, "Green"}, [3] = {MESSAGE_STATUS_CONSOLE_RED, "Red"}, [4] = {MESSAGE_STATUS_SMALL, "White"} } function getPlayerColorLootMessage(cid) return getPlayerStorageValue(cid, info.Storages[5]) <= 0 and 0 or getPlayerStorageValue(cid, info.Storages[5]) end function isInTable(cid, item) for _,i in pairs(getItensFromAutoloot(cid)) do if tonumber(i) == tonumber(item) then return true end end return false end function doremoveItemFromAutoloot(cid, itemid) local file, fileContent = io.open(info.directory.."/"..getCreatureName(cid)..".txt", 'r'),{} for line in file:lines() do if line ~= "" and tonumber(line) ~= tonumber(itemid) then fileContent[#fileContent + 1] = line end end io.close(file) file = io.open(info.directory.."/"..getCreatureName(cid)..".txt", 'w') for index, value in ipairs(fileContent) do file:write(value..'\n') end io.close(file) end function doAddItemFromAutoloot(cid, itemid) if not existsAutoloot(cid) then doCreateLootUserName(cid, itemid) return true end local file = io.open(info.directory.."/"..getCreatureName(cid)..".txt", "a+") file:write('\n'..itemid) file:close() end function existsAutoloot(cid) local f = io.open(info.directory.."/"..getCreatureName(cid)..".txt", "rb") if f then f:close() end return f ~= nil end function doCreateLootUserName(cid, itemid) newFile = io.open(info.directory.."/"..getCreatureName(cid)..".txt", "w+" ) newFile:write(itemid) newFile:close() end function getItensFromAutoloot(cid) if not existsAutoloot(cid) then return {} end lines = {} for line in io.lines(info.directory.."/"..getCreatureName(cid)..".txt") do if line ~= "" then lines[#lines + 1] = tonumber(line) end end return lines end function doCleanAutoloot(cid) return os.remove(info.directory.."/"..getCreatureName(cid)..".txt") end function ShowItemsTabble(cid) local auto_list = getItensFromAutoloot(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!autoloot message --> To enable or disable message from Collect items.\n!autoloot color --> To change Color message in Auto Loot Collect.\n!autoloot warn --> To enable or disable message warning of "..info.Warn_Bp_Slots.." or less slots in the backpack.\n!autoloot deposit --> To enable or disable automatic money deposit at the bank.\n\n[+] Auto Loot Info [+]\n\nSystem: "..(getPlayerStorageValue(cid, info.Storages[1]) <= 0 and "Activated" or "Disabled")..".\nGold Collecting: "..(getPlayerStorageValue(cid, info.Storages[2]) > 0 and "Activated" or "Disabled")..".\nMessage: "..(getPlayerStorageValue(cid, info.Storages[6]) <= 0 and "Activated" or "Disabled")..".\nColor Message: "..Color_Loot[getPlayerColorLootMessage(cid)][2]..".\nWarn Backpack: "..(getPlayerStorageValue(cid, info.Storages[3]) <= 0 and "Activated" or "Disabled")..".\nAutomatic Gold Deposit: "..(getPlayerStorageValue(cid, info.Storages[4]) > 0 and "Activated" or "Disabled")..".\nTotal Bank Balance: ["..getPlayerBalance(cid).."]\nMaximum Slots: ["..#auto_list.."/"..(isPremium(cid) and info.Max_Slots.premium or info.Max_Slots.free).."]\n\n[+] Auto Loot Slots [+]\n\n" if #auto_list > 0 then for i = 1, #auto_list do n = n + 1 str = str.."Slot "..n.." - "..getItemNameById(auto_list[i]).."\n" end end return doPlayerPopupFYI(cid, str) end function getContainerItems(container, array, haveCap) array = array or {} haveCap = haveCap or false if not isContainer(container.uid) or getContainerSize(container.uid) == 0 then array[#array +1] = container else local size = getContainerSize(container.uid) haveCap = (getContainerCap(container.uid) -size) > 0 for slot = 0, (size -1) do local item = getContainerItem(container.uid, slot) if item.itemid > 1 then getContainerItems(item, array, haveCap) end end end return #array >= 1 and array, haveCap end function getContainerItemsById(container, itemid) local founds = {} local items = not container.uid and container or getContainerItems(container) for index, item in pairs(items) do if item.itemid == itemid then founds[#founds +1] = item end end return #founds >= 1 and founds end function AutomaticDeposit(cid, item, n) local deposit = item == tonumber(2160) and (n*10000) or tonumber(item) == 2152 and (n*100) or (n) return doPlayerDepositMoney(cid, deposit) end function getAllContainerFree(container) -- by vodka local containers,soma = {},0 for i = 0, getContainerSize(container)-1 do local item = getContainerItem(container, i) if isContainer(item.uid) then table.insert(containers, item.uid) end end for _, check in pairs(containers) do soma = soma + getContainerSlotsFree(check) end return (soma + getContainerSlotsFree(container)) end function getContainerSlotsFree(container) -- by vodka return getContainerCap(container)-getContainerSize(container) end function doPlayerAddItemStackable(cid, itemid, count) local container = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK) if container.itemid > 1 then local items = getContainerItemsById(container, itemid) if not items then return doPlayerAddItem(cid, itemid, count) else local piles = #items for index, item in pairs(items) do if item.type < 100 then local sum = item.type + count local result = doTransformItem(item.uid, itemid, sum) if sum <= 100 then return result else return doPlayerAddItem(cid, itemid, sum - 100) end else piles = piles - 1 if piles == 0 then return doPlayerAddItem(cid, itemid, count) end end end end end return false end function corpseRetireItems(cid, pos) local check, slots = false, 0 for i = 0, 255 do pos.stackpos = i if getThingFromPos(pos).uid > 0 and isContainer(getThingFromPos(pos).uid) then corpse = getThingFromPos(pos) check = true break end end if check == true then local str, id_list = "", getItensFromAutoloot(cid) for _, item in pairs(getContainerItems(corpse)) do local id = item.itemid if #id_list > 0 and isInArray(id_list, id) or getPlayerStorageValue(cid, info.Storages[2]) > 0 and isInArray(info.Money_ids, id) then local amount = isItemStackable(id) and item.type or 1 local total_cap = getItemWeightById(id, amount) if getPlayerSlotItem(cid, 3).itemid ~= 0 then slots = getAllContainerFree(getPlayerSlotItem(cid, 3).uid) end if slots > 0 and getPlayerFreeCap(cid) >= total_cap then str = str.." " .. getItemInfoLoot(id, amount) if isItemStackable(id) then doPlayerAddItemStackable(cid, id, amount) if isInArray(info.Money_ids, id) and getPlayerStorageValue(cid, info.Storages[4]) > 0 then AutomaticDeposit(cid, id, amount) end else doPlayerAddItem(cid, id) end doRemoveItem(item.uid) end end end if str ~= "" and getPlayerStorageValue(cid, info.Storages[6]) <= 0 then doPlayerSendTextMessage(cid, Color_Loot[getPlayerColorLootMessage(cid)][1],"[Auto Loot Collect]:"..string.sub(str, 1, -2)..".") end if getPlayerStorageValue(cid, info.Storages[3]) <= 0 and slots > 0 and slots <= info.Warn_Bp_Slots then doPlayerSendTextMessage(cid,18, "[Auto Loot Warn] You only have "..slots.." slots free in your backpack!") end end end function ExistItemByName(name) -- by vodka local items = io.open("data/items/items.xml", "r"):read("*all") local get = items:lower():match('name="' .. name:lower() ..'"') if get == nil or get == "" then return false end return true end function getItemInfoLoot(id, amount) local info = getItemInfo(id) return isItemStackable(id) and amount.." "..(amount > 1 and info.plural or info.name).."," or info.article.." " .. info.name .."," end ]]></config> <event type="login" name="LootLogin" event="script"><![CDATA[ domodlib('Loot_func') function onLogin(cid) registerCreatureEvent(cid, "LootEventKIll") if isPremium(cid) and getPlayerStorageValue(cid, 853608) <= 0 then setPlayerStorageValue(cid, 853608, 1) elseif getPlayerStorageValue(cid, 853608) > 0 and not isPremium(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[Auto Loot] You premium is Over, Start a new list!") setPlayerStorageValue(cid, 853608, -1) doCleanAutoloot(cid) 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[1]) <= 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 if existsAutoloot(cid) then doCleanAutoloot(cid) end 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[1], getPlayerStorageValue(cid, info.Storages[1]) <= 0 and 1 or 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Auto Loot "..(getPlayerStorageValue(cid, info.Storages[1]) > 0 and "Stopped" or "Started")..".") return true elseif isInArray({"warn","aviso"}, 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 Backpack Warn "..(getPlayerStorageValue(cid, info.Storages[3]) > 0 and "disabled" or "Activated")..".") return true elseif isInArray({"mensagem","message","mensagen","msg"}, param) then setPlayerStorageValue(cid, info.Storages[6], getPlayerStorageValue(cid, info.Storages[6]) <= 0 and 1 or 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Auto Loot Message "..(getPlayerStorageValue(cid, info.Storages[6]) > 0 and "disabled" or "Activated")..".") return true elseif isInArray({"cor","color","type"}, param) then setPlayerStorageValue(cid, info.Storages[5], getPlayerColorLootMessage(cid) == #Color_Loot and 0 or getPlayerColorLootMessage(cid)+1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Auto Loot Message Color Changed to "..Color_Loot[getPlayerColorLootMessage(cid)][2]..".") 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 elseif isInArray({"deposito","bank","gbank","deposit","autodeposit"}, param) then setPlayerStorageValue(cid, info.Storages[4], getPlayerStorageValue(cid, info.Storages[4]) <= 0 and 1 or 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"[Auto Loot] Automatic Gold Bank "..(getPlayerStorageValue(cid, info.Storages[4]) > 0 and "Activated" or "disabled")..".") return true end local item = ExistItemByName(tostring(param)) if not item then doPlayerSendCancel(cid, "This item does not exist.") return true end local item = getItemIdByName(tostring(param)) local var = isInTable(cid, item) if isInArray(info.Money_ids, item) then doPlayerSendTextMessage(cid, MESSAGE_FIRST, "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 #getItensFromAutoloot(cid) >= slots then doPlayerSendCancel(cid, "max "..slots.." from auto loot") return true elseif getPlayerStorageValue(cid, info.Storages[7]) - os.time() > 0 then doPlayerSendCancel(cid, "Wait a second to use this command again.") return true end if not var then doAddItemFromAutoloot(cid, item) else doremoveItemFromAutoloot(cid, item) end setPlayerStorageValue(cid, info.Storages[7], os.time()+info.Talkaction_delay) 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, please wait 5 seconds to save the directory.") return true]]></talkaction> </mod> Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.

Informação Importante

Confirmação de Termo