Da gibt es ein problem, undzwar ich kann die log nicht leerebn, da ich einen Server von einem Sponsoring habe, aber die log ist nicht auf meine rechte zugewiesen
//edit
habe nun bestimmt um die 10 autos erstellt... mit 2 fraktionen und mehreren restarts... keine fehler... weiss ja nicht bis wie viel ich das machen soll
//edit
so, habe glaube den Fehler.... habe mir ein fahrzeug gespawnt, bin dorthin gefahren wo alle fahrzeuge standen die ich gekauft habe... und danach bin ich aus dem gespawnten admin car ausgestiegen, danach ein auto gekauft und parken wollen... dann kam wieder der fehler...
[08:26:10] CMySQLHandler::Query(UPDATE `frakautos` SET `autoid`='0',`autogestell`='0',`fraktion`='0',`preis`='0',`farbe1`='0',`farbe2`='0',`autox`='0.00',`autoy`='0.00',`autoz`='0.00',`autoa`='0.00' WHERE `autoid`='0') - Successfully executed.
[08:26:10] >> mysql_query( Connection handle: 1 )
[08:26:10] CMySQLHandler::Query(SELECT * FROM `frakautos` WHERE `autoid` = '0') - Successfully executed.
[08:26:10] >> mysql_store_result( Connection handle: 1 )
[08:26:10] CMySQLHandler::StoreResult() - Result was stored.
[08:26:10] >> mysql_fetch_row_format( Connection handle: 1 )
[08:27:28] >> mysql_query( Connection handle: 1 )
[08:27:28] CMySQLHandler::Query(UPDATE `frakautos` SET `autoid`='0',`autogestell`='0',`fraktion`='0',`preis`='0',`farbe1`='0',`farbe2`='0',`autox`='0.00',`autoy`='0.00',`autoz`='0.00',`autoa`='0.00' WHERE `autoid`='0') - Successfully executed.
[08:27:28] >> mysql_query( Connection handle: 1 )
[08:27:28] CMySQLHandler::Query(SELECT * FROM `frakautos` WHERE `autoid` = '0') - Successfully executed.
[08:27:28] >> mysql_store_result( Connection handle: 1 )
[08:27:28] CMySQLHandler::StoreResult() - Result was stored.
[08:27:28] >> mysql_fetch_row_format( Connection handle: 1 )
Alles anzeigen
Beim einsteigen:
for(new i=0; i<MAX_FAUTOS; i++)
{
if(vehicleid == FAutos[i][Fahrzeugfraku])
{
if(FAutos[vehicleid][fraktionsnummer] == PlayerInfo[playerid][pLeader] || FAutos[vehicleid][fraktionsnummer] == PlayerInfo[playerid][pMember])
{ { autoidfrakauto[playerid] = FAutos[vehicleid][Fahrzeugfraku];}}
else{
SendClientMessage(playerid,COLOR_RED,"Das Auto darfst du nicht verwenden");
TogglePlayerControllable(playerid,false);
TogglePlayerControllable(playerid,true);
return 1;
}
}
}
später beim aussteigen vom admincar:
Function OnPlayerExitVehicle(playerid, vehicleid)
{
autoidfrakauto[playerid] = -1;
dcmd_fauto(playerid,params[])
{
frakauto[playerid] = Createfrakauto();
LoadFrakAuto(frakauto[playerid]);
ShowPlayerDialog(playerid,DIALOG_FAUTOH,DIALOG_STYLE_LIST,"Fraktionsautohaus","Streifenwagen LS -60000$\nPolizei Ranger -50000$\nMotorrad -30000$\nSultan -90000$\nBullet - 110000$\nWasserwerfer -80000$\nS.W.A.T Panzerwagen -60000\nEntforcer -70000$\nPolizei Helikopter -150000$","Kaufen","Abbrechen");
return 1;
}
stock Createfrakauto()
{
new query[256];
format(query, sizeof(query), "INSERT INTO `frakautos` (`autoid`) VALUES ('%d')", autoid);
mysql_query(query);
return mysql_insert_id();
}
Der kaufdialog:
if(dialogid == DIALOG_FAUTOH)
{
if(response)
{
if(listitem == 0)
{
new Float:frakx,Float:fraky,Float:frakz,Float:fraka;
GetPlayerPos(playerid,frakx,fraky,frakz);
GetPlayerFacingAngle(playerid, fraka);
FAutos[frakauto[playerid]][autox] = frakx; FAutos[frakauto[playerid]][autoy] = fraky; FAutos[frakauto[playerid]][autoz] = frakz; FAutos[frakauto[playerid]][autoa] = fraka; FAutos[frakauto[playerid]][fraktionsnummer] = PlayerInfo[playerid][pLeader];
FAutos[frakauto[playerid]][autogestell] = 596;
FAutos[frakauto[playerid]][farbe1] = 79;
FAutos[frakauto[playerid]][farbe2] = 1;
FAutos[frakauto[playerid]][fraktionspreis] = 60000;
SaveFrakauto(frakauto[playerid]);
LoadFrakAuto(frakauto[playerid]);
frakauto[playerid] = -1;
}
if(listitem == 1)
{
new Float:frakx,Float:fraky,Float:frakz,Float:fraka;
GetPlayerPos(playerid,frakx,fraky,frakz);
GetPlayerFacingAngle(playerid, fraka);
FAutos[frakauto[playerid]][autox] = frakx; FAutos[frakauto[playerid]][autoy] = fraky; FAutos[frakauto[playerid]][autoz] = frakz; FAutos[frakauto[playerid]][autoa] = fraka; FAutos[frakauto[playerid]][fraktionsnummer] = PlayerInfo[playerid][pLeader];
FAutos[frakauto[playerid]][autogestell] = 599;
FAutos[frakauto[playerid]][farbe1] = 79;
FAutos[frakauto[playerid]][farbe2] = 1;
FAutos[frakauto[playerid]][fraktionspreis] = 50000;
SaveFrakauto(frakauto[playerid]);
LoadFrakAuto(frakauto[playerid]);
frakauto[playerid] = -1;
}
if(listitem == 2)
{
new Float:frakx,Float:fraky,Float:frakz,Float:fraka;
GetPlayerPos(playerid,frakx,fraky,frakz);
GetPlayerFacingAngle(playerid, fraka);
FAutos[frakauto[playerid]][autox] = frakx; FAutos[frakauto[playerid]][autoy] = fraky; FAutos[frakauto[playerid]][autoz] = frakz; FAutos[frakauto[playerid]][autoa] = fraka; FAutos[frakauto[playerid]][fraktionsnummer] = PlayerInfo[playerid][pLeader];
FAutos[frakauto[playerid]][autogestell] = 523;
FAutos[frakauto[playerid]][farbe1] = 79;
FAutos[frakauto[playerid]][farbe2] = 1;
FAutos[frakauto[playerid]][fraktionspreis] = 30000;
SaveFrakauto(frakauto[playerid]);
LoadFrakAuto(frakauto[playerid]);
frakauto[playerid] = -1;
}
if(listitem == 3)
{
new Float:frakx,Float:fraky,Float:frakz,Float:fraka;
GetPlayerPos(playerid,frakx,fraky,frakz);
GetPlayerFacingAngle(playerid, fraka);
FAutos[frakauto[playerid]][autox] = frakx; FAutos[frakauto[playerid]][autoy] = fraky; FAutos[frakauto[playerid]][autoz] = frakz; FAutos[frakauto[playerid]][autoa] = fraka; FAutos[frakauto[playerid]][fraktionsnummer] = PlayerInfo[playerid][pLeader];
FAutos[frakauto[playerid]][autogestell] = 560;
FAutos[frakauto[playerid]][farbe1] = 79;
FAutos[frakauto[playerid]][farbe2] = 1;
FAutos[frakauto[playerid]][fraktionspreis] = 90000;
SaveFrakauto(frakauto[playerid]);
LoadFrakAuto(frakauto[playerid]);
frakauto[playerid] = -1;
}
if(listitem == 4)
{
new Float:frakx,Float:fraky,Float:frakz,Float:fraka;
GetPlayerPos(playerid,frakx,fraky,frakz);
GetPlayerFacingAngle(playerid, fraka);
FAutos[frakauto[playerid]][autox] = frakx; FAutos[frakauto[playerid]][autoy] = fraky; FAutos[frakauto[playerid]][autoz] = frakz; FAutos[frakauto[playerid]][autoa] = fraka; FAutos[frakauto[playerid]][fraktionsnummer] = PlayerInfo[playerid][pLeader];
FAutos[frakauto[playerid]][autogestell] = 541;
FAutos[frakauto[playerid]][farbe1] = 79;
FAutos[frakauto[playerid]][farbe2] = 1;
FAutos[frakauto[playerid]][fraktionspreis] = 110000;
SaveFrakauto(frakauto[playerid]);
LoadFrakAuto(frakauto[playerid]);
frakauto[playerid] = -1;
}
if(listitem == 5)
{
new Float:frakx,Float:fraky,Float:frakz,Float:fraka;
GetPlayerPos(playerid,frakx,fraky,frakz);
GetPlayerFacingAngle(playerid, fraka);
FAutos[frakauto[playerid]][autox] = frakx; FAutos[frakauto[playerid]][autoy] = fraky; FAutos[frakauto[playerid]][autoz] = frakz; FAutos[frakauto[playerid]][autoa] = fraka; FAutos[frakauto[playerid]][fraktionsnummer] = PlayerInfo[playerid][pLeader];
FAutos[frakauto[playerid]][autogestell] = 601;
FAutos[frakauto[playerid]][farbe1] = 79;
FAutos[frakauto[playerid]][farbe2] = 1;
FAutos[frakauto[playerid]][fraktionspreis] = 80000;
SaveFrakauto(frakauto[playerid]);
LoadFrakAuto(frakauto[playerid]);
frakauto[playerid] = -1;
}
if(listitem == 6)
{
new Float:frakx,Float:fraky,Float:frakz,Float:fraka;
GetPlayerPos(playerid,frakx,fraky,frakz);
GetPlayerFacingAngle(playerid, fraka);
FAutos[frakauto[playerid]][autox] = frakx; FAutos[frakauto[playerid]][autoy] = fraky; FAutos[frakauto[playerid]][autoz] = frakz; FAutos[frakauto[playerid]][autoa] = fraka; FAutos[frakauto[playerid]][fraktionsnummer] = PlayerInfo[playerid][pLeader];
FAutos[frakauto[playerid]][autogestell] = 528;
FAutos[frakauto[playerid]][farbe1] = 79;
FAutos[frakauto[playerid]][farbe2] = 1;
FAutos[frakauto[playerid]][fraktionspreis] = 60000;
SaveFrakauto(frakauto[playerid]);
LoadFrakAuto(frakauto[playerid]);
frakauto[playerid] = -1;
}
if(listitem == 7)
{
new Float:frakx,Float:fraky,Float:frakz,Float:fraka;
GetPlayerPos(playerid,frakx,fraky,frakz);
GetPlayerFacingAngle(playerid, fraka);
FAutos[frakauto[playerid]][autox] = frakx; FAutos[frakauto[playerid]][autoy] = fraky; FAutos[frakauto[playerid]][autoz] = frakz; FAutos[frakauto[playerid]][autoa] = fraka; FAutos[frakauto[playerid]][fraktionsnummer] = PlayerInfo[playerid][pLeader];
FAutos[frakauto[playerid]][autogestell] = 427;
FAutos[frakauto[playerid]][farbe1] = 79;
FAutos[frakauto[playerid]][farbe2] = 1;
FAutos[frakauto[playerid]][fraktionspreis] = 70000;
SaveFrakauto(frakauto[playerid]);
LoadFrakAuto(frakauto[playerid]);
frakauto[playerid] = -1;
}
if(listitem == 8)
{
new Float:frakx,Float:fraky,Float:frakz,Float:fraka;
GetPlayerPos(playerid,frakx,fraky,frakz);
GetPlayerFacingAngle(playerid, fraka);
FAutos[frakauto[playerid]][autox] = frakx; FAutos[frakauto[playerid]][autoy] = fraky; FAutos[frakauto[playerid]][autoz] = frakz; FAutos[frakauto[playerid]][autoa] = fraka; FAutos[frakauto[playerid]][fraktionsnummer] = PlayerInfo[playerid][pLeader];
FAutos[frakauto[playerid]][autogestell] = 497;
FAutos[frakauto[playerid]][farbe1] = 79;
FAutos[frakauto[playerid]][farbe2] = 1;
FAutos[frakauto[playerid]][fraktionspreis] = 150000;
SaveFrakauto(frakauto[playerid]);
LoadFrakAuto(frakauto[playerid]);
frakauto[playerid] = -1;
}
}
}
Speicher und laden:
stock LoadFrakAuto(i){
new var[256],var2[128];
format(var2, sizeof(var2),"SELECT * FROM `frakautos` WHERE `autoid` = '%d'", i);
self_mysql_queryEx(var2);
mysql_store_result();
while(mysql_fetch_row_format(var2,"|")){
mysql_get_field("autoid",var); FAutos[i][autoid] = strval(var);
mysql_get_field("autogestell",var ); FAutos[i][autogestell] = strval(var);
mysql_get_field("fraktion",var); FAutos[i][fraktionsnummer] = strval(var);
mysql_get_field("preis",var); FAutos[i][fraktionspreis] = strval(var);
mysql_get_field("farbe1",var); FAutos[i][farbe1] = strval(var);
mysql_get_field("farbe2",var); FAutos[i][farbe2] = strval(var);
mysql_get_field("autox",var); FAutos[i][autox] = floatstr(var);
mysql_get_field("autoy",var); FAutos[i][autoy] = floatstr(var);
mysql_get_field("autoz",var); FAutos[i][autoz] = floatstr(var);
mysql_get_field("autoa",var); FAutos[i][autoa] = floatstr(var);
FAutos[i][Fahrzeugfraku] = CreateVehicle(FAutos[i][autogestell],FAutos[i][autox],FAutos[i][autoy],FAutos[i][autoz],FAutos[i][autoa],FAutos[i][farbe1],FAutos[i][farbe2],-1);
}
return 1;
}
stock SaveFrakauto(i){
new query[900];
format(query,sizeof query,"UPDATE `frakautos` SET `autoid`='%d',`autogestell`='%d',`fraktion`='%d',`preis`='%d',`farbe1`='%d',`farbe2`='%d',`autox`='%.2f',`autoy`='%.2f',`autoz`='%.2f',`autoa`='%.2f' WHERE `autoid`='%d'",
i,FAutos[i][autogestell],FAutos[i][fraktionsnummer],FAutos[i][fraktionspreis],FAutos[i][farbe1],FAutos[i][farbe2],FAutos[i][autox],FAutos[i][autoy],FAutos[i][autoz],FAutos[i][autoa],i);
mysql_query(query);
return 1;
}
So erstell ich das gespawnte car:
if(strcmp(cmd, "/v", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] < 4)
{
SendClientMessage(playerid, COLOR_GRAD1, " Du bist nicht befugt!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /v [carid] [color1] [color2]");
return 1;
}
new car;
car = strval(tmp);
if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, " Auto Nummer nicht weniger als 400 oder höher als 611 sein !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /v [carid] [color1] [color2]");
return 1;
}
new color1;
color1 = strval(tmp);
if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GREY, " Nicht Weniger als 0 oder höher 126 !"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /v [carid] [color1] [color2]");
return 1;
}
new color2;
new string2[256];
new string3[5];
color2 = strval(tmp);
if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, " Nicht weniger als 0 oder höher als 126 !"); return 1; }
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60000);
CreatedCars[CreatedCar] = carid;
CreatedCar++;
Gas[carid] = GetGasMax(car);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string2, sizeof(string2), " AdminSystem: %s hat ein fahrzeug gespawnt (%d).", sendername, CarName);
format(string3, sizeof(string3), "Admin");
SetVehicleNumberPlate(playerid, string3);
ABroadCast(COLOR_LIGHTRED,string2,1337);
}
return 1;
}