• 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 configuration ;)

Status
Not open for further replies.

Boomer

Grenadia.eu - Best EVO
Joined
Aug 22, 2009
Messages
97
Reaction score
0
Witam ponownie, czy dużym problemem jest zmienienie tego skrypta:
http://otland.net/f82/lottery-system-44496/
Na to aby skrypt zamiast dawać itemów, dawał np. 15 premium point do sms shop?
Czy potrafi ktoś to zmienić i to udostępnić?
<Prosi>
Z góry dziękuję i pozdro. Boomer.
Dam rep+
 
Code:
db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` +15 WHERE `name` = '.. getAccountByName(winner) ..';")
?
 
I tyle? ;p

rewards_id = {2494, 2472, 2514, 2160}, -- Rewards ID
A to zostaje bez zmian?
 
Last edited:
No właśnie, a zrobiłby/przemienił ktoś to całe?
<prosi>
Dam rep+
Pozdro Boomer
 
Gotowiec:
Lua:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="Lottery System" version="1.2" author="vDk" contact="[email protected]" enabled="yes">
	<config name="lottery_config"><![CDATA[
		config =
		{
			lottery_hour = "3 Hours", -- Time to next lottery (This is only only for broadcast message. Real time you set in "interval" after config section)
			rewards_id = {2494, 2472, 2514, 2160, "points"}, -- Rewards ID
			crystal_counts = 10, -- used only if on rewards_id you have crystal coins (ID: 2160).
			points = 15, -- ile punktów
			website = "no" -- Do you have `lottery` table in your database?
		}
	]]></config>
	<globalevent name="lottery" interval="10800" event="script"><![CDATA[
		domodlib('lottery_config')
	function onThink(interval, lastExecution)
		local players = getPlayersOnline()
		local list = {}
		for i, tid in ipairs(players) do
		list[i] = tid
	end
		local winner = list[math.random(1, #list)]
		local random_item = config.rewards_id[math.random(1, #config.rewards_id)]
		local item_name =  getItemNameById(random_item)
				if(random_item == 2160) then
					doPlayerAddItem(winner, random_item, config.crystal_counts)
					doBroadcastMessage('[LOTTERY SYSTEM] Winner: '.. getCreatureName(winner) ..', Reward: '.. config.crystal_counts ..' '.. item_name ..'s! Congratulations! (Next Lottery in '.. config.lottery_hour ..')')
				elseif(random_item == "points") then
					db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + '.. config.points..' WHERE `name` = '.. getAccountByName(winner) ..';")
					doBroadcastMessage('[LOTTERY SYSTEM] Winner: '.. getCreatureName(winner) ..', Reward: Premium Points! Congratulations! (Next Lottery in '.. config.lottery_hour ..')')				
				else
					doBroadcastMessage('[LOTTERY SYSTEM] Winner: '.. getCreatureName(winner) ..', Reward: '.. item_name ..'! 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) .."', '".. item_name .."');")
				end
	return TRUE
end
	]]></globalevent>
</mod>
 
Last edited:
Tu masz TYLKO na points, bez innych nagród (jeśli chcesz żeby było losowo albo item albo punkty weź skrypt avarateca).

Lua:
-- by vDk
-- With premium points by Samme.
local config = {
    lottery_hour = "3 Hours", -- Time to next lottery (real time you set on globalevents.xml, its only for broadcast message.)
    points = 15 -- how many points winner get?
    website = "yes" -- Do you have `lottery` table in your database?
    }
function onThink(interval, lastExecution)
    local players = getPlayersOnline()
    local list = {}
    for i, tid in ipairs(players) do
    list[i] = tid
end
        local winner = list[math.random(1, #list)]
                db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` +" .. config.points .. " WHERE `name` = ".. getAccountByName(winner) ..";")
                doBroadcastMessage('[LOTTERY SYSTEM] Winner: '.. getCreatureName(winner) ..', Reward: +' .. points ..' points to the SMS Shop! Congratulations! (Next Lottery in '.. config.lottery_hour ..')')
                if(config.website == "yes") then
                        db.executeQuery("INSERT INTO `lottery` (`name`, `item`) VALUES ('".. getCreatureName(winner) .."', '".. config.points .." premium points');")
                end
    return TRUE
end
 
Wyskakuje błąd w konsoli jak wszystko dodam.
Skrypt: averatec
he.png


Skrypt: Samme
he2.png


proszę o pomoc.
 
zamień linijkę

Lua:
points = 15 -- ile punktów

na

Lua:
points = 15, -- ile punktow

@up
skrypt samme nie jest w mods :D
@down
zrobiłeś brzydką literkę ó : (
 
Jak zmieniłem vDk to co mówiłeś w skrypcie samme to błąd:
he3.png
 
bo on tez zjadl przecinek, wklej moj, bo nowy dalem :)
 
A masz też mój, bo ja też chce dać ci coś odemnie.
Lua:
local config =
{
	lottery_hour = "3 Hours", 
	points = 15, 
	website = "yes"
}
function onThink(interval, lastExecution)
	local players = getPlayersOnline()
	local list = {}
	for i, tid in ipairs(players) do
		list[i] = tid
	end
	local winner = list[math.random(1, #list)]
	db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. config.points .. " WHERE `id` = " .. getAccountIdByName(winner) .. ";")
	doBroadcastMessage('[LOTTERY SYSTEM] Winner: '.. getCreatureName(winner) ..', Reward: +' .. points ..' points to the SMS Shop! Congratulations! (Next Lottery in '.. config.lottery_hour ..')')
	if(config.website == "yes") then
		db.executeQuery("INSERT INTO `lottery` (`name`, `item`) VALUES ('".. getCreatureName(winner) .."', '".. config.points .." premium points');")
	end
	return true
end
 
Dalej mam błąd:
helb.png


Piotrek1447 ale gdzie mam to wstawić?
 
boomer bo ten skrypt nie jest w _MODS_ musisz to wkleić do globalevents albo wkleić sobie w ramki z moda
 
No ok, ale ten skrypt co dawał averatec, jest chyba do MODS, no nie? ;p
Spróbuję coś pokombinować z tym globalevents jak wrócę. Dzięki że mi pomagacie, kązdy który pomógł rep+, a takie pytanko jeszcze apropo skryptu, czy da się zrobić tak, żeby w skrypcie ustalało się daną godzinę o której on będzie się aktywował. Np. Codziennie o godzinie 18.00?
Z góry dziękuję i pozdr. Boomer.
 
tak skrypt averateca jest w mods, jak masz 0.3.5 to da się ustawić o danej godzinie:p w globalevents.xml masz nawet przykład
 
Tak, mam tego najnowszego TFS'a. Zaraz oblookam to z daną chodzią. Lecz skrypt dalej nie działa :/
 
No więc tak, z timerem już znalazłem i powinno działać. Lecz skrypt Piotrka jest dziwny (?). Wklejam go do data/scripts/globalevents to wyskakuje:
hp.png

A ten skrypt tam jest, więc nie wiem :/
Nazwa skryptu to lottery.lua
 
Status
Not open for further replies.
Back
Top