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

Lottery System configuration ;)

Status
Not open for further replies.
lol, ale ze mna STFU NOOB! xD
Ok, wbije i wam powiem czy działa. xD

Sorki że jestem noobem, ale się uczę ;p
Zaraz wam zdam realcję jak poszło xD
 
Mam ten skrypt:
Code:
  local config =
{
        lottery_hour = "24 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 onTimer()
        local random, name = math.random(1, #getOnlinePlayers()), getPlayerNameByGUID(random)
       
        db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` +" .. config.points .. " WHERE `id` = ".. getAccountIdByName(name) ..";")
        doBroadcastMessage('[LOTTERY SYSTEM] Winner: '.. name ..', 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 ('".. name .."', '".. config.points .." premium points');")
        end
        return true
end

A taki błąd:
help54.png
 
Sprawdz moj, powinien dzialac, bo o ile sie nie myle to w tej tablicy sa juz nicki postaci.
 
W skrypcie averatec'a wyskakuje:
help27.png


No i czas przetestować skrypt Specjalist'a ;)
 
Może tak?

LUA:
  local config =
{
        lottery_hour = "24 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 onTimer(cid)
        local random, name = math.random(1, #getOnlinePlayers()), getCreatureName(random)
       
        db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` +" .. config.points .. " WHERE `id` = ".. getAccountIdByName(name) ..";")
        doBroadcastMessage('[LOTTERY SYSTEM] Winner: '.. name ..', Reward: +' .. config.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 ('".. name .."', '".. config.points .." premium points');")
        end
        return true
end
 
LUA:
local config =
{
	lottery_hour = "24 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 onTimer()
	local name = math.random(1, #getOnlinePlayers())
	
	db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. config.points .. " WHERE `id` = " .. getAccountIdByName(name) .. ";")
	doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. name .. ", Reward: +" .. config.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 ('".. name .."', '".. config.points .." premium points');")
	end
	return true
end
Chce być nobem.
 
local name = math.random(1, #getOnlinePlayers())

Piotrek, to Ci zwroci losowa liczbe od 1 do liczby graczy online, a nie name

xD
 
Kurde dziś moja głowa jest nobem i nic nie myślę, ale tak czy tak poprawiłem literówkę która była w doBroadcastMessage.

Boomer, zamień swoją funkcję doBroadcastMessage na to.
Code:
doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. name .. ", Reward: +" .. config.points .. " points to the SMS Shop! Congratulations! (Next Lottery in " .. config.lottery_hour ..")")
 
Samme ;(

help53.png


Jakieś pomysły?
PanUP@
Do którego skryptu? xD
 
Do kazdego xD Wiesz co, zaraz u siebie to przetestuje bo naprawde tak to nie ma sensu. A w miedzy czasie sprawdz czy masz premium_points w accounts.
 
Masz gotowca, kogo skrypt będzie działał pierwszy ten będzie fajnym nobem.
LUA:
local config =
{
	lottery_hour = "24 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 onTimer()
	local players, random, name = getOnlinePlayers(), math.random(1, table.maxn(getOnlinePlayers())), players[random]
	
	db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. config.points .. " WHERE `id` = " .. getAccountIdByName(name) .. ";")
	doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. name .. ", Reward: +" .. config.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 ('".. name .."', '".. config.points .." premium points');")
	end
	return true
end
 
Do kazdego xD Wiesz co, zaraz u siebie to przetestuje bo naprawde tak to nie ma sensu. A w miedzy czasie sprawdz czy masz premium_points w accounts.
:). Tak mam.

Piotrek zaraz przetestuje ;).
 
Pomoże ktoś? Proszę
Pozdro Boomer.
 
Ok, no to mogę zamienić, tylko który z tych skryptów jest dobry?
Powie ktoś? Elf ty się znasz, który ci najlepiej wygląda? Bo nie chce mi się znów sprawdzać 20 skryptów przez 2h.
Proszę.
 
getPlayersOnline zamiast getOnlinePlayers


co za porażka ludzie /


dwóch graczy online:
LUA:
function onThink(interval, lastExecution)

	local random = math.random(1, #getOnlinePlayers())
	local name = getOnlinePlayers()[random]

	doBroadcastMessage("Kocham Cie " .. name .. " :* ",22)
	return true
end
Code:
21:37 Kocham Cie Chuj :* 
21:37 Kocham Cie Chuj :* 
21:38 Kocham Cie Lolek :* 
21:38 Kocham Cie Lolek :* 
21:38 Kocham Cie Chuj :*

takze dwoch graczy online:
LUA:
function onThink(interval, lastExecution)

	local random = math.random(1, #getPlayersOnline())
	local name = getPlayersOnline()[random]

	doBroadcastMessage("Kocham Cie " .. name .. " :* ",22)
	return true
end
Code:
21:38 Kocham Cie 268462459 :* 
21:38 Kocham Cie 268462458 :* 
21:38 Kocham Cie 268462458 :* 
21:39 Kocham Cie 268462459 :* 
21:39 Kocham Cie 268462458 :* 
+ do tego dodac getCreatureName(name)

dlaczego wiec trzeba uzyc getPlayersOnline, a nie getOnlinePlayers??
 
Status
Not open for further replies.
Back
Top