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
Kurs GML dla początkujących
autor: Marmot (7.07.09)
stron: 2

1

2

Game Maker Language (w skrócie: "GML") to język skryptowy stworzony przez Marka Overmarsa na potrzeby programu Game Maker. Jest on używany do ustalania i wykonywania automatycznych akcji przez program w dowolnym momencie. W Game Makerze można go używać w czterech miejscach: Scripts, Execute a Piece of Code, Creation Code oraz przy ustawianiu tzw. klocków. Język ten ma składnię i strukturę przypominające dobrze znane języki programowania takie jak C++ czy Pascal.

Podstawowe zastrzeżenia

- Nazwy wszystkich zasobów gry (sprites, sounds, objects itd.) muszą być różne i mogą mieć na początku tylko literę, a mogą składać się tylko z liter, liczb i podkreśleń "_".
- Posiadając niezarejestrowaną wersję Game Makera, niektóre funkcje mogą nie działać m.in. system Particle, obsługa dodatkowych funkcji typu gradienty w tle itd.

Struktura

Pisząc skrypt używamy wielu poleceń, zwanych wyrażeniami (ang. statements). Początek skryptu powinno się zacząć symbolem "{", a kończyć "}". Mimo to, na samym początku i na samym końcu rzadko się używa tych znaków, a ich brak nie jest uznawany przez Game Maker jako błąd. Po każdym wyrażeniu, stawiamy średnik ";", na wzór innych języków programowania. Nie dając go, program może uznać, że podane wyrażenie trwa dalej, np. w następnej linijce. Tak więc, nasz skrypt będzie wyglądał mniej więcej tak:
gml:
{
<wyrażenie>;
<wyrażenie>;
...
}


Wyrażeń może być bardzo wiele. Kilka z nich zostanie wymienionych w dalszej części artykułu, ale większość z nich znajdziesz w pliku pomocy do Game Maker.

Zmienne

Podstawowe informacje

GML jak wiele innych języków programowania zawiera zmienne. Służą one do zapamiętywania przez program pewnych wartości, np. położenia obiektu w room. Zmienna może zawierać liczbę lub tekst (string). Zmienne w Game Makerze są deklarowane trochę inaczej niż w znanych językach programowania, ale też większość jest już wbudowana, np. mouse_x lub mouse_y określające położenie myszki. Nazwa zmiennej musi zaczynać się literą i może zawierać litery, liczby i podkreślenia "_" (maks. długość - 64 znaki).

Deklarowanie

Zmienne w GML deklarujemy w poniższy sposób:
gml:
<zmienna> = <wartość>;

Deklarować można w taki prosty sposób, jednak można też bardziej skomplikowanie. Jeżeli chcemy dodać jakąś wartość do obecnej wartości np. 2 do wartości 5, to zamiast = dajemy +=. Podobnie jest z odejmowaniem -=, mnożeniem *=, dzieleniem /= lub używając operatorów bitowych |=, & lub ^=.

Inne rodzaje zmiennych

W GML możemy używać poza tymi prostymi zmiennymi także innych. Jeżeli użyjemy normalnych, to będą one przechowywane tylko w jednym objekcie. Jeżeli chcemy utworzyć zmienną ogólnodostępną, trzeba posłużyć się tzw. globalnymi. Zmienne globalne od zwykłych różnią się przedrostkiem global. w nazwie. Zmienna globalna może wyglądać tak:
global.nazwa=1;
Czasami jednak, chcemy, żeby zmienna była tylko używana w jednym skrypcie, a nie do każdego skryptu w danym obiekcie. W takim przypadku, zmienną musimy najpierw zadeklarować w var, a potem ustalamy jej wartość, jak w innych przypadkach. Może to wyglądać tak:
gml:
{
var abc,def;
abc=1;
def=2;
}


Adresowanie zmiennych

Czasami do skryptu potrzebujemy znać zmienną zadeklarowaną w innym objekcie. Po przeczytaniu powyższych informacji, każdy by to zrobił na podstawie stworzenia globalnej o wartości tamtej. Nic bardziej błędnego. W takich przypadkach wykorzystujemy adresowanie zmiennych. Przyjmijmy, że chcemy zmienić wartość zmiennej x obiektu pilka. Piszemy wtedy tak:
gml:
pilka.x=2;

Tutaj poznajemy pierwszą metodę adresowania - poprzez podanie nazwy obiektu. Należy pamiętać o kropce między nazwą obiektu i nazwą zmiennej. Możemy także adresować nie podając nazwy obiektu. Wtedy piszemy:
- self : obiekt w którym jest wykonywana akcja
- other : obiekt, który jest w trakcie kolizji z obiektem w którym wykonywana jest akcja
- all : wszystkie obiekty
- noone: żaden z obiektów (brzmi dziwnie, ale czasami się przydaje)
- global : żaden z obiektów, ale tworzy zmienną globalną (patrz poprzedni podroździał)
Zmienne możemy również adresować, podając id obiektu (w nawiasie), np.
gml:
(100032).x=250;

Jednak skąd brać id obiektu? Tworząc go, dostaniemy jego id, np.
obiekt=instance_create(250,546,pilka);
Wtedy, już nie podając id, możemy adresować w poniższy sposób:
gml:
{
obiekt=instance_create(250,546,pilka);
obiekt.x=267;
}

Dla ułatwienia można korzystać z numeracji zmiennych, głównie przydatne przy tworzeniu kilku obiektów (lecz można to także użyć do już gotowych obiektów) i wtedy razem z adresowaniem, będzie to wyglądać tak:
gml:
{
obj[0]=instance_create(250,546,pilka);
obj[1]=ludzik;
obj[0].speed=5;
obj[1].y=555;
}


Tablice
W GML można używać tablic jedno i dwuwymiarowych. Tworzenie ich jest proste - poprostu wpisujemy wartość w nawiasy kwadratowe (przy jednowymiarowych jedną liczbę, przy dwuwymiarowych - liczbę, przecinek i drugą liczbę). Tablice mogą wyglądać tak:
gml:
{
a[0]=1;
b[1,3]=2;
}


Instrukcje warunkowe, pętli itd.

Instrukcja warunkowa

Instrukcja warunkowa w GML ma formy:
gml:
if (<warunek>) <wyrażenie>

lub
gml:
if (<warunek>) <wyrażenie> else <wyrażenie>

Warunek może składać się z wielu funkcji, wtedy piszemy:
gml:
if (<warunek>)
{
<wyrażenie>
}
else
{
<wyrażenie>
}

Poprawnie zapisany przykład instrukcji warunkowej wygląda tak:
gml:
if (x < pilka.x)
{
speed=5;
pilka.speed=15;
}
else
{
speed=15
pilka.speed=5
}


Instrukcja pętli repeat

Instrukcja pętli repeat wygląda tak:
gml:
repeat (<wartość>) <wyrażenie>

Wartość ustala ile razy pętla ma być wykonywana i musi być podana jako liczba naturalna.
Przykład:
gml:
{
repeat (2) instance_create(random(400),random(400),pilka);
}


Instrukcja pętli while

Instrukcja pętli while wygląda tak:
gml:
while (<warunek>) <wyrażenie>

Instrukcja ta polega na tym, że wyrażenie (nawet składające się z wielu funkcji) jest wykonywane kiedy pewien warunek jest spełniony. Używając jej trzeba uważać, ponieważ można zapętlić coś w nieskończoność przez co gra może się zawiesić.
Przykład:
gml:
{
while (!place_free(x+32,y+32)) instance_create(x+32,y+32,pilka);
}


Instrukcja pętli do

Instrukcja pętli do wygląda tak:
gml:
do <wyrażenie> until (<warunek>)

Wyrażenie zawarte w tej pętli (nawet składające się z wielu funkcji) jest wykonywane tak długo, aż warunek zawarty w until będzie wykonany. Używając jej trzeba uważać, ponieważ można zapętlić coś w nieskończoność przez co gra może się zawiesić.
Przykład:
gml:
{
do instance_create(random(600),random(600),pilka) until instance_number(pilka)=100;
}


Instrukcja pętli-warunkowa for

Instrukcja pętli-warunkowa for wygląda tak:
for (<wyrażenie1>; <warunek>; <wyrażenie2>) <wyrażenie3>
Wygląda skomplikowanie, nieprawdaż? Jednak to bardzo proste. Wygląda to mniej więcej tak:
- wyrażenie1 jest wykonywane;
- warunek jest sprawdzany;
- jeżeli jest prawdziwy, wyrażenie3 jest wykonywane;
- potem wyrażenie2;
- potem znowu od początku, aż warunek będzie fałszywy.
Jeżeli nie rozumiesz, to pomyśl tak. Wyrażenie1 inicjuje pętle for. Warunek sprawdza, czy pętla ma być zakończona. Wyrażenie2, to takie "przeciągnięcie" pętli, które jest sprawdzane za każdym następnym razem po wykonaniu wyrażenie1.
Najpopularniejszym przykładem wykorzystania for jest tworzenie licznika z pewnym przedziałem liczbowym.
Przykład:
gml:
{
for (i=0; i<=9; i+=1) list[i] = i+1;
}


Inne instrukcje i wyrażenia

Instrukcja switch

Instrukcja switch wygląda tak:
gml:
switch (<warunek>)
{
case <warunek1>: <wyrażenie1>; ... ; break;
case <warunek2>: <wyrażenie2>; ... ; break;
...
default: <wyrażenie>; ...
}

Działa to tak:
- warunek jest sprawdzany;
- sprawdzane są pozostałe warunki;
- jeżeli jeden z warunków jest spełniony, wyrażenia są wykonywane, aż do wystąpienia break;
- jeżeli żaden warunek nie jest spełniony, jest wykonywane wyrażenie w default (nie jest wymagany).
Można też korzystać z tzw. multiple case (wielokrotnych case). Wtedy kolejny case dajemy w miejsce wyrażenia. Także break nie jest potrzebny. Jeżeli nie ma break, to kod po prostu jest wykonywany dalej.
Przykład:
gml:
switch (keyboard_key)
{
case vk_left:
case vk_numpad4:
x-=4; break;
case vk_right:
case vk_numpad6:
x+=4; break;
}


Wyrażenie break

Wyrażenie break wygląda tak:
gml:
break

W przypadku użycia tego kodu z pętlami, bądź instrukcją for lub with, zakończy daną pętlę lub wyrażenie. Jeżeli jest użyty poza nimi, kończy działanie programu (nie kończy gry).


Wyrażenie continue

Wyrażenie continue wygląda tak:
gml:
continue

W przypadku użycia tego kodu z pętlami, bądź instrukcją with, będzie kontynuować działanie kodu z następną wartością dla pętli lub instrukcją with.

Wyrażenie exit

Wyrażenie exit wygląda tak:
gml:
exit

Wyrażenie to po prostu kończy działanie skryptu. (Nie kończy ono działania gry! Jak chcesz zakończyć grę, musisz użyć funkcji game_end();).

Funkcje

Funkcja składa się z nazwy funkcji po której są podane arguments w nawiasie, roździelane przecinkami.
gml:
<funkcja>(<argument1>,<argument2>, ...);

W Game Makerze mamy dwa typy funkcji. Pierwsze, to spora kolekcja wbudowanych funkcji, do kontrolowania wszystkiego co się dzieje w grze. Drugi typ to każdy skrypt zdefiniowany przez ciebie (w zakładce scripts). Możemy ich także używać jak funkcje.
Musisz pamiętać, że jak nie wpisujemy do funkcji arguments, to zostawiamy nawiasy! Niektóre funkcje zwracają wartości (np. variable_global_exists(nazwa);) i mogą być wtedy używane jako wyrażenia. Pozostałe wykonują po prostu polecenia.
Także musisz pamiętać, że funkcje nie mogą być adresem zmiennej. Jeżeli już, to zapisujemy funkcję w nawiasie np. (instance_nearest(x,y,obj)).speed=0;.

Arguments
Tworząc skrypty, możesz zaimplementować do nich arguments. Są one przechowywane w zmiennych argument0, argument1...argument15. W Game Maker możemy zaimplementować aż do 16 arguments (w przypadku korzystania z tzw. klocka, możemy zaimplementować tylko 5 argumentów). Skrypty z arguments uruchamiamy na wzór funkcji (patrz wyżej).

Zwracanie wartości przez skrypt
Wcześniej pisałem o tym, że funkcje mogą zwracać pewną wartość jak również, że skrypty zdefiniowane w zakładce scripts, to też funkcje. Więc teraz, jak tworzyć zwracanie wartości przez skrypt? To proste. Wykorzystujemy wtedy instrukcję return, która wygląda tak:
return <wyrażenie>
Trzeba pamiętać, że return automatycznie kończy działanie skryptu!
Przykład:
gml:
{
return (argument0*argument0)
}


Konstrukcja with
Jak już pisałem wcześniej, możliwe jest ustalanie lub sprawdzanie wartości zmiennej zawartej w innym objekcie, czyli tzw. adresowanie. Dla przykładu, chcesz żeby wszystkie obiekty pilka przesunęły się o 8 pikseli w górę. Zgodnie z tym co napisałem wcześniej, będziesz myślał, że można to zapisać tak:
gml:
pilka.y = pilka.y + 8;

Jednak jest to zapis nieprawidłowy. Dlaczego? Otóż, będzie pobrane położenie Y jednej z piłek i dodane do niego 8. Zajdzie taki proces, że w końcu, wszystkie piłki będą w tej samej lini. Też wyrażenie
gml:
pilka.y += 8;

doprowadzi do tego samego efektu. Więc co robić? Wtedy korzystamy z instrukcji with. Wygląda ona tak:
gml:
with (<wyrażenie>) <polecenie>

<wyrażenie> to obiekt na którym ma być wykonywane polecenie. Możesz tam dać id obiektu lub jego nazwę (jeżeli wszystkie mają zareagować). Można też użyć jeden ze "specjalnych" obiektów (all, self, other, noone). <polecenie> jest wykonywane dla wszystkich obiektów z osobna, co zapobiega takim błędom jak powyżej. Więc, jak chcesz przesunąć piłki o 8 pikseli w dół, to możesz użyć
gml:
with (pilka) y+=8;

Możesz też korzystać z kilku poleceń na raz. Wtedy dla przykładu, żeby przesunąć każdą piłkę w losową pozycję damy:
gml:
with (pilka)
{
x=random(room_width);
y=random(room_height);
}

Pozostałe przykłady wykorzystania tej instrukcji znajdziesz w pliku pomocy Game Makera (dokumentacji) w: The Game Maker Language (GML) -> GML Language Overview -> With construction.

Komentarze
Teraz coś prostego i użytecznego, ale zrozumiałego tylko dla programisty :-) . Pomówmy teraz o komentarzach. Więc, wszystko w linii napisane po // nie będzie odczytywane przez program np.
gml:
x = 25 // x = 44 - to już nie jest odczytywane przez program

Jednak, jak przejdziemy do następnej linii, to komentarz już nie będzie działał. Co robić, jak chcemy mieć komentarze wieloliniowe? Jest to prosta rzecz. Dajemy wtedy tekst między /* i */. Przykład:
gml:
x+=44
/*
if x=0 {
show_message('tego program nie przeczyta');
}
*/

show_message('ale to już program przeczyta');

Nie wierzysz? Sprawdź.

stron: 2

1

2

głosów: 6 | ocena: 8.17 oceń zasób | dodał: Mimek
Komentarze
stron: 1

1


av

Ch3mical (14:25, 18.07.2009)

dziekuje mamrociu :*

av

Undergalaxy (18:18, 20.07.2009)

Mi to w ogóle nie pomogło. Pamiętam kod ale nie wiem co robi itd. Mi nie pomogło, nie wiem jak wam.

av

Ghost (20:36, 20.07.2009)

Bo trzeba być człowiekiem i trochę myśleć i zastanowić się.

av

Misiek999 (21:21, 20.07.2009)

bo tego raz dwa się nie nauczysz. Potrzeba kilku miesięcy aby zrozumieć wszystkie podstawy gmla, aby czuć się w pełni swobodnie podczas kodzenia. A potem to już tylko doświadczenie, jak stworzyć to i tamto najbardziej optymalnie.

av

Młody (20:28, 24.06.2011)

UP2@
"Ghost (20:36, 20.07.2009)
Bo trzeba być człowiekiem i trochę myśleć i zastanowić się."
Jak dotąd naukowo zostało potwierdzone , że tylko "człowiek" jest tak rozwinięty intelektualnie , by nauczyć się pisać i czytać ...
UP1@
Dzięki , myślałem , że tylko ja niekumaty

av

Madness (13:02, 27.06.2011)

Ty ,a ty wiesz że to było napisane 2 lata temu ?
Ghost (20:36, 20.07.2009) - 2009!!
Po kija odpisywać na komentarze z przed dwóch lat^^

av

Młody (19:00, 26.07.2011)

jestem debilem i nie sprawdzam dat postów ;d

av

GROMacs (12:22, 29.03.2013)

mi to w ogóle nic nie pomogło nie wiem co gdzie robić jakie skrypt -,-

av

Utermiko (12:59, 29.03.2013)

Przeczytaj ten kurs który wprowadza do GM'a a nie uczy GML.
Co do tych skryptów. Stwórz obiekt, daj jakiś event, przejdź do zakładki Control i execute code.
Tutaj jest coś: gmclan.org/inde...php?czytajart=2 oraz forum.gmclan.or...showtopic=28967

stron: 1

1



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

Nie masz konta? Zarejestruj się
Użytkownicy on-line
25 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 24, userów: 1, ukrytych: 0
Ignatus
Użytkownicy na czacie discord
Shoutbox
MaxGaming (0:33, 20.10.18):
chodzi mi jak to z licencją jest, czy nie będę jej łamał
Wojo (22:17, 19.10.18):
zresztą, nie wiem
Wojo (22:16, 19.10.18):
tak
MaxGaming (19:21, 19.10.18):
Czy mogę usunąć w stopce "Zbudowany za pomocą Storefront i WooCommerce."?
Wojo (12:55, 19.10.18):
i cała ta dychotomia społeczeństwa wydaje się śmieszna dla osoby, która ma trochę względnego obycia w różnych środowiskach
Wojo (12:52, 19.10.18):
zresztą, zaprzestańmy tej dywagacji oraz popisu swojej erudycji
Wojo (12:51, 19.10.18):
ja w ogóle nie rozumiem tej protekcjonalnej postawy
ANtY (8:05, 19.10.18):
stalaktyzacja??
MaxGaming (0:08, 19.10.18):
exp stagmatyzacji brania narkotyków podczas zawodów mma? XD
exp (23:32, 18.10.18):
nie wiem dokładnie o czym mówicie ale stygmatyzacji brania narkotyków nie rozumiem i chyba nie zrozumiem
Sutikku (18:21, 18.10.18):
w mojej opinii też był sćpany, pozdrawiam, aż specjalnie sobie obejrzałem te gale bo tak ogólnie to mnie to nie interesowało
Wojo (19:03, 17.10.18):
mam nadzieję, że wiesz co jest pięć
Wojo (18:44, 17.10.18):
Jezu MaxGaming przeczytaj raz jeszcze co napisałem (pierwsze zdanie zaczynające się kluczowymi słowami "W MOIM PRZYPADKU"
MaxGaming (16:30, 17.10.18):
Jezu Wojo przeczytaj raz jeszcze co napisałem(punkt 3).
Wojo (13:55, 17.10.18):
Niemniej jednak wielu ludzi twierdzi w takim momencie, że coś paliłem
Wojo (13:54, 17.10.18):
W moim przypadku czerwone oczy (właściwie to lekko różowe białka) oraz opadające powieki pojawiają się najczęściej zimą gdy wchodzę z zimnego dworu do ciepłego pomieszczenia. Zresztą co ja się będę tłumaczył jak tu każdy wie swoje
MaxGaming (13:41, 17.10.18):
I 1. czerwone oczy nie są po takich środkach tylko po marihuanizacji. 2. Czerwone oczy od kamery są trochę inne niż te po paleniu. 3, Tak, marihuanizacje ciężko rozpoznać bo jest tyle opcji by mieć takie czerwone oczy. 4, nie widzę u niego ani trochę czerwonych oczu. To jeszcze odnośnie wcześniejszej wiadomości
Wojo (13:39, 17.10.18):
xD
MaxGaming (13:36, 17.10.18):
uwierzył że nie był. Pokazywałem to kilku kolegą co dużo ćwiczą i kliku co znają mefedron i jego efekty. Wszyscy to samo stwierdzili co ja.
MaxGaming (13:34, 17.10.18):
Popieram. Tak jak mówię adrenalina nie działa tak na nikogo oprócz niego. Poza tym Wojo za młody jesteś widocznie i za mało zmefedrowanowanych osób widziałeś żeby nie wiedzieć co jest pięć. Uważam że każdy kto trochę miał z tym styczność w ciągu pierwszej minuty wywiadu zorientuje się co jest pięć. Ale ogólnie Wojo od dawna zauważyłem że masz takie dzieciakie, naiwne myślenie. To nie jest sprawa która jest dla mnie jakaś istotna był naćpany to był, to nie moja
Ignatus (13:11, 17.10.18):
Obserwuję od 15 lat MMA i Adbustera od początku.Był w h*j naćpany Nikt się tak nie zachowuje nawet 10 sekund po walce
Wojo (13:02, 17.10.18):
I jak próbujecie sobie i innym wkręcać, że był naćpany to jest godne politowania (żeby nie było, nie bronię go dlatego bo jestem jego fanem, wręcz przeciwnie, irytuje mnie jego osoba)
Wojo (12:57, 17.10.18):
to dlaczego by nie zrobić specjalnej gali dla takich walk?
Wojo (12:57, 17.10.18):
Pomysłów mają dużo, lepsze to niż wpakowanie na oficjalną galę jednej walki aktora z muzykiem. I tak każdy nie będący w temacie ogląda galę dla tej jednej "popularnej" walki. Skoro w telewizji i w internecie trąbi się o wygranej muzyka z aktorem, a większość zwycięstw w tej samej gali pomija
Wojo (12:55, 17.10.18):
Uważajcie jak chcecie. Moim zdaniem taka oficjalna gala freakfightów jest dobra, zawsze coś ciekawego się dzieje. Jednemu wypada szczęka, drugi łamie nogę, trzeci chudzielec bije się z mięśniakiem, walki bliźniaków
ANtY (12:51, 17.10.18):
sorki ale nie bede tego ogladal xd
Ignatus (11:40, 17.10.18):
Obejrzyjcie wywiady ze wszystkimi uczestnikami FAMEMMA po walce, ba ,obejrzyjcie losowe kilkanaście/kilkadziesiąt wywiadów minuta po walce- NIKT NIGDY nie zachowywał się jak AdBuster- nawet oficjalny ćpun Popek .To on jeden na świecie tak reaguje na "emocje" że w niczym nie przypomina siebie na codzień?Nie ma co bronić typa-ewidnentnie się naćpał...
MaxGaming (11:37, 17.10.18):
no znam tą walkę
MaxGaming (11:36, 17.10.18):
To że oni się tak słabo przygotowują to właśnie problem. Z drugiej strony jedną rundę a nie kilka ciosów xd Poza tym mam na myśli takie nastawienie żeby wygrać z kimś zamiast pokonywać swoje słabości. To bardzo nie sportowy sposób myślenia. Jak rozróżniam jedno od drugiego? Jeśli myśli o wygranej z przeciwnikiem kombinujesz jak go przechyrzyć tak na prawdę(dowiedzieć się jakoś jaką ma stategie i treningi, a to wziąć jakąs przedtreningówkę fajną lub zaćpać, a t
Wojo (10:12, 17.10.18):
Zobacz słynną walkę pudziana z najmanem (najman przegrał jak coś), ona nie trwała długo między innymi z tego względu, że to był freakfight
Wojo (10:11, 17.10.18):
wyjaśnienia były 15 października czyli jakoś dwa dni po gali (jeśli się nie mylę), a jeśli chodzi o szybkie walki to trudno się spodziewać półgodzinnych walk jak u zawodowców. To są ludzie trenujący średnio po dwa miesiące i daleko im do zawodowego poziomu
MaxGaming (4:07, 17.10.18):
tylko dwie weszły do drugiej rundy jak dobrze pamiętam
MaxGaming (4:07, 17.10.18):
pomijam już ile trwały walki
MaxGaming (4:06, 17.10.18):
wgl nie ten state of mind zawodników
MaxGaming (4:06, 17.10.18):
dla mnie tam mało było sportu
MaxGaming (4:06, 17.10.18):
A rafon to otwarcie mówił że lubi sterydy tylko ileś tam przed walką musi przestać i po walce znowu ostro sterydy
MaxGaming (4:04, 17.10.18):
Zresztą nas to nie dotyczy to w sumie nie istotne. ale tak czy siak ja jestem w 90% pewien że coś tu mocno nie grało i stawiałbym na jakieś stymukanty/euforyki nowej generacji
MaxGaming (4:02, 17.10.18):
ja ogldałem jeszcze przed walką jakiś wywiad, nie pamiętam ile przed. Ale wysłalem znajomym że on jest na 80% naćpany. Było to widać ale nie tak mocno jak tutaj gdy doszły emocje. A mefedropodbne rcki mają ro do siebie że emocje są przetwarzane trochę inaczej i jeśi są duże to bardzo łatwo komuś kto wie co jest 5 rozpoznać czy ktoś jest porobiony czy nie nawet bez takich rzeczy jak źrenice itp
MaxGaming (4:00, 17.10.18):
można gdybać ale albo gośc ma jakieś mocne zaburzenia psychiczne albo był naćpany, nie chce mi się wierzyć że tak wygląda trzeźwy człowek Mam znajomych którzy trenują sporty walki, widziałem już ich naladowanych po wygranej czy przegranek walce gdy nimi emocje kipiały ale to zupełnie co innego. Podobnie zawodicy fame mma 2. Oprócz niego nikt nie wyglądał na naćpanego a nie jednym emocje mocno targały
MaxGaming (3:59, 17.10.18):
YT nie działa akualnie Wojo ale jeśli to ten filmik gdzie adbuster pokazuje testy zrobione tam chyba 9 czy 10 dni po to już wyjasniłem to wcześniej
MaxGaming (3:58, 17.10.18):
oglądłem najpierw całe wywiady i znim zobaczyłem tą kompilację już w pierwszej minucie wiedziałem co jest pięc
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?
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.02231 sekund ] [ Liczba zapytań MySQL: 13 ]