GTA.cz

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

Prikazy
Premenna pre TextDraw sa definuje s Text: napr. pre zadefinovanie TextDrawu s id txt:

new Text:txt;



TextDrawCreate(Float:X,Float:Y,text[]);- Pouziva sa na vytvorenie TextDrawu (zakladu). Priradovacim prikazom mozeme priradit id TextDrawu do nejakej premennej (napr. txt = TextDrawCreate(...); ). Za Float:X a Float:Y sa dava poloha textu na obrazovke, cize za X vzdialenost od laveho boku (max 640) a za Y vziadelonost od horneho okraja (max 445) obrazovky (moze sa tam dat aj premenna typu Float:). Za text[] sa dava text, ktory sa nam ukaze na obrazovke (napr. "Vitaj na servery!"), mozu sa do neho pisat atributy ~r~ ~g~ ~p~ ~b~ ~y~ ~w~ na zmenu farby textu alebo pre rozdelenie textu do dalsieho riadku (~n~). Moze sa tam dat aj radova (array) premenna (zadefinovana napr. new string[256]; - s maximalnym poctom znakov 256).

txt = TextDrawCreate(370, 330, ""Vitaj na servery ~n~~w~www.tmc.clanweb.cz");



TextDrawDestroy(Text:text);- Pouziva sa na znicenie urciteho textu. Medzi zatvorky sa dava id toho urciteho textu.

TextDrawDestroy(txt);



TextDrawLetterSize(Text:text, Float:x, Float:y);- Pouziva sa na zmenu velkosti pisma v urcitom texte (Text:text). Float:x je sirka pisma a Float:y je dlzka (vyska) pisma.

TextDrawLetterSize(txt, 0.4, 2.0);



TextDrawTextSize(Text:text, Float:x, Float:y);- Pouziva sa na zmenu velkosti textu. Ak pouzijeme box (TextDrawUseBox(txt, 1); ) , tak potom tento prikaz nastavuje velkost toho boxu. Ak pouzijeme zarovnanie (TextDrawAlignment(txt, zarovnanie); ) a zarovnanie 3 (zarovna vpravo) Float:x a Float:y su suradnice laveho horneho rohu boxu, ak zarovnanie je 2 (stred) hodnoty x a y su prevratene (neskusal som). Pre ostatne zarovnania su Float:x a Float:y suradnice praveho horneho rohu boxu.

TextDrawTextSize(txt, 100, 50);



TextDrawAlignment(Text:text, zarovnanie);- Pouziva sa na zarovnanie urciteho textu. Ak je zarovnanie 1 alebo 0, zarovnava text dolava, ak je zarovnanie 2, zarovnava do stredu, ak je zarovnanie 3, zarovnava doprava.

TextDrawAlignment(txt, 1);



TextDrawColor(Text:text, farba);- Pouziva sa na zmenu farby urciteho textu. Napr. moze tam byt 0xFF8000FF (oranzova), 0xFF00FFFF (ruzova) ... (Funguje aj viditelnost farieb - posledne 2 znaky vo farbe).

TextDrawColor(txt, 0xFF8000FF);



TextDrawUseBox(Text:text, pouzivat);- Pouziva sa, ak chces dat text do boxu (pozadie textu v tvare velkeho obdlznika). Ak je pouzitie 1, text bude v boxe, ak je 0, text nebude v boxe - teda box nebude pouzity.

TextDrawUseBox(txt, 1);



TextDrawBoxColor(Text:text, farba);- Pouziva sa na zmenu farby boxu urciteho textu (Iba ak je box pouzity). Napr. moze tam byt 0xFF8000FF (oranzova), 0xFF00FFFF (ruzova) ... (Funguje aj viditelnost farieb - posledne 2 znaky vo farbe).

TextDrawBoxColor(txt, 0x00000080);



TextDrawSetShadow(Text:text, velkost);- Pouziva sa na nastavenie tienu pismen v urcitom texte (vid obrazok). Da sa nastavit aj velkost toho tienu.

TextDrawSetShadow(txt, 2);



TextDrawSetOutline(Text:text, velkost);- Pouziva sa na nastavenie obrysu pismen v urcitom texte (vid obrazok). Da sa nastavit aj velkost toho obrysu.

TextDrawSetOutline(txt, 1);



TextDrawBackgroundColor(Text:text, farba);- Pouziva sa na zmenu farby obrysu alebo tienu (funguje aj viditelnost).

TextDrawBackgroundColor(txt, 0x000000FF);



TextDrawFont(Text:text, druh);- Pouziva sa na nastavenie druhu pisma. K dosahu su len 4 druhy (vid obrazok). Za druh sa pise cele cislo! . Druh s vacsim cislom ako 3 sa neukaze alebo moze sposobit poruchu hry.

TextDrawFont(txt, 1);



TextDrawSetProportional(Text:text, nastavit);- Pouziva sa na nastavenie primeraneho odstupu pismen medzi sebou. Za "nastavit" moze byt 0 alebo 1 (1 = pouziva sa). Napr. pismena W I budu mat rovnaku sirku.

TextDrawSetProportional(txt, 1);



TextDrawShowForPlayer(playerid, Text:text);- Pouziva sa na zobrazenie urciteho textu urcitemu hracovi.

TextDrawShowForPlayer(playerid, txt);



TextDrawShowForAll(Text:text);- Pouziva sa na zobrazenie urciteho textu vsetkym hracom.

TextDrawShowForAll(txt);



POZOR! Prikaz TextDrawShowForAll (v 0.2.2) ukaze text aj nepripojenim hracom. (Ak sa potom pripoji hrac, padne mu hra > nebude sa vediet pripojit na server). Tento prikaz neodporucam pouzivat, ale radsej:

for(new n=0; n<MAX_PLAYERS; n++){if(IsPlayerConnected(n))TextDrawShowForPlayer(n, txt);}



POZOR: Bez prikazov TextDrawShowForPlayer alebo TextDrawShowForAll sa vam nikdy nezobrazi TextDraw, preto su tie prikazy nevyhnutne v mode!
TextDrawFideForPlayer(playerid, Text:text);- Pouziva sa na skrytie urciteho textu urcitemu hracovi.
POZOR! Ak sa hrac odpoji zo serveru a neskryje sa mu text (ak ma nejaky zapnuty), tak potom kazdemu dalsiemu pripojenemu hracovi pada hra (hracom sa neda pripojit na server). Preto odporucam pouzit tento prikaz (alebo prikaz TextDrawHideForAll) do OnPlayerDisconnect!

TextDrawHideForPlayer(playerid, txt);



TextDrawHideForAll(Text:text);- Pouziva sa na skrytie urciteho textu vsetkym hracom.

TextDrawHideForAll(txt);



TextDrawSetString(Text:text, text[]);- Pouziva sa na zmenu textu v urcitom TextDrawe. Tiez ako v TextDrawCreate moze byt zapisany array premennou. Moze v sebe obsahovat atributy ~r~ ~b~ ~g~ ~p~ ~y~ ~w~ ~n~.

TextDrawSetString(txt, "Novy ~y~text");



Priklad
Na zaciatok modu:

#define COLOR_WHITE 0xFFFFFFFF

new Text:txt;


Do publicu OnGameModeInit() alebo main() (odporucam tieto 2, ale moze to byt hocikde v mode) :

public OnGameModeInit()
{
    txt=TextDrawCreate(370,330,""Vitaj na servery ~n~~w~www.tmc.clanweb.cz"");
    TextDrawFont(txt,1);
    TextDrawLetterSize(txt,0.4,2.0);
    TextDrawSetShadow(txt, 0);
    TextDrawColor(txt, 0xFF8000FF);
    TextDrawBackgroundColor(txt, 0x000000FF);
    TextDrawSetOutline(txt,2);
    return 1;
}




Ja som sa rozhodol, ze tento text sa bude ukazovat hracovi iba vtedy, ked bude vyberat postavu. Preto som to dal ukazat v OnPlayerConnect:

public OnPlayerConnect(playerid)
{
    TextDrawShowForPlayer(playerid, txt);
    return 1;
}




A v OnPlayerSpawn to zmizne:

public OnPlayerSpawn(playerid)
{
    TextDrawHideForPlayer(playerid, txt);
    return 1;
}




Toto by stacilo.
Ale aby som sa vyhol hore spomenutej chybe sampu 0.2.2, dam pre istotu zmiznutie textdrawu aj do OnPlayerDisconnect:


public OnPlayerDisconnect(playerid, reason)
{
   TextDrawHideForPlayer(playerid, txt);
   return 1;
}



Koniec prikladu
Ale mozete si to inak spravit .. vseko zavisi od vas. Napr. ak chcete, aby sa urcity Text zobrazil prikazom, tak staci dat TextDrawShow.. do toho prikazu. 
 
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