Beiträge von Jeffry

    Ich nehme mal an, dass
    for(new veh = 0; veh < MAX_VEHICLES; veh++)
    {
    Gas[veh] = vehTank[GetVehicleModel(veh)-400];
    VehicleObject[veh] = -1;
    }
    bei dir bei OnGameModeInit steht.


    Ändere das zu:
    new model;
    for(new veh = 0; veh < MAX_VEHICLES; veh++)
    {
    model = GetVehicleModel(veh);
    if(model >= 400 && model <= 611) Gas[veh] = vehTank[model-400];
    else Gas[veh] = 0; //Fahrzeug existiert (noch) nicht.
    VehicleObject[veh] = -1;
    }


    Das würde den Fehler erklären.



    Allinone: Das passt so wie es ist.

    Fehler 1:
    Carlist[playerid][h][CarID] = carid;
    zu:
    Carlist[playerid][CarKey1][CarID] = carid;



    C:\Users\Daniel\Desktop\irp.pwn(17172 -- 17184) : error 001: expected token: ",", but found "-identifier-":
    printf("(%d,%d,%i,%i,%f,%f,%f,%f,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%f,%f,%f,%f,%i,%i,%i,%i,%i,%i,%i)",
    PlayerInfo[playerid][pSQLID],h,Carlist[playerid][h][ingarage],Carlist[playerid][h][Typ],Carlist[playerid][h][pos_x],Carlist[playerid][h][pos_y],Carlist[playerid][h][pos_z],
    Carlist[playerid][h][z_angle],Carlist[playerid][h][Status],Carlist[playerid][h][Lock],Carlist[playerid][h][Paintjob],
    Carlist[playerid][h][Farbe1],Carlist[playerid][h][Farbe2],Carlist[playerid][h][mod1],Carlist[playerid][h][mod2],
    Carlist[playerid][h][mod3],Carlist[playerid][h][mod4],Carlist[playerid][h][mod5],Carlist[playerid][h][mod6],
    Carlist[playerid][h][mod7],Carlist[playerid][h][mod8],Carlist[playerid][h][mod9],Carlist[playerid][h][mod10],
    Carlist[playerid][h][mod11],Carlist[playerid][h][mod12],Carlist[playerid][h][mod13],Carlist[playerid][h][mod14],
    Carlist[playerid][h][mod15],Carlist[playerid][h][mod16],Carlist[playerid][h][mod17],
    Carlist[playerid][h][SpawnSaveX],Carlist[playerid][h][SpawnSaveY],Carlist[playerid][h][SpawnSaveZ],
    Carlist[playerid][h][SpawnSaveRot],Carlist[playerid][h][TankVolumen],Carlist[playerid][h][cMats],
    Carlist[playerid][h][Neon],Carlist[playerid][h][NeonType],Carlist[playerid][h][cDrugs],Carlist[playerid][h][StandTime],
    Kilometer[Carlist[playerid][h][CarID]]
    }
    zu:
    printf("(%d,%d,%i,%i,%f,%f,%f,%f,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%f,%f,%f,%f,%i,%i,%i,%i,%i,%i,%f)",
    PlayerInfo[playerid][pSQLID],h,Carlist[playerid][h][ingarage],Carlist[playerid][h][Typ],Carlist[playerid][h][pos_x],Carlist[playerid][h][pos_y],Carlist[playerid][h][pos_z],
    Carlist[playerid][h][z_angle],Carlist[playerid][h][Status],Carlist[playerid][h][Lock],Carlist[playerid][h][Paintjob],
    Carlist[playerid][h][Farbe1],Carlist[playerid][h][Farbe2],Carlist[playerid][h][mod1],Carlist[playerid][h][mod2],
    Carlist[playerid][h][mod3],Carlist[playerid][h][mod4],Carlist[playerid][h][mod5],Carlist[playerid][h][mod6],
    Carlist[playerid][h][mod7],Carlist[playerid][h][mod8],Carlist[playerid][h][mod9],Carlist[playerid][h][mod10],
    Carlist[playerid][h][mod11],Carlist[playerid][h][mod12],Carlist[playerid][h][mod13],Carlist[playerid][h][mod14],
    Carlist[playerid][h][mod15],Carlist[playerid][h][mod16],Carlist[playerid][h][mod17],
    Carlist[playerid][h][SpawnSaveX],Carlist[playerid][h][SpawnSaveY],Carlist[playerid][h][SpawnSaveZ],
    Carlist[playerid][h][SpawnSaveRot],Carlist[playerid][h][TankVolumen],Carlist[playerid][h][cMats],
    Carlist[playerid][h][Neon],Carlist[playerid][h][NeonType],Carlist[playerid][h][cDrugs],Carlist[playerid][h][StandTime],
    Kilometer[Carlist[playerid][h][CarID]]);
    }



    C:\Users\Daniel\Desktop\irp.pwn(42879 -- 42891) : error 001: expected token: ",", but found "}":
    format(query,sizeof(query),"%s`AH_SpawnSaveX`,`AH_SpawnSaveY`,`AH_SpawnSaveZ`,`AH_SpawnSaveRot`,`AH_TankVolumen`,`AH_Mats`,`AH_Neon`,`AH_NeonType`,`AH_Drugs`,`AH_StandTime`,`AH_Meter`) VALUES (%d,%d,%i,%i,%f,%f,%f,%f,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%f,%f,%f,%f,%i,%i,%i,%i,%i,%i,%i)",
    query,PlayerInfo[playerid][pSQLID],h,Carlist[playerid][h][ingarage],Carlist[playerid][h][Typ],Carlist[playerid][h][pos_x],Carlist[playerid][h][pos_y],Carlist[playerid][h][pos_z],
    Carlist[playerid][h][z_angle],Carlist[playerid][h][Status],Carlist[playerid][h][Lock],Carlist[playerid][h][Paintjob],
    Carlist[playerid][h][Farbe1],Carlist[playerid][h][Farbe2],Carlist[playerid][h][mod1],Carlist[playerid][h][mod2],
    Carlist[playerid][h][mod3],Carlist[playerid][h][mod4],Carlist[playerid][h][mod5],Carlist[playerid][h][mod6],
    Carlist[playerid][h][mod7],Carlist[playerid][h][mod8],Carlist[playerid][h][mod9],Carlist[playerid][h][mod10],
    Carlist[playerid][h][mod11],Carlist[playerid][h][mod12],Carlist[playerid][h][mod13],Carlist[playerid][h][mod14],
    Carlist[playerid][h][mod15],Carlist[playerid][h][mod16],Carlist[playerid][h][mod17],
    Carlist[playerid][h][SpawnSaveX],Carlist[playerid][h][SpawnSaveY],Carlist[playerid][h][SpawnSaveZ],
    Carlist[playerid][h][SpawnSaveRot],Carlist[playerid][h][TankVolumen],Carlist[playerid][h][cMats],
    Carlist[playerid][h][Neon],Carlist[playerid][h][NeonType],Carlist[playerid][h][cDrugs],Carlist[playerid][h][StandTime],
    Kilometer[Carlist[playerid][h][CarID]]

    zu:
    format(query,sizeof(query),"%s`AH_SpawnSaveX`,`AH_SpawnSaveY`,`AH_SpawnSaveZ`,`AH_SpawnSaveRot`,`AH_TankVolumen`,`AH_Mats`,`AH_Neon`,`AH_NeonType`,`AH_Drugs`,`AH_StandTime`,`AH_Meter`) VALUES (%d,%d,%i,%i,%f,%f,%f,%f,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%i,%f,%f,%f,%f,%i,%i,%i,%i,%i,%i,%i)",
    query,PlayerInfo[playerid][pSQLID],h,Carlist[playerid][h][ingarage],Carlist[playerid][h][Typ],Carlist[playerid][h][pos_x],Carlist[playerid][h][pos_y],Carlist[playerid][h][pos_z],
    Carlist[playerid][h][z_angle],Carlist[playerid][h][Status],Carlist[playerid][h][Lock],Carlist[playerid][h][Paintjob],
    Carlist[playerid][h][Farbe1],Carlist[playerid][h][Farbe2],Carlist[playerid][h][mod1],Carlist[playerid][h][mod2],
    Carlist[playerid][h][mod3],Carlist[playerid][h][mod4],Carlist[playerid][h][mod5],Carlist[playerid][h][mod6],
    Carlist[playerid][h][mod7],Carlist[playerid][h][mod8],Carlist[playerid][h][mod9],Carlist[playerid][h][mod10],
    Carlist[playerid][h][mod11],Carlist[playerid][h][mod12],Carlist[playerid][h][mod13],Carlist[playerid][h][mod14],
    Carlist[playerid][h][mod15],Carlist[playerid][h][mod16],Carlist[playerid][h][mod17],
    Carlist[playerid][h][SpawnSaveX],Carlist[playerid][h][SpawnSaveY],Carlist[playerid][h][SpawnSaveZ],
    Carlist[playerid][h][SpawnSaveRot],Carlist[playerid][h][TankVolumen],Carlist[playerid][h][cMats],
    Carlist[playerid][h][Neon],Carlist[playerid][h][NeonType],Carlist[playerid][h][cDrugs],Carlist[playerid][h][StandTime],
    Kilometer[Carlist[playerid][h][CarID]]);



    C:\Users\Daniel\Desktop\irp.pwn(42874) : warning 213: tag mismatch
    C:\Users\Daniel\Desktop\irp.pwn(8977) : warning 219: local variable "CarID" shadows a variable at a preceding level


    Entferne das "CarID," wieder aus deinem enum, du hast doch schon so eine Variable.
    Dann drücke STRG+H und gebe ein:
    [CarID]
    ersetzen mit:
    [Carid]
    (jeweils mit den Klammern).
    => Dann auf "Alle ersetzen".


    Dann sollten alle Errors behoben sein.

    Laut Log wird es auf 1 beim Erstellen gesetzt, und auch nicht auf 0 beim Einlösen.

    Zitat

    [22:31:41] i: 8 | Vorhanden: 1
    [22:31:41] i: 8 | Gutscheincode: 674068133


    So ist auch dein Code.
    Schau nochmal nach.

    Dann musst du bei der Einlösung noch zum Beispiel das hier machen:
    Gutschein[i][Vorhanden]=2;//2 heißt dann eingelöst.


    Somit wird er nicht nochmal geprüft.

    Ah, du hast die Abfragen vertauscht. Dann schreibe es mal so:
    case DIALOG_GUTSCHEIN:
    {
    if(response)
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_GUTSCHEIN,DIALOG_STYLE_INPUT,"Gutschein einlösen","Gib im unteren Eingabe-Feld deinen Gutscheincode ein:","Absenden","Abbrechen");
    return 1;
    }
    printf("inputtext: %s / %d", inputtext, strval(inputtext));
    new string[200];
    for(new i=0; i<sizeof(Gutschein); i++)
    {
    printf("i: %d | ID: %d", i, Gutschein[i][ID]);
    if(Gutschein[i][ID] == 0)continue;
    printf("i: %d | Vorhanden: %d", i, Gutschein[i][Vorhanden]);
    if(Gutschein[i][Vorhanden] != 1)continue;
    printf("i: %d | Gutscheincode: %d", i, Gutschein[i][Gutscheincode]);
    if(Gutschein[i][Gutscheincode] == strval(inputtext))
    {
    printf("OK");
    format(string,sizeof(string),"Hier werden dir kurze Informationen über dein Gutscheincode gegeben.\n\nName: %s\nCode: %d\nBeschreibung: %s\n",GetName(playerid),Gutschein[i][Gutscheincode],GetPremiumStatus(Gutschein[i][Gutscheintyp]));
    ShowPlayerDialog(playerid,DIALOG_GUTSCHEIN_INFORMATIONEN,DIALOG_STYLE_MSGBOX,"Gutschein Information",string,"Einlösen","Abbrechen");
    return 1;
    }
    }
    printf("Kein Code gefunden");
    ShowPlayerDialog(playerid,DIALOG_GUTSCHEIN_KEINS, DIALOG_STYLE_MSGBOX,"Gutschein existiert nicht", "\nEs wurde unter den angegebenen Code kein gültiger Gutschein gefunden.\n","Schließen","");
    return 1;
    }
    return 1;
    }
    Das sollte gehen. Wenn icht, poste bitte was im Log steht.


    Generell darf das return bei falsch nicht in der Schleife stehen, sofern es mehrere Möglichkeiten geben kann. Im Code von mir oben war es zwar auch in der Schleife, aber da es den gleichen Code nicht zwei mal gibt passte das.

    Am Anfang dieses Threads hattest du Vorhanden auf 0 gesetzt, wenn der Gutscheint erstellt wurde, und auf 1 wenn er verwendet wurde.
    Dann müsste
    if(Gutschein[i][Vorhanden] != 1)continue;
    so sein:
    if(Gutschein[i][Vorhanden] != 0)continue;


    Klappt es dann?

    Das mit CarID war auch nur ein Beispiel. Ich weiß ja nicht wie deine Variable heißt.
    Da muss das hin, was vor deinem CreateVehicle steht, wenn du die Fahrzeuge lädst. RealID, oder Carid, oder Car_ID, ... irgendsowas.


    Ansonsten poste mal wie du die Fahrzeuge erstellst, falls du nicht weißt was ich meine.

    Würdest du bitte nicht meinen kompletten Post mit allen Code zitieren? Das stört extrem. Danke. :|



    Zwecks des Problems:
    Dann mach mal das crashdetect Plugin in deinen Server und poste was im Log steht wenn du ihn startest.

    Jetzt verstehe ich die Fehler von vorhin. So war das aber nicht gemeint.


    Ersetze alle deine "GasMax" einfach mit:
    vehTank[GetVehicleModel(veh)-400]


    In dem einen public ist "veh" eben "carid":
    forward MustCarRefuel(playerid, carid);
    public MustCarRefuel(playerid, carid)
    {
    if(GetVehicleModel(carid) == 482)
    {
    if(Gas[carid] < 100)
    {
    new string[156];
    new FillUp,
    TankKosten;
    FillUp = vehTank[GetVehicleModel(carid)-400] - Gas[carid];//3.Error Zeile
    TankKosten = FillUp * 30;
    Gas[carid] += FillUp;
    format(string,sizeof(string),"* Du hast das Fahrzeug für $%d (30$ pro Liter)betankt.", TankKosten);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoneys(playerid, -TankKosten);
    return 1;
    }
    }
    return 1;
    }

    Corvus:
    In dem Code finde ich keine Variable oder sonst etwas was "vehicleid" heißt, daher kann es nicht sein, dass in den Zeilen "vehicleid" nicht definiert ist, es ist ja nicht verwendet.
    Das einzige was mir auffällt ist, dass die Variable bei dir jetzt "Gas" heißt, und nicht mehr "vehTank".
    Ansonsten passen die Error-Meldungen aber nicht zu dem Code, bzw. der Code nicht zu den Meldungen. :wacko: