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

{Creaturescript [using tables]}Shortening Scripts Help

Logarithmic

Harvard Student
Joined
Apr 11, 2010
Messages
83
Reaction score
15
Location
São Paulo, Brazil
Alright, well I'm new too LUA and I'm trying to learn how to use tables correctly, but I cant figure out how to shorten this script using tables but I'm almost positive it can be done. Here is an example script i'd like shortened.
Code:
local pn = getCreatureName(cid)
	if getPlayerStorageValue(player, 4001) == 20 then
		doBroadcastMessage(pn .." is on killing spree! 20 kills.")
	elseif getPlayerStorageValue(player, 4001) == 40 then
		doBroadcastMessage(pn .." is on killing spree! 40 kills.")
	elseif getPlayerStorageValue(player, 4001) == 60 then
		doBroadcastMessage(pn .." is on killing spree! 60 kills.")
	elseif getPlayerStorageValue(player, 4001) == 80 then
		doBroadcastMessage(pn .." is on killing spree! 80 kills.")
	elseif getPlayerStorageValue(player, 4001) == 100 then
		doBroadcastMessage(pn .." is on killing spree! 100 kills.")
	elseif getPlayerStorageValue(player, 4001) == 150 then
		doBroadcastMessage(pn .." is on killing spree! 150 kills.")
	elseif getPlayerStorageValue(player, 4001) == 200 then
		doBroadcastMessage(pn .." is on killing spree! 200 kills.")
	elseif getPlayerStorageValue(player, 4001) == 300 then
		doBroadcastMessage(pn .." is on killing spree! 300 kills.")
 
Lua:
local t = {
    [20] = 'is on killing spree! 20 kills',
    [40] = 'is on killing spree! 40 kills',
    [60] = 'is on killing spree! 60 kills',
    [80] = 'is on killing spree! 80 kills',
    [100] = 'is on killing spree! 100 kills',
    [150] = 'is on killing spree! 150 kills',
    [200] = 'is on killing spree! 200 kills',
    [300] = 'is on killing spree! 300 kills',
}

local p = getCreatureName(cid)
    if t[getPlayerStorageValue(cid, 4001)] then
        doBroadcastMessage(p .. '' .. t[getPlayerStorageValue(cid, 4001)])
    end
 
Lua:
local t = {
    [20] = 'is on killing spree! 20 kills',
    [40] = 'is on killing spree! 40 kills',
    [60] = 'is on killing spree! 60 kills',
    [80] = 'is on killing spree! 80 kills',
    [100] = 'is on killing spree! 100 kills',
    [150] = 'is on killing spree! 150 kills',
    [200] = 'is on killing spree! 200 kills',
    [300] = 'is on killing spree! 300 kills',
}

local p = getCreatureName(cid)
    if t[getPlayerStorageValue(cid, 4001)] then
        doBroadcastMessage(p .. '' .. t[getPlayerStorageValue(cid, 4001)])
    end
Thank you, I would rep you but Im still @ 0 rep power, so it won't matter.
 
i forgot spacing and msg color
Lua:
local t =  {
    [20] = 'is on killing spree! 20 kills',
    [40] = 'is on killing spree! 40 kills',
    [60] = 'is on killing spree! 60 kills',
    [80] = 'is on killing spree! 80 kills',
    [100] = 'is on killing spree! 100 kills',
    [150] = 'is on killing spree! 150 kills',
    [200] = 'is on killing spree! 200 kills',
    [300] = 'is on killing spree! 300 kills',
}

local p = getCreatureName(cid)
    if t[getPlayerStorageValue(cid, 4001)] then
        doBroadcastMessage(p .. ' ' .. t[getPlayerStorageValue(cid, 4001)], MESSAGE_STATUS_CONSOLE_ORANGE)
    end
 
Code:
	if isInArray({20, 40, 60, 80, 100, 150, 200, 300}, getPlayerStorageValue(cid, 4001)) then
		doBroadcastMessage(getCreatureName(cid) .. ' is on killing spree! ' .. getPlayerStorageValue(cid, 4001) .. ' kills', MESSAGE_STATUS_CONSOLE_ORANGE)
	end
 
Back
Top