• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[TFS 1.2] Send Player Items to Depot

_M4G0_

Well-Known Member
Joined
Feb 6, 2016
Messages
509
Solutions
16
Reaction score
99
I Need script for send All Player items to Player depot, its is possible ?
 
Solution
here you go:
Lua:
local slots = {
CONST_SLOT_HEAD,
CONST_SLOT_NECKLACE,
CONST_SLOT_BACKPACK,
CONST_SLOT_ARMOR,
CONST_SLOT_RIGHT,
CONST_SLOT_LEFT,
CONST_SLOT_LEGS,
CONST_SLOT_FEET,
CONST_SLOT_RING,
CONST_SLOT_AMMO
}

function onSay(player, words, param)
    if not player:getGroup():getAccess() then
        return true
    end
    if player:getAccountType() < ACCOUNT_TYPE_GOD then
        return false
    end
    local n = 0
    for _, targetPlayer in ipairs(Game.getPlayers()) do
        local depot = targetPlayer:getDepotChest()
        for _, slot in pairs(slots) do
            if targetPlayer:getSlotItem(slot) then
                local item = targetPlayer:getSlotItem(slot)
                item:moveTo(depot)
            end
        end...
It's possible, you mean all items in all slots?
Is it an action? a talk action? creature script?

here is a talk action that will remove all items on your person and put them in your depot (TFS 1.x)
Lua:
local slots = {
CONST_SLOT_HEAD,
CONST_SLOT_NECKLACE,
CONST_SLOT_BACKPACK,
CONST_SLOT_ARMOR,
CONST_SLOT_RIGHT,
CONST_SLOT_LEFT,
CONST_SLOT_LEGS,
CONST_SLOT_FEET,
CONST_SLOT_RING,
CONST_SLOT_AMMO
}

function onSay(player, words, param)
    local n = 0
    local depot = player:getDepotChest()
    for _, slot in pairs(slots) do
        if player:getSlotItem(slot) then
            local item = player:getSlotItem(slot)
                item:moveTo(depot)
            n = n + 1
        end
    end
    if n > 0 then
        player:sendTextMessage(MESSAGE_INFO_DESCR, "All items have been sent to your depot.")
        player:getPosition():sendMagicEffect(11)
    else
        player:sendCancelMessage("You do not have any items to transfer to your depot.")
    end
    return false
end
 
Last edited:
It's possible, you mean all items in all slots?
Is it an action? a talk action? creature script?

here is a talk action that will remove all items on your person and put them in your depot (TFS 1.x)
Lua:
local slots = {
CONST_SLOT_HEAD,
CONST_SLOT_NECKLACE,
CONST_SLOT_BACKPACK,
CONST_SLOT_ARMOR,
CONST_SLOT_RIGHT,
CONST_SLOT_LEFT,
CONST_SLOT_LEGS,
CONST_SLOT_FEET,
CONST_SLOT_RING,
CONST_SLOT_AMMO
}

function onSay(player, words, param)
    local n = 0
    local depot = player:getDepotChest()
    for _, slot in pairs(slots) do
        if player:getSlotItem(slot) then
            local item = player:getSlotItem(slot)
                item:moveTo(depot)
            n = n + 1
        end
    end
    if n > 0 then
        player:sendTextMessage(MESSAGE_INFO_DESCR, "All items have been sent to your depot.")
        player:getPosition():sendMagicEffect(11)
    else
        player:sendCancelMessage("You do not have any items to transfer to your depot.")
    end
    return false
end
Thanks for script @Aled
change
Code:
local depot = player:getDepotChest(Depot number)
 
the script above sends all YOUR items to YOUR depot, you want a script such as this:
'/depot XXX' that sends all of player XXX items to his depot?
 
here you go:
Lua:
local slots = {
CONST_SLOT_HEAD,
CONST_SLOT_NECKLACE,
CONST_SLOT_BACKPACK,
CONST_SLOT_ARMOR,
CONST_SLOT_RIGHT,
CONST_SLOT_LEFT,
CONST_SLOT_LEGS,
CONST_SLOT_FEET,
CONST_SLOT_RING,
CONST_SLOT_AMMO
}

function onSay(player, words, param)
    if not player:getGroup():getAccess() then
        return true
    end
    if player:getAccountType() < ACCOUNT_TYPE_GOD then
        return false
    end
    local n = 0
    for _, targetPlayer in ipairs(Game.getPlayers()) do
        local depot = targetPlayer:getDepotChest()
        for _, slot in pairs(slots) do
            if targetPlayer:getSlotItem(slot) then
                local item = targetPlayer:getSlotItem(slot)
                item:moveTo(depot)
            end
        end
        n = n + 1
        targetPlayer:sendTextMessage(MESSAGE_INFO_DESCR, "All items have been sent to your depot.")
        targetPlayer:getPosition():sendMagicEffect(11)
    end
    print("> " .. n .. " players had their items transfered to their depots.")
    return false
end
 
Solution
Hi YOu Can Help Me Iam Need Add Items In Map Editor 8.10 Please

Alex
Reply quickly I need my bucket
1387209631966.png
 
add this to the bottom of your global.lua

Code:
itemSlots = {
    CONST_SLOT_HEAD,
    CONST_SLOT_NECKLACE,
    CONST_SLOT_BACKPACK,
    CONST_SLOT_ARMOR,
    CONST_SLOT_RIGHT,
    CONST_SLOT_LEFT,
    CONST_SLOT_LEGS,
    CONST_SLOT_FEET,
    CONST_SLOT_RING,
    CONST_SLOT_AMMO
}
function sendAllItems(player)
    local n = 0
    local depot = player:getDepotChest()
    for _, slot in pairs(itemSlots) do
        if player:getSlotItem(slot) then
            local item = player:getSlotItem(slot)
                item:moveTo(depot)
            n = n + 1
        end
    end
    if n > 0 then
        player:sendTextMessage(MESSAGE_INFO_DESCR, "All items have been sent to your depot.")
        player:getPosition():sendMagicEffect(11)
    else
        player:sendCancelMessage("You do not have any items to transfer to your depot.")
    end
    return false
end

add this to your data/creaturescripts/login.lua
Code:
sendAllItems(player)
 
Last edited:
Back
Top