• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

mock slot system

ConAn Edujawa

Member
Joined
Feb 23, 2015
Messages
457
Reaction score
17
how i can make somthing like this
Code:
--[[
Slot system 100% by mock \o
]]
---Config
local conf = {
maxSlotCount=3,
ignoredIds={}
}
--End
function choose(...) --- Function by mock.
    local arg = {...}
    return arg[math.random(1,#arg)]
end
if not getItemAttack then
    function getItemAttack(uid)
        return getItemAttribute(uid,'attack')
    end
    function getItemDefense(uid)
        return getItemAttribute(uid,'defense')
    end
end
local function isArmor(uid) -- Function by Mock the bear.
    if (getItemInfo(uid.itemid).armor ~= 0) and (getItemWeaponType(uid.uid) == 0) then
        return true
    end
    return false
end
local function isWeapon(uid) -- Function by Mock the bear.
    uid = uid or 0
    local f = getItemWeaponType(uid)
    if f == 1 or f == 2 or f == 3 then
        return true
    end
    return false
end
local function isShield(uid) -- Function by Mock the bear.
    uid = uid or 0
    if getItemWeaponType(uid) == 4 then
        return true
    end
    return false
end
local function isBow(uid) -- Function by Mock the bear.
    uid = uid or 0
    if getItemWeaponType(uid) == 5 and not isItemStackable(uid) then
        return true
    end
    return false
end
function onUse(cid, item, fromPosition, itemEx, toPosition) -- Script by mock the bear (MTB)
    if item.uid == 0 or item.itemid == 0 then return false end
    toPosition.stackpos = 255
    if item.uid == 0 or item.itemid == 0 then return false end
    toPosition.stackpos = 255
    if isInArray(conf.ignoredIds, itemEx.itemid)
        or (not getItemWeaponType(itemEx.uid) or getItemWeaponType(itemEx.uid) > 5)
        or (getItemWeaponType(itemEx.uid) == 0 and not isArmor(itemEx))
        or itemEx.itemid == 0 or itemEx.type > 1 or isItemStackable(itemEx.uid) then
        doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.")
        return TRUE
    end
    if isCreature(itemEx.uid) then
        return FALSE
    end
    local nam = getItemName(itemEx.uid)
    function getper()
        local n = 1
        for i=1,1 do
            n = n
            if n < 8*i then
                break
            end
        end
        return n
    end
    function getSlotCount(nam)
        local c = 0
        for _ in nam:gmatch('%[(.-)%]') do
            c = c+1
        end
        return c
    end
    if getSlotCount(nam) < 1 then
        local l = choose('hp')
        local p = getper()
 
        doSendMagicEffect(toPosition,30)
        nam = nam..' ['..l..'.+'..p..'%]'
        doSendAnimatedText(toPosition,l..' '..p..'%',120)
        doItemSetAttribute(itemEx.uid,'name', nam)
        doRemoveItem(item.uid,1)
            else
        doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.")
    end
         if getSlotCount(nam) >= 1 then
    local f = getItemAttribute(itemEx.itemid, "hp")+1
        local l = choose('hp')
        local p = getper()
        doSendMagicEffect(toPosition,30)
        doSendAnimatedText(toPosition,l..' '..p..'%',120)
        doItemSetAttribute(itemEx.uid,'hp', f)
        doRemoveItem(item.uid,1)

    end
    return true
end

when use it get error
s.png

0.4
 
how i can make somthing like this
Code:
--[[
Slot system 100% by mock \o
]]
---Config
local conf = {
maxSlotCount=3,
ignoredIds={}
}
--End
function choose(...) --- Function by mock.
    local arg = {...}
    return arg[math.random(1,#arg)]
end
if not getItemAttack then
    function getItemAttack(uid)
        return getItemAttribute(uid,'attack')
    end
    function getItemDefense(uid)
        return getItemAttribute(uid,'defense')
    end
end
local function isArmor(uid) -- Function by Mock the bear.
    if (getItemInfo(uid.itemid).armor ~= 0) and (getItemWeaponType(uid.uid) == 0) then
        return true
    end
    return false
end
local function isWeapon(uid) -- Function by Mock the bear.
    uid = uid or 0
    local f = getItemWeaponType(uid)
    if f == 1 or f == 2 or f == 3 then
        return true
    end
    return false
end
local function isShield(uid) -- Function by Mock the bear.
    uid = uid or 0
    if getItemWeaponType(uid) == 4 then
        return true
    end
    return false
end
local function isBow(uid) -- Function by Mock the bear.
    uid = uid or 0
    if getItemWeaponType(uid) == 5 and not isItemStackable(uid) then
        return true
    end
    return false
end
function onUse(cid, item, fromPosition, itemEx, toPosition) -- Script by mock the bear (MTB)
    if item.uid == 0 or item.itemid == 0 then return false end
    toPosition.stackpos = 255
    if item.uid == 0 or item.itemid == 0 then return false end
    toPosition.stackpos = 255
    if isInArray(conf.ignoredIds, itemEx.itemid)
        or (not getItemWeaponType(itemEx.uid) or getItemWeaponType(itemEx.uid) > 5)
        or (getItemWeaponType(itemEx.uid) == 0 and not isArmor(itemEx))
        or itemEx.itemid == 0 or itemEx.type > 1 or isItemStackable(itemEx.uid) then
        doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.")
        return TRUE
    end
    if isCreature(itemEx.uid) then
        return FALSE
    end
    local nam = getItemName(itemEx.uid)
    function getper()
        local n = 1
        for i=1,1 do
            n = n
            if n < 8*i then
                break
            end
        end
        return n
    end
    function getSlotCount(nam)
        local c = 0
        for _ in nam:gmatch('%[(.-)%]') do
            c = c+1
        end
        return c
    end
    if getSlotCount(nam) < 1 then
        local l = choose('hp')
        local p = getper()

        doSendMagicEffect(toPosition,30)
        nam = nam..' ['..l..'.+'..p..'%]'
        doSendAnimatedText(toPosition,l..' '..p..'%',120)
        doItemSetAttribute(itemEx.uid,'name', nam)
        doRemoveItem(item.uid,1)
            else
        doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.")
    end
         if getSlotCount(nam) >= 1 then
    local f = getItemAttribute(itemEx.itemid, "hp")+1
        local l = choose('hp')
        local p = getper()
        doSendMagicEffect(toPosition,30)
        doSendAnimatedText(toPosition,l..' '..p..'%',120)
        doItemSetAttribute(itemEx.uid,'hp', f)
        doRemoveItem(item.uid,1)

    end
    return true
end

when use it get error
View attachment 34296

0.4
Action - .::1-Row Slot Machine::. TFS [0.3/0.4/1.0/1.2] (https://otland.net/threads/1-row-slot-machine-tfs-0-3-0-4-1-0-1-2.114783/#post-1135368)
Here you have a slot system, not sure if thats the one you're looking for but it has a video so check it out
 
Back
Top