Co nowego?
Tibia.net.pl

PO ZMIANIE SKRYPTU FORUM MOGĄ WYSTĘPOWAĆ PROBLEMY Z LOGOWANIEM. "ZRESETUJ HASŁO(klik)", ABY SIĘ ZALOGOWAĆ .

JEŻELI NIE PAMIĘTASZ STAREGO E-MAILA ZAJRZYJ NA NASZEGO "DISCORDA(klik)" LUB "NAPISZ E-MAILA(klik)"

Globalevents Lottery

CebulaHio

Nowy użytkownik
Dołączył
Luty 5, 2016
Posty
1
Liczba reakcji
0
Siema, z nud?w zacz??em sobie przerabia? co po niekt?re skrypty, jednym z nich jest lottery system, kt?rego teraz chc? wam przedstawi?. Skrypt kt?ry przerabia?em jest od vDk


Do data/globalevents/globalevents.xml:
[XML]<globalevent name="loteria" interval="10800" event="script" value="lottery.lua"/>[/XML]

interval="10800" - oznacza czas w sekundach, tutaj 3h

Tworzymy plik data/globalevents/scripts/lottery.lua i wklejamy:
[LUA]
local config = {
lottery_hour = "3 Hours", -- Time to next lottery
reward_count = 25, -- How many crystal coins get winner?
reward_item = {2160, 2650, 2651}, -- Reward ID
website = 0 -- Do you have `lottery` table in your database? (1 = yes / 0 = no)
}
function onThink(interval, lastExecution)
local players = getPlayersOnline()
local list = {}

for i, tid in ipairs(players) do
list = tid
end
local winner = list[math.random(1, #list)]
if(config.website == 1) then
db.executeQuery("INSERT INTO `lottery` (`name`) VALUES ('".. getCreatureName(winner) .."');")
end
local rewardd = config.reward_item[math.random(1, #config.reward_item)]
local nazwa = getItemNameById(rewardd)

if(rewardd == 2160) then
doPlayerAddItem(winner, rewardd, config.reward_count)
doBroadcastMessage('[LOTTERY SYSTEM] Winner: '.. getCreatureName(winner) ..', Reward: '.. config.reward_count ..' '.. nazwa ..'0k! - Congratulations! (Next Lottery in '.. config.lottery_hour ..')')

else
doBroadcastMessage('[LOTTERY SYSTEM] Winner: '.. getCreatureName(winner) ..', Reward: '.. nazwa ..'! Congratulations! (Next Lottery in '.. config.lottery_hour ..')')
doPlayerAddItem(winner, rewardd, 1)
end
return TRUE
end

[/LUA]


lottery_hour = "3 Hours" - To jest tylko tekst kt?ry b?dzie si? pojawia? w grze.
reward_count = 25 - ilo?? kasy kt?r? dostaniemy.
reward_item = {2160, 2650, 2651} - ID itemk?w kt?re s? losowane.



W oryginalnym skrypcie od vDk mo?na by?o wygra? tylko 1 item a wi?c mam nadziej?, ?e pomog?em. :p



Pozdrawiam.
CebulaHio :)
 

Dantez

Moim sekretem jest ciasto
Dołączył
Maj 22, 2008
Posty
1206
Liczba reakcji
201
Odp: Lottery

Kilka uwag:
[LUA]local players = getPlayersOnline()
local list = {}

for i, tid in ipairs(players) do
list = tid
end[/LUA]

Po choler? dwa razy t? sam? list? robi??

[LUA]local winner = list[math.random(1, #list)][/LUA]
1 jest domy?lnie i mo?na j? omin??, to samo przy losowaniu nagrody.

[LUA]if(rewardd == 2160) then[/LUA]
Co je?li chc? da? 20 small emerald? Tablica powinna by? napisana w ten spos?b:
[LUA]local rewards = {{id, count}, {id, count}}[/LUA]

[LUA] doPlayerAddItem(winner, rewardd, 1)[/LUA]
Gracz nie ma capa/miejsca i item z losowania wywali na pod?og?... W takim przypadku nale?a?oby wys?a? nagrod? mailem.


A tak poza tym:
http://tibia.net.pl/threads/563015-Lottery-system-ze-stroną
 
Ostatnia edycja:

Placek

Blue Waffle
Dołączył
Wrzesień 30, 2008
Posty
6764
Liczba reakcji
658
Wiek
5
Odp: Lottery

@up
czepiasz sie, hejty, co to ma byc, przeciez skrypt bardzo pomocny i w ogole
nie no serio, komentujesz jak by autor tu mial w ogole jakis wklad, wzial gotowego skrypta z neta, dopisal przy jednej zmiennej "{}" zeby powstala tablica itemow a przy drugiej zmiennej walnal math randoma i tyle, a ty tu komentujesz
xD

swoja droga, code review na forum wyglada przezabawnie w takim wykonaniu gdzie starasz sie ogarniac pojedyncze linijki xD
 
Do góry