Jeśli posiadacie grę www możecie w łatwy sposób zwiększyć jej popularność w toplistach dzięki prostemu skryptowi. Skrypt ten umożliwia wypłacanie graczom ekwiwalentów za klikanie w topki.
Jeśli w grze mamy coś co graczom potrzebne jest do szczęścia: energia, ptk ruchu itd., możemy dać śladowe ilości tego graczom w zamian za kliknięcie w topkę.
W Kronikach Fallathanu rozdaję za kliknięcie energię, przy czym mam to powiązane jeszcze z linkami referencyjnymi, dzięki którym można ilość zdobywanej energii podnieść.
Aby zacząć podnosić swoją pozycję w topkach potrzebny jest nam plik glosuj.php w którym umieścimy nasze skrypty. Do tego pliku wklejamy kod Javascript:
if (empty($_SESSION['voter'])) $_SESSION['voter'] = md5('tajny_hash'.time()); print " <script type=\"text/javascript\"> function control_click(click_, url, vote) { childW = window.open(url,'childW','width=980, heigth=1000, status=no, scrollbars=yes, resizable=yes, location=yes, dependent=yes'); cur_click = click_; if(vote==1 || vote==2 || vote==3) { frm = 0; setTimeout(\"while_loading();\",100); } } function while_loading() { var bocik = '123456789012345678901234567890'; if(!childW.closed) {//window.closed frm =frm+1; setTimeout('while_loading();',100); } else { if(frm<40) { alert('Musisz zagłosować i zaczekać aż strona ci się załaduje.'); } else { var bocik = '".$_SESSION['voter']."'; document.location = \"vote.php?glos=\"+cur_click+\"&bot=\"+bocik; } } } </script> ";
Następnie trzeba będzie wyświetlić nasze linki do klikania:
<div> <div>$i = 1; while ($i < 4) { $topka = $db -> EXECUTE("SELECT * FROM votes WHERE owner=".$player -> id." AND vote_id=".$i." LIMIT 1"); if (!$topka -> fields['id'] && $i == 1) print "<p></p>"; if (!$topka -> fields['id'] && $i == 2) print "<p></p>"; if (!$topka -> fields['id'] && $i == 3) print "<p></p>"; $topka -> Close(); $i = $i + 1; }</div> </div>
Do tego dodajemy kod, który odpowiada za dodanie graczowi bonusów oraz oznaczenie jego głosu:
if (isset($_GET['glos'])) { if (!ereg("^[1-9][0-9]*$", $_GET['glos'])) error("Wpisz cyfrę"); if (empty($_GET['bot'])) error("Nie oszukuj"); $_GET['bot'] = strip_tags($_GET['bot']); if (strlen($_GET['bot']) != 32) error("Nie oszukuj"); if ($_GET['bot'] != $_SESSION['voter']) error("Nie oszukuj"); $arrvotes = array(1,2,3,4,5,6,7,8,9,10,11); if (!in_array($_GET['glos'],$arrvotes)) error("Nie ma takiej toplisty"); $vote = $db -> EXECUTE("SELECT id FROM votes WHERE owner=".$player -> id." AND vote_id=".$_GET['glos']." LIMIT 1"); if (!$vote -> fields['id']) { $db -> EXECUTE("UPDATE players SET energy=energy+".$gain_energy." WHERE id=".$player -> id." LIMIT 1"); $db -> EXECUTE("INSERT INTO votes (owner,vote_id) VALUES (".$player -> id.",".$_GET['glos'].")"); print 'Głosowale¶, otrzymujesz '.$gain_energy.' energii. Dziękujemy!<a href=vote.php>Wróć</a>'; unset($_SESSION['voter']); header("LOCATION:vote.php"); exit; } else print 'Już głosowałe¶ na tę toplistę dziękujemy za promocję gry mimo wszystko :) <a href=vote.php>Wróć</a>'; $vote -> Close(); unset($_SESSION['voter']); header("LOCATION:vote.php"); exit; }
Ostatnim krokiem jest dodanie do bazy danych tabeli, która przetrzymuje informacje o tym czy ktoś głosował:
CREATE TABLE `votes` ( `id` int(11) NOT NULL auto_increment, `owner` int(11) NOT NULL default '0', `vote_id` int(11) NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=1;
To wszystko, możemy cieszyć się z rosnącej pozycji w topkach.





