Hallo Community,
ich habe versucht einen Befehl zu machen der mir ermöglich Ingame Fraktions-Autos zu erstellen.
So sieht der Befehl aus:
ocmd:cfc(playerid,params[])
{
#pragma unused params
new carid, color1, color2, frakid;
new Float: X, Float: Y, Float: Z, Float: Angle;
new Float: vX, Float: vY, Float: vZ, Float: vAngle;
if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid,COLOR_HELLGRAU,"Nicht Online!");
if(SpielerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid,COLOR_BESCH,"Du darfst diesen Befehl nicht benutzen!");
if(sscanf(params,"diid",carid,color1,color2,frakid)) return SendClientMessage(playerid,COLOR_HELLGRAU,"Benutze: /cfc [VehicleID] [Farbe 1] [Farbe 2] [FraktionID]");
GetPlayerPos(playerid,X,Y,Z);
GetVehiclePos(carid,vX,vY,vZ);
CreateVehicle(carid,X,Y,Z,Angle,color1,color2,-1);
fCarID[playerid] = carid;
CreateFraktionAuto(carid,frakid);
FCarInfo[cFarbe1] = color1;
FCarInfo[cFarbe2] = color2;
FCarInfo[cPosX] = vX;
FCarInfo[cPosY] = vY;
FCarInfo[cPosZ] = vZ;
FCarInfo[cPosAngle] = vAngle;
SaveFCar(carid);
return 1;
}
So mein Enum
enum FCarDaten {
cCarID,
cFarbe1,
cFarbe2,
cFraktionID,
Float: cPosX,
Float: cPosY,
Float: cPosZ,
Float: cPosAngle
}
new FCarInfo[FCarDaten];
Save & Load & Create
stock SaveFCar(carid)
{
new Float:Posi[4];
GetVehiclePos(carid,Posi[0],Posi[1],Posi[2]);
mysql_SetInt("FraktionAutos", "FraktionID", FCarInfo[cFraktionID], "CarID", FCarInfo[cCarID]);
mysql_SetInt("FraktionAutos", "CarID", FCarInfo[cCarID], "CarID", FCarInfo[cCarID]);
mysql_SetInt("FraktionAutos", "pFarbe1", FCarInfo[cFarbe1], "CarID", FCarInfo[cCarID]);
mysql_SetInt("FraktionAutos", "pFarbe2", FCarInfo[cFarbe2], "CarID", FCarInfo[cCarID]);
mysql_SetFloat("FraktionAutos", "PosX", Posi[0], "CarID", FCarInfo[cCarID]);
mysql_SetFloat("FraktionAutos", "PosY", Posi[1], "CarID", FCarInfo[cCarID]);
mysql_SetFloat("FraktionAutos", "PosZ", Posi[2], "CarID", FCarInfo[cCarID]);
mysql_SetFloat("FraktionAutos", "PosAngle", Posi[3], "CarID", FCarInfo[cCarID]);
}
stock CreateFraktionAuto(fCarID123, frakid)
{
new query[256];
format(query, sizeof(query), "INSERT INTO `FraktionAutos` (`CarID`, `FraktionID`) VALUES ('%d', '%d')", fCarID123, frakid);
mysql_query(query);
return true;
}
stock LoadFCar(carid)
{
new Float:Posi[4];
GetVehiclePos(carid,Posi[0],Posi[1],Posi[2],Posi[3]);
FCarInfo[cFraktionID] = mysql_SetInt("FraktionAutos", "FraktionID", "CarID", FCarInfo[cCarID]);
FCarInfo[cPosX] = mysql_SetInt("FraktionAutos", "CarID", "CarID", FCarInfo[cCarID]);
FCarInfo[cFarbe1] = mysql_SetInt("FraktionAutos", "Farbe1", "CarID", FCarInfo[cCarID]);
FCarInfo[cFarbe2] = mysql_SetInt("FraktionAutos", "Farbe2", "CarID", FCarInfo[cCarID]);
FCarInfo[cPosX] = mysql_GetFloat("FraktionAutos", "PosX", "CarID", FCarInfo[cCarID]);
FCarInfo[cPosY] = mysql_GetFloat("FraktionAutos", "PosY", "CarID", FCarInfo[cCarID]);
FCarInfo[cPosZ] = mysql_GetFloat("FraktionAutos", "PosZ", "CarID", FCarInfo[cCarID]);
FCarInfo[cPosAngle] = mysql_GetFloat("FraktionAutos", "PosAngle", "CarID", FCarInfo[cCarID]);
}
Es wird in die Tabelle nur die Fraktions-ID sowie die Vehicle ID eingetragen..
Farben sowie x,y,z,angle bleiben weiterhin auf 0....
In der Tabelle sind auch die x,y,z und angle auf "Float" gesetzt...
Ich hoffe mir kann da jemand weiterhelfen.