Postado Março 11, 2016 9 anos 1 minuto atrás, lucaspds disse: Ocultar conteúdo Continuou dando o mesmo problema, mas obrigado por tentar o/ Cara, o meu está do mesmo jeito, mais verifica se você não errou algum script, vê se na distro não da erro após tentar usa-la. Criador, a procura de mapper e scripter para server de tibia 8.6 DEDICADO | IP: real-world.servegame.com | XP: 650 | Baiak EDITED (PRÓPRIO) | DEDICADO 24horas Online | Aberto 10.12.15 |
Postado Março 11, 2016 9 anos Autor 8 minutos atrás, pauliinho157 disse: Cara, o meu está do mesmo jeito, mais verifica se você não errou algum script, vê se na distro não da erro após tentar usa-la. MAN, já testei, acontece o mesmo problema das imagens que mandei anteriormente, o script depois de modificado eu dou o comando /autoloot a lista aparece vazia, beleza Dou o comando/autoloot add, sword Ele devolve falando que foi adicionando ao auto loot dou novamente o comando /autoloot pra ver a lista e ele buga e da o erro da distro q ja mandei aqui no post... Se tento adicionar mais itens da o erro q mandei aqui no post... Estoou perdido uheuehueh
Postado Março 11, 2016 9 anos 18 minutos atrás, lucaspds disse: MAN, já testei, acontece o mesmo problema das imagens que mandei anteriormente, o script depois de modificado eu dou o comando /autoloot a lista aparece vazia, beleza Dou o comando/autoloot add, sword Ele devolve falando que foi adicionando ao auto loot dou novamente o comando /autoloot pra ver a lista e ele buga e da o erro da distro q ja mandei aqui no post... Se tento adicionar mais itens da o erro q mandei aqui no post... Estoou perdido uheuehueh Assim, você tem que deletar os que você já fez e tenta refaze-lo com calma, pois havia o mesmo erro, mas esse ultimo do comedinha deu bom aqui... Tente deletando e refazendo novamente e me diz o que deu. Criador, a procura de mapper e scripter para server de tibia 8.6 DEDICADO | IP: real-world.servegame.com | XP: 650 | Baiak EDITED (PRÓPRIO) | DEDICADO 24horas Online | Aberto 10.12.15 |
Postado Março 11, 2016 9 anos Autor 37 minutos atrás, pauliinho157 disse: Cara, o meu está do mesmo jeito, mais verifica se você não errou algum script, vê se na distro não da erro após tentar usa-la. Não funcionou, continua o mesmo problema.. Será q n é por conta de outra configuração? Nos talkations ou sl? Poderia me passar o seu sistema de autoloot Paulinho?
Postado Março 11, 2016 9 anos 1 hora atrás, lucaspds disse: Não funcionou, continua o mesmo problema.. Será q n é por conta de outra configuração? Nos talkations ou sl? Poderia me passar o seu sistema de autoloot Paulinho? Posso sim. Script: Spoiler <?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 = { FreeLimit = 4, PremiumLimit = 10, AutomaticDeposit = true, BlockMonsters = {}, BlockItemsList = {2123,2515} } 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, 27000))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, 27000) do table.insert(x,getPlayerStorageTable(cid, 27000)) end if x ~= 0 then table.insert(x,tonumber(item)) setPlayerStorageTable(cid, 27000, x) else setPlayerStorageTable(cid, 27000, {item}) end end function removeItemTable(cid, item) local x = {} for i = 1,#getPlayerStorageTable(cid, 27000) do table.insert(x,getPlayerStorageTable(cid, 27000)) end for i,v in ipairs(x) do if tonumber(v) == tonumber(item) then table.remove(x,i) end end return setPlayerStorageTable(cid, 27000, x) end function ShowItemsTabble(cid, value) local str,n = "-- My Loot List --\n\n",0 for i = 1,#getPlayerStorageTable(cid, 27000) do n = n + 1 str = str..""..n.." - "..getItemNameById(getPlayerStorageTable(cid, 27000)).."\n" end if value then return n end return doShowTextDialog(cid, 2529, 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) end else if itemid == item.itemid then table.insert(items, item.uid) end end end end return items end function doPlayerAddItemStacking(cid, itemid, quant) -- by mkalo local item = getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, itemid) local piles = 0 if #item > 0 then for i,x in pairs(item) do if getThing(x).type < 100 then local it = getThing(x) doTransformItem(it.uid, itemid, it.type+quant) if it.type+quant > 100 then doPlayerAddItem(cid, itemid, it.type+quant-100) end else piles = piles+1 end end else return doPlayerAddItem(cid, itemid, quant) end if piles == #item then doPlayerAddItem(cid, itemid, quant) 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, 27000), 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) local debugnumber = 0 if ShowItemsTabble(cid, true) == false then debugnumber = 0 elseif ShowItemsTabble(cid, true) == true then debugnumber = 1 else debugnumber = ShowItemsTabble(cid, true) end registerCreatureEvent(cid, "MonsterAttack") if isPremium(cid) and debugnumber > info.PremiumLimit then setPlayerStorageValue(cid, 27000, -1) doPlayerSendCancel(cid, "Error, you autoloot has been reseted") elseif not isPremium(cid) and debugnumber > info.FreeLimit then setPlayerStorageValue(cid, 27000, -1) doPlayerSendCancel(cid, "Error/Premium is out, you autoloot has been reseted") end return true end]]></event> <event type="death" name="LootEventDeath" event="script"><![CDATA[ domodlib('Loot_func') function onDeath(cid, corpse, deathList) local killer,pos = deathList[1],getCreaturePosition(cid) addEvent(corpseRetireItems,1,killer,pos) return true end]]></event> <event type="combat" name="MonsterAttack" event="script"><![CDATA[ domodlib('Loot_func') if isPlayer(cid) and isMonster(target) and not isInArray(info.BlockMonsters,string.lower(getCreatureName(target))) then registerCreatureEvent(target, "LootEventDeath") end return true]]></event> <talkaction words="!autoloot;/autoloot" event="buffer"><![CDATA[ domodlib('Loot_func') local debugnumber = 0 if ShowItemsTabble(cid, true) == false then debugnumber = 0 elseif ShowItemsTabble(cid, true) == true then debugnumber = 1 else debugnumber = ShowItemsTabble(cid, true) end local t = string.explode(string.lower(param), ",") if not t[1] then ShowItemsTabble(cid, false) return true elseif tonumber(t[1]) or tonumber(t[2]) then doPlayerSendCancel(cid, "enter!autoloot add,name or !autoloot remove,name") return true elseif isInArray({"add","remove"}, tostring(t[1])) then local func,check = tostring(t[1]) == "add" and addItemTable or removeItemTable, tostring(t[1]) == "add" and true or false local item = getItemIdByName(tostring(t[2]), false) if not item then doPlayerSendCancel(cid, "This item does not exist.") return true elseif check == true and isInArray(info.BlockItemsList, item) then doPlayerSendCancel(cid, "You can not add this item in the list!") return true elseif isInTable(cid, item) == check then doPlayerSendCancel(cid, "This Item "..(check == true and "already" or "is not").." in your list.") return true elseif isPremium(cid) and debugnumber >= info.PremiumLimit then doPlayerSendCancel(cid, "Only "..info.PremiumLimit.." items for you.") return true elseif not isPremium(cid) and debugnumber >= info.FreeLimit then doPlayerSendCancel(cid, "Only "..info.FreeLimit.." items for free accounts.") return true end func(cid, item) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,check == true and "you added the item "..t[2].." in the list" or "you removed the item "..t[2].." from the list") return true end return true]]></talkaction> </mod> @EDIT: Se não der retira os numeros, deixe assim blockItemList = {} @Comedinha Pode me ajudar, começou tudo ótimo o script, mas ele começa a derrubar os itens no chão, como eu arrumo isso, já testei varios scripts :\ Editado Março 11, 2016 9 anos por pauliinho157 (veja o histórico de edições) Criador, a procura de mapper e scripter para server de tibia 8.6 DEDICADO | IP: real-world.servegame.com | XP: 650 | Baiak EDITED (PRÓPRIO) | DEDICADO 24horas Online | Aberto 10.12.15 |
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.