Hallo
Nachdem ich Mithilfe von Templer einige Grundlegende Bugs beheben konnte, ergibt sich nun ein vollkommen neues Problem. Wenn ich mir ein Auto kaufe und nachher /carlock oder /carparken eingebe, geht das alles 1a. Sobald ich jedoch in die restlichen (nicht mir gehörenden) Cars sitze und einen 2. Car kaufen möchte, steht: Du kannst dieses Fahrzeug ncht kaufen. Zudem kann ich die restlichen (nicht mir gehörenden) Fahrzeuge parken und verschliessen/aufschliessen.
Nun, die SCM: Du kannst dieses Fahrzeug nicht kaufen kommt daher, dass ein Fahrzeug nur kaufbar ist, wenn es fVerkauft == 0 ist. Beim Kaufen des 1.Cars wird das fVerkauft auf 1 gesetzt. Ich könnte nun theoretisch ein 2.Fahrzeug kaufen. Jetzt wird jedoch lustigerweise der Wert aus dem 1.Car genommen, das 2.Fahrzeug ist also "Verkauft" (Was es ja nicht ist). Zudem habe ich ein Problem, dass ich die Cars welche ich Ingame lösche, nicht wirklich gelöscht werden, sondern beim nächsten Restart wieder respawnen.
//Edit 17:35
Noch schlimmer, alle Player haben das Problem, einer kauft ein Car, die anderen 2 Spieler haben die SCM:Car kann nicht gekauft werden. Muss ich für playerid auch eine forschleife machen oder wie ?
if(strcmp(cmd,"/carkaufen",true) == 0)
{
if(!IsPlayerInAnyVehicle(playerid))return 1;
for(new i = 0;i<_cache_fahrzeug;i++)
{
if(Player[playerid][car_zahl] >= MAX_SPIELER_CAR){SendClientMessage(playerid,COLOR_GREY,"Du hast bereits die Maximale Anzahl an Fahrzeugen erreicht");break;}
if(FDaten[i][fVerkauft] == 1){SendClientMessage(playerid,COLOR_GREY,"Das Auto kann nicht gekauft werden");break;}
if(FDaten[i][fJob] != 0){SendClientMessage(playerid,COLOR_GREY,"Das Auto kann nicht gekauft werden");break;}
if(FDaten[i][fFraktion] != 0){SendClientMessage(playerid,COLOR_GREY,"Das Auto kann nicht gekauft werden");break;}
if(FS_GetPlayerMoney(playerid) < FDaten[i][fPreis]){SendClientMessage(playerid, COLOR_GREY,"Du hast nicht genügend Geld");break;}
strmid(FDaten[i][fBesitzer],spielername(playerid),0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
FDaten[i][fVerkauft] = 1;
FS_GivePlayerMoney(playerid, -FDaten[i][fPreis]);
Player[playerid][car_zahl]++;
SendClientMessage(playerid,COLOR_GREEN,"Fahrzeug wurde erfolgreich gekauft");
SaveCache();
break;
}
return 1;
}
if(strcmp(cmd,"/carverkaufen",true) == 0)
{
if(!IsPlayerInAnyVehicle(playerid))return 1;
for(new i = 0;i<_cache_fahrzeug;i++)
{
if(strcmp(FDaten[i][fBesitzer],spielername(playerid))){SendClientMessage(playerid,COLOR_GREY,"Dieses Fahrzeug gehört nicht dir");break;}
strmid(FDaten[i][fBesitzer],"Keiner",0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
FDaten[i][fLocked] = 0;
FDaten[i][fVerkauft] = 0;
FDaten[i][fVerwahrt] = 0;
Player[playerid][car_zahl]--;
FS_GivePlayerMoney(playerid, FDaten[i][fPreis]);
SendClientMessage(playerid,COLOR_GREEN,"Fahrzeug wurde erfolgreich verkauft");
SaveCache();
break;
}
return 1;
}
MfG dUDA