Ah, ich habe den Fehler gesehen, da standen mehrere Werte bei der vehicleid mit && verknüpft drin.
Versuche es so:
if(!strcmp(pChoise,"park",true))
{
new vehtopark=-1;
for(new i = 0; i < sizeof(PlayerVehicle[]); i++)
{
if(IsPlayerNearVehicle(playerid,PlayerVehicle[playerid][i][pvID],2.0))
{
vehtopark=i;
break;
}
}
if(vehtopark == -1) return SendClientMessage(playerid,COLOR_GRAD1,"Du bist nicht bei deinem Fahrzeug!");
GetVehiclePos(PlayerVehicle[playerid][vehtopark][pvID],PlayerVehicle[playerid][vehtopark][pvX],PlayerVehicle[playerid][vehtopark][pvY],PlayerVehicle[playerid][vehtopark][pvZ]);
GetVehicleZAngle(PlayerVehicle[playerid][vehtopark][pvID],PlayerVehicle[playerid][vehtopark][pvA]);
SendClientMessage(playerid,COLOR_WHITE,"» {FFFFFF}Du hast dein Fahrzeug {006600}erfolgreich{FFFFFF} an dieser Posistion geparkt!");
SavePlayerVehicle(playerid);
SendClientMessage(playerid,COLOR_WHITE,"» {FFFFFF}Du kannst dein Fahrzeug nun wenn du dich einloggst, immer hier finden!");
return 1;
}
Autohaus - System Error (Server)
- James.Spader
- Geschlossen
- Erledigt
-
-
-
Kannst du das genauer beschreiben? Was heißt einfach weg, und wie sieht es in der Datei aus?
-
Kannst du das genauer beschreiben? Was heißt einfach weg, und wie sieht es in der Datei aus?
Guten Morgen
also,- Ich kaufe mir das erste Fahrzeug (für den ersten Slot)
- /car park auf der gewünschten Park-Position gemacht
- Ich kaufe erneut ein Fahrzeug, welches dann logischerweise den 2. Slot belegt
- dies parke ich auch mit /car park auf der gewünschten Park-Position
- ich habe den Server restartet
- ich fand nur noch das erste Fahrzeug an der ausgesuchten Park-Position, dass 2. Fahrzeug war bzw. ist dann einfach weg
in der Datei sieht es so aus:
-
Ok, kannst du dann bitte mal den Code posten, der die Fahrzeuge aus der Datei lädt?
-
Ok, kannst du dann bitte mal den Code posten, der die Fahrzeuge aus der Datei lädt?
Jo:
stock LoadPlayerVehicle(playerid) {
new readline[256];
GetPlayerName(playerid,readline,MAX_PLAYER_NAME);
format(readline,sizeof(readline),"gFahrzeuge/%s.car",readline);
if(fexist(readline)) {
new File:csfile=fopen(readline,io_read);
while(fread(csfile,readline)) {
new lpvid;
if(!strcmp(readline,"[0]",false,2)) { lpvid=0; }
else if(!strcmp(readline,"[1]",false,2)) { lpvid=1; }
PlayerVehicle[playerid][lpvid][pvModel]=strval(strpart(readline,1));
PlayerVehicle[playerid][lpvid][pvX]=floatstr(strpart(readline,2));
PlayerVehicle[playerid][lpvid][pvY]=floatstr(strpart(readline,3));
PlayerVehicle[playerid][lpvid][pvZ]=floatstr(strpart(readline,4));
PlayerVehicle[playerid][lpvid][pvA]=floatstr(strpart(readline,5));
PlayerVehicle[playerid][lpvid][pvColor1]=strval(strpart(readline,6));
PlayerVehicle[playerid][lpvid][pvColor2]=strval(strpart(readline,7));
PlayerVehicle[playerid][lpvid][pvPaintjob]=strval(strpart(readline,8));
PlayerVehicle[playerid][lpvid][pvID]=CreateVehicle(PlayerVehicle[playerid][lpvid][pvModel],PlayerVehicle[playerid][lpvid][pvX],PlayerVehicle[playerid][lpvid][pvY],PlayerVehicle[playerid][lpvid][pvZ],PlayerVehicle[playerid][lpvid][pvA],PlayerVehicle[playerid][lpvid][pvColor1],PlayerVehicle[playerid][lpvid][pvColor2],30);
ChangeVehiclePaintjob(PlayerVehicle[playerid][lpvid][pvID],PlayerVehicle[playerid][lpvid][pvPaintjob]);
for(new i=0;i<13;i++) {
PlayerVehicle[playerid][lpvid][pvModSlot][i]=strval(strpart(readline,i+9));
if(PlayerVehicle[playerid][lpvid][pvModSlot][i]!=-1) { AddVehicleComponent(PlayerVehicle[playerid][lpvid][pvID],PlayerVehicle[playerid][lpvid][pvModSlot][i]); } }
fclose(csfile); } }
return 1; } -
Die Datei wird in der while Schleife geschlossen, sprich es kann nur ein Fahrzeug gelesen werden.
Versuche es so:
stock LoadPlayerVehicle(playerid)
{
new readline[256];
GetPlayerName(playerid,readline,MAX_PLAYER_NAME);
format(readline,sizeof(readline),"gFahrzeuge/%s.car",readline);
if(fexist(readline))
{
new File:csfile=fopen(readline,io_read);
while(fread(csfile,readline))
{
new lpvid = -1;
if(!strcmp(readline,"[0]",false,3)) lpvid=0;
else if(!strcmp(readline,"[1]",false,3)) lpvid=1;
else if(!strcmp(readline,"[2]",false,3)) lpvid=2;
else if(!strcmp(readline,"[3]",false,3)) lpvid=3;
else if(!strcmp(readline,"[4]",false,3)) lpvid=4;
if(lpvid == -1) continue;
PlayerVehicle[playerid][lpvid][pvModel]=strval(strpart(readline,1));
PlayerVehicle[playerid][lpvid][pvX]=floatstr(strpart(readline,2));
PlayerVehicle[playerid][lpvid][pvY]=floatstr(strpart(readline,3));
PlayerVehicle[playerid][lpvid][pvZ]=floatstr(strpart(readline,4));
PlayerVehicle[playerid][lpvid][pvA]=floatstr(strpart(readline,5));
PlayerVehicle[playerid][lpvid][pvColor1]=strval(strpart(readline,6));
PlayerVehicle[playerid][lpvid][pvColor2]=strval(strpart(readline,7));
PlayerVehicle[playerid][lpvid][pvPaintjob]=strval(strpart(readline,8));
PlayerVehicle[playerid][lpvid][pvID]=CreateVehicle(PlayerVehicle[playerid][lpvid][pvModel],PlayerVehicle[playerid][lpvid][pvX],PlayerVehicle[playerid][lpvid][pvY],PlayerVehicle[playerid][lpvid][pvZ],PlayerVehicle[playerid][lpvid][pvA],PlayerVehicle[playerid][lpvid][pvColor1],PlayerVehicle[playerid][lpvid][pvColor2],30);
ChangeVehiclePaintjob(PlayerVehicle[playerid][lpvid][pvID],PlayerVehicle[playerid][lpvid][pvPaintjob]);
for(new i=0;i<13;i++)
{
PlayerVehicle[playerid][lpvid][pvModSlot][i]=strval(strpart(readline,i+9));
if(PlayerVehicle[playerid][lpvid][pvModSlot][i]!=-1) AddVehicleComponent(PlayerVehicle[playerid][lpvid][pvID],PlayerVehicle[playerid][lpvid][pvModSlot][i]);
}
}
fclose(csfile);
}
return 1;
} -
-
breadfish.de
Hat das Thema geschlossen.