- 0
Problema script.
-
Similar Content
-
Recently Browsing 0 members
- No registered users viewing this page.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.
Question
2pacs
Problemă întâlnită (descriere):Merg cu masina 10-20 Kilometrii dar imi salveaza doar 3km dupa restart sau oprirea serverului.
Ero(area / rile) / warning-(ul / urile):-
Liniile de cod / sursa / script-ul:mai jos
Imagini / Video (optional):-
Aţi încercat să rezolvaţi singur?:Nu am stiut unde ar trebui sa ma uit.
[pawn]new LastCar[MAX_PLAYERS];[/pawn]
[pawn]new Float:VehicleKM[MAX_VEHICLES];
new Float:X1[MAX_VEHICLES];
new Float:Y1[MAX_VEHICLES];
new Float:Z1[MAX_VEHICLES];
new Float:X2[MAX_VEHICLES];
new Float:Y2[MAX_VEHICLES];
new Float:Z2[MAX_VEHICLES];
new timerkm[MAX_VEHICLES];
[/pawn]
[pawn]forward km_counter(vehicleid);
public km_counter(vehicleid)
{
//inlocuim valorile noi cu cele vechi
printf("#Debug 1: %f %f %f", X1[vehicleid], Y1[vehicleid], Z1[vehicleid]);
X1[vehicleid] = X2[vehicleid];
Y1[vehicleid] = Y2[vehicleid];
Z1[vehicleid] = Z2[vehicleid];
printf("#Debug 2: %f %f %f", X2[vehicleid], Y2[vehicleid], Z2[vehicleid]);
//stocam noile valori
GetVehiclePos(vehicleid, X2[vehicleid], Y2[vehicleid], Z2[vehicleid]);
printf("#Debug 3: %f %f %f", X2[vehicleid], Y2[vehicleid], Z2[vehicleid]);
//calculam distanta dintre cele doua punce vehciul punct si cel nou
X1[vehicleid] -= X2[vehicleid];
Y1[vehicleid] -= Y2[vehicleid];
Z1[vehicleid] -= Z2[vehicleid];
printf("#Debug 4: %f %f %f", X1[vehicleid], Y1[vehicleid], Z1[vehicleid]);
//acum il transformam in kilometrii(deoarece distanta este in metrii) impartind la 1000.0
VehicleKM[vehicleid] += floatsqroot((X1[vehicleid]*X1[vehicleid])+(Y1[vehicleid]*Y1[vehicleid])+(Z1[vehicleid]*Z1[vehicleid])) / 1000.0;
printf("#Debug 5: %f | %f", VehicleKM[vehicleid], floatsqroot((X1[vehicleid]*X1[vehicleid])+(Y1[vehicleid]*Y1[vehicleid])+(Z1[vehicleid]*Z1[vehicleid])) / 1000.0);
return 1;
}[/pawn]
[pawn]if(newstate == PLAYER_STATE_DRIVER)
{
LastCar[playerid] = GetPlayerVehicleID(playerid);
}
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
{
timerkm[vehicleid] = SetTimerEx("km_counter", 1000, 1, "d", vehicleid);//pornim acel timer care masoara kilometrii parcursi
}
if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT )
{
KillTimer(timerkm[LastCar[playerid]]);
format(string, sizeof(string), "Vehiculul are in total %d kilometrii parcursi", floatround(VehicleKM[LastCar[playerid]], floatround_ceil));//afisam cati kilometrii are parcursi
SendClientMessage(playerid, -1, string);
} [/pawn]
17 answers to this question
Recommended Posts