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

Slot system on lever

Lbtg

Advanced OT User
Joined
Nov 22, 2008
Messages
2,398
Reaction score
165
There is a pic

slotprem.png


how i can make this script
Code:
--[[
Slot system 100% by mock \o
]]
---Config
local conf = {
maxSlotCount=4,
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) == 5 then
return true
end
return false
end
local function isBow(uid) -- Function by Mock the bear.
uid = uid or 0
if getItemWeaponType(uid) == 4 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,10 do
n = n+math.random(1,10)
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) < conf.maxSlotCount then
local l = choose('hp','mp','ml','melee','fail','failed')
local p = getper()
if(item.itemid == 2309)then
doSendMagicEffect(toPosition,30)
nam = nam..' [ml+30%]'
doSendAnimatedText(toPosition,'ml 30%',145)
doItemSetAttribute(itemEx.uid,'name',nam)
doRemoveItem(item.uid,1)
return true
end
doSendMagicEffect(toPosition,30)
nam = nam..' ['..l..'.+'..p..'%]'
doSendAnimatedText(toPosition,l..' '..p..'%',145)
doItemSetAttribute(itemEx.uid,'name',nam)
doRemoveItem(item.uid,1)
else
doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.")
end
return true
end

to use this script on lever with checks your Position if you are not in right position youl be said '' stand to right position to buy bonus'' aswell you need to put item you want to put slot ON , you put item CLICK level and it says '' not enought premium points to cast this'' So pulling lever and adding SLot costs 20 premium points.

i hope its understand able :)
thanks in advance :)
 
Back
Top