Leslie 1 Odesláno: 9. Květen, 2011 Share Odesláno: 9. Květen, 2011 Ahoj lidi.... vím že večine z vás lezem parádne na nervy s mojimi neustalimi otázkami co jak funguje..., v tem to časi sem sa hodne zaujimal o fungovanie TextDrawu..., 3D textu... a proste komplet textu na ploche. bohuzial.. ziadny tutoriál tuná nemá úplne všetko... Pokúsim sa... aby tu... bolo toho čo najviac (prípadné chyby mi hláste). -[/hr] Správa v CHATe Určite každy pozna ako poslať správu v chate. pre tých čo nevedia sa pokúsim vysvetlit zopar funkcii ako tuto spravu poslat.: 1. Poslanie súkromnej správy SendClientMessage(playerid, Farba, "Text ktorý sa ti vypíše. hlavne ho nezabudnite dat do tých uvodzoviek"); Farba - udáva sa buď v hex decimalnom kode priamo v sprave alebo si ju zadefinujete na zaciatku vasho kodu priamo pod #include napríklad #define COLOR_GREY 0xAFAFAFAA Potom napiesto slova Farba napísete COLOR_GREY ukáška: if(!strcmp("/duells",cmdtext)) //prednastavený príkaz na port { SetPlayerPos(playerid,1714.837,-1912.18,13.5666); //prednastavena pozicia portu SendClientMessage(playerid, 0xFF00FFAA,"Warpol si sa do zóny duelov v Los Santos"); //prednastavený text správy po zadaní príkazu } 2. Poslanie globálnej správy hore pod #include si zadefinujeme textove premenné new var1t[255]; new var2t[100]; Nasledovnú čast zadáte do príkazu GetPlayerName(playerid, var1t, 100); //zistí hráčovo meno format(var2t, 256, "Hráč %s sa presunul k chate adminov. [/chata]", var1t); // prednastaví text ktorý vypíše všetkým hráčom i tomu ktorý príkaz zadá SendClientMessageToAll(0xFFFF00AA, var2t); // odošle príkaz s prednastavenou farbou v hex kóde Vysvetlenie %s - vypíše meno hráča ktorý zadal príkaz 3. a do tretice tu máme poslanie formátovaného textu...(túto funkciu este len študujem... podrobné info budem pravidelne aktualizovat prípadne napíšte kde tam je chyba) ako prvý krok tak ako predtým si zadefinujeme pod #include nasledujúcu definíciu: forward SendPlayerFormattedText(playerid, const str[], define); forward public SendAllFormattedText(playerid, const str[], define); a teraz si možte napríklad do publicu OnPlayerConnect(playerid) zadefinovať text hned po príchode hráča na server... avšak tento text sa nám objavý ešte pred tým ako sa zjavý text Connected to SA-MP 0.3c Server Ukážka: SendPlayerFormattedText(playerid, "Vytajte na serveri pre bylzsie info daj /help.", 0); Taktiež sa to však dá použiť i ako odpoveď na nejaký príkaz. Ukážka: public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp(cmd, "/help", true) == 0) { SendPlayerFormattedText(playerid,"Las Venturas Deathmatch: Money Grub Coded By Jax and the SA-MP Team.",0); SendPlayerFormattedText(playerid,"Type: /objective : to find out what to do in this gamemode.",0); } return 1; } VELKÝ TEXT NA PLOCHE Jedná sa o funkciu ktorá vám vypíše text na obrazovke trebárs po pripojení hráča do hry, pri jeho zomretí,... ak sa koná závod... alebo iné... proste... dá sa to použiť hádam úplne na všetko čím chcete nútene niečo oznámiť hráčom i takým ktorý si vypnú chat tlačidlom F7 Poznáme 2 možnosti ako takýto text poslať 1. Možnosť ukázania textu všetkým hráčom: Pozor... toto je jedna z možností: ako prvý krok si zadevinujeme od #include nasledujúcu globálnu (teda pre celý kód) premennú new name[ 24 ], string[ 64 ]; alebo sa moze zadefinovat lokálnu premennú(funkcná len v danom publicu) priamo do publicu. Príklad: public OnPlayerDeath(playerid, killerid, reason) { new name[ 24 ], string[ 64 ]; // ....atď. neni nutné použiť 2 krát new... ale treba to oddelit čiarkou GetPlayerName( playerid, name, 24 ); //zistí hráčovo meno format( string, sizeof(string), "Vypíše text", name ); // prednastavý text hráčovy GameTextForAll( string, 5000, 3 ); Vysvetlivky číslo 5000 - počet sekúd teda kolko bude nápis na ploche zobrazeny1sekunda = 1000 (zrejme sa to udáva v milisekundách ak sa nemylim číslo 3 - označuje štýl textu Možnosť ukázania textu len 1 hráčovy: no... praktycky je to to iste ako u 1 hraca... len sa pouzije príkaz GameTextForPlayer(playerid,"~w~SA-MP: ~r~Las Venturas ~g~Mony server",5000,5) Je však možné použiť mnoho iných spusobov ako vytvoriť a definovať GameText... ale na tie dalsie vás nechám trosku premýslat Štýly textu: Taktiež sa moze pouziť i farba textu alebo klidne i šipky či iné a na to nám slúžia tieto kódy: Nový riadok ~n~ Red ~r~ Green ~g~ Blue ~b~ White ~w~ Yellow ~y~ Purple ~p~ Black ~l~ Otočenie textu ľahšia ~ H~ Šedá šípka hore ~U ~ Šedá šípka dole ~D~ Šedá šípka vľavo ~<~ Šedá šípka vpravo ~>~ Mapovanie klávesnica ~K~ TEXT DRAW Takže začneme... Každý z vás určite vie... co je to vlastne ten TEXT DRAW... pre tých co nevedia... je to text na obrazovke...Vyzerá to asi nejak takto . Má samozrejme mnoho ďalších podob... ale myslim že ten obrázok to vystihuje najviac. Základné príkazy: Ako prvý krok si zadefinujeme nejaký text... (premennú....aby NIEKTORÝ nekrityzovali) new Text:Nas_text; Slovo Nas_text bude prestavovat premennú (mozete samozrejme zmenit) Následuje publicOnGameModeInit() prípadne publicOnFilterScriptInit() podla toho či robite game mod alebo Filterscripts Obrazovka je rozdelená na body 640 x 445 (súradnicový systém X Y začínajúci v lavom hornom rohu obrazovky. My si zadefinujeme text, ktorý bude začínat na súradniciach 35 a 120 Nas_text = TextDrawCreate(35.0, 120.0, "Text ktorý chceme zobrazit"); Teraz máme nachystané suradnice a text Ako dalsi krok si mozme zvolit typ písma. Číslice 0 až 3 označujú 4 typi písma TextDrawFont(Nas_text, 1) Niní možme si možme zvolit farbu textu....(farbu je v Hex. kóde. prvých 6 číslic označuje farbu....napr.: 0xFFFFFFAA TextDrawColor(Nas_text, 0xFFFFFFAA); farbu je mozne zmenit podle libosti Obrys textu... TextDrawBackgroundColor(Nas_text, 0x000000FF); Nastavenie výšky a šírky textu. TextDrawLetterSize(Nas_text, 1, 3.0); Prvé číslo definuje výšku textu Druhé číslo definuje jeho šírku Zarovnanie textu: Ak je zarovnanie 1 alebo 0, zarovnava text dolava, ak je zarovnanie 2, zarovnava do stredu, ak je zarovnanie 3, zarovnava doprava. TextDrawAlignment(MyTextdraw, 2); Nastavenie obrysu pismen textu. To číslo 1 je možne zmeniť na večšie (podLa potreby) TextDrawSetOutline(Nas_text, 1); Nastavenie Veľkosti tieňa textu. TextDrawSetShadow(Nas_text, 2); Medzeri medzi písmenami Pouziva sa na nastavenie primeraneho odstupu pismen medzi sebou. Za to slovícko "nastavit" co je v kóde nizsie moze byt 0 alebo 1 (1 = pouziva sa). Napr. pismena W I budu mat rovnaku sirku. TextDrawSetProportional(Nas_text, nastavit); Teraz sa vrhneme na zobrazovanie textu. 1. Text mozme zobrazit len urcitému hrácovy. TextDrawShowForPlayer(playerid, Nas_text); 2. Text zobrazíme všetkým hráčom...vhodné hlavne na hromadné spravy od adminov TextDrawShowForAll(Nas_text); ! POZOR ! Bez prikazov TextDrawShowForPlayer alebo TextDrawShowForAll sa vam nikdy nezobrazi TextDraw, preto su tie prikazy nevyhnutne v mode! Skrytie textu: TextDrawHideForPlayer(playerid, Nas_text); ! POZOR ! Ak sa hrac odpoji zo serveru a neskryje sa mu text (ak ma nejaky zapnuty), tak potom kazdemu dalsiemu pripojenemu hracovi pada hra (poprípadne sa hracom neda pripojit na server). Preto odporucam pouzit toto nasledovné zabezpečenie: Zmyznutie textu: (vlozit do publicOnPlayerDisconnect(playerid, reason) 1. skrytie textu určitému hráčovy: TextDrawHideForPlayer(playerid, Nas_text); 2. skrytie textu vsetkým hráčom: TextDrawHideForAll(Nas_Text); Zmenu textu v urcitom TextDrawe TextDrawSetString(Nas_text, "Text ktorý chceme zobrazit"); Je tiez mozné pouzit v príkaze TextDrawCreate moze byt zapisany array premennou. Moze v sebe obsahovat atributy: Nový riadok ~n~ Red ~r~ Green ~g~ Blue ~b~ White ~w~ Yellow ~y~ Purple ~p~ Black ~l~ Otočenie textu ľahšia ~ H~ Šedá šípka hore ~U ~ Šedá šípka dole ~D~ Šedá šípka vľavo ~<~ Šedá šípka vpravo ~>~ Mapovanie klávesnica ~K~ Príklad: TextDrawSetString(txt, "Novy ~y~text"); Znicenie urciteho textu TextDrawDestroy(Nas_text); Textdraw v Boxe Určite každy z vás uz skusal alebo aspon bude skusat dat text do boxu... je to celkom dost jednoduche... Ak si chcete vytvorit bor vez celu plochu.. proste zadate len jeden bod... a to lavy horny roh boxu... Ak vsak chcete aby ten box bol len v urcitej oblasti, bol pekny...no prste vyzeral k svetu.. tak na to treba uz body 2. Tu je tutoriál ako si mozte takyto box vytvorit: Za 1. Vytvoríme si premeenú ktorá nam bude reprezentovat Text draw new Tabulka; Za 2. Rozhodneme sa kam chceme umiestnit box... a urcime si 2 body. Lavý horný bod boxu: Tabulka = TextDrawCreate(35,120,"~l~Tento server je proste super"); Pravý dolný bod boxu: TextDrawTextSize(Tabulka,300,140); Za 3. Oznámime textdrawu ze bude používaný box TextDrawUseBox(Tabulka, true); Ak box nieje použivaný stačí dať namiesto true slovo false Za 4. Zadefinujeme si ďalšie parametre textu: TextDrawFont(Tabulka, 1); TextDrawSetShadow(Tabulka, 0); TextDrawLetterSize(txtr1, 0.25,1); TextDrawSetProportional(Tabulka, false); A nakoniec len tak pre zaujimavost dulezity parameter: Natavenie Farby boxu (jeho priehladnosti) TextDrawBoxColor(Tabulka ,0x00000000); Farbu textu určíte klasicky: 0x -ostáva 000000 - farba textu v hexadecimálnom kóde (prosim vás... na tej stranke to je i s # tak do pawna tu miesku nepiste) 00 - posledné číslice..udávaju či má byť tabulka videt alebo nie... 00 - 99 (00 - nieje vidiet; 99 - je vidiet úplne. Ten kto má Vindows Wista... alebo vizsie... tak vie o co sa jedna... mu to vytvori taku... sklenenu tabulku... proste priehladnu) Jo... na zobrazenie toho boxu... proste jak na klasicky text draw... 3D text v hre Pripravuje sa... -[/hr] Tak dakujem za váš čas... a dufam ze som týmto tutom osvetlil zaujímavost Textu na obrazovke... Ospravedlnujem sa ze to bolo take zdlhave citanie... ale snad som to dost dobre vysvetlil.. a ak tu takyto podrobny tut uz je... tak ho zmazte.. oki??Postupne budem pridávať ďalšie zaujímavosti ak mi teda tento tut schválite Prosím hodnoďte ale :spam: Link to comment Share on other sites More sharing options...
undertaker 10 Odesláno: 10. Květen, 2011 Share Odesláno: 10. Květen, 2011 pěkný, jsou tam ukázky, celkem dobře popsané pokud je to z tvé hlavy tak dobrá práce Link to comment Share on other sites More sharing options...
LYRIcS 88 Odesláno: 10. Květen, 2011 Share Odesláno: 10. Květen, 2011 da sa 7/10 mohol si tam ku TextDrawSetString aj format() Link to comment Share on other sites More sharing options...
Leslie 1 Odesláno: 10. Květen, 2011 Author Share Odesláno: 10. Květen, 2011 pěkný, jsou tam ukázky, celkem dobře popsanépokud je to z tvé hlavy tak dobrá práce NO A Z ČEJ HLAVY BY TO MALO ASI BYT??? "lol" Link to comment Share on other sites More sharing options...
Mmartin 0 Odesláno: 10. Květen, 2011 Share Odesláno: 10. Květen, 2011 Prosim ta, ked uz pises navod, pis ho aspon gramaticky spravne. Vdaka. Link to comment Share on other sites More sharing options...
Leslie 1 Odesláno: 10. Květen, 2011 Author Share Odesláno: 10. Květen, 2011 Prosim ta, ked uz pises navod, pis ho aspon gramaticky spravne. Vdaka. A ESTE CO SA TI NEPACI? "scratch" Link to comment Share on other sites More sharing options...
damo115 0 Odesláno: 10. Květen, 2011 Share Odesláno: 10. Květen, 2011 prosim vymaz to je tot tu asi 20 X dakujem za pochopenie Link to comment Share on other sites More sharing options...
Mmartin 0 Odesláno: 10. Květen, 2011 Share Odesláno: 10. Květen, 2011 Prosim ta, ked uz pises navod, pis ho aspon gramaticky spravne. Vdaka. A ESTE CO SA TI NEPACI? "scratch" To, ze pises caps lockom. Link to comment Share on other sites More sharing options...
Leslie 1 Odesláno: 10. Květen, 2011 Author Share Odesláno: 10. Květen, 2011 prosim vymaz to je tot tu asi 20 X dakujem za pochopenie ano ... ale v kazdem neco chyba... a pozeral sem kolko krat to tu je... a nasel sem to tu len 5 krát... bud zle vysvetlene... alebo neuplne Link to comment Share on other sites More sharing options...
undertaker 10 Odesláno: 10. Květen, 2011 Share Odesláno: 10. Květen, 2011 pěkný, jsou tam ukázky, celkem dobře popsanépokud je to z tvé hlavy tak dobrá práce NO A Z ČEJ HLAVY BY TO MALO ASI BYT??? "lol" tak víš jak, někteří píší stylem CTRL-C, CTRL-V Link to comment Share on other sites More sharing options...
Guest Odesláno: 10. Květen, 2011 Share Odesláno: 10. Květen, 2011 Dá se to, ale je to tu spoustakrát. A funkce "new" je funkce která vytváří proměnné. Link to comment Share on other sites More sharing options...
Leslie 1 Odesláno: 10. Květen, 2011 Author Share Odesláno: 10. Květen, 2011 pěkný, jsou tam ukázky, celkem dobře popsanépokud je to z tvé hlavy tak dobrá práce NO A Z ČEJ HLAVY BY TO MALO ASI BYT??? "lol" tak víš jak, někteří píší stylem CTRL-C, CTRL-V no tak ja pisem stylem CTRL + moja hlava, CTRL + napisem co viem Link to comment Share on other sites More sharing options...
Guest Odesláno: 10. Květen, 2011 Share Odesláno: 10. Květen, 2011 Lesie, damo115 to povedal len preto, že včera mu Boban zmazal "návod" na textdraw... btw ale notak ! viewtopic.php?f=26&t=2518&hilit=textdraw viewtopic.php?f=8&t=739&hilit=textdraw viewtopic.php?f=8&t=757&hilit=textdraw viewtopic.php?f=8&t=21&hilit=textdraw viewtopic.php?f=8&t=3398&hilit=textdraw viewtopic.php?f=8&t=3396&hilit=textdraw viewtopic.php?f=8&t=5452&hilit=textdraw viewtopic.php?f=8&t=6302&hilit=textdraw viewtopic.php?f=8&t=6762&hilit=textdraw viewtopic.php?f=8&t=8743&hilit=textdraw viewtopic.php?f=8&t=9494&hilit=textdraw viewtopic.php?f=8&t=3829&hilit=textdraw Link to comment Share on other sites More sharing options...
Mmartin 0 Odesláno: 11. Květen, 2011 Share Odesláno: 11. Květen, 2011 Dá se to, ale je to tu spoustakrát. A funkce "new" je funkce která vytváří proměnné. New je funkcia hej? ROFL Link to comment Share on other sites More sharing options...
Leslie 1 Odesláno: 11. Květen, 2011 Author Share Odesláno: 11. Květen, 2011 Lesie, damo115 to povedal len preto, že včera mu Boban zmazal "návod" na textdraw... btw ale notak ! viewtopic.php?f=26&t=2518&hilit=textdraw viewtopic.php?f=8&t=739&hilit=textdraw viewtopic.php?f=8&t=757&hilit=textdraw viewtopic.php?f=8&t=21&hilit=textdraw viewtopic.php?f=8&t=3398&hilit=textdraw viewtopic.php?f=8&t=3396&hilit=textdraw viewtopic.php?f=8&t=5452&hilit=textdraw viewtopic.php?f=8&t=6302&hilit=textdraw viewtopic.php?f=8&t=6762&hilit=textdraw viewtopic.php?f=8&t=8743&hilit=textdraw viewtopic.php?f=8&t=9494&hilit=textdraw viewtopic.php?f=8&t=3829&hilit=textdraw ..... pozry Qwer... ak sisi nevsimol... tak vsetky tuty sa ani v najmensom nevyrovnaju tomu mojmu... ako som to vysvetlil ja... najdi mi aspon jedniny tutu na tomto fore ktory sa bude rovnat obsahom tomu mojmu... popripadne bude tam toho viac.. a ja kludne necham tento tut zmazat... jediny tut ktory sa aspon trochu priblizil je tento nemozem za to ze nenavidis lamy jako sem jaaa Link to comment Share on other sites More sharing options...
Guest Odesláno: 11. Květen, 2011 Share Odesláno: 11. Květen, 2011 hm si moc namyslený btw sú cca 3 čo sa "vyrovnajú" tvojmu tu je jeden z nich viewtopic.php?f=8&t=9494&hilit=textdraw Link to comment Share on other sites More sharing options...
Leslie 1 Odesláno: 11. Květen, 2011 Author Share Odesláno: 11. Květen, 2011 dobre... tak sú tu 2... ale stale tam nieje ten dulezity popis pro zacatecniku tak aby to pochopil uplne kazdy... a mi nehovor ze si sa z teho mojho tutu nedozvedel neco nove... jo a este neco... nevim kto z nas 2 je tu namysleny viac... ale ak si myslis ze som to ja tak si bez dat sprchu a pozry sa do zrkadla... nic v zlom... ale mam pocit ze ty sa svojimi vedomostami ohladom pawna proste vytahujes a ked po tebe nekdo neco chce tak mu to vysvetlis jakeby ten komu to vysvetlujes robil v pawne uz aspon rok..a ak ma mienis bu****vat za to ze sem blby jak koleckove brusle... kludne si posluz... bo je to pravda... ale aspon nekopcim a snazim sa to naucit od ludi co to blbcov jak som ja chcu naucit Link to comment Share on other sites More sharing options...
Mmartin 0 Odesláno: 11. Květen, 2011 Share Odesláno: 11. Květen, 2011 Neobhajuj to, nikto tvoj tut nebude uctievat ako jediny prospesny a vynimocny. Link to comment Share on other sites More sharing options...
Leslie 1 Odesláno: 11. Květen, 2011 Author Share Odesláno: 11. Květen, 2011 Neobhajuj to, nikto tvoj tut nebude uctievat ako jediny prospesny a vynimocny. "lol" a zadam to tu snad ??? "lol" omg... no oki... este si pokrytizujte "lol" Link to comment Share on other sites More sharing options...
Mmartin 0 Odesláno: 11. Květen, 2011 Share Odesláno: 11. Květen, 2011 Neobhajuj to, nikto tvoj tut nebude uctievat ako jediny prospesny a vynimocny. "lol" a zadam to tu snad ??? "lol" omg... no oki... este si pokrytizujte "lol" PokrItizujte.. Link to comment Share on other sites More sharing options...
riwal_one 0 Odesláno: 13. Květen, 2011 Share Odesláno: 13. Květen, 2011 Dobre urcite se hodi. ale kam ma prosimte dat ty prikazy treba kdyz chci mit dole Text draw (napis) RZE PSYCHO JE COOL | SERVER? napriklad Link to comment Share on other sites More sharing options...
Guest Dr.Ondrej Odesláno: 13. Květen, 2011 Share Odesláno: 13. Květen, 2011 Jee moc dobrý!Já zkouším teď TDE ale tohle tytam zůstane pořád jestli se nemýlím? Link to comment Share on other sites More sharing options...
pupik1812 0 Odesláno: 13. Květen, 2011 Share Odesláno: 13. Květen, 2011 Ja vás nechápem prečo hladáte len chyby niektorý sa stím trapia niektorý nie no tak v pawne to error nevypíše chlapec sa snaží..A je to dobré pomohlo mi to 10/10 Link to comment Share on other sites More sharing options...
Guest Dr.Ondrej Odesláno: 13. Květen, 2011 Share Odesláno: 13. Květen, 2011 Jee moc dobrý!Já zkouším teď TDE ale tohle tytam zůstane pořád jestli se nemýlím? Ja vás nechápem prečo hladáte len chyby niektorý sa stím trapia niektorý nie no tak v pawne to error nevypíše chlapec sa snaží..A je to dobré pomohlo mi to 10/10 Muzu se zeptat jak semho kritizoval? Ale mimochodem misto TextDraw mito da zamestnani Lekare a misto zmenit barvu textu mito da zamestnani policajta Link to comment Share on other sites More sharing options...
milous22 14 Odesláno: 13. Květen, 2011 Share Odesláno: 13. Květen, 2011 pekný TuT, len pár chýb: Nastavenie výšky a šírky textu. TextDrawLetterSize(Nas_text, 1, 3.0); Prvé číslo definuje výšku textu Druhé číslo definuje jeho šírku asi si myslel TextDrawTextSize ____ Otočenie textu ľahšia ~ H~ Mapovanie klávesnica ~K~ keby si to vyskúšal, tak to nemusíš prekladať na Google ~h~ zosvetlí farbu písma ~k~ zobrazí názov klávesy ____ 00 - posledné číslice..udávaju či má byť tabulka videt alebo nie... 00 - 99 (00 - nieje vidiet; 99 - je vidiet úplne. je to HEX číslo, takže 00 - FF (HEX používa 16 znakov) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now