GTA.cz

SA:MP - Pawno - [TUT] Ako na farby Roman Lipka | 21.08.2008

V sa-mp je vela prikazov, ktore zavisia od farieb.
Farby pouzite v sa-mpe sa rovnako definuju ako vsetky ine farby (HTML, PHP, ... )
Farby sa pouzivaju na nastavenie farby hraca (farby jeho nicku), pre nastavenie prikazov SendClientMessage, SendClientMessageToAll (ich farba v chate), v TextDrawoch ( na nastavenie farby textu, pozadia, boxu, ... ), ale aj na nastavenie farbieb v GangZonach .

Avsak ine farby sa pozuivaju aj na auta, ale inak vyzeraju a su specificke iba pre SA:

Farby vozidiel


farba ma tvar prirodzeneho cisla ... 

Farby v textoch
V niektorych prikazoch sa da zmenit aj uprosred textu jeho farba (napr. v GameTextForAll, GameTextForPlayer, v TextDravoch alebo aj v Menu). Na tuto zmenu farby sa pouzivaju specificke atributy vsunute do textu. Za tym znakom bude zmenena farba textu.
Napr.: ~r~ red (cervena) ~b~ blue (modra) ~g~ green (zelena) ~p~ purple (fialova) ~y~ yellow (zlta) ~w~ white (biela) ~l~ black (cierna) ~h~ svetlejsia(za tymto znakom bude povodna farba o trochu svetlejsia)
 
zakladne farby
Farby v pawne maju specificky tvar : 0xabcd
teda skalda sa z 0x a 4 cisel v 16-sustave s 2 ciframi. Prve cislo (a) vyjadruje zastupenie cervenej farby, druhe cislo (b) zelenej farby a tretie cislo (c) modrej farby. Farba vznika rozdielom medzi jednotlivymi cislami. Ak bu boli vsetky cisla (a,b,c) rovnake, neboli by farby, ale len cierna > siva az biela, to zavisi od velkosti tych cisel. Velkost tychto cisel je obmedzeni v intervale <0;255> . 255 preto, lebo maximalne dvojciferne cislo v 16-sustave je cislo FF, ktore v 10-sustave vyjadruje cislo 255.
Ak by velkost prveho cisla (a, teda cervenej) by bolo maximalne (255, teda FF) a ak velkost druheho (b) a tretieho (c) by bolo minimalne (0, teda 00) vysledna farba by bola 0xFF0000d teda cervena.

VIDITELNOST
4. cislo vyjadruje viditelnost. V niekotrych farbach nema viditelnost ziadny vyznam (pri SendClientMessage, SendClientMessageToAll) ale pri inych velky! Ako aj ine cisla, aj viditelnost je vyjadrena v 2 cifrach 16-sustavy, teda v intervale <0;255> v 10-sustave (<00;FF> v 16-sustave). Viditelnost 00 (teda 0) vyjadruje nulovu viditelnost, pricom viditelnost FF vyjadruje maximalnu viditelnost > nepriehladnost. Zmensovanym cisla priehladnost klesa (je to priamo umerne). Pre priklad farba hraca je najprv 0xFF0000FF > jeho farba je cervena a aj na radary ho vidno, no farba 0xFF000000 je tiez cervena, no hrac nie je na radare pre inych hracov! (teda neviditelna farba). Spomeniem aj cislo 80 v 16-sustave, ktore vyjadruje 128 v 10-sustave (polovicu z 255). Farba 0xFF000080 by bola cervena farba so strednou priehladnostou.

Teda vieme, ze:
0xFFFFFFFF je nepriehladna biela farba
0xFFFFFF00 je priehladna biela farba
0x00000FF je nepriehladna cierna farba
0x0000000 je priehladna cierna farba
( v GangZonach by boli farby 0xFFFFFF00 a 0x00000000 rovnake, lebo obe su maximalne priehladne a obe nevidno
0x808080FF je nepriehladna siva farba
...
Takto sa da urcit kazda farba a najlepsim najstrojom je Microsoft Paint !

Microsoft Paint
Urcite kazdy pozna tento program. Je to zakladny program windowsu pre upravu obrazok. Kto tento program nepozna, nech sa ani nepokusa toto citat:
V Painte mozete definovat vlastne farby. ( Colors > Edit colors ... > Define custom colors )


V Painte si mozete najist vlastnu farbu, pricom sa menia cisla ukazane dole. Farba sa definuje na zaklade cisel tych pravo. Teda Red Green Blue, ale cisla u v 10-sustave, preto ich treba premenit na 16-sustavu (k premene sa vratim neskor). Na obrazku je vyznacena zlta farba, pricom jej Red cislo je 255, Green 255 a Blue 0 > tieto cisla maju v 16-sustave hodnoty FF FF 00 , teda do pawna by sme tu farbu mohli vyjadrit v podobe 0xFFFF00FF.
Avsak 255 je pekne cislo, no co ak by tam bolo napr toto:
Red: 84
Green: 125
Blue: 245
Ak mate kalkulacku, nastavte si 10-sustavu (DEC), napiste cislo (teda 84) a nastavte si 16-sustavu (HEX) > cislo sa vam automaticky prehodi na 16-sustavu. Toto opakujte, avsak pozor, aby ste nevkladali cislo z 10-sustavy do kalkulacky s nastavenou 16-sustavou!
Existuje vela programov, ktore robia tieto zmeny. Nasiel som aj stranku, ktora to robi:
http://www.parkenet.com/apl/HexDecConverter.html
(Hex je 16-sustava a Dec je 10-sustava, ak chces premenit cislo z Paintu do pawna, pouzi Dec to Hex > vyskusajte si to na 255 > malo by vyst FF)

Alebo rucne
Najlepsie sa to vysvetli hned rikladom:
Mame decimalne cislo 84:
1) vydelime cislo 84 sestnastimi > 84/16
2) dostaneme vysledok 84:16=5 zv. 4
3) cislo 5 bude prva cifra a cislo 4 druha cifra konecneho cisla 16-sustavy
4) teda 84 v 10-sustave = 54 v 16-sustave
Druhym cislom je trochu vacsie, teda 125
1) 125:16=7 zv 13
2) cislo 13 ma v 16-sustave hodnotu D
0 ... 0 4 ... 4 8 ... 8 12 ... C
1 ... 1 5 ... 5 9 ... 9 13 ... D
2 ... 2 6 ... 6 10...A 14 ... E
3 ... 3 7 ... 7 11...B 15 ... F
3) vysledkom budu cifry 7 a D , teda 7D
...

V pawne mozeme farby definovat jedine cez #define ( nemaju svoju specificku premennu)
Preto moze mat prikaz bud rovno farbu, ale konstantu ( vopred zadefinovanu nejakou farbou)

Napr. :
#define cervena 0xFF0000FF
SetPlayerColor(playerid, cervena);

je to iste ako:
#define COLOR_RED 0xFF0000FF
SetPlayerColor(playerid, COLOR_RED);

a to je to iste ako:
SetPlayerColor(playerid, 0xFF0000FF);

Aby nebola tato stranka o farbach taka prazdna, tak zadefinujem zopar farieb:
#define FARBA_0 0xFF0000FF
#define FARBA_1 0xFF1100FF
#define FARBA_2 0xFF2200FF
#define FARBA_3 0xFF3300FF
#define FARBA_4 0xFF4400FF
#define FARBA_5 0xFF5500FF
#define FARBA_6 0xFF6600FF
#define FARBA_7 0xFF7700FF
#define FARBA_8 0xFF8800FF
#define FARBA_9 0xFF9900FF
#define FARBA_10 0xFFAA00FF
#define FARBA_11 0xFFBB00FF
#define FARBA_12 0xFFCC00FF
#define FARBA_13 0xFFDD00FF
#define FARBA_14 0xFFEE00FF
#define FARBA_15 0xFFFF00FF
#define FARBA_16 0xEEFF00FF
#define FARBA_17 0xDDFF00FF
#define FARBA_18 0xCCFF00FF
#define FARBA_19 0xBBFF00FF
#define FARBA_20 0xAAFF00FF
#define FARBA_21 0x99FF00FF
#define FARBA_22 0x88FF00FF
#define FARBA_23 0x77FF00FF
#define FARBA_24 0x66FF00FF
#define FARBA_25 0x55FF00FF
#define FARBA_26 0x44FF00FF
#define FARBA_27 0x33FF00FF
#define FARBA_28 0x22FF00FF
#define FARBA_29 0x11FF00FF
#define FARBA_30 0x00FF00FF
#define FARBA_31 0x00FF11FF
#define FARBA_32 0x00FF22FF
#define FARBA_33 0x00FF33FF
#define FARBA_34 0x00FF44FF
#define FARBA_35 0x00FF55FF
#define FARBA_36 0x00FF66FF
#define FARBA_34 0x00FF77FF
#define FARBA_35 0x00FF88FF
#define FARBA_36 0x00FF99FF
#define FARBA_37 0x00FFAAFF
#define FARBA_38 0x00FFBBFF
#define FARBA_39 0x00FFCCFF
#define FARBA_40 0x00FFDDFF
#define FARBA_41 0x00FFEEFF
#define FARBA_42 0x00FFFFFF
#define FARBA_43 0x00EEFFFF
#define FARBA_44 0x00DDFFFF
#define FARBA_45 0x00CCFFFF
#define FARBA_46 0x00BBFFFF
#define FARBA_47 0x00AAFFFF
#define FARBA_48 0x0099FFFF
#define FARBA_49 0x0088FFFF
#define FARBA_50 0x0077FFFF
#define FARBA_51 0x0066FFFF
#define FARBA_52 0x0055FFFF
#define FARBA_53 0x0044FFFF
#define FARBA_54 0x0033FFFF
#define FARBA_55 0x0022FFFF
#define FARBA_56 0x0011FFFF
#define FARBA_57 0x0000FFFF
#define FARBA_58 0x1100FFFF
#define FARBA_59 0x2200FFFF
#define FARBA_60 0x3300FFFF
#define FARBA_61 0x4400FFFF
#define FARBA_62 0x5500FFFF
#define FARBA_63 0x6600FFFF
#define FARBA_64 0x7700FFFF
#define FARBA_65 0x8800FFFF
#define FARBA_66 0x9900FFFF
#define FARBA_67 0xAA00FFFF
#define FARBA_68 0xBB00FFFF
#define FARBA_69 0xCC00FFFF
#define FARBA_70 0xDD00FFFF
#define FARBA_71 0xEE00FFFF
#define FARBA_72 0xFF00FFFF
#define FARBA_73 0xFF00EEFF
#define FARBA_74 0xFF00DDFF
#define FARBA_75 0xFF00CCFF
#define FARBA_76 0xFF00BBFF
#define FARBA_77 0xFF00AAFF
#define FARBA_78 0xFF0099FF
#define FARBA_79 0xFF0088FF
#define FARBA_80 0xFF0077FF
#define FARBA_81 0xFF0066FF
#define FARBA_82 0xFF0055FF
#define FARBA_83 0xFF0044FF
#define FARBA_84 0xFF0033FF
#define FARBA_85 0xFF0022FF
#define FARBA_86 0xFF0011FF

#define FARBA_87 0x000000FF
#define FARBA_88 0x111111FF
#define FARBA_89 0x222222FF
#define FARBA_90 0x333333FF
#define FARBA_91 0x444444FF
#define FARBA_92 0x555555FF
#define FARBA_93 0x666666FF
#define FARBA_94 0x777777FF
#define FARBA_95 0x888888FF
#define FARBA_96 0x999999FF
#define FARBA_97 0xAAAAAAFF
#define FARBA_98 0xBBBBBBFF
#define FARBA_99 0xCCCCCCFF
#define FARBA_100 0xDDDDDDFF
#define FARBA_101 0xEEEEEEFF
#define FARBA_102 0xFFFFFFFF

to jest vse.
 
By t_Mc|Virus

vyhledávání

reklama

editorial

Leaky nám již nějakou předběžnou podobu Grand Theft Auto 6 ukázaly. Musíme však ještě chvíli vydržet, než se dočkáme oficiálního představení v plné parádě. Jistě je, ale to, že se hra konečně blíží! V druhém pololetí 2023 bych očekával alespoň odhalení loga, či alespoň nějaké malé oficiální naťuknutí. Leaky totiž pochází z ranných fází vývoje hry a ta může být již na úplně jiné úrovni. Možná, že už není čím hráče překvapit, možná ale bude GTA 6 zas pořádný gamechanger. Těšíte se také? :)

Šéfredaktor

návštěvnost

odkazy

naše ikona

GTA.cz

partneři


Online hokej manažer - Zahraj si skutečný hokejový manažer!
3D wide HD wallpapers tapety na plochu

Vyťukej.cz

Zobrazit vše

Zahrajte si hry online hned teď!

© 2005 - 2024  Honza Svatoš & Scorpions.cz | XHTML & CSS:  Ondřej Mirtes | Design:  Paľo Delinčák | Ochrana osobních údajů | Nastavení cookies