Guten Morgen,
ich würde gerne auf meinen Frakfahrzeug Kennzeichen folgendes draufschreiben.
FraktionsTag - FrakCarID zb ich erslle in der Fraktion 3 das erste fahrzeug steht dann da SAPD-01 und beim zweiten SAPD-02. Wie kann ich meine Fraktionsfahrzeuge pro Fraktion durchzählen?
So lade ich meine Fraktionsfahrzeuge
Code
public LadeFraktionFahrzeugDaten()
{
new rows;
cache_get_row_count(rows);
for(new i,id,string[128],Float:pos[3]; i<rows; i++)
{
cache_get_value_name_int(i, "ID", FrakFahrzeugInfo[i][frakfahrzeug_ID]);
id = FrakFahrzeugInfo[i][frakfahrzeug_ID];
cache_get_value_name_int(i, "Fraktion", FrakFahrzeugInfo[id][frakfahrzeug_Fraktion]);
cache_get_value_name_float(i,"X",FrakFahrzeugInfo[id][frakfahrzeug_Spawn][0]);
cache_get_value_name_float(i,"Y",FrakFahrzeugInfo[id][frakfahrzeug_Spawn][1]);
cache_get_value_name_float(i,"Z",FrakFahrzeugInfo[id][frakfahrzeug_Spawn][2]);
cache_get_value_name_float(i,"R",FrakFahrzeugInfo[id][frakfahrzeug_Spawn][3]);
cache_get_value_name_int(i,"Farbe1",FrakFahrzeugInfo[id][frakfahrzeug_Farbe][0]);
cache_get_value_name_int(i,"Farbe2",FrakFahrzeugInfo[id][frakfahrzeug_Farbe][1]);
cache_get_value_name_int(i,"ModelID",FrakFahrzeugInfo[id][frakfahrzeug_ModelID]);
cache_get_value_name_int(i,"FrakCarID",FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID]);
cache_get_value_name(i, "Kennzeichen", FrakFahrzeugInfo[id][frakfahrzeug_Kennzeichen],50 );
FrakFahrzeugInfo[id][frakfahrzeug_VehicleID] = CreateVehicle(FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID], FrakFahrzeugInfo[id][frakfahrzeug_Spawn][0], FrakFahrzeugInfo[id][frakfahrzeug_Spawn][1], FrakFahrzeugInfo[id][frakfahrzeug_Spawn][2], FrakFahrzeugInfo[id][frakfahrzeug_Spawn][3], FrakFahrzeugInfo[id][frakfahrzeug_Farbe][0], FrakFahrzeugInfo[id][frakfahrzeug_Farbe][1], -1, 1);
cache_get_value_name(i, "Kennung", VehicleInfo[FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID]][Kennung],50 );
cache_get_value_name(i, "KennungZahl", VehicleInfo[FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID]][KennungZahl],50);
format(string, sizeof(string),"%s-%s",VehicleInfo[FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID]][Kennung],VehicleInfo[FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID]][KennungZahl]);
cache_get_value_name_int(i,"Batterie",VehicleInfo[FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID]][Batterie]);
cache_get_value_name_float(i,"Tank",VehicleInfo[FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID]][Tankmenge]);
cache_get_value_name_int(i,"Kilometer",VehicleInfo[FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID]][Kilometerstand]);
VehicleInfo[FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID]][KennungObj] = Create3DTextLabel(string, WEISS, 0, 0, 0, 10,-1,0);
GetVehicleModelInfo(GetVehicleModel(FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID]), VEHICLE_MODEL_INFO_SIZE, pos[0], pos[1], pos[2]);
Attach3DTextLabelToVehicle(VehicleInfo[FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID]][KennungObj], FrakFahrzeugInfo[id][frakfahrzeug_VehicleID], -pos[0]/2.23, -pos[1]/2.23, 0.1);
VehicleInfo[FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID]][Motor] = false;
VehicleInfo[FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID]][Licht] = false;
format(string, sizeof(string), "{000000}%s",FrakFahrzeugInfo[id][frakfahrzeug_Kennzeichen]);
SetVehicleNumberPlate(FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID], string);
FrakFahrzeugInfo[id][frakfahrzeug_Erstellt] = true;
}
printf("[MySQL] Die FrakFahrzeuge wurden erfolgreich geladen! %d/%d",rows,MAX_FRAKCARS);
return 1;
}
stock FrakFahrzeugSpeichern(id)
{
new string[500];
id = FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID];
mysql_format(handle, string, sizeof(string), "UPDATE `fraktionfahrzeuge` SET `Kilometer` = '%d', `Batterie` = '%d', `Tank` = '%f' WHERE `ID` = '%d'",
VehicleInfo[FrakFahrzeugInfo[id][frakfahrzeug_VehicleID]][Kilometerstand],VehicleInfo[FrakFahrzeugInfo[id][frakfahrzeug_VehicleID]][Batterie],
VehicleInfo[FrakFahrzeugInfo[id][frakfahrzeug_VehicleID]][Tankmenge],id);
mysql_tquery(handle, string);
return 1;
}
stock AddFraktionCar(playerid,frakcarmodelid,frakcarfraktion,FrakCarID)
{
for(new id; id<sizeof(FrakFahrzeugInfo); id++)
{
if(!FrakFahrzeugInfo[id][frakfahrzeug_Erstellt])
{
FrakFahrzeugInfo[id][frakfahrzeug_ID] = id;
FrakFahrzeugInfo[id][frakfahrzeug_ModelID] = frakcarmodelid;
FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID] = FrakCarID;
FrakFahrzeugInfo[id][frakfahrzeug_Fraktion] = frakcarfraktion;
FrakFahrzeugInfo[id][frakfahrzeug_Farbe][0] = FraktionDaten[frakcarfraktion][fraktion_Farbe][0];
FrakFahrzeugInfo[id][frakfahrzeug_Farbe][1] = FraktionDaten[frakcarfraktion][fraktion_Farbe][1];
GetPlayerPos(playerid,FrakFahrzeugInfo[id][frakfahrzeug_Spawn][0],FrakFahrzeugInfo[id][frakfahrzeug_Spawn][1],FrakFahrzeugInfo[id][frakfahrzeug_Spawn][2]);
GetPlayerFacingAngle(playerid, FrakFahrzeugInfo[id][frakfahrzeug_Spawn][3]);
format(FrakFahrzeugInfo[id][frakfahrzeug_Kennzeichen],50,"%s-%02d",GetFraktionNumberPlate(FrakFahrzeugInfo[id][frakfahrzeug_Fraktion]),FrakFahrzeugInfo[id][frakfahrzeug_VehicleID]+1);
FrakFahrzeugInfo[id][frakfahrzeug_VehicleID] = CreateVehicle(FrakCarID, FrakFahrzeugInfo[id][frakfahrzeug_Spawn][0], FrakFahrzeugInfo[id][frakfahrzeug_Spawn][1], FrakFahrzeugInfo[id][frakfahrzeug_Spawn][2], FrakFahrzeugInfo[id][frakfahrzeug_Spawn][3], FrakFahrzeugInfo[id][frakfahrzeug_Farbe][0], FrakFahrzeugInfo[id][frakfahrzeug_Farbe][1], -1, 1);
SetVehicleNumberPlate(FrakFahrzeugInfo[id][frakfahrzeug_VehicleID], FrakFahrzeugInfo[id][frakfahrzeug_Kennzeichen]);
new query[500];
new tank = FahrzeugInfo[frakcarmodelid-400][veh_Liter];
format(query,sizeof(query),"INSERT INTO `fraktionfahrzeuge` (`ID`,`ModelID`,`FrakCarID`,`Fraktion`,`X`,`Y`,`Z`,`R`,`Farbe1`,`Farbe2`,`Tank`,`Batterie`,`Kennzeichen`) VALUES ('%d','%d','%d','%d','%f','%f','%f','%f','%d','%d','%d','100','%s')",id,FrakFahrzeugInfo[id][frakfahrzeug_ModelID],FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID],FrakFahrzeugInfo[id][frakfahrzeug_Fraktion],
FrakFahrzeugInfo[id][frakfahrzeug_Spawn][0],FrakFahrzeugInfo[id][frakfahrzeug_Spawn][1],FrakFahrzeugInfo[id][frakfahrzeug_Spawn][2],
FrakFahrzeugInfo[id][frakfahrzeug_Spawn][3],FrakFahrzeugInfo[id][frakfahrzeug_Farbe][0],FrakFahrzeugInfo[id][frakfahrzeug_Farbe][1],tank,FrakFahrzeugInfo[id][frakfahrzeug_Kennzeichen]);
mysql_tquery(handle,query);
FrakFahrzeugInfo[id][frakfahrzeug_Erstellt] = true;
VehicleInfo[FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID]][Batterie] = 100;
VehicleInfo[FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID]][Tankmenge] = tank;
PutPlayerInVehicle(playerid, FrakFahrzeugInfo[id][frakfahrzeug_FrakCarID], 0);
return 1;
}
}
return 0;
}
stock GetFraktionNumberPlate(xfrakID)
{
new string[32];
switch(xfrakID){
case 1: string = "HPD";
case 2: string = "HK";
case 3: string = "SAFW";
}
return string;
}
ocmd:addfrakcar(playerid,params[])
{
if(!IsVerwalter(playerid,4))return SendNoPerms(playerid);
new fID,fModel,FrakCarid;
if(sscanf(params,"dd",fID,fModel))return SendErrorMessage(playerid,"/addfrakcar [Fraktion] [ModelID]");
AddFraktionCar(playerid,fModel,fID,FrakCarid);
return 1;
}
Alles anzeigen
Danke im Voraus.
MfG
Allrounder18
Edit: Funktionen aktualisiert.
Ich hab einiges versucht aber komm nicht weiter.