[POMOC] Brzinomer


Započeo |Razor|, April 21, 2014, 13:09:25 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: Edit
Problem: Brojevi za brzinu i gorivo se ne pomeraju, vec stalno stoje na 100, ne znam kako da namestim da se brojevi pomeraju, ako neko moze da pomogne, bio bih mu veoma zahvalan.
Deo skripte:
Ovo je na pocetku skripte :

new Text:Brzinomer0[MAX_IGRACA];
new Text:Brzinomer1[MAX_IGRACA];
new Text:Brzinomer2[MAX_IGRACA];
new Text:Brzinomer3[MAX_IGRACA];
new Text:Brzinomer4[MAX_IGRACA];


Ovo se nalazi ispod OnPlayerStateChange :

if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER) TextDrawHideForPlayer(playerid, Brzinomer0[playerid]); else if(newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_ONFOOT && (pveh != 509 && pveh != 481 && pveh != 510 && pveh != 519 && pveh != 520 && pveh != 553 && pveh != 592 && pveh != 460 && pveh != 476 && pveh != 511 && pveh != 512 && pveh != 513)) TextDrawShowForPlayer(playerid, Brzinomer0[playerid]);
	if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER) TextDrawHideForPlayer(playerid, Brzinomer1[playerid]); else if(newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_ONFOOT && (pveh != 509 && pveh != 481 && pveh != 510 && pveh != 519 && pveh != 520 && pveh != 553 && pveh != 592 && pveh != 460 && pveh != 476 && pveh != 511 && pveh != 512 && pveh != 513)) TextDrawShowForPlayer(playerid, Brzinomer1[playerid]);
	if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER) TextDrawHideForPlayer(playerid, Brzinomer2[playerid]); else if(newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_ONFOOT && (pveh != 509 && pveh != 481 && pveh != 510 && pveh != 519 && pveh != 520 && pveh != 553 && pveh != 592 && pveh != 460 && pveh != 476 && pveh != 511 && pveh != 512 && pveh != 513)) TextDrawShowForPlayer(playerid, Brzinomer2[playerid]);
	if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER) TextDrawHideForPlayer(playerid, Brzinomer3[playerid]); else if(newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_ONFOOT && (pveh != 509 && pveh != 481 && pveh != 510 && pveh != 519 && pveh != 520 && pveh != 553 && pveh != 592 && pveh != 460 && pveh != 476 && pveh != 511 && pveh != 512 && pveh != 513)) TextDrawShowForPlayer(playerid, Brzinomer3[playerid]);
	if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER) TextDrawHideForPlayer(playerid, Brzinomer4[playerid]); else if(newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_ONFOOT && (pveh != 509 && pveh != 481 && pveh != 510 && pveh != 519 && pveh != 520 && pveh != 553 && pveh != 592 && pveh != 460 && pveh != 476 && pveh != 511 && pveh != 512 && pveh != 513)) TextDrawShowForPlayer(playerid, Brzinomer4[playerid]);



A ovo je sam TextDraw Brzinomera :

Brzinomer0[i] = TextDrawCreate(685.000000, 299.000000, "_");
    TextDrawBackgroundColor(Brzinomer0[i], 255);
    TextDrawFont(Brzinomer0[i], 1);
    TextDrawLetterSize(Brzinomer0[i], 0.500000, 0.599999);
    TextDrawColor(Brzinomer0[i], -1);
    TextDrawSetOutline(Brzinomer0[i], 0);
    TextDrawSetProportional(Brzinomer0[i], 1);
    TextDrawSetShadow(Brzinomer0[i], 1);
    TextDrawUseBox(Brzinomer0[i], 1);
    TextDrawBoxColor(Brzinomer0[i], -1);
    TextDrawTextSize(Brzinomer0[i], 516.000000, 29.000000);

    Brzinomer1[i] = TextDrawCreate(685.000000, 309.000000, "_");
    TextDrawBackgroundColor(Brzinomer1[i], 255);
    TextDrawFont(Brzinomer1[i], 3);
    TextDrawLetterSize(Brzinomer1[i], 0.500000, 6.000000);
    TextDrawColor(Brzinomer1[i], -1);
    TextDrawSetOutline(Brzinomer1[i], 0);
    TextDrawSetProportional(Brzinomer1[i], 1);
    TextDrawSetShadow(Brzinomer1[i], 1);
    TextDrawUseBox(Brzinomer1[i], 1);
    TextDrawBoxColor(Brzinomer1[i], 842150450);
    TextDrawTextSize(Brzinomer1[i], 516.000000, 21.000000);

    Brzinomer2[i] = TextDrawCreate(524.000000, 318.000000, "Brzina: 100 km/h");
    TextDrawBackgroundColor(Brzinomer2[i], 255);
    TextDrawFont(Brzinomer2[i], 2);
    TextDrawLetterSize(Brzinomer2[i], 0.300000, 1.399999);
    TextDrawColor(Brzinomer2[i], -1);
    TextDrawSetOutline(Brzinomer2[i], 0);
    TextDrawSetProportional(Brzinomer2[i], 1);
    TextDrawSetShadow(Brzinomer2[i], 1);

    Brzinomer3[i] = TextDrawCreate(524.000000, 337.000000, "Gorivo: 100L");
    TextDrawBackgroundColor(Brzinomer3[i], 255);
    TextDrawFont(Brzinomer3[i], 2);
    TextDrawLetterSize(Brzinomer3[i], 0.300000, 1.399999);
    TextDrawColor(Brzinomer3[i], -1);
    TextDrawSetOutline(Brzinomer3[i], 0);
    TextDrawSetProportional(Brzinomer3[i], 1);
    TextDrawSetShadow(Brzinomer3[i], 1);

    Brzinomer4[i] = TextDrawCreate(545.000000, 294.000000, "Brzinomer");
    TextDrawBackgroundColor(Brzinomer4[i], 255);
    TextDrawFont(Brzinomer4[i], 2);
    TextDrawLetterSize(Brzinomer4[i], 0.300000, 1.399999);
    TextDrawColor(Brzinomer4[i], 65535);
    TextDrawSetOutline(Brzinomer4[i], 0);
    TextDrawSetProportional(Brzinomer4[i], 1);
    TextDrawSetShadow(Brzinomer4[i], 1);


Ovo je sve sto sam uradio samo mi reci sta sve treba da dodam da bi gorivo i brzina radili ? :)
Slika: http://www.zaslike.com/files/a5btdwzjou82j77fnhdh.jpg
Poslednja Izmena: April 21, 2014, 13:45:54 POSLE PODNE od |Razor|

Napraviš timer koji će provjeravat brzinu, evo ukratko

SetTimer("SpeedoMetar", 120, 1);


forward SpeedoMetar();
public SpeedoMetar()
{
for(new playerid = (0), slotovi = GetMaxPlayers(); playerid != slotovi; ++ playerid)
{
if(IsPlayerConnected(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new string[32];
format(string,sizeof(string),"%d kmh", IgracevaBrzina(playerid));
TextDrawSetString(Brzinomer2[playerid], string);
TextDrawShowForPlayer(playerid, Text:Brzinomer2[playerid]);
//.....
}
}
}


stock IgracevaBrzina(playerid)
{
new Float:ST[4];
if(IsPlayerInAnyVehicle(playerid))
GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 178.8617875;
return floatround(ST[3]);
}



Za gorivo napraviš isto tako timer koji će vozilu skidat litre, samo razmisli malo.