rEf 53 Odesláno: 17. Srpen, 2015 Share Odesláno: 17. Srpen, 2015 (upraveno) Viděl jsem tu případy kdy někteří vytváří pro každou zprávu textdraw... Ale na co? Stačí vám jeden textdraw na kolik zpráv chcete. Ukážu vám teď jak na to v klasickém pawnu bez použití YSI a podobně to si potom každý může udělat sám. 1. Vytvoříme si textdraw. ( já si udělal klasický text s použitím fontu 2 ) textdraw = TextDrawCreate(188.000000, 384.000000, "~n~"); TextDrawBackgroundColor(textdraw, 255); TextDrawFont(textdraw, 2); TextDrawLetterSize(textdraw, 0.270000, 1.000000); TextDrawColor(textdraw, -1); TextDrawSetOutline(textdraw, 1); TextDrawSetProportional(textdraw, 1); 2. Otevřeme si .pwn 3. Někam nahoru vložíme: new Text:Textdraw[MAX_PLAYERS]; 4. Do OnGameModeInit vložíme náš textdraw tímto stylem: for(new i = 0; i < MAX_PLAYERS; i++){ Textdraw[i] = TextDrawCreate(188.000000, 384.000000, "~n~"); TextDrawBackgroundColor(Textdraw[i], 255); TextDrawFont(Textdraw[i], 2); TextDrawLetterSize(Textdraw[i], 0.270000, 1.000000); TextDrawColor(Textdraw[i], -1); TextDrawSetOutline(Textdraw[i], 1); TextDrawSetProportional(Textdraw[i], 1); } 5. Vytvoříme si stock pro zprávu. stock InfoMessage(playerid, time, text[]){ // time nastavíte sekundy například 2 a samozřejmě "text" TextDrawHideForPlayer(playerid, Textdraw[playerid]); // schová v případě zprávu která už je vytvořená TextDrawSetString(Textdraw[playerid], text); // nastaví text zprávy TextDrawShowForPlayer(playerid, Textdraw[playerid]); // zobrazí zprávu SetTimerEx("InfoMessageHide", time*1000, false, "i", playerid); // skryje informační zprávu return true; } 6. Vytvoříme si public pro schování zprávy. forward InfoMessageHide(playerid); public InfoMessageHide(playerid){ return TextDrawHideForPlayer(playerid,Textdraw[playerid]); } A máme hotovo... Zprávy potom vytváříte takto: InfoMessage(playerid, 3, "zprava"); // protože se jedná o textdraw nepište do zprávy háčky, čárky a podobně... 3 je počet sekund To je vše... Edited 17. Srpen, 2015 by rEf Link to comment Share on other sites More sharing options...
Om3n 78 Odesláno: 17. Srpen, 2015 Share Odesláno: 17. Srpen, 2015 takovej dotaz... proc vytvaris pro kazdyho hrace novej TD, kdyz vsem pak stejne ukazes tu samou zpravu? a kdyz uz ma mit kazdej vlastni TD tak proc nepouzit PlayerTD? Link to comment Share on other sites More sharing options...
rEf 53 Odesláno: 17. Srpen, 2015 Author Share Odesláno: 17. Srpen, 2015 (upraveno) 1. Nejspíš proto že to je zpráva pro určitého hráče ne pro všechny (i když něco na tom bude jenom mi to teď bud nemyslí nebo nevím). 2. Nj Je to starší způsob který se používal/používá. :'( Edited 17. Srpen, 2015 by rEf Link to comment Share on other sites More sharing options...
Om3n 78 Odesláno: 17. Srpen, 2015 Share Odesláno: 17. Srpen, 2015 sorry, predtim sem si code precetl hodne zbezne a myslel sem ze to pak posilas vsem ale i tak. je to dost zastaralej, dost neoptimalizovanej a zbytecne slozitej postup. prijde mi zbytecny nesnazit se to posunout nekam dal a nezkouset to updelat lip. uz tim ze tyhle veci chces delat stale takhle mrhas svuj cas. 2 Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 17. Srpen, 2015 Share Odesláno: 17. Srpen, 2015 nebylo by lepší PlayerTextDrawShow(playerid, x, y, text) ? 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