digororp 2 Postado Setembro 2, 2012 Share Postado Setembro 2, 2012 Dae galera do XTibia Percebi que ainda tem pessoas com dúvida sobre como colocar o comando auto-loot no server de poketibia Aí vai: Primeiramente, abra a pasta do seu otserver Depois, abra a pasta data/creaturesscrips e abra o arquivo “creaturescripts.xml” Nele, você deverá adicionar isso: <event type="login" name="aloot_reg" event="script" value="aloot.lua"/> <event type="kill" name="aloot_kill" event="script" value="aloot.lua"/> Logo em seguida, vá na pasta data/creaturescripts/scritps e crie um arquivo com o nome de “aloot.lua” e cole isso : function onLogin(cid) registerCreatureEvent(cid, "aloot_kill") return true end local stor = 7575 function autoloot(cid, target, pos) local function doStack(cid, itemid, new) local count = getPlayerItemCount(cid, itemid) if (count > 100) then count = count - math.floor(count / 100) * 100 end local newCount = count + new if (count ~= 0) then local find = getPlayerItemById(cid, true, itemid, count).uid if (find > 0) then doRemoveItem(find) else newCount = new end end local item = doCreateItemEx(itemid, newCount) doPlayerAddItemEx(cid, item, true) end local function scanContainer(cid, uid, list) for k = (getContainerSize(uid) - 1), 0, -1 do local tmp = getContainerItem(uid, k) if (isInArray(list, tmp.itemid)) then if isItemStackable(tmp.itemid) and (getPlayerItemCount(cid, tmp.itemid) > 0) then doStack(cid, tmp.itemid, tmp.type) else local item = doCreateItemEx(tmp.itemid, tmp.type) doPlayerAddItemEx(cid, item, true) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Looted ' .. tmp.type .. ' ' .. getItemNameById(tmp.itemid) .. '.') doRemoveItem(tmp.uid) elseif isContainer(tmp.uid) then scanContainer(cid, tmp.uid, list) end end end local items = {} for i = getTileInfo(pos).items, 1, -1 do pos.stackpos = i table.insert(items, getThingFromPos(pos)) end if (#items == 0) then return end local corpse = -1 for _, item in ipairs(items) do local name = getItemName(item.uid):lower() if name:find(target:lower()) then corpse = item.uid break end end if (corpse ~= -1) and isContainer(corpse) then scanContainer(cid, corpse, tostring(getPlayerStorageValue(cid, stor)):gsub('_', ''):explode(',')) end end function onKill(cid, target, lastHit) if not isPlayer(target) then local infos = getPlayerStorageValue(cid, stor) if (infos == -1) then return true end local list = tostring(infos):explode(',') if (#list == 0) then return true end addEvent(autoloot, 150, cid, getCreatureName(target), getCreaturePosition(target)) end return true end Depois, vá na pasta data/talkactions e abra o arquivo “talkactios.xml” Nele, você deverá adicionar isso: <talkaction words="/aloot" hide="yes" event="script" value="aloot.lua"/> E, por fim, vá na pasta data/talkaction/scripts e crie um arquivo com o nome de aloot.lua E cole isso: local stor, limit = 7575, 5 --storage, limit to add. local allow_container = false --empty! not looted with items, atleast for now. function onSay(cid, words, param) local expl = param:explode(':') local action, rst = expl[1], expl[2] if (action:lower() == 'check') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):explode(',') end local txt = 'Autoloot List:\n' if (#list > 0) then for k, id in ipairs(list) do id = id:gsub('_', '') if tonumber(id) then txt = txt .. getItemNameById(tonumber(id)) .. ((k < #list) and '\n' or '') end end else txt = 'Empty' end doPlayerPopupFYI(cid, txt) elseif (action:lower() == 'add') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):gsub('_', ''):explode(',') end if (#list >= limit) then return doPlayerSendCancel(cid, 'You already have ' .. limit .. ' autolooting items.') end local item = tonumber(rst) if not item then item = getItemIdByName(rst, false) if not item then return doPlayerSendCancel(cid, 'not valid item.') end end if not allow_container and isItemContainer(item) then return doPlayerSendCancel(cid, 'this item can not be autolooted.') end local attrs = getItemInfo(item) if not attrs then return doPlayerSendCancel(cid, 'not valid item.') elseif not attrs.movable or not attrs.pickupable then return doPlayerSendCancel(cid, 'this item can not be autolooted.') end if isInArray(list, item) then return doPlayerSendCancel(cid, 'already added.') end table.insert(list, tostring(item)) local new = '' for v, id in ipairs(list) do new = new .. '_' .. id:gsub('_' ,'') .. ((v < #list) and ',' or '') end doPlayerSetStorageValue(cid, stor, tostring(new)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Item >>' .. getItemNameById(item) .. '<< has been added to the autoloot list.') elseif (action:lower() == 'remove') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):gsub('_', ''):explode(',') end if (#list == 0) then return doPlayerSendCancel(cid, 'You dont have any item added.') end if (#list >= limit) then return doPlayerSendCancel(cid, 'You already have ' .. limit .. ' autolooting items.') end local item = tonumber(rst) if not item then item = getItemIdByName(rst, false) if not item then return doPlayerSendCancel(cid, 'not valid item.') end end if not isInArray(list, item) then return doPlayerSendCancel(cid, 'This item is not in the list.') end local new = '' for v, id in ipairs(list) do if (tonumber(id) ~= item) then new = new .. '_' .. id:gsub('_' ,'') .. ((v < #list) and ',' or '') end end doPlayerSetStorageValue(cid, stor, tostring(new)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Item >>' .. getItemNameById(item) .. '<< removed from the autoloot list.') end return true end Como funciona?? digite /aloot add:nome do item-> para adicionar à lista digite /aloot check-> para checar sua lista de itens digite /aloot delete:nome do item-> para deletar o item da lista Obs.:máximo 5 itens na lista Link para o comentário https://xtibia.com/forum/topic/193271-comando-auto-loot-poketibia/ Compartilhar em outros sites More sharing options...
Critical 70 Postado Setembro 2, 2012 Share Postado Setembro 2, 2012 Isto não é um tutorial é um script, título renomeado e movido para seção que julgo correta. Atenciosamente, Critical. Link para o comentário https://xtibia.com/forum/topic/193271-comando-auto-loot-poketibia/#findComment-1330674 Compartilhar em outros sites More sharing options...
digororp 2 Postado Setembro 3, 2012 Autor Share Postado Setembro 3, 2012 Malz ae kra, so novo aki Vlw Link para o comentário https://xtibia.com/forum/topic/193271-comando-auto-loot-poketibia/#findComment-1331053 Compartilhar em outros sites More sharing options...
webmasterxd 0 Postado Setembro 28, 2012 Share Postado Setembro 28, 2012 Muito bom mesmo ganho meu rep+ Link para o comentário https://xtibia.com/forum/topic/193271-comando-auto-loot-poketibia/#findComment-1349937 Compartilhar em outros sites More sharing options...
montxd 0 Postado Dezembro 15, 2012 Share Postado Dezembro 15, 2012 será que é possivel por esse script apenas para Premmium Accounts?? se pudesse me ajudar eu agradeceria muito!! obrigado Link para o comentário https://xtibia.com/forum/topic/193271-comando-auto-loot-poketibia/#findComment-1413389 Compartilhar em outros sites More sharing options...
DinoAdmin 57 Postado Dezembro 15, 2012 Share Postado Dezembro 15, 2012 Ola, se eu nao me engano este script tem no Centurion :S Mais parabens por postar! so nao esqueça de por os creditos Link para o comentário https://xtibia.com/forum/topic/193271-comando-auto-loot-poketibia/#findComment-1413391 Compartilhar em outros sites More sharing options...
Posts Recomendados