Autohaus - System Error (Server)

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • 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;
    }

  • Kannst du das genauer beschreiben? Was heißt einfach weg, und wie sieht es in der Datei aus?

    Guten Morgen :D
    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:

    Code
    [0] 534 1422.750732 -1800.696044 13.268893 201.932632 -1 -1 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
    [1] 566 1445.126831 -1780.506835 13.327084 272.651000 -1 -1 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
  • 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;
    }