• 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!

Depot Tiles (number of items)

Bajorufas

New Member
Joined
Mar 31, 2013
Messages
11
Reaction score
0
Hey, could anyone give me script with a ActionID that when you step on the tile in front of depot, it says for example 'You have x items in your depot.'? I tried with ActionID of the tile 100 + townid but it doesn't work.
 
Do it for Movements:

In Movements.xml paste this:
PHP:
	<movevent type="StepIn" itemid="416" event="script" value="tiles.lua"/>
	<movevent type="StepOut" itemid="417" event="script" value="tiles.lua"/>
	<movevent type="StepIn" itemid="426" event="script" value="tiles.lua"/>
	<movevent type="StepOut" itemid="425" event="script" value="tiles.lua"/>
	<movevent type="StepIn" itemid="446" event="script" value="tiles.lua"/>
	<movevent type="StepOut" itemid="447" event="script" value="tiles.lua"/>
	<movevent type="StepIn" itemid="3216" event="script" value="tiles.lua"/>
	<movevent type="StepOut" itemid="3217" event="script" value="tiles.lua"/>
	<movevent type="StepIn" itemid="3202" event="script" value="tiles.lua"/>
	<movevent type="StepOut" itemid="3215" event="script" value="tiles.lua"/>
	<movevent type="StepIn" itemid="10551" event="script" value="tiles.lua"/>
	<movevent type="StepOut" itemid="10552" event="script" value="tiles.lua"/>


In Movements/scripts create a File called "tiles.lua"

Tiles.lua
PHP:
local config = {
	maxLevel = getConfigInfo('maximumDoorLevel')
}

local increasingItems = {[416] = 417, [426] = 425, [446] = 447, [3216] = 3217, [3202] = 3215, [10551] = 10552}
local decreasingItems = {[417] = 416, [425] = 426, [447] = 446, [3217] = 3216, [3215] = 3202, [10552] = 10551}
local depots = {2589, 2590, 2591, 2592}

local checkCreature = {isPlayer, isMonster, isNpc}
local function pushBack(cid, position, fromPosition, displayMessage)
	doTeleportThing(cid, fromPosition, false)
	doSendMagicEffect(position, CONST_ME_MAGIC_BLUE)
	if(displayMessage) then
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The tile seems to be protected against unwanted intruders.")
	end
end

function onStepIn(cid, item, position, fromPosition)
	if(not increasingItems[item.itemid]) then
		return false
	end

	if(not isPlayerGhost(cid)) then
		doTransformItem(item.uid, increasingItems[item.itemid])
	end

	if(item.actionid >= 194 and item.actionid <= 196) then
		local f = checkCreature[item.actionid - 193]
		if(f(cid)) then
			pushBack(cid, position, fromPosition, false)
		end

		return true
	end

	if(item.actionid >= 191 and item.actionid <= 193) then
		local f = checkCreature[item.actionid - 190]
		if(not f(cid)) then
			pushBack(cid, position, fromPosition, false)
		end

		return true
	end

	if(not isPlayer(cid)) then
		return true
	end

	if(item.actionid == 189 and not isPremium(cid)) then
		pushBack(cid, position, fromPosition, true)
		return true
	end

	local gender = item.actionid - 186
	if(isInArray({PLAYERSEX_FEMALE,  PLAYERSEX_MALE, PLAYERSEX_GAMEMASTER}, gender)) then
		if(gender ~= getPlayerSex(cid)) then
			pushBack(cid, position, fromPosition, true)
		end

		return true
	end

	local skull = item.actionid - 180
	if(skull >= SKULL_NONE and skull <= SKULL_BLACK) then
		if(skull ~= getCreatureSkullType(cid)) then
			pushBack(cid, position, fromPosition, true)
		end

		return true
	end

	local group = item.actionid - 150
	if(group >= 0 and group < 30) then
		if(group > getPlayerGroupId(cid)) then
			pushBack(cid, position, fromPosition, true)
		end

		return true
	end

	local vocation = item.actionid - 100
	if(vocation >= 0 and vocation < 50) then
		local playerVocationInfo = getVocationInfo(getPlayerVocation(cid))
		if(playerVocationInfo.id ~= vocation and playerVocationInfo.fromVocation ~= vocation) then
			pushBack(cid, position, fromPosition, true)
		end

		return true
	end

	if(item.actionid >= 1000 and item.actionid <= config.maxLevel) then
		if(getPlayerLevel(cid) < item.actionid - 1000) then
			pushBack(cid, position, fromPosition, true)
		end

		return true
	end

	if(item.actionid ~= 0 and getPlayerStorageValue(cid, item.actionid) <= 0) then
		pushBack(cid, position, fromPosition, true)
		return true
	end

	if(getTileInfo(position).protection) then
		local depotPos, depot = getCreatureLookPosition(cid), {}
		depotPos.stackpos = STACKPOS_GROUND
		while(true) do
			if(not getTileInfo(depotPos).depot) then
				break
			end

			depotPos.stackpos = depotPos.stackpos + 1
			depot = getThingFromPos(depotPos)
			if(depot.uid == 0) then
				break
			end

			if(isInArray(depots, depot.itemid)) then
				local depotItems = getPlayerDepotItems(cid, getDepotId(depot.uid))
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Your depot contains " .. depotItems .. " item" .. (depotItems > 1 and "s" or "") .. ".")
				break
			end
		end

		return true
	end

	return false
end

function onStepOut(cid, item, position, fromPosition)
	if(not decreasingItems[item.itemid]) then
		return false
	end

	if(not isPlayerGhost(cid)) then
		doTransformItem(item.uid, decreasingItems[item.itemid])
		return true
	end

	return false
end

That's it
If i helped, Please rep++

Kind Regards,
X_Anero
 
Last edited:
Do it for Movements:

In Movements.xml paste this:
PHP:
    <movevent type="StepIn" itemid="416" event="script" value="tiles.lua"/>
    <movevent type="StepOut" itemid="417" event="script" value="tiles.lua"/>
    <movevent type="StepIn" itemid="426" event="script" value="tiles.lua"/>
    <movevent type="StepOut" itemid="425" event="script" value="tiles.lua"/>
    <movevent type="StepIn" itemid="446" event="script" value="tiles.lua"/>
    <movevent type="StepOut" itemid="447" event="script" value="tiles.lua"/>
    <movevent type="StepIn" itemid="3216" event="script" value="tiles.lua"/>
    <movevent type="StepOut" itemid="3217" event="script" value="tiles.lua"/>
    <movevent type="StepIn" itemid="3202" event="script" value="tiles.lua"/>
    <movevent type="StepOut" itemid="3215" event="script" value="tiles.lua"/>
    <movevent type="StepIn" itemid="10551" event="script" value="tiles.lua"/>
    <movevent type="StepOut" itemid="10552" event="script" value="tiles.lua"/>


In Movements/scripts create a File called "tiles.lua"

Tiles.lua
PHP:
------- Rights to X_Anero -------------
local config = {
    maxLevel = getConfigInfo('maximumDoorLevel')
}

local increasingItems = {[416] = 417, [426] = 425, [446] = 447, [3216] = 3217, [3202] = 3215, [10551] = 10552}
local decreasingItems = {[417] = 416, [425] = 426, [447] = 446, [3217] = 3216, [3215] = 3202, [10552] = 10551}
local depots = {2589, 2590, 2591, 2592}

local checkCreature = {isPlayer, isMonster, isNpc}
local function pushBack(cid, position, fromPosition, displayMessage)
    doTeleportThing(cid, fromPosition, false)
    doSendMagicEffect(position, CONST_ME_MAGIC_BLUE)
    if(displayMessage) then
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The tile seems to be protected against unwanted intruders.")
    end
end

function onStepIn(cid, item, position, fromPosition)
    if(not increasingItems[item.itemid]) then
        return false
    end

    if(not isPlayerGhost(cid)) then
        doTransformItem(item.uid, increasingItems[item.itemid])
    end

    if(item.actionid >= 194 and item.actionid <= 196) then
        local f = checkCreature[item.actionid - 193]
        if(f(cid)) then
            pushBack(cid, position, fromPosition, false)
        end

        return true
    end

    if(item.actionid >= 191 and item.actionid <= 193) then
        local f = checkCreature[item.actionid - 190]
        if(not f(cid)) then
            pushBack(cid, position, fromPosition, false)
        end

        return true
    end

    if(not isPlayer(cid)) then
        return true
    end

    if(item.actionid == 189 and not isPremium(cid)) then
        pushBack(cid, position, fromPosition, true)
        return true
    end

    local gender = item.actionid - 186
    if(isInArray({PLAYERSEX_FEMALE,  PLAYERSEX_MALE, PLAYERSEX_GAMEMASTER}, gender)) then
        if(gender ~= getPlayerSex(cid)) then
            pushBack(cid, position, fromPosition, true)
        end

        return true
    end

    local skull = item.actionid - 180
    if(skull >= SKULL_NONE and skull <= SKULL_BLACK) then
        if(skull ~= getCreatureSkullType(cid)) then
            pushBack(cid, position, fromPosition, true)
        end

        return true
    end

    local group = item.actionid - 150
    if(group >= 0 and group < 30) then
        if(group > getPlayerGroupId(cid)) then
            pushBack(cid, position, fromPosition, true)
        end

        return true
    end

    local vocation = item.actionid - 100
    if(vocation >= 0 and vocation < 50) then
        local playerVocationInfo = getVocationInfo(getPlayerVocation(cid))
        if(playerVocationInfo.id ~= vocation and playerVocationInfo.fromVocation ~= vocation) then
            pushBack(cid, position, fromPosition, true)
        end

        return true
    end

    if(item.actionid >= 1000 and item.actionid <= config.maxLevel) then
        if(getPlayerLevel(cid) < item.actionid - 1000) then
            pushBack(cid, position, fromPosition, true)
        end

        return true
    end

    if(item.actionid ~= 0 and getPlayerStorageValue(cid, item.actionid) <= 0) then
        pushBack(cid, position, fromPosition, true)
        return true
    end

    if(getTileInfo(position).protection) then
        local depotPos, depot = getCreatureLookPosition(cid), {}
        depotPos.stackpos = STACKPOS_GROUND
        while(true) do
            if(not getTileInfo(depotPos).depot) then
                break
            end

            depotPos.stackpos = depotPos.stackpos + 1
            depot = getThingFromPos(depotPos)
            if(depot.uid == 0) then
                break
            end

            if(isInArray(depots, depot.itemid)) then
                local depotItems = getPlayerDepotItems(cid, getDepotId(depot.uid))
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Your depot contains " .. depotItems .. " item" .. (depotItems > 1 and "s" or "") .. ".")
                break
            end
        end

        return true
    end

    return false
end

function onStepOut(cid, item, position, fromPosition)
    if(not decreasingItems[item.itemid]) then
        return false
    end

    if(not isPlayerGhost(cid)) then
        doTransformItem(item.uid, decreasingItems[item.itemid])
        return true
    end

    return false
end

That's it
If i helped, Please rep++

Kind Regards,
X_Anero

i guess you dont do the script, why your credits?
 
This has been there for a really long time.
I know i have not wrote it, but does this make any difference ?
I have helped an otlander in existing problem, that's all it counts.

Kind Regards,
X_Anero
 
Back
Top