Jump to content
  • 0

Erori compilare


2pacs

Question

Problemă întâlnită (descriere):Am incercat sa fac  primesc erorile astea.
Ero(area / rile) / warning-(ul / urile):-
Liniile de cod / sursa / script-ul:-
Imagini / Video (optional):-
Aţi încercat să rezolvaţi singur?:nu reusesc.

 

Primesc cate o eroare din asta la fiecare:

[pawn]error 010: invalid function or declaration
___________________________________
Float:x1[MAX_VEHICLES],

Float:y1[MAX_VEHICLES],

Float:z1[MAX_VEHICLES],

Float:x2[MAX_VEHICLES],

Float:y2[MAX_VEHICLES],

Float:z2[MAX_VEHICLES],[/pawn]

 

[pawn]error 017: undefined symbol "x1"
--------------------------------------------
x1[vehicleid] = x2; AICI EROAREA

y1[vehicleid] = y2;

z1[vehicleid] = z2;[/pawn]

 

 

Link to comment
Share on other sites

17 answers to this question

Recommended Posts

Gata, am rezolvat-o. Nu era grea problema, era de atentie.

 

Gireada cand a facut tutorialul a uitat ca atunci cand te dai jos din masina, VehicleID o sa fie 0.

 

Asa ca adauga [pawn]new LastCar[MAX_PLAYERS];[/pawn] undeva la inceput.

 

Dupa la OnPlayerStateChange adauga (la inceput)

 

[pawn]new vehicleid = GetPlayerVehicleID(playerid);

if(newstate == PLAYER_STATE_DRIVER)
{
LastCar[playerid] = GetPlayerVehicleID(playerid);
}[/pawn]

 

Acum, sa modificam putin script-ul lui Gireada. Asta

 

[pawn]timerkm[GetPlayerVehicleID(playerid)] = SetTimerEx("km_counter", 1000, 1, "d", GetPlayerVehicleID(playerid));//pornim acel timer care masoara kilometrii parcursi[/pawn]

 

inlocuieste-o cu

 

[pawn]timerkm[vehicleid] = SetTimerEx("km_counter", 1000, 1, "d", vehicleid);//pornim acel timer care masoara kilometrii parcursi[/pawn]

 

Iar aceste linii

 

[pawn]format(string, sizeof(string), "Vehiculul are in total %d kilometrii parcursi",VehicleKM[vehicleid]);//afisam cati kilometrii are parcursi
SendClientMessage(playerid, -1, string);
KillTimer(timerkm[GetPlayerVehicleID(playerid)]);//omoram acel timer care masoara kilometrii deoarece nu mai e nici un sofer in ea[/pawn]

 

le inlocuiesti cu

 

[pawn]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]

  • Upvote 2
Link to comment
Share on other sites

Inainte de toate ai un new acolo.

 

[pawn]new Float:VehicleKM[MAX_VEHICLES],
Float:x1[MAX_VEHICLES],
Float:y1[MAX_VEHICLES],
Float:z1[MAX_VEHICLES],
Float:x2[MAX_VEHICLES],
Float:y2[MAX_VEHICLES],
Float:z2[MAX_VEHICLES],
timerkm[MAX_VEHICLES];[/pawn]

 

1859311972_BANNER-GIREADAcopy-min.thumb.png.48e5e420ae2185dce5b244965a1d2601.png

 

Link to comment
Share on other sites

Ok, acum nu mai primesc nici o eroare... dar acest text imi apare cand ma dau jos din masina, cum fac sa imi apara cand intru in ea??

 

[pawn]format(string, sizeof(string), "Vehiculul are in total %d kilometrii parcursi",VehicleKM[vehicleid]);[/pawn]

 

 

edit. am mers cu o masina a unei factiuni din ls pana in capat in lv si tot 0 km imi arata.

Link to comment
Share on other sites

Pai nu ai pus tu bine mesajul.

 

Ii dau eu de cap pana la urma la treaba cu mesajul, dar am mers cu masina din LS pana in capat in LV si tot pe 0 kilometri imi aparea.

 

 

edit.

Am modificat eu putin scriptul poate fii din cauza asta??

 

[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

X1[vehicleid] = X2[vehicleid];

Y1[vehicleid] = Y2[vehicleid];

Z1[vehicleid] = Z2[vehicleid];

//stocam noile valori

GetVehiclePos(vehicleid, 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];

//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;

}[/pawn]

Link to comment
Share on other sites

Inlocuieste km_counter cu asta si posteaza-mi ce iti arata.

 

[pawn]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);
}[/pawn]

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

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.