Probier es mal so
public OnGameModeInit()
{
LoadFracVehicles();
SetTimer("SaveAllFracVehs", 60000, true);
return 1;
}
LoadFracVehicles()
{
print("LoadFracVehicles 1");
CreateFVTable();
print("LoadFracVehicles 2");
//handle = die Connection Handle ID die vor mysql_connect steht.
//Es wird ein SELECT Query an die Datenbank gesendet, diese gibt über das Callback LoadFracVehicles_Data
//die Daten im Cache zurück.
mysql_pquery(handle, "SELECT * FROM FracVehicles ORDER BY ID ASC", "LoadFracVehicles_Data");
return 1;
}
CreateFVTable()
{
new query[512];
print("Tabelle für FracVehicles erstellt 1");
format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `FracVehicles` (");
format(query, sizeof(query), "%s`ID` int(11) NOT NULL PRIMARY KEY,", query);
format(query, sizeof(query), "%s `fCarid` int(11) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `fVehid` int(11) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `fPosX` float NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `fPosY` float NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `fPosZ` float NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `fPosA` float NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `fCol1` int(11) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `fCol2` int(11) NOT NULL DEFAULT '0',", query);
format(query, sizeof(query), "%s `fFaction1` int(11) NOT NULL DEFAULT '-1'", query);
format(query, sizeof(query), "%s `fFaction2` int(11) NOT NULL DEFAULT '-1'", query);
format(query, sizeof(query), "%s `fFaction3` int(11) NOT NULL DEFAULT '-1'", query);
format(query, sizeof(query), "%s `fFaction4` int(11) NOT NULL DEFAULT '-1'", query);
format(query, sizeof(query), "%s `fFaction5` int(11) NOT NULL DEFAULT '-1'", query);
format(query, sizeof(query), "%s `fSpoiler` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fHood` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fRoof` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fSideskirt` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fLamps` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fNitro` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fExhaust` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fWheel` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fStereo` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fHydraulics` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fFrontBumper` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fVent1` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fRearBumper` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fVent2` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fPaintjob` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fPrice` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fTankart` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fGesperrt` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fMotorschaden` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s `fSperrpreis` int(11) NOT NULL DEFAULT '0'", query);
format(query, sizeof(query), "%s) ENGINE=InnoDB DEFAULT CHARSET=latin1;", query);
//handle = die Connection Handle ID die vor mysql_connect steht.
mysql_pquery(handle, query);
print("Tabelle für FracVehicles erstellt 2");
return 1;
}
dcmd_efa(playerid,params[])
{
new query[256];
if(Spielerinfo[playerid][pAdmin] >= 3)
{
if(AdminDuty[playerid] == 1)
{
new vehid,faction[5];
if(!sscanf(params,"dd",vehid,faction[0]))
{
sscanf(params,"dddddd",vehid,faction[0],faction[1],faction[2],faction[3],faction[4]);
if(vehid < 400 || vehid > 611) return SendClientMessage(playerid,FACTION_COL_GREY,"Vehicle-ID nur von 400 bis 611.");
if(faction[0] && faction[0] <= MAX_FACTIONS)
{
printf("params: %s", params);
printf("faction0: %d", faction[0]);
for(new f=1;f<5;f++)
{
if(faction[f] <= 1 || faction[f] > MAX_FACTIONS)
{
printf("Setze %d auf -255", f);
faction[f] = -255;
}
}
for(new fc;fc<sizeof(FactionCars);fc++)
{
if(FactionCars[fc][fVehid] < 400 || FactionCars[fc][fVehid] > 611)
{
FactionCars[fc][fVehid] = vehid;
new Float:fX,Float:fY,Float:fZ,Float:fA;
GetPlayerPos(playerid,fX,fY,fZ),GetPlayerFacingAngle(playerid,fA);
FactionCars[fc][fPos][0] = fX;
FactionCars[fc][fPos][1] = fY;
FactionCars[fc][fPos][2] = fZ;
FactionCars[fc][fPos][3] = fA;
new Color[2];
GetDefaultCarColorOfFaction(GetPlayerLeader(playerid),Color[0],Color[1]);
FactionCars[fc][fCol][0] = Color[0];
FactionCars[fc][fCol][1] = Color[1];
for(new f;f<5;f++)
{
printf("f%d = %d", f, faction[f]);
FactionCars[fc][fFaction][f] = faction[f];
printf("f%d set %d", f, FactionCars[fc][fFaction][f]);
}
new fTankartig = 1+ random(3);
FactionCars[fc][fTankart] = fTankartig;
for(new i = 0; i < sizeof(FactionBuylist); i++)
{
if(FactionCars[fc][fVehid] == FactionBuylist[i][fbVehid])
{
FactionCars[fc][fPrice] = FactionBuylist[i][fbPrice];
break;
}
}
format(query, sizeof(query), "INSERT INTO `FracVehicles` (`ID`, `fVehid`, `fPosX`, `fPosY`, `fPosZ`, `fPosA`, `fCol1`, `fCol2`, `fFaction1`, `fPrice`, `fTankart`) VALUES ('%d', '%d', '%f', '%f', '%f', '%f', '%d', '%d', '%d', '%d', '%d')",
fc, FactionCars[fc][fVehid], FactionCars[fc][fPos][0], FactionCars[fc][fPos][1], FactionCars[fc][fPos][2], FactionCars[fc][fPos][3], FactionCars[fc][fCol][0], FactionCars[fc][fCol][1], FactionCars[fc][fFaction][0],
FactionCars[fc][fPrice], FactionCars[fc][fTankart]);
mysql_tquery(handle, query);
FactionCars[fc][fCarid] = CreateVehicle(FactionCars[fc][fVehid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2],FactionCars[fc][fPos][3],FactionCars[fc][fCol][0],FactionCars[fc][fCol][1],-1);
printf("Carid: %d", FactionCars[fc][fCarid]);
new pstring[128];
new randomplate = 1 + random(20);
format(pstring,sizeof(pstring),"%s %d",Factions[FactionCars[fc][fFaction][0]],randomplate);
printf("pstring: %s", pstring);
SetVehicleNumberPlate(FactionCars[fc][fCarid], pstring);
SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast das Fraktionsfahrzeug erfolgreich erstellt.");
PutPlayerInVehicle(playerid,FactionCars[fc][fCarid],0);
printf("Fertig.");
return true;
}
}
SendClientMessage(playerid,FACTION_COL_GREY,"Die Maximale Anzahl von Fraktionsfahrzeugen wurde bereits erreicht.");
}
else SendClientMessage(playerid,FACTION_COL_GREY,"Falsche Fraktion!");
}
else SendClientMessage(playerid,FACTION_COL_GREY,"Benutze: '/efa [Model] [Hauptfraktion]'.");
}
else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht im Admindienst");
}
return 1;
}