Fastbar
Powrót do strony głównej
Trzymaj pliki na gmclan.org!
Game Maker w pytaniach i odpowiedziach!
Polska dokumentacja
Tabela wyników ligi 24
Pobierz GM
Akademia GMCLANu
Kategorie bazy artykułów
Artykuły -> Game Maker -> Kursy GML
Treść artykułu
Tabela wyników na stronie
autor: Pental (30.12.08)
W tym artykule mam zamiar przedstawić, jak wykonać tabelę wyników, zwaną często high-score, bądź hi-score (wysokie punkty). Cała filozofia polega na tym, że tabela ta będzie znajdować się na twojej stronie, przesyłając dane w adresie. Aby było to bezpieczne, poruszymy także temat dotyczący zabezpieczenia otwieranej strony przed zmienianiem wartości w adresie. Wymagam więc od was kilku rzeczy: zarejestrowanej wersji Game Makera (bez niej się nie obejdzie w żaden sposób), niewielkiej, ale jednak jakiejś znajomości GMLa, średniej znajomości PHP, a co za tym idzie HTML i ew. CSS oraz implementacji MD5 w Game Makerze (autorstwa niejakiego Rithiura), którą znajdziesz w pobranym archiwum z przykładem. Jeśli nie spełniasz tych wymagań - niestety, nie zrozumiesz zagadnień omówionych w artykule, lub jeszcze gorzej - nie będziesz mógł takowej tabeli do swojej gry posiadać.

GML

Zacznijmy od kodu w GML. Zakładam, że pobrałeś już implementację MD5. Tak, dobrze myślicie, teraz czeka nas tłumaczenie, co to MD5. Otóż, istnieje coś takiego, jak skrót tekstu. Nazywamy go hashem. Hashe używane są do zabezpieczania danych. Jeśli znasz PHP na poziomie średnim, to wiesz, że istnieje metoda wysyłania danych GET. Jest ona o tyle niebezpieczna, że każdy może zmieniać wartości w linku strony. Tak samo jest z plikami ini. Jeśli ich nie szyfrujemy - każdy może pozmieniać wszelkie wartości. Szyfrować linków, niestety, nie da się, dlatego użyjemy też hasha. Hash może być, oczywiście, także skrótem pliku. Ale, nie zmieniając tematu - w naszym przypadku sprawa wygląda następująco:

Edytowanie wartości jest banalne, ale to już wiemy. Teraz, jak je zabezpieczyć? A co, gdyby złączyć te wszystkie wartości w jeden łańcuch, dodać jakieś hasło dla dodatkowego zabezpieczenia i zmienić to w hash? Hash można także wysłać w linku, a na stronie znowu łączymy przesłane dane i sprawdzamy czy hash z nich jest taki sam jak hash wysłany. Tak, takie rozwiązanie jest świetne. W tym artykule użyłem metody hashującej MD5. Używając jej, hash ma zawsze 16 znaków. Dzięki tej teorii, czeka nas już dwa razy mniej tłumaczenia :) . Skoro już wiesz, co to ten hash, możemy śmiało przejść do kodu w GML. Ponieważ nie mamy żadnej przykładowej gry, zróbmy losowanie punktów i po prostu podawanie nazwy i dodawania do tabeli. Wstaw taki kod w Create byle jakiego obiektu, który ma się znajdować w roomie:
gml:
site = 'localhost/hisco.../index.php';
password = 'PeNtAl';

score = round( random( 200 ) );
show_message( 'Ilosc twoich punktow to: ' + string( score ) );

var _t;

_t = show_message_ext( 'Czy chcesz dodac swoj wynik do tabeli najlepszych?',
'Tak', '', 'Nie' );
if ( _t < 3 )
{
nick = get_string( 'Podaj swoj nick:', 'Pental' );
hash = md5( nick + string( score ) + password );
execute_shell( site + '?add&nick=' + nick + '&score=' + string( score ) + '&code=' + hash, 0 );
}

show_message( 'Do widzenia :) !' );

Zmienna site to adres do pliku index.php na naszej stronie. W moim przypadku jest to localhost, ponieważ testowałem tabelę właśnie na lokalnej sieci. Oczywiście, zmień tą wartość na link do pliku wyświetlającego tabelę, np. www.mojastrona....bela/tabela.php . Dostrzec można także zmienną password - jest to ważne hasło, które musisz koniecznie zmienić. Dalej losujemy ilość punktów i ją wyświetlamy. Tworzymy tymczasową zmienną _t, po czym używając funkcji show_message_ext(), zadajemy pytanie, czy mamy dodać ten wynik na stronę. Jeśli _t nie wynosi 3, to znaczy, że wybraliśmy "tak" (ponieważ oprócz 3 jedyna możliwa opcja to pierwsza, bo druga jest pusta). A teraz najważniejsze - otworzenie strony. Najpierw pobieramy nick. Do zmiennej hash, która "mówi sama za siebie", przypisujemy skrót utworzony z połączenia nicka, punktów oraz hasła. Dalej uruchamiamy twoją stronę z odpowiednimi wartościami w tablicy GET.

Projekt strony

Tak, przyszedł czas na stronę. Zawsze, kiedy łączymy HTML (+ inne języki, które nie "predefiniują tekstu", np. CSS, JS, VB) z PHP, należy stworzyć projekt, układ strony (ang. design, layout), zaoszczędzisz w ten sposób wiele czasu. Ponieważ nie mowa tu o "najpiękniejszej tabeli", napisałem prosty, ale zawsze jakiś design tabeli. Cały kod to:
kod:
<html>
<head>
<style type="text/css">
table {
background-color: lightblue;
border: 1px solid blue;
}
td {
text-align: left;
border: 1px solid blue;
text-align: center;
font-family: Verdana;
font-size: 18px;
}
</style>
<title>Tabela najlepszych</title>
</head>
<body style="background-color: rgb( 200, 200, 255 );">
<center>
<font size="5">Tabela 10 najlepszych graczy.</font><br /><br />
<table width="500" cellspacing="1" cellpadding="1">
<tr style="color: red;"><td>Miejsce</td><td>Nazwa</td><td>Punkty</td></tr>
<tr><td>1.</td><td>Nick</td><td>punkty</td></tr>
<tr><td>2.</td><td>Nick</td><td>punkty</td></tr>
<tr><td>3.</td><td>Nick</td><td>punkty</td></tr>
<tr><td>4.</td><td>Nick</td><td>punkty</td></tr>
<tr><td>5.</td><td>Nick</td><td>punkty</td></tr>
<tr><td>6.</td><td>Nick</td><td>punkty</td></tr>
<tr><td>7.</td><td>Nick</td><td>punkty</td></tr>
<tr><td>8.</td><td>Nick</td><td>punkty</td></tr>
<tr><td>9.</td><td>Nick</td><td>punkty</td></tr>
<tr><td>10.</td><td>Nick</td><td>punkty</td></tr>
</table>
</center>
</body>
</html>

Wspomniałem już - taka tabela nie jest może ładna, ale na potrzeby przedstawienia naszego zagadnienia, tak więc nie należy narzekać. Jak widzimy - jeśli chodzi o HTML - zwykła tabelka, trzy razy znaczniki td w tr, oraz kilka atrybutów w znaczniku table.

Krok pierwszy: początek tabelki

Teraz usuńmy cały kod HTML od miejsca <table> (z <table> włącznie) do miejsca, gdzie napotkasz </table> (tak jak z <table>). Cały ten kod HTML zastąpimy kodem PHP, który oczywiście, jak wiemy, zwraca nam kod HTML. Pierwszym procesem będzie początek tabelki. Zacznijmy od:
kod:
<?php
// poczatek tabelki
echo '<table width="500" cellspacing="1" cellpadding="1">';
echo "<tr style="color: red;"><td>Miejsce</td><td>Nazwa</td><td>Punkty</td></tr>n";
?>

Tłumaczenie tego kodu nie ma sensu - po prostu wyświetlamy początek tabelki.

Krok drugi: parametry tabeli

Zawsze zaczynam wszystko od podania parametrów, czemu nie mielibyśmy tak zrobić i tym razem? Kontynuując:
kod:
// sciezka do wynikow (koniecznie do wymiany!)
$dir = 'wyniki';
// tajne haslo (koniecznie do wymiany!)
$pass = 'PeNtAl';
// maksymalna ilosc rekordow (najczesciej jest to 10)
$max = 10;
// nazwa pliku z wynikami (do wymiany)
$fname = 'wyniki.txt';
// wiadomosc
$text = '';

Tutaj także nie ma wiele do tłumaczenia, ponieważ komentarze mówią same za siebie. Zwróć uwagę na to, że tajne hasło musi być identyczne, jak poprzednio, w kodzie GML! Zmienna $text będzie przechowywać wiadomość, którą wyświetlimy na końcu, pod tabelką. $dir to folder, który musisz stworzyć obok pliku *.php, czyli za pewne index.php. Tam będziemy przechowywać wyniki w pliku o nazwie $fname (czyt. wyniki.txt). Nazwę tego folderu zmień, oczywiście analogicznie wartość zmiennej. Niektóre serwery blokują dostęp do plików w folderach, w których nie ma pliku index.* . Stwórz więc pusty plik index.html i wrzuć go do tego folderu. Nie twórz zaś w tym folderze pliku o nazwie "wyniki.txt"!

Krok trzeci: tworzenie pustej tabeli

Nasze dane o tabeli będziemy więc przechowywać w pliku w ten sposób:
kod:
punkty gracza z miejscem 1
nick gracza z miejscem 2
punkty gracza z miejscem 2
nick gracza z miejscem 3
punkty gracza z miejscem 3
nick gracza z miejscem 4
punkty gracza z miejscem 4
itd..

Tego pliku kazałem ci nie tworzyć, ponieważ po co masz go wypełniać, skoro może to zrobić nam PHP? Jeśli zobaczy, że nie ma pliku, to go tworzy i wypełnia tak:
kod:
nikt
0
nikt
0
nikt
0
nikt
0
itd..


Poza tym, później mamy pewność, że takowy plik istnieje i ma odpowiednie dane. Kolejny fragment kodu to:
kod:
// jesli plik z wynikami nie istnieje, tworzymy go i wypelniamy :)
$fname = $dir . '/' . $fname;
if ( !file_exists( $fname ) )
{
$file = fopen( $fname, 'w' );
for( $i = 0; $i < $max; $i++ )
fwrite( $file, "nniktn0" ); // cudzyslowy uzyte ze wzgledu na parser ''
fclose( $file );
}

Pierwsza linijka sprawia, że $fname nie zawiera już nazwy pliku, tylko ścieżki dostępu do niego (czyli nazwafolderu/nazwapliku). Teraz podczas używania tej zmiennej nie trzeba będzie łączyć jej z nazwą folderu i ukośnikiem, a jest to o wiele wygodniejsze i bardziej optymalne rozwiązanie. Zwróćmy uwagę na to, że użyłem cudzysłowów zamiast apostrofów. Parser apostrofów usuwa wszystkie znaki escape (n, t itd.), a to by nie pozwalało na przejście do nowej linii.

Krok czwarty: wczytanie tabeli

Nieważne, czy plik był, czy nie, teraz jest i możemy śmiało wczytać tabelę do dwóch tablic - $n[] dla nicków oraz $s[] dla punktów. A oto kod:
kod:
// wczytanie tabeli
file = fopen( $fname, 'r' );
fgets( $file );
for( $i = 0; !feof( $file ); $i++ )
{
$n[$i] = rtrim( fgets( $file ) );
$s[$i] = ( int )rtrim( fgets( $file ) );
}

Funkcja rtrim() usuwa znaki escape, a przecież takowy występuje w każdej linii (prócz ostatniej), jest to oczywiście znak nowej linii, czyli n. Dodatkowo używamy rzutowania z typu string do int, ponieważ ilość punktów to liczby, to oczywiste.

Krok piąty: dodawanie rekordu

Teraz najcięższy do zrozumienia i najdłuższy fragment kodu - dodawanie rekordu. Najpierw, sprawdzamy, czy istnieje tablica GET[ 'add' ] za pomocą funkcji isset(). Sama tablica nie ma żadnej wartości, aczkolwiek sugeruje nam, że mamy zamiar dodać rekord. Jeśli tak, przechodzimy dalej. Sprawdzamy za pomocą funkcji preg_match(), czy nick jest poprawny i nie zawiera znaków, które mogłyby tworzyć bałagan lub też znaków tworzących kod HTML. Jeśli nick jest niepoprawny - dajemy zmiennej $text odpowiednią wartość, abyśmy zostali o tym poinformowani. Jeśli nick jest poprawny, przechodzimy dalej. Teraz łączymy nick z ilością punktów (oczywiście należy dokonać konwersji z typu int do typu string) i naszym tajnym hasłem. Teraz cały ten łańcuch, który przechowuje zmienna $hash, zamieniamy w skrót tekstu, za pomocą wbudowanej w PHP funkcji MD5. Jeśli hash w tablicy GET[ 'code' ] jest równy powstałemu hashowi, znaczy to, że dane łącznie z hashem są poprawne, więc przechodzimy dalej. Dodatkowo sprawdzamy, czy nie istnieje plik o nazwie naszego hasha, ponieważ jeśli uda się dodać rekord, to takowy plik tworzymy. Jeśli ktoś chcę dodać kilak rekordów, wystarczy, że odświeży stronę. Aby to ominąć, właśnie tak postępujemy. Jeśli coś jest nie tak - zostajemy o tym poinformowani (zmiennej $text zmieniamy wartość), jeśli nie - przechodzimy dalej. Ostatnie "pytanie" brzmi następująco: Czy wynik jest większy niż zero i, czy jest lepszy chociaż niż najgorszy wynik? Jeżeli tak - przechodzimy dalej, czyli dodajemy wynik. Dodanie wyniku jest związane ze zmianą pozycji innych rekordów, posłuży nam do tego pętla krokowa for. Dodatkowo, zostajemy o tym poinformowani. Tworzy także plik o nazwie hasha. Taki kod nie powinien cię zdziwić:
kod:
// dodawanie rekordu
if ( isset( $_GET[ 'add' ] ) )
{
if ( preg_match( '/^[a-z0-9_#- ]+$/i', $_GET[ 'nick' ] ) != $_GET[ 'nick' ] )
{
// stworzenie hasha - w PHP mamy gotowa funkcje :)
$hash = $_GET[ 'nick' ] . $_GET[ 'score' ] . $pass;
$hash = md5( $hash );
if ( $hash == $_GET[ 'code' ] && !( file_exists( $dir . '/' . $hash ) ) )
{
// jesli hash jest poprawny, jestesmy tutaj :)
$sc = ( int )$_GET[ 'score' ];
if ( ( $sc ) && ( $sc > $s[$max - 1] ) )
{
// gratulacje, dostales sie do tabeli najlepszych :) !
$text = 'Gratulacje, ' . $_GET[ 'nick' ] . '. Twój wynik zostal dodany!';
fclose( fopen( $dir . '/' . $hash, 'w' ) );
for( $i = $max - 2; $i >= 0; $i-- )
{
if ( ( $s[$i] >= $sc ) || ( !$i && $sc >= $s[0] ) )
{
if ( ( $i ) || ( !$i && $sc <= $s[0] ) )
$i++;

for( $j = $max - 1; $j > $i; $j-- )
{
$s[$j] = $s[$j - 1];
$n[$j] = $n[$j - 1];
}

$s[$i] = $sc;
$n[$i] = $_GET[ 'nick' ];

break;
}
}
}
}
else
$text = 'Nie udalo się dodać wyniku!';
}
else
$text = 'Niepoprawny nick!';
}

Tak więc, nie ma już nawet czego tłumaczyć.

Krok ostatni: wyświetlanie informacji i koniec tabeli

Pozostało nam już tylko wyświetlić tabelę oraz informację i zakończyć tabelę. Jeśli dotychczas wszystko zrozumiałeś, zrozumiesz także i ten kod:
kod:
// wyswietlanie tabeli
for( $i = 0; $i < $max; $i++ )
{
echo '<tr><td>' . ( string )( $i + 1 ) . '.</td><td>';
echo $n[$i] . '</td><td>';
echo ( string )$s[$i] . "</td></tr>n";
}

// zapis
$out = "";
for( $i = 0; $i < $max; $i++ )
$out .= "n" . $n[$i] . "n" . ( string )$s[$i];
file_put_contents( $fname, $out );

// wiadomosc :)
echo '</table><br/><b><font size="2">' . $text . '</font></b>';
?>

Wyświetlamy zawartości tablic, należy jednak pamiętać o konwersji tablicy przechowującej ilości punktów do łańcucha (string). Należy przyjrzeć się jeszcze zapisowi. Do zmiennej $out przypisujemy wartości tablic i nowe znaki, po czym nadpisujemy plik funkcją file_put_contents(). Podczas wyświetlania końca tabeli wyświetlamy także niżej wiadomość.

Jeśli robiłeś wszystko zgodnie z tym artykułem - właśnie udało ci się stworzyć tabelę wyników do swojej gry :) ! Oczywiście, uczyń ją ładniejszą i zmień parametry według własnego uznania.

Na koniec chciałem podziękować Tymonowi, współtwórcy tego artykułu, za dokładne wytłumaczenie, co to hash ;).

Przykład do ściągnięcia (w tym przykład, jak powinna wyglądać twoja strona): gmclan.org/up42...ajlepszych.html
Strona autora implementacji MD5 w Game Makerze: rithiur.anthd.c...gm/libs/md5.php

Przykładowa strona z takową tabelą (aby testować, wystarczy w pliku gm6 zmienić wartość zmiennej site na ten właśnie link): mental.ugu.pl/hiscore
głosów: 9 | ocena: 7.88 oceń zasób | dodał: Maximal
Komentarze
stron: 21

2


av

Ghost (9:28, 27.02.2009)

A u mnie pisze "Trwa ładowanie strony" i nic więcej xD A wszystko robię jak należy ;/

av

Pental Stary (15:20, 27.02.2009)

Rozumiem Adamie, że jesteś debilem i uważasz to za swój życiowy sukces? Poziom twoich programów żeby był tak wysoki jak twoja wiedza o informatyce, byłoby miło. A ty pewnie nawet nie wiesz, co to MD5 xD .

av

47xxxxxxxx (11:29, 11.06.2009)

gmclan.org/uplo...entalh4cker.png to się pokazuje kiedy wciskam link mental.ugu.pl/****ore (ocenzurowałem żeby jakiś n00b nie kliknął jeszcze raz)

av

Ghost (12:54, 11.06.2009)

Trojan.Clicker - coś jak okienka pop-up, idź się powieś, ale najpierw pomyśl i przeczytaj treść tego wirusa -.-

av

Roki (12:57, 11.06.2009)

A mi nie działa Ciągle pisze trwa ładowanie strony :/
Ale jakoś sobie poradze, tylko czy ktoś mi może polecić dobry, darmowy hosting?

av

gnysek (14:38, 11.06.2009)

Tak. Na własnym PC.

av

Ghost (14:54, 11.06.2009)

gnysek, zamknij dziobek. www.ic.cz

av

Roki (15:04, 11.06.2009)

Aha, racja to przez yoyo.pl :/

av

bluks (10:40, 28.07.2009)

yoyo.pl Nie istnieje idoto.

av

KozakPL (11:58, 29.07.2009)

od kiedy? lol

av

bluks (13:13, 29.07.2009)

A jedak. Sory ale jak wklejałem wcześniej to mi pokazało że nie ma takiej strony.

av

Egzekutor (9:28, 30.07.2009)

bluks: ale wtopa

av

pivot18 (14:09, 24.11.2009)

bluks: O lol
A przykład fajny :>

av

Bassmaster (18:05, 17.02.2010)

Wyczerpujący, nareszcie! Znalazłem to co potrzebowałem 10 pkt

av

Piotrek1910 (15:09, 18.12.2011)

Mi to nie działa proszę pho.ugu.pl/tabela/index.php a pobrałem przykład

stron: 21

2



Dodaj komentarz:
Treść:
Menu
Panel użytkownika
Jesteś niezalogowany!

Nie masz konta? Zarejestruj się
Użytkownicy on-line
4 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 3, userów: 1, ukrytych: 0
ANtY
Użytkownicy na czacie discord
Wojo (10:48, 16.10.18):
www.youtube.com...h?v=XhmsV_IBles tutaj masz jakieś wyjaśnienia
I am Lord (9:18, 16.10.18):
swędzenie ni występuje po przedwakowaniu kofeiny tylko beta alaniny, na niektórych w tym mnie bardzo negatywnie to wpływa
I am Lord (9:17, 16.10.18):
ale ten filmik jest pocięty i moco zmanipulowany, obejrzyj full 5 minutowy wywiad i tam sprawia wrażenie normalnego tylko lekko nabuzowanego i tyle
MaxGaming (1:49, 16.10.18):
Osoby które nie mają doczynienia z mefedronem itp nie mają pojęcia że tu nie chodzi tylko o te jego drapanie po nosie czy oczy. Chodzi nawet o sposób ekspresji emocji. A raczej nadekspresji w taki bardzo nie typowy sposób. Jak to wyjąsnić? No najlepiej obejrzyjcie ten filmik z adbusterem bo to przykład 1:1
MaxGaming (1:47, 16.10.18):
natomiast na 90% mogę stwierdzić że ćpał
MaxGaming (1:46, 16.10.18):
jedno w tym wszystkim jest pewne - prawdy nie da się udowdnić, ani że był trzeźwy ani że ćpał
MaxGaming (1:46, 16.10.18):
mój kolega który nigdy nie brał amfetaminy a palił codziennie trawę na badaniach na mocz miał amferaminę ktorej nigdy w życiu nie brał i thc nie wykryto
MaxGaming (1:45, 16.10.18):
kolejna sprawa to jakość tych testów... miałem kiedyś robione testy na mocz dzień po paleniu trawy. THC ku mojemu zaskoczeniu nie wyszło wcale
MaxGaming (1:45, 16.10.18):
i czy serio oni robili wgl testy na rcki czy tylko narkotyki tradycyjne?
MaxGaming (1:44, 16.10.18):
co więcej są rcki na które nawet nie ma testów jeszcze
MaxGaming (1:44, 16.10.18):
nie wychodzi za bardzo w moczu. Ludzie donoszą że nawet dzień po nie ma śladu w moczu, po tylu dniach nie ma opcjo na pewno
MaxGaming (1:44, 16.10.18):
z ciekawości sprawdziłem, jesli już weźmiemy testy które obejmują RCki, do tego dodamy że to tylko najpopularniejsze to... najbardziej osławiony 3mmc(aka mefedron) jest do wykrycia w praktyce do 3 dni(testy drugie były robione bodaj po 10 dniach a przed walką to wiadomo...), ale już dzisiaj niemal równie popularny 4cmc(to nie mefedron ale sprzedają go jako mefedron bo działa tak samo a do niedawna był legalny - mefedron od wielu lat nie jest)
MaxGaming (1:24, 16.10.18):
to nie jest do końca takie proste, od zawsze przedtreningówki budzą kontrowersje. Na pewno żadna ilośc kofeiny tak nie robi
MaxGaming (1:23, 16.10.18):
pamiętajmy że kiedyś legalnie w przedtreningówkach stosowano eufedrynę dzisiaj uważaną za narkotyk, a leki z pseudefedryną(praktycznie zerowy efekt psychoaktywny w stsunku do efedryny) są ograniczone w sprzedaży
MaxGaming (1:21, 16.10.18):
nawet jedząc. Nie trzeba wcale walić w nos nawet
MaxGaming (1:21, 16.10.18):
jego oczy są porobione jak nie wiem. Wojo czerwone oczy są po trawie nie po takich rzeczach. Uwierzcie że doskonale wiem jak człowiek się zachowuje po takich rzeczach i jakie ma oczy. Testy na narkotyki wykryją amfę ale jej nawet nikt nie stosuje. Nie wykryje za to np 3mmc, 4mmc, 3cmc, 4cmc, hexenu.... mam wymieniać dalej? Każdy z tych środków działa dokładnie jak na filmiku. Jest tego tyle że nie można sobie wybierać i przebierać. Każdy z nich można zażyć po prostu w płyni
I am Lord (0:09, 16.10.18):
Co ciekawe też pod nosem mnie najbardziej swędziało i tam często próbowałem się drapać
I am Lord (0:08, 16.10.18):
dodajmy do tego adrealinę w kosmicznych ilościach u niego
I am Lord (0:07, 16.10.18):
trzymało mnie dobrą godzinę, myślałem że umrę
I am Lord (0:06, 16.10.18):
wszystko przez to zasrane swędzenie które czujesz pod skóra i drapanie na nie nie pomaga
I am Lord (0:06, 16.10.18):
mi tak ryj też wykręcało jak napalmshota przedawkowałem, a to była dawka tylko dwukrotna
Wojo (22:18, 15.10.18):
A adbuster się po prostu popisywał przed kamerami
Wojo (22:14, 15.10.18):
To, że oczy mi się robią czerwone (zwłaszcza zimą) to nie jest wina narkotyków (ani przedtreningówek)
Wojo (22:13, 15.10.18):
Mnie cały czas podejrzewają o branie narkotyków ludzie, którzy mają o tym nikłe pojęcie
Wojo (22:12, 15.10.18):
Ale co wy w ogóle opowiadacie, w życiu nie widzieliście naćpanego człowieka. Spójrzcie na jego oczy, są one normalne. To, że robi z siebie głupa i jest pobudzony wygraną i przedtreningówkami to jest inny temat
Ignatus (21:06, 15.10.18):
Trenując 20 lat na siłowni testowałem chyba wszystkie przedtreningówki na rynku- żadna nawet w podwójnej dawce nie porabia tak jak Adbustera- naćpany jest jak z podręcznika, zresztą widziałem wszystkie jego filmiki-totalnie inaczej się zachowuje normalnie
MaxGaming (16:03, 15.10.18):
a to czy on wrąbał mefę albo inny rcek do przedtrenigówki i wypił czy walnął w nos to wszystko jedno. Raczej dziwne gdyby walnał w nos bo spożycie oralne cechuje się tym że działanie trwa od kilkudziesięciu minut do kilku godzin a noski działają maksymalnie kilkadziesiąt minut, no może godzinkę zależy co wiadomo
MaxGaming (16:02, 15.10.18):
każdy kto widział kogoś po mefie ten z kilometra rozpozna co z tym typem jest
MaxGaming (16:02, 15.10.18):
nieźle lata ta szczęka, niezłe oczka a zachowanie wgl. Na pewno przedtrenigówka standardowa Na kofeinie na pewno
MaxGaming (16:00, 15.10.18):
ale gdzie duch sportu? Naćpany że ledwo co mówi i cieszy się że zwyciężył
MaxGaming (15:59, 15.10.18):
i jest problem. ale to jest problem że ciężko zakazać wszystkiego bo jest tyle stimów że nie da się nawet tego ogarnąć
MaxGaming (15:59, 15.10.18):
tylko potem zawodnikowi pikawa za którymś razem pada
MaxGaming (15:59, 15.10.18):
w lidze amatorskiej najcześciej to legalne co jest najśmieszniejsze
MaxGaming (15:58, 15.10.18):
znam ludzi którzy walczą amatorsko z takimi przedtrenigowkami zaprawianymi RCekami
MaxGaming (15:58, 15.10.18):
Wojo wiem co mówię, on był naćpany jak meserszmit. Ta przedtreningówka to conajmnej z 3mmc była haha
I am Lord (11:37, 15.10.18):
rafonix chyba go jeszcze tam wyzwał jak go magicala na noszach zawijali
Wojo (9:46, 15.10.18):
i nie byl pod wplywem narkotykow tylko co najwyzej emocji oraz ewentualnie przedtreningówek
Wojo (9:46, 15.10.18):
niepotrzebnie wysmiewal binkowskiego
MaxGaming (23:25, 14.10.18):
ten jego wywiad, ja nie wiem ile on tej nocy skonsumował narkotyków ale powinni zrobić anty doping nawet jeśli to freak fight w stylu reality show a nie sportowe wydarzenie
MaxGaming (23:25, 14.10.18):
Adbuster naćpany tak że to była porażka
MaxGaming (23:04, 14.10.18):
dobrze pociśnięta ta walka z magicalem, 40 sekund i połamany a 4lata spiny
MaxGaming (23:03, 14.10.18):
ale z rafonixa psychopata
MaxGaming (19:30, 11.10.18):
ale nie takie było pytanie
MaxGaming (19:30, 11.10.18):
Da się konfigurować php.ini dla subdomeny? Wrzucene pliku php.ini do katalogu subdomeny nie działa. Obsługa technicna odpowiedziała po prostu że zmiany dokonywane w php.ini przez directpael są przeprowadzane dla całej domeny
MaxGaming (19:13, 11.10.18):
? haha
I am Lord (18:52, 11.10.18):
Sorry ale chodziło mi o zdjęcie z tą kulką papieru
MaxGaming (15:52, 11.10.18):
nie no jeśli chodzi o to w sidebardze no to nieźle wyszłeś, przyznaję
MaxGaming (15:52, 11.10.18):
Johny Depp przy Tobie to zwykły nerdziak haha
ANtY (6:44, 11.10.18):
to w sidebarze? xDD
Ankieta
» Jakie kursy najchętniej widziałbyś na stronie ?
GM Studio
GM Studio 2
Godot
Construct

GMCLAN to serwis o programie Game Maker i nie tylko.
[ Polityka prywatności ]
Copyright © 2002-2018. GMCLAN.ORG
Wszelkie prawa zastrzeżone. Kopiowanie materiałów bez zgody redakcji zabronione!
© 2002-2017 Ranmus (ranmus.pl), © 2017-2018 {=|=} fable_inside();

[ Czas generowania strony: 0.0263 sekund ] [ Liczba zapytań MySQL: 13 ]