warriorfrog
Active Member
- Joined
- Jul 29, 2015
- Messages
- 334
- Reaction score
- 35
I have this auto gold loot, but i have 2 problems using this...
If you don't have slots free, money going to ground
If you don't have cap, money going to ground
How make this 2 checks to remove this problems?
If you don't have slots free, money going to ground
If you don't have cap, money going to ground
How make this 2 checks to remove this problems?
Code:
<event type="kill" name="GP" event="script" value="gp.lua"/>
Code:
local function doPlayerAddContainerMoney(cid, container, gold)
local extrac = 0
for slot = (getContainerSize(container) - 1), 0, -1 do
local item = getContainerItem(container, slot)
local amount = (item.itemid == 2148 and item.type or (item.itemid == 2152 and item.type * 100 or (item.itemid == 2160 and item.type * 10000)) or 0)
if item.uid > 0 then
if amount > 0 then
gold = gold + amount
doRemoveItem(item.uid)
end
end
if isContainer(item.uid) then
extrac = item.uid
end
end
if extrac > 0 then
doPlayerAddContainerMoney(cid, extrac, gold)
else
doPlayerAddMoney(cid, gold)
end
end
local function autoloot(cid, position, corpseID)
if not isPlayer(cid) then
return
end
local corpse = getTileItemById(position, corpseID)
if corpse and isContainer(corpse.uid) then
doPlayerAddContainerMoney(cid, corpse.uid, 0)
end
end
function onKill(cid, target)
if isPlayer(target) then
return true
end
local position = getCreaturePosition(target)
local info = getMonsterInfo(getCreatureName(target))
addEvent(autoloot, 100, cid, position, info.lookCorpse)
return true
end