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

Gemsystem

arek12345

New Member
Joined
Sep 2, 2008
Messages
11
Reaction score
0
I want to ask for help in modificate this script for OTS
action;
-- Gem system
<action itemid="2376" script="gemsystem.lua"/>
<action itemid="2377" script="gemsystem.lua"/>
<action itemid="2378" script="gemsystem.lua"/>
<action itemid="2379" script="gemsystem.lua"/>
<action itemid="2380" script="gemsystem.lua"/>
<action itemid="2381" script="gemsystem.lua"/>
<action itemid="2382" script="gemsystem.lua"/>
<action itemid="2383" script="gemsystem.lua"/>
<action itemid="2384" script="gemsystem.lua"/>
<action itemid="2385" script="gemsystem.lua"/>
<action itemid="2386" script="gemsystem.lua"/>
<action itemid="2387" script="gemsystem.lua"/>
<action itemid="2388" script="gemsystem.lua"/>
<action itemid="2389" script="gemsystem.lua"/>
<action itemid="2390" script="gemsystem.lua"/>
<action itemid="2391" script="gemsystem.lua"/>
<action itemid="2392" script="gemsystem.lua"/>
<action itemid="2393" script="gemsystem.lua"/>
<action itemid="2394" script="gemsystem.lua"/>
<action itemid="2395" script="gemsystem.lua"/>
<action itemid="2396" script="gemsystem.lua"/>
<action itemid="2397" script="gemsystem.lua"/>
<action itemid="2400" script="gemsystem.lua"/>
<action itemid="2401" script="gemsystem.lua"/>
<action itemid="2402" script="gemsystem.lua"/>
<action itemid="2403" script="gemsystem.lua"/>
<action itemid="2404" script="gemsystem.lua"/>
<action itemid="2405" script="gemsystem.lua"/>
<action itemid="2406" script="gemsystem.lua"/>
<action itemid="2407" script="gemsystem.lua"/>
<action itemid="2408" script="gemsystem.lua"/>
<action itemid="2409" script="gemsystem.lua"/>
<action itemid="2410" script="gemsystem.lua"/>
<action itemid="2411" script="gemsystem.lua"/>
<action itemid="2412" script="gemsystem.lua"/>
<action itemid="2413" script="gemsystem.lua"/>
<action itemid="2414" script="gemsystem.lua"/>
<action itemid="2415" script="gemsystem.lua"/>
<action itemid="2416" script="gemsystem.lua"/>
<action itemid="2417" script="gemsystem.lua"/>
<action itemid="2418" script="gemsystem.lua"/>
<action itemid="2419" script="gemsystem.lua"/>
<action itemid="2421" script="gemsystem.lua"/>
<action itemid="2422" script="gemsystem.lua"/>
<action itemid="2423" script="gemsystem.lua"/>
<action itemid="2424" script="gemsystem.lua"/>
<action itemid="2425" script="gemsystem.lua"/>
<action itemid="2426" script="gemsystem.lua"/>
<action itemid="2427" script="gemsystem.lua"/>
<action itemid="2428" script="gemsystem.lua"/>
<action itemid="2429" script="gemsystem.lua"/>
<action itemid="2430" script="gemsystem.lua"/>
<action itemid="2431" script="gemsystem.lua"/>
<action itemid="2432" script="gemsystem.lua"/>
<action itemid="2433" script="gemsystem.lua"/>
<action itemid="2434" script="gemsystem.lua"/>
<action itemid="2435" script="gemsystem.lua"/>
<action itemid="2436" script="gemsystem.lua"/>
<action itemid="2437" script="gemsystem.lua"/>
<action itemid="2438" script="gemsystem.lua"/>
<action itemid="2439" script="gemsystem.lua"/>
<action itemid="2440" script="gemsystem.lua"/>
<action itemid="2441" script="gemsystem.lua"/>
<action itemid="2442" script="gemsystem.lua"/>
<action itemid="2443" script="gemsystem.lua"/>
<action itemid="2444" script="gemsystem.lua"/>
<action itemid="2445" script="gemsystem.lua"/>
<action itemid="2446" script="gemsystem.lua"/>
<action itemid="2447" script="gemsystem.lua"/>
<action itemid="2448" script="gemsystem.lua"/>
<action itemid="2449" script="gemsystem.lua"/>
<action itemid="2450" script="gemsystem.lua"/>
<action itemid="2451" script="gemsystem.lua"/>
<action itemid="2452" script="gemsystem.lua"/>
<action itemid="2453" script="gemsystem.lua"/>
<action itemid="3961" script="gemsystem.lua"/>
<action itemid="3962" script="gemsystem.lua"/>
<action itemid="3963" script="gemsystem.lua"/>
<action itemid="3964" script="gemsystem.lua"/>
<action itemid="3965" script="gemsystem.lua"/>
<action itemid="6553" script="gemsystem.lua"/>
<action itemid="6528" script="gemsystem.lua"/>

and
function onUse(cid, item, frompos, item2, topos)
local gemAttackMax = 20
local gemDefenseMax = 20
local gemAttackSpeedMax = -1500
local Gems =
{ yellowGem = 2154, greenGem = 2155, redGem = 2156, violetGem = 2153, blueGem = 2158, whitePearl = 2143, blackPearl = 2144 }

local destroyChance = (item.actionid - 103) * 25

if(destroyChance < 0) then
destroyChance = 0
end

if (item2.itemid == Gems.yellowGem or item2.itemid == Gems.greenGem or item2.itemid == Gems.redGem or item2.itemid == Gems.violetGem or item2.itemid == Gems.blueGem or item2.itemid == Gems.whitePearl or item2.itemid == Gems.blackPearl) then

if(destroyChance < math.random(1,100)) then
doSendMagicEffect(topos, math.random(12,14))

if(item2.itemid == Gems.yellowGem) then
if(math.abs(setGemAttackSpeed(item.uid, getGemAttackSpeed(item.uid) - 500)) > math.abs(gemAttackSpeedMax)) then
setGemAttackSpeed(item.uid, gemAttackSpeedMax)
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Gem attached to weapon.\nWeapon's attack speed now: "..((2000 - math.abs(getGemAttackSpeed(item.uid))) / 1000).."s.")

if(item.actionid == 0) then
doSetItemActionId(item.uid, 101)
else
doSetItemActionId(item.uid, item.actionid + 1)
end
doRemoveItem(item2.uid, 1)
elseif(item2.itemid == Gems.greenGem) then
if(setGemDefense(item.uid, getGemDefense(item.uid) + 10) > gemDefenseMax) then
setGemDefense(item.uid, gemDefenseMax)
end

if(item.actionid == 0) then
doSetItemActionId(item.uid, 101)
else
doSetItemActionId(item.uid, item.actionid + 1)
end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Gem attached to weapon.\nWeapon's defense plus now: +"..getGemDefense(item.uid).."")
doRemoveItem(item2.uid, 1)
elseif(item2.itemid == Gems.redGem) then
if(setGemAttack(item.uid, getGemAttack(item.uid) + 10) > gemAttackMax) then
setGemAttack(item.uid, gemAttackMax)
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Gem attached to weapon.\nWeapon's attack plus now: +"..getGemAttack(item.uid).."")

if(item.actionid == 0) then
doSetItemActionId(item.uid, 101)
else
doSetItemActionId(item.uid, item.actionid + 1)
end
doRemoveItem(item2.uid, 1)

elseif(item2.itemid == Gems.violetGem) then
if(setGemAttack(item.uid, getGemAttack(item.uid) + 5) > gemAttackMax) then
setGemAttack(item.uid, gemAttackMax)
end
if(setGemDefense(item.uid, getGemDefense(item.uid) + 5) > gemDefenseMax) then
setGemDefense(item.uid, gemDefenseMax)
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Gem attached to weapon.\nWeapon's attack plus now: +"..getGemAttack(item.uid).."\nWeapon's defense plus now: +"..getGemDefense(item.uid).."")

if(item.actionid == 0) then
doSetItemActionId(item.uid, 101)
else
doSetItemActionId(item.uid, item.actionid + 1)
end
doRemoveItem(item2.uid, 1)
elseif(item2.itemid == Gems.blueGem) then
if(setGemAttack(item.uid, getGemAttack(item.uid) + 3) > gemAttackMax) then
setGemAttack(item.uid. gemAttackMax)
end
if(setGemDefense(item.uid, getGemDefense(item.uid) + 3) > gemDefenseMax) then
setGemDefense(item.uid. gemDefenseMax)
end
if(math.abs(setGemAttackSpeed(item.uid, getGemAttackSpeed(item.uid) - 300)) > math.abs(gemAttackSpeedMax)) then
setGemAttackSpeed(item.uid, gemAttackSpeedMax)
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Gem attached to weapon.\nWeapon's attack plus now: +"..getGemAttack(item.uid).."\nWeapon's defense plus now: +"..getGemDefense(item.uid).."\nWeapon's attack speed now: "..((2000 - math.abs(getGemAttackSpeed(item.uid))) / 1000).."s.")

if(item.actionid == 0) then
doSetItemActionId(item.uid, 101)
else
doSetItemActionId(item.uid, item.actionid + 1)
end
doRemoveItem(item2.uid, 1)
elseif(item2.itemid == Gems.whitePearl) then
if(setGemAttack(item.uid, getGemAttack(item.uid) + 1) > gemAttackMax) then
setGemAttack(item.uid. gemAttackMax)
end
if(item.actionid == 0) then
doSetItemActionId(item.uid, 101)
else
doSetItemActionId(item.uid, item.actionid + 1)
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Gem attached to weapon.\nWeapon's attack plus now: +"..getGemAttack(item.uid).."\nWeapon's attack speed now: "..((2000 - math.abs(getGemAttackSpeed(item.uid))) / 1000).."s.")
doRemoveItem(item2.uid, 1)
elseif(item2.itemid == Gems.blackPearl) then
if(setGemDefense(item.uid, getGemDefense(item.uid) + 1) > gemDefenseMax) then
setGemDefense(item.uid. gemDefenseMax)
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Gem attached to weapon.\nWeapon's defense plus now: +"..getGemDefense(item.uid).."\nWeapon's attack speed now: "..((2000 - math.abs(getGemAttackSpeed(item.uid))) / 1000).."s.")
if(item.actionid == 0) then
doSetItemActionId(item.uid, 101)
else
doSetItemActionId(item.uid, item.actionid + 1)
end
doRemoveItem(item2.uid, 1)
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Chance to destroy a weapon during next gem attach: "..destroyChance.."%")
else

doSendMagicEffect(topos, CONST_ME_POFF)
doRemoveItem(item.uid, 1)
local str = "Weapon "
if(math.random(1,100) < 50) then
doRemoveItem(item2.uid, 1)
str = str .. "and gem "
end
str = str .. "destroyed during gem attach!"

doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, str)
end

return 1
end
end






the error is showing;
data/actions/scripts/gemsystem.lua:eek:nUse

data/actions/scripts/gemsystem.lua:20: attempt to call global 'getGemAttackSpeed' (a nil value)
stack traceback:
data/actions/scripts/gemsystem.lua:20: in function <data/actions/scripts/gemsystem.lua:1>
 
Back
Top