Právě je čtv 24. kvě 2012 1:15:31
Hosting WEDOS.cz
SLEVA 25% (slevový kód:PAWNO25)

Nejnovější témata:
[otázka] Kde spraviť mod ? od D4n09
[Ms 2012] NHL 2009 Remake od SweS
[HELP] stock & undefined symbol od WilliamKrizak
asus k8v-x od 7.Host
[HELP] Pickupy ! od AvestX

Vyzkoušejte antivirus ESET Smart Security 5

Vyhledat témata bez odpovědí | Zobrazit aktivní témata Zobrazit nové příspěvky | Zobrazit vaše příspěvky


Všechny časy jsou v UTC + 1 hodina [ Letní čas ]





Odeslat nové téma Odpovědět na téma  [ Příspěvků: 17 ] 
Autor Zpráva
 Předmět příspěvku: [TuT] Základy Pawn
PříspěvekNapsal: ned 29. kvě 2011 18:48:07 
Moderátor
Moderátor
Uživatelský avatar
Registrován: čtv 11. čer 2009 12:47:03
Příspěvky: 2228

Zdravím,
jsem tu s dalším tutoriálem, tentokrát se podíváme na základní syntaxi jazyku Pawn.
_____________________________________________________
0) Obsah:
1) Proměnné
2) Funkce
3) Public
4) Podmínky
_____________________________________________________
1) Proměnné:
v Pawn se vyskytují 2 druhy proměnných podle oblasti působnosti:
A) Globální (Global) (1.1)
B) Lokální (Local) (1.2)

Mohou se také rozdělit typy proměnných, podle obsahu, pro který jsou určeny:
I) Integer (=Celé číslo)
II) Float (=Desetinné číslo)
III) String (=Textový řetězec)
IV) File (=Proměnná pro soubory)
V) Boolean (=Hodnoty true[1]/false[0])
VI) Text (=Textdrawy)
VII) Text3D =(3D Text :D )



1.1 Globální
V překladu to jsou ty proměnné, které využíváte kdekoli v celém vašem scriptu. V praxi to znamená, že to jsou ty, které vytváříte pomocí new nahoře před prvním callbackem. Samozřejmě to tak nemusí být, můžete si ji vytvořit i někde jinde, ale musíte splňovat 1 pravidlo (viz dole).

Využití těchto proměnných:
* Objectid, vehicleid, ...
* Timery
* Hodnotých zakázaných věcí (Zbraně, ... )
* Různé proměnné, které musíte použít ve více callbacích
____________________

1.2 Lokální
Naopak tento typ proměnné, nazývající se lokální, můžete využít pouze v oblasti, pro kterou ji vytvoříte. Napsal jsem to asi blbě, vysvětlím to na příkladu. Máte proměnnou, kterou použijete POUZE v 1 callbacku, nemá tedy cenu ji tvořit jako globální, ale je výhodnější ji vytvořit jako lokální pro daný callback. Týkat se to může i stocků, oblastí podmínek, ...

Využití:
* Proměnné, využité pouze v 1 callbacku
* Proměnné, u kterých je nutno zajistit, aby se na nich udržela správná hodnota při křížení akcí. (= Hlavně stringy, je lepší si string vytvořit jako lokální proměnnou než jako globální, může nastat, že se poté vpíše úplně jiný obsah, než jsme požadovali.)
____________________

Proměnné můžeme také rozvětvovat do pole proměnných
Př.: promenna[pole][pole2]...

POZOR: Při použítí rozvětvování se vám násobí počet proměnných, podle velikosti pole.
POZOR: Maximální počet polí v promenný jsou 2!
Využití:
* Různé systémy (House, vehicle, ...)
* Zakázané zbraně, vozidla, ...
* Rozvětvení proměnné pro každého hráče

POZOR: Pokud chcete použít takovouto proměnnou, musíte ji také náležitě vytvořit.
new promenna[MAX_HODNOTA][MAX_HODNOTA2];
kde MAX_HODNOTA a MAX_HODNOTA2 jsou hodnoty, které určují Maxmální hodnotu pole - 1

Vytvoření proměnné
New
New nám prostě jednoduše vytvoří proměnnou. Nevím co k tomu napsat, asi jen to, že název proměnné v něm musí odpovídat názvu proměnné při používání.

Zde také definujete typ proměnné (viz nahoře) a další věc je ta, že zde i vytváříte pole (viz také nahoře), přičemž vyplňovaná hodnota je maximální hodnota pole.

new bool:Zaklad[50];
Vytvoří proměnnou "Zaklad" typu boolean s velikostí pole 50 (0 - 49).


Static
static také vytvoří proměnnou, ale my už máme new, k čemu static? Nejlepší bude, když Vám to ukážu na příkladu:
Máme public, ve kterým chceme, aby se při každém načtení zvýšila hodnota lokální proměnný o 1
Když ale použijeme toto...:
Public blabla() {
new A;
A++;
print("%d", A);
return 1;
}

...tak to bude vypisovat pokaždé hodnotu 1? Proč? Standartní hodnota při vytvoření proměnný je 0. Přičteme 1. Máme 1. Vypíšeme. Public naběhne znovu. ALE opět se vytvoří proměnná s hodnotou 0. A jedeme znovu.

Když to ale použijeme takto...:
Public blabla() {
static A;
A++;
print("%d", A);
return 1;
}

Tak se nám hodnota A "uloží", i když už public skončí a poté se načte znovu. Výpis tedy bude: 1,2,3,4,5,6,...
static tedy zajistí, že se hodnota uchová.
ffredyk: "static je globální proměnná na lokální použití."

Platí zde stejná pravidla jako u new
_____________________________________________________


2) Funkce:
Další věc, co bych mohl probrat jsou funkce.
Každá funkce má svůj Název. (2.1) :D
Dále také muže obsahovat:
* Parametry (2.2)
* Return (2.3)


2.1 Název:
Nebudu to asi rozepisovat, myslím, že by vám mohlo stačit pár příkladů.
CreateVehicle
AddPlayerClass
SetPlayerColor


2.2 Parametry:
Slouží vlastně k nastavení atribut toho, co funkce vykonává. Uvedu šablonu a poté příklad:
Funkce(P1, P2, P3);
SendClientMessage(playerid, COLOR_WHITE, "Blabla");
Myslím, že jasné ne?

Do parametrů můžete dosazovat promenné (které jsme se naučili výše) nebo rovnou hodnoty (Integer, Float, String).

POZOR: Každá funkce má vlastní specificky nastavené parametry

2.3 Return:
Zdálo by se, že je to vše k základu funkcí. Není tomu tak, poslední část je Return. Return navrací specifickou hodnotu, kterou má každá funkce předvolená. Není to však tak, že každá funkce vrací hodnotu. Return funckí je vlastně vysvětlení toho, proč před CreateVehicle cpete tu proměnnou, abyste pak to auto mohli upravovat. CreateVehicle totiž vrací svoje vehicleid a to se uloží do proměnné.

Příklady funkcí s returnem:
CreateVehicle
CreateObject
CreatePickup
GetPlayerVehicleID
GetPlayerColor

POZOR: Zdálo by se že i GetPlayerName, není tomu tak.
Využití returnu:
new vehicleid = CreateVehicle(...);
AddVehicleComponent(vehicleid, 1010);




TIP: Všechny parametry, returny najdete na wiki.sa-mp.com


Určitě jste viděli kód, kde byla třeba funkce AddHouse. Přitom taková to funkce neexistuje. Jak to ten týpek udělal? No vytvořil si vlastní funkci.

Můžeme se rozhodnout:
A) Pokud je funkce relativně malá, můžeme ji uložit do mezipaměti (stock)
B) Když je ale větší, je lepší si pro ni udělat public a načítat ji přímo z pawn souboru.
Využijeme A, protože o B si něco řekneme později.

stock MojeFunkce(par1, par2) {
/*
kód mé funkce
*/
return HODNOTA_RETURNU_MÉ_FUNKCE;
}


Můžete takto vytvořit právě ten dům s využitím proměnných s polem. Samozřejmě i cokoli jiného ale není problém takto udělat. (Pozor na ty velikosti)
_____________________________________________________

3) Public
A) Standartní (3.1)
B) Vytvořený (3.2)

Už jsem o tom mluvil výše ve funkcích, public se na serveru vyvolává přímo z PAWN souboru oproti stocku, který je uložen v mezipaměti. Je tedy vhodnější pro obsáhlejší operace.

Změna tady je, že každý public musí mít nějáký return.

Př.:
forward MujPublic(

3.1 Standartní:
Co k tomu asi říct. No je to public, který uže máte vytvořený SAMP týmem v pawnu. Každý se vyvolává při jiné akci, máte to napsané i v názvu publicu. Ukážu rovnou příklady:
OnGameModeInit, OnPlayerRequestClass, OnDialogResponse, ...

Tyto publicy můžeme také rozdělit takto:
I) Vykoná se při akci serveru (OnGameModeInit, OnFilterScriptInit, ...)
II) Vykoná se při akci hráče (OnPlayerConnect, OnPlayerSpawn, ...)



3.2 Vytvořený:
Je tu jedna změna oproti funkcím. Musíte public předvytvořit pomocí funkce forward.

POZOR: Do forward musíte dát parametry, které chcete použít v public, navíc i ve stejném pořadí.

Př.:
forward MujPublic(Parametr1, bool:Parametr2, Float:Parametr3, Parametr4[]);

public MujPublic(Parametr1, bool:Parametr2, Float:Parametr3, Parametr4[]) {

Potom si dáte funkce který chcete, samozřejmě nezapomenout return.

No a public máte vytvořený. Ale jak ho vyvoláme? Existuji 3 možnosti.

1) Timer (SetTimer, SetTimerEx)
2) CallLocalFunction (vyvolá public, který MUSÍ být ve stejném scriptu, jako tato funkce)
3) CallRemoteFunction (vyvolá public, který MŮŽE být i v jakémkoli jiném aktivním scriptu na serveru)


Tip: Doporučuji si tyto funkce projít na wiki.

_____________________________________________________
4. Podmínky
Podmínky, problém mnoha lidí, přitom je to tak jednoduché. Rovnou ukážu příklad.
if(Hodnota1 == Hodnota2) {
Celá podmínka vlastně znamená: "Pokud je Hodnota1 rovna Hodnota2".
Ale teď, jak tam dostaneme ty funkce? Zarolujte si nahoru do kapitoly 2.3.
Ano, return nám pomůže, ten nám totiž vrací hodnotu funkce, kterou my potřebujeme do porovnání v podmínce. Můžeme tedy použít:
if(IsPlayerAdmin(playerid) == 1) {
TIP: " == 1)" můžeme vynechat, když se jedná o podmínky true/false (pravda/nepravda), 1 je totiž standartní hodnota u tohoto typu.

A teď jaké máme možnosti. Ukážu zase na příkladu: Pozn.: (X Kč = X/24,59 EUR)
"Pokud koupíš 10 rohlíků, musíš zaplatit 20 Kč, nebo pokud koupíš 5 rohlíků, musíš zaplatit 10 Kč."
V překladu do pawnerštiny to bude takto:
if(Rohliku == 10) {
//zaplať 20 Kč
}
else if(Rohliku == 5) {
//zaplať 10 Kč
}

Co tam dělá to else? No to je to slovíčko nebo. Přece buď si koupím 5 rohlíků, nebo si jich koupím 10. Příjdeš k pokladně, a prodavačka se tě zeptá. "Máte 5 nebo 10 rohlíků?" a nebude se ptát. "Máte 10 rohlíků?" a potom "Máte 5 rohlíků?".
Kdyby se takto ptala na vše, tak bych ji musel zabít :D

No to ale není vše. Ještě dáme jeden příklad.
"Když nakoupíte za 500 Kč, obdržíte od nás zdarma kopanec do prdele, pokud nakoupít za míň, dostanete 2x nakopáno."
Bude to vypadat takto:
if(CenaNákupu >= 500) {
//Dostal jsi nakopáno do prdele.
}
//No ale jak to vyřešit teď? Else if by se dalo použít, ale je to zbytečné. uKážu na obrázku.
Obrázek
Červená oblast je ta, kterou nám zabírá první podmínka. Zbýva pak už jen ta druhá. Je tedy pro nás výhodnější použít Pouze else (nebo)
Celý to bude znít:
"Pokud je CenaNákupu větší/rovno 500 (tak se stane to a to...) NEBO (je menší) (tak se stane to a to...)"
Celý to tedy bude vypadat takto:
if(CenaNakupu >= 500) {
//Kopanec
}
else {
//2x Kopanec
}

Tip: Operátory, které můžete použít, najdete ZDE


Uf, teď už se mozek zavařil, psal jsem to totiž podruhý, poprvý mě zradila technika, zrovna když jsem to neměl uloženy. :D

PS: Počítám s tím, že mě někdo vytknete moje nazvosloví, něco jsem prostě nevěděl jak nazvat. :P
Snad jsem tam nic nedosral, psal jsem to rovnou a nečetl jsem to po sobě, kdyby něco pište, opravím. :)

Později sem ještě doplním:
for, switch, while, atd.

Poděkování:
ffredyk - online úprava profesionálního názvosloví (říkal jsem to, že někdo bude to názvosloví kritizovat) :D :D

_________________
Obrázek


Naposledy upravil Petr dne úte 21. čer 2011 19:14:42, celkově upraveno 4

Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Základy Pawn
PříspěvekNapsal: ned 29. kvě 2011 18:51:32 
T - Bone Mendez
T - Bone Mendez
Uživatelský avatar
Registrován: sob 29. led 2011 0:00:16
Příspěvky: 108

good 10/10
btw. tobě se dneska něja líbí psát TuT-y :D jo a není tohle tady už po 2.? :D

_________________
K zamračení je potřeba 23 svalů… na vytažení pojistky granátu jen 6.
ObrázekObrázekObrázekObrázekObrázekObrázek
Anti-Lams team
Řešíme lams help topicy stylem:
• Nebudeme ti dělat kód na přání
• Nebudeme postovat celý script do tvého helpu
• Opravíme ti tvůj kód, když u tebe uvidíme snahu
Pokud souhlasíš, zkopíruj si to do podpisu


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Základy Pawn
PříspěvekNapsal: ned 29. kvě 2011 18:55:16 
Moderátor
Moderátor
Uživatelský avatar
Registrován: čtv 11. čer 2009 12:47:03
Příspěvky: 2228

hojnas2 píše:
good 10/10
btw. tobě se dneska něja líbí psát TuT-y :D jo a není tohle tady už po 2.? :D


Toto byl 1., pak jsem napsal další 2, něják jsem se nudil no :D
Díky za hodnocení

_________________
Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Základy Pawn
PříspěvekNapsal: pon 30. kvě 2011 7:24:15 
T - Bone Mendez
T - Bone Mendez
Uživatelský avatar
Registrován: úte 03. lis 2009 22:16:28
Příspěvky: 95

Necital som to cele, ale...
Citace:
I) Integer (=Celé číslo)
II) Float (=Desetinné číslo)
III) String (=Textový řetězec)
IV) File (=Proměnná pro soubory)

je rovnake, ako napisat, ze jedla su: Chlieb, Pecivo, Zakusok a Jablko. Zabudol si na vela podstatnych datovych typov.

_________________
[TuT]Anti-Godmode
[TuT]Tuning auta - All in one
[TuT]Jednoduche rozmiestnovanie aut
[TuT]ESC Pauza
[TuT]Premenovanie (vratane DUDB)
[TuT]Tag, untag, a ine hratky s SetPlayerChatBubble
[INC]Prehadzovanie zbrani v aute (Q+E)

Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Základy Pawn
PříspěvekNapsal: pon 30. kvě 2011 7:28:07 
Moderátor
Moderátor
Uživatelský avatar
Registrován: čtv 11. čer 2009 12:47:03
Příspěvky: 2228

Mmartin píše:
Necital som to cele, ale...
Citace:
I) Integer (=Celé číslo)
II) Float (=Desetinné číslo)
III) String (=Textový řetězec)
IV) File (=Proměnná pro soubory)

je rovnake, ako napisat, ze jedla su: Chlieb, Pecivo, Zakusok a Jablko. Zabudol si na vela podstatnych datovych typov.


Zkus přečíst nadpis, základy :)

_________________
Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Základy Pawn
PříspěvekNapsal: pon 30. kvě 2011 7:29:09 
T - Bone Mendez
T - Bone Mendez
Uživatelský avatar
Registrován: úte 03. lis 2009 22:16:28
Příspěvky: 95

Meh, no tak napriklad taky datovy typ boolean je o vela dolezitejsi v zakladoch, ako datovy typ File.

_________________
[TuT]Anti-Godmode
[TuT]Tuning auta - All in one
[TuT]Jednoduche rozmiestnovanie aut
[TuT]ESC Pauza
[TuT]Premenovanie (vratane DUDB)
[TuT]Tag, untag, a ine hratky s SetPlayerChatBubble
[INC]Prehadzovanie zbrani v aute (Q+E)

Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Základy Pawn
PříspěvekNapsal: pon 30. kvě 2011 7:32:22 
Moderátor
Moderátor
Uživatelský avatar
Registrován: čtv 11. čer 2009 12:47:03
Příspěvky: 2228

Mmartin píše:
Meh, no tak napriklad taky datovy typ boolean je o vela dolezitejsi v zakladoch, ako datovy typ File.


Já ho tam nedal? A sakra, tak to jo, sry, to jsem zapomněl :)
GJ :thumbup:

_________________
Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Základy Pawn
PříspěvekNapsal: úte 07. čer 2011 19:52:05 
Nováček
Nováček
Registrován: úte 07. čer 2011 19:22:37
Příspěvky: 1

PeTr_AP] píše:
Mmartin píše:
Necital som to cele, ale...
Citace:
I) Integer (=Celé číslo)
II) Float (=Desetinné číslo)
III) String (=Textový řetězec)
IV) File (=Proměnná pro soubory)

je rovnake, ako napisat, ze jedla su: Chlieb, Pecivo, Zakusok a Jablko. Zabudol si na vela podstatnych datovych typov.


Zkus přečíst nadpis, základy :)


mohl by si me priucit osobne treba prez skype "fresse"


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Základy Pawn
PříspěvekNapsal: úte 07. čer 2011 19:59:54 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4559
Bydliště: Blava ne ?

wow pekne...

ps. chýba tam

Text3D:
Text:
A ešte niečo nespomeniem si.
BTW mohol si spomenúť ako sa vytvorí vlastný typ premennej :D npr.
new Q:premena;

:P

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty.
"Pravda je ze ja jsem zacal delat pawn od 0.3a, ale ja jsem se neucil pawn podle wiki ale sam... " by Ceeker


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Základy Pawn
PříspěvekNapsal: úte 07. čer 2011 20:05:29 
The Truth
The Truth
Uživatelský avatar
Registrován: čtv 09. pro 2010 19:12:36
Příspěvky: 464
Bydliště: C:\recykler

Tak se nám hodnota A "uloží", i když už public skončí a poté se načte znovu. Výpis tedy bude: 1,2,3,4,5,6,...
static tedy zajistí, že se hodnota uchová.
ffredyk: "static je globální proměnná na lokální použití."

co to ??? :lol:

_________________
- Mám heslo, nekopíruj, nepoužívej cizí kódy, nevydávej za své...

Nevíte si rady s pawnem?
Spoiler:
Já vám s tím nepomůžu !


Skype : Paulie2907 (pro rady a dotazy, žádný deamx, žádná RZE, žádná dekompilace)


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Základy Pawn
PříspěvekNapsal: úte 07. čer 2011 20:24:47 
Moderátor
Moderátor
Uživatelský avatar
Registrován: čtv 11. čer 2009 12:47:03
Příspěvky: 2228

paulie2907 píše:
Tak se nám hodnota A "uloží", i když už public skončí a poté se načte znovu. Výpis tedy bude: 1,2,3,4,5,6,...
static tedy zajistí, že se hodnota uchová.
ffredyk: "static je globální proměnná na lokální použití."

co to ??? :lol:


Ale ffredykovi se sem tam nelíbilo moje názvosloví, tak jsem ho ocitoval, než abych si jeho definici přivlastnil :D

_______________
QWER píše:
wow pekne...

ps. chýba tam

Text3D:
Text:
A ešte niečo nespomeniem si.
BTW mohol si spomenúť ako sa vytvorí vlastný typ premennej :D npr.
new Q:premena;

:P


Díky, chtěl jsem tam původně dát jenom ty základní, ale když už jsem tam nacpal file, tak tam dodám i tyto, co jsi psal.

_________________
Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Základy Pawn
PříspěvekNapsal: pát 21. říj 2011 13:35:14 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: úte 02. bře 2010 0:38:52
Příspěvky: 726
Bydliště: Internet

Petr píše:
Později sem ještě doplním:
for, switch, while, atd.


UZ to bude ? :D

_________________
"Dôležité je víťazstvo celého tímu a nie osobné štatistiky." - Marcel Hossa
Vy máte ve vládě gorily a my kokoty - kazlik


Obrázek


Kontakt :
Skype : playhosting.tp
ICQ : 579-854-270
E-Mail : majkx5@gmail.com


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Základy Pawn
PříspěvekNapsal: pát 21. říj 2011 13:48:13 
The Truth
The Truth
Uživatelský avatar
Registrován: ned 20. bře 2011 21:06:48
Příspěvky: 539
Bydliště: Brno

tebe musí bolet ruce.
Inak hodně dobré :)
:thumbup:

_________________
Hudba je jako kamarád, drží nás nad vodou, zvyšuje naše sebevědomí a vede nás za správným cílem


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Základy Pawn
PříspěvekNapsal: úte 28. úno 2012 18:05:50 
Nováček
Nováček
Uživatelský avatar
Registrován: pon 04. črc 2011 20:32:31
Příspěvky: 18

Dostal jsi kopanec do prdele :D :D :D :D

Hodnocení 10/10

dík fakt pomohlo


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Základy Pawn
PříspěvekNapsal: úte 28. úno 2012 18:11:46 
Barry Thorne "Big Bear"
Barry Thorne "Big Bear"
Uživatelský avatar
Registrován: pát 18. lis 2011 17:23:04
Příspěvky: 219
Bydliště: Praha 6 :)

Good TuT nováčkům se hodí ;) 1o/1o jestli se smí hodnotit :D

_________________
█▬█ █



Na samp mě najdeš pod nickem PdAn]KenJi[dSR

http://www.dsr.mzf.cz
http://www.pd-amaters.mzf.cz

i <3 drifting


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Základy Pawn
PříspěvekNapsal: úte 28. úno 2012 18:40:44 
Nováček
Nováček
Uživatelský avatar
Registrován: pon 04. črc 2011 20:32:31
Příspěvky: 18

:D Pro nováčky je problém to číst :D Asi si mysleli že to bude 1 písmeno a 1 řádek :D


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Základy Pawn
PříspěvekNapsal: úte 28. úno 2012 19:02:03 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: úte 08. úno 2011 19:36:09
Příspěvky: 601

Prekrásne tak toto ma fascinovalo :D pak v 2 casti bys mohol rozpisať tie textdrawy dialogy infoboxy ci jak je ta tabulka druha a nejake malickosti este :D 1o/1o

_________________
Big Fail=> http://pawno.cz/rcon-cracker-t20120.html


Offline
 Profil  
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 17 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


 Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na: