What's new

Globalevents Lottery system ze stron?

Status
Not open for further replies.

Ambioda

Active User
Joined
Dec 25, 2012
Messages
121
Reaction score
6
Dzi? chcia?bym wam przedstawi? lottery system z dzia?aj?c? stron? i obrazkami kt?ry w?asnor?cznie przerobi?em , aby dzia?a?y obrazki i nie robi?o b??d?w na serwerze. Autorem scryptu jest KlekSu z otlandu.
Zaczynamy.
Wchodzimy do data/globalevents/script i tworzymy plik o nazwie lottery.lua
Do niego wklejamy [LUA] local config = {
lottery_hour = "3 Hour", -- Czas do nast?pnej loterii (tylko bedzie pisa?o na czerwono ile czasu wszystko w globalevents.xml ustawiamy)
rewards_id = {2494, 2472, 2514, 2160, 2495, 6132, 2493, 8266, 8905}, -- Wygrane przedmioty
crystal_counts = 50, -- U?ywamy to jesli do wygrania jest cc (ID: 2160).
website = "yes" -- Tylko w tedy jesli mamy strone i tabele`lottery` w bazie danych!
}
function onThink(interval, lastExecution)

if(getWorldCreatures(0) == 0)then

return true
end

local list = {}
for i, tid in ipairs(getPlayersOnline()) do
list = 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[/LUA]

Nastepnie przechodzimy do data/globalevents i otwieramy globalevents.xml
Do niego wklejamy [LUA]<globalevent name="lottery" interval="10800000" event="script" value="lottery.lua"/> [/LUA] Je?li chcemy zmieni? czas to edytujemy interval="10800000" zapisujemy to w milisekundach!!
Do bazy danych dodajemy zapytanie [SQL]CREATE TABLE `lottery` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
`item` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;[/SQL]
Nast?pnie przechodzimy do folderu z gesiorem i tworzymy w nim lottery.php
Do niego wklejamy
PHP:
<?PHP
$main_content .= '<center><h1>Lotteria</h1><h3>Lotteria odbywa sie co 3h.</h3></center><br><TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><tr BGCOLOR="'.$config['site']['vdarkborder'].'"><td CLASS=white><center><b>Nazwa gracza</b></center></td><td CLASS=white width=184 colspan=2><center><b>Wygrany przedmiot</b></center></td></tr>';
$lottery = $SQL->query('SELECT id, name, item FROM lottery ORDER BY id DESC;');
foreach($lottery as $result) {
 $players++;
            if(is_int($players / 2))
                $bgcolor = $config['site']['lightborder'];
            else
                $bgcolor = $config['site']['darkborder'];

$main_content .= '<TR BGCOLOR='.$bgcolor.'><TD WIDTH=35%><center><a href="?subtopic=characters&name='.urlencode($result['name']).'">'.$result['name'].'</a></center></td><TD WIDTH=5%><img src=\'lottery/'.$result['item'].'.jpg\'></td><TD WIDTH=30%><b>'.$result['item'].'</b></td></tr>';
}
$main_content .= '</table>';
?>
Kolejno tworzymy folder w folderze z gesiorem Lottery Do tego folderu wklejamy obrazki i podpisujemy je zgodnie z naszym items.xml Je?li np mamy do wygrania magic plate armor to podpisujemy obrazek magic plate armor.jpg i tak z innymi przedmiotami.
 
Status
Not open for further replies.
Top