• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [Mods] Auto loot

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1[Mods] Auto loot Empty [Mods] Auto loot Sáb Ene 30, 2016 12:36 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    hola usuarios de tibiaface


    hola usuarios de tibiaface aqui les traigo un mod de auto loot espero le sea util.


    data/mods/autoloot.xml


    copian cualquier archivo y renombran por autoloot.xml y pegan esto dentro.

    Código:
    <?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 = {
    OnlyPremium = true,
    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)
    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
    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)
    registerCreatureEvent(cid, "MonsterAttack")
    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 t = string.explode(string.lower(param), ",")
    if info_OnlyPremium == true and not isPremium(cid) then
    doPlayerSendCancel(cid, "you must be a premium account.") return true
    elseif not t[1] then
    ShowItemsTabble(cid) 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
    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>


    comandos:

    /autoloot = muestra los item adicionados.
    /autoloot add,ITEM NAME = adiciona un item a la lista. ejemplo : /autoloot add,gold coin
    /autoloot remove,ITEM NAME -- Remove un item de la lista. ejemplo : /autoloot remove,gold coin


    OnlyPremium = true

    AutomaticDeposit = true

    BlockMonsters = {}

    BlockItemsList = {2123,2515}


    listo:


    creditos: Vodkart And Mkalo



    [Mods] Auto loot YNU5B25
    2 participantes
    http://www.tibiaface.com

    2[Mods] Auto loot Empty Re: [Mods] Auto loot Miér Ago 30, 2017 10:52 pm

    jesus135

    jesus135
    Miembro
    Miembro
    Y si no me sale la carpeta mods?

    2 participantes

    3[Mods] Auto loot Empty Re: [Mods] Auto loot Miér Ago 30, 2017 10:55 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    jesus135 escribió:Y si no me sale la carpeta mods?

    pues si no la tiene no te servira porque no es apra tu version de servidor



    [Mods] Auto loot YNU5B25
    2 participantes
    http://www.tibiaface.com

    Contenido patrocinado


    2 participantes

    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).