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

Lottery system rewards.

Dejm

Oh hun...
Joined
Nov 29, 2008
Messages
120
Reaction score
4
Location
United Kingdom
Hello,

I am using lottery system, and I wonder if I can make premium points as a reward. Is this possible?

I am using this mod:
XML:
<mod name="Lottery System" version="1.5" author="vDk" contact="[email protected]" enabled="yes">
	<config name="lottery_config"><![CDATA[
		config = {
			lottery_hour = "3h", -- Time to next lottery (only for broadcast message, real time you can set on globalevents.xml)
			rewards_id = {2494, 2472, 2514, 2160}, -- Rewards ID
			crystal_counts = 10, -- Used only if on rewards_id is crystal coin (ID: 2160).
			website = "yes" -- Only if you have php scripts and table `lottery` in your database!
		}
	]]></config>
	<globalevent name="lottery" interval="10800" event="script"><![CDATA[
		domodlib('lottery_config')
	function onThink(interval, lastExecution)
	if(getWorldCreatures(0) == 0)then
		return true
	end
		local list = {}
		for i, tid in ipairs(getPlayersOnline()) do
		list[i] = tid
	end
	
		local winner = list[math.random(1, #list)]
		local random_item = config.rewards_id[math.random(1, #config.rewards_id)]
	
	if(random_item == 2160) then
		doPlayerAddItem(winner, random_item, config.crystal_counts)
		doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " .. config.crystal_counts .. " " .. getItemNameById(random_item) .. "s! Congratulations! (Next Lottery in " .. config.lottery_hour .. ")")
	else
		doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " .. getItemNameById(random_item) .. "! Congratulations! (Next Lottery in " .. config.lottery_hour .. ")")
		doPlayerAddItem(winner, random_item, 1)
	end
	
	if(config.website == "yes") then
		db.executeQuery("INSERT INTO `lottery` (`name`, `item`) VALUES ('".. getCreatureName(winner) .."', '".. getItemNameById(random_item) .."');")
	end
	return true
	end 
	]]></globalevent>
</mod>
 
Last edited:
currentPremPoints = DB query to fetch players current prem points
PremPointsReward = 5 (How many prem points you get in reward?)

db.executeQuery("INSERT INTO `players` (`premium_points`) VALUES ('".. (currentPremPoints+PremPointsReward) .."');")

unfortunately I dont remember how to fetch player information with mysql. D:
 
Lua:
db.executeQuery('UPDATE `accounts` SET `premium_points` = `premium_points` + 30 WHERE id = ' .. getPlayerAccountId(winner))
 
Last edited:
you could put it instead of this:
Code:
		local winner = list[math.random(1, #list)]
		local random_item = config.rewards_id[math.random(1, #config.rewards_id)]
 
	if(random_item == 2160) then
		doPlayerAddItem(winner, random_item, config.crystal_counts)
		doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " .. config.crystal_counts .. " " .. getItemNameById(random_item) .. "s! Congratulations! (Next Lottery in " .. config.lottery_hour .. ")")
	else
		doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " .. getItemNameById(random_item) .. "! Congratulations! (Next Lottery in " .. config.lottery_hour .. ")")
		doPlayerAddItem(winner, random_item, 1)
	end
 
	if(config.website == "yes") then
		db.executeQuery("INSERT INTO `lottery` (`name`, `item`) VALUES ('".. getCreatureName(winner) .."', '".. getItemNameById(random_item) .."');")
	end
 
Back
Top