Guest Odesláno: 21. Červen, 2011 Share Odesláno: 21. Červen, 2011 Čau ... dneska Vám ukážu jak si vyrobit do módu vlastní tachometr. Tachometr je "věc" která vám ukazuje jakou jedete rychlostí ... Normálně se rychlost zjišťtuje pomocí GetVehicleVelocity, ale kolega ze sa-mp.com nám vytvořil stock se kterým se rychle zjistí Speed .. Tady máte ten Stock: stock GetPlayerSpeed(playerid,bool:kmh) // by misko { new Float:Vx,Float:Vy,Float:Vz,Float:rtn; if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),Vx,Vy,Vz); else GetPlayerVelocity(playerid,Vx,Vy,Vz); rtn = floatsqroot(floatabs(floatpower(Vx + Vy + Vz,2))); return kmh?floatround(rtn * 100 * 1.61):floatround(rtn * 100); } Co znamená ten bool:kmh ??? Můžeme použít ve dvou způsobech Na KM/H GetPlayerSpeed(playerid,true); Na MP/H GetPlayerSpeed(playerid,false); Takže můžeme začít ... Mno, takže si vytvořte kdekoliv jakýkoliv TextDraw, použijte Text Draw Editor Až budete mít TextDraw tak smažte proměnnou new Text:textdrawx; A místo toho si dejte mimo publicy new Text:textdrawX[MAX_PLAYERS]; TextDraw který máte v OnGameModeInit si přidejte cyklus .. for(new i;i{ } Do svorek ({}) si přidejte vás vytvořený textdraw a před každou proměnnou textdrawX si přidejte .. Takže to bude vypadat nějak takhle .. textdrawX[i] = TextDrawCreate(...) TextDrawLetterSize(textdrawX[i],0.500000,1.000000); TextDrawAlignment(textdrawX[i],0); ...... Tak to bysme měli .. Teď si najdeme public OnPlayerEnterVehicle A tam vložíme: TextDrawShowForPlayer(playerid,textdrawX[playerid]); A ještě si najdeme public OnPlayerExitVehicle A tam dáme: TextDrawHideForPlayer(playerid,textdrawX[playerid]); ------------------------------------------------------------------------------------ Teďka tou hlavní částí ... uděláme si libovolný foward forward Tachometr(); Do OnGameModeInit si vložíme Timer .. nějaký menší ... SetTimer("Tachometr",213,true); A teď na konec módu nebo kamkoliv mimo publicy ... public Tachometr() { for(new i;i{ if(IsPlayerInAnyVehicle(i)) { Nyní začneme dělat ten tacháč takže .. uděláme si string(20 znaků by mělo stačit)) a uděláme si format kterej bude vypadat asi takhle: format(.........."Rychlost: %d KM/H",GetPlayerSpeed(i,true); a nastavíme tento string do TextDrawu ... to nechám na vás.. TextDrawSetString A potom už jen doděláme to ostatní ... } else return 0; return true; } Snad vše jasné, kdyby ne tak hned pište ... UPOZORNĚNÍ : TENTO TUTORIÁL NENÍ NA ZKOPÍROVÁNÍ A HLÁŠENÍ PRIMITOVNÍCH ERRORŮ PS.: Než začnete dělat tachometr, přečtěte si toto , toto a toto Děkuji za přečtení, Mort. Link to comment Share on other sites More sharing options...
Guest Dr.Ondrej Odesláno: 21. Červen, 2011 Share Odesláno: 21. Červen, 2011 9,5/10 suuuper to semi hodi do modu! ale jeste neco,tady tachometr je v gta __ m/s !! Link to comment Share on other sites More sharing options...
Guest Odesláno: 21. Červen, 2011 Share Odesláno: 21. Červen, 2011 format(.........."Rychlost: %d KM/H",GetPlayerSpeed(playerid,true); Pokiaľ viem, tak funkcia "GetPlayerSpeed" vracia desatinné číslo, nie celé Link to comment Share on other sites More sharing options...
Guest Odesláno: 21. Červen, 2011 Share Odesláno: 21. Červen, 2011 format(.........."Rychlost: %d KM/H",GetPlayerSpeed(playerid,true); Pokiaľ viem, tak funkcia "GetPlayerSpeed" vracia desatinné číslo, nie celé NN, i takhle mi to funguje .... Link to comment Share on other sites More sharing options...
Guest Odesláno: 21. Červen, 2011 Share Odesláno: 21. Červen, 2011 Jaj, nevšimol som si že misco zaokrúhluje... Link to comment Share on other sites More sharing options...
Petr 44 Odesláno: 21. Červen, 2011 Share Odesláno: 21. Červen, 2011 SetTimer ti nepřenáší hodnotu, takže v publicu, který ten timer vyvolal bude parametr playerid vždy 0. Zapínání/Vypínání TD bych dal do OnPlayerStateChange, OnPlayerEnterVehicle se vyvolá už když dáš u vozidla enter a postava teprve běží k autu a nasedá. OnPlayerExitVehicle se mě někdy nevyvolal třeba když se hráč portnul z vozidla do DM. Když použiješ podmínku na IsPlayerInAnyVehicle, proč je i v tom stocku GetPlayerSpeed? Link to comment Share on other sites More sharing options...
Guest Odesláno: 21. Červen, 2011 Share Odesláno: 21. Červen, 2011 Petr, lebo ten stock zistuje AJ rýchlosť hráča, ak nieje v aute... if(IsPlayerInAnyVehicle(playerid))GetVehicleVelocity(GetPlayerVehicleID(playerid),Vx,Vy,Vz); else GetPlayerVelocity(playerid,Vx,Vy,Vz); Kebyže tam tá podmienka není, aj tak by to prebehlo, lenže by tam bol "player speedmeter" Link to comment Share on other sites More sharing options...
Petr 44 Odesláno: 21. Červen, 2011 Share Odesláno: 21. Červen, 2011 No jasně, ale když přímo v tom návodu zjišťuje POUZE rychlost ve vozidle, nikoli když jde hráč pěšky, tak je tam ta podmínka zbytečná. Link to comment Share on other sites More sharing options...
Guest Odesláno: 21. Červen, 2011 Share Odesláno: 21. Červen, 2011 hm... skús si spraviť public Timer(){ cyklus{ format(.........."Rychlost: %d KM/H",GetPlayerSpeed(i,true); GameTextForPlayer(i,....) } } a aj keď pôjdeš pešky, bude to ukazovať tvoju rýchlosť Link to comment Share on other sites More sharing options...
Guest Odesláno: 21. Červen, 2011 Share Odesláno: 21. Červen, 2011 ":133hj0sr]No jasně, ale když přímo v tom návodu zjišťuje POUZE rychlost ve vozidle, nikoli když jde hráč pěšky, tak je tam ta podmínka zbytečná. } else return 0; return true; } Link to comment Share on other sites More sharing options...
Guest Odesláno: 21. Červen, 2011 Share Odesláno: 21. Červen, 2011 jaj... tak to je fakt blbosť Link to comment Share on other sites More sharing options...
Petr 44 Odesláno: 21. Červen, 2011 Share Odesláno: 21. Červen, 2011 hm... skús si spraviť public Timer(){ cyklus{ format(.........."Rychlost: %d KM/H",GetPlayerSpeed(i,true); GameTextForPlayer(i,....) } } a aj keď pôjdeš pešky, bude to ukazovať tvoju rýchlosť Já myslel smazat tu podmínku ve stocku Link to comment Share on other sites More sharing options...
Brunes 1 Odesláno: 14. Červenec, 2011 Share Odesláno: 14. Červenec, 2011 prečo mi to hádže chyby .pwn(1384) : error 028: invalid subscript (not an array or too many subscripts): "textdrawX" .pwn(1384) : warning 215: expression has no effect .pwn(1384) : error 001: expected token: ";", but found "]" .pwn(1384) : error 029: invalid expression, assumed zero . "rabbit" pwn(1384) : fatal error 107: too many error messages on one line mam new new Text:textdrawX; a riadok : textdrawX[i] = TextDrawCreate(12,246,"Rychlost: %d KM/H"); čo mi tam chýba?? Ďík BrUn3S Link to comment Share on other sites More sharing options...
paveldaa 0 Odesláno: 27. Listopad, 2011 Share Odesláno: 27. Listopad, 2011 prosím co mam jsem doplnit místo těch teček ?? format(.........."Rychlost: %d KM/H",GetPlayerSpeed(i,true); Link to comment Share on other sites More sharing options...
Roox 1 Odesláno: 27. Listopad, 2011 Share Odesláno: 27. Listopad, 2011 Nyní začneme dělat ten tacháč takže ..uděláme si string(20 znaků by mělo stačit)) a uděláme si format kterej bude vypadat asi takhle: Přijde tam ta vytvořená proměnná.. Link to comment Share on other sites More sharing options...
paveldaa 0 Odesláno: 27. Listopad, 2011 Share Odesláno: 27. Listopad, 2011 Nyní začneme dělat ten tacháč takže ..uděláme si string(20 znaků by mělo stačit)) a uděláme si format kterej bude vypadat asi takhle: Přijde tam ta vytvořená proměnná.. tu udělám jak ?? tohle už fakt nevím na to mam fakt krátký ruce ,pomůžeš mi s tím ?? Link to comment Share on other sites More sharing options...
paveldaa 0 Odesláno: 28. Listopad, 2011 Share Odesláno: 28. Listopad, 2011 Mam jeden problem,když sednu do auta tak se mi jenom zobrazí "" Tachometr "" to co jsem si vytvořil Text Draw Editorem ,nezobrazí se mi kolik jedu :-( co mam udělat prosím ?? Link to comment Share on other sites More sharing options...
Marwin37 5 Odesláno: 28. Listopad, 2011 Share Odesláno: 28. Listopad, 2011 Textdrawsetstring Link to comment Share on other sites More sharing options...
paveldaa 0 Odesláno: 28. Listopad, 2011 Share Odesláno: 28. Listopad, 2011 Textdrawsetstring hmm ,tak to jsem v řiti,tomuhle už nerozumím :-( Link to comment Share on other sites More sharing options...
Marwin37 5 Odesláno: 28. Listopad, 2011 Share Odesláno: 28. Listopad, 2011 http://wiki.sa-mp.com/wiki/TextDrawSetString Link to comment Share on other sites More sharing options...
paveldaa 0 Odesláno: 28. Listopad, 2011 Share Odesláno: 28. Listopad, 2011 Promiňtě že jsem tak blbej :-( ale nevím si rady s těmi to errory C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(110) : error 017: undefined symbol "string" C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(495) : error 035: argument type mismatch (argument 1) Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 2 Errors. 1. error format(string,122,"%d",rychlost); 2. error TextDrawSetString(Textdraw, string); Link to comment Share on other sites More sharing options...
Nikes 9 Odesláno: 28. Listopad, 2011 Share Odesláno: 28. Listopad, 2011 chybí ti new string[120]; a UPOZORNĚNÍ : TENTO TUTORIÁL NENÍ NA ZKOPÍROVÁNÍ A HLÁŠENÍ PRIMITOVNÍCH ERRORŮ Link to comment Share on other sites More sharing options...
paveldaa 0 Odesláno: 28. Listopad, 2011 Share Odesláno: 28. Listopad, 2011 no proto se ptám když to dám tak mě to hazí C:\Users\moje\Desktop\samp03\pawno\include\dutils.inc(28) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\include\dutils.inc(132) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\include\dutils.inc(172) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\include\dutils.inc(267) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\include\dutils.inc(324) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\include\dutils.inc(366) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\include\firma.pwn(346) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(111) : error 017: undefined symbol "rychlost" C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(496) : error 035: argument type mismatch (argument 1) C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(998) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(1024) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(1040) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(1066) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(1090) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(1096) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(1128) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(1200) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(1219) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(1239) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(1270) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(1299) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(1319) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(1338) : warning 219: local variable "string" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(1352) : warning 219: local variable "string" shadows a variable at a preceding level Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 2 Errors. a omlouvám se jako,ale ja si nevím rady :-( Link to comment Share on other sites More sharing options...
Guest Odesláno: 28. Listopad, 2011 Share Odesláno: 28. Listopad, 2011 Ty asi neumíš, ani trochu pawn, že? 1) Používej sizeof 2) new s[15]; format(s,sizeof(s),"%d",rychlost); 3) Víš co je to parametr? 4) Jestli ano tak jdi --> http://wiki.sa-mp.com/wiki/TextDrawSetString Link to comment Share on other sites More sharing options...
paveldaa 0 Odesláno: 28. Listopad, 2011 Share Odesláno: 28. Listopad, 2011 Ty asi neumíš, ani trochu pawn, že?1) Používej sizeof 2) new s[15]; format(s,sizeof(s),"%d",rychlost); 3) Víš co je to parametr? 4) Jestli ano tak jdi --> http://wiki.sa-mp.com/wiki/TextDrawSetString moc ne,omlovám se fakt je mi to líto že vás otravuju C:\Users\moje\Desktop\samp03\pawno\include\apache.inc(41) : warning 219: local variable "s" shadows a variable at a preceding level C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(113) : error 001: expected token: ";", but found "-identifier-" C:\Users\moje\Desktop\samp03\pawno\prdel.pwn(497) : error 035: argument type mismatch (argument 1) Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 2 Errors. prominte ale pomužete mi ?? 1. warování 40-45 enum SPS { Float:X_r, Float:Y_r, Float:Z_r } 2. error 109-111 format(s,sizeof(s),"%d",rychlost) CreateFirma(638.4723,1684.1838,6.9922,500000); CreateFirma(-736.6523,2747.3359,47.2266,500000); 3. error 492-495 public OnPlayerConnect(playerid) { TextDrawSetString(Textdraw, string); SetPlayerMapIcon(playerid, 1, -1519.3204,2610.3164,55.8359, 52, 0, MAPICON_LOCAL); fakt sorry,budu vděčný když mi stím pomužete 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