2 Errors mit i Schleife bitte um Hilfe =(!

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
  • Ich habe statt den Krankenwagen IDs (wofür man die Schleife benötigt), einfach gefragt, ob das Auto das Modell eines Krankenwagens hat ^^
    Analogon: "Ist das Auto ein Polizeiwagen, dann ...". Es gibt ja feste ModelIDs, die den Typ des Fahrzeuges festlegen.


    Zum Beispiel benötigt bei AddStaticVehicle(modelid,...); genauso bei CreateVehicle(modelid, ...). Das ist immer der erste Wert dabei ;)



    Hinweis: Keinen Kontakt über TeamViewer oder Skype !
    Grüßt den Fehlerklärbär von mir.
    Coming soon: Pawn-Café ( Concept-Sharing | Scripting-First-Aid )

  • Nun ja, er hat nur eine Model Abfrage benutzt.
    Wenn du nun aber einen Krankenwagen so normal per Befehle spawnst, für Events o.ä muss die Person Medic sein.
    Probier es mal ggf. so aus:

    if(newstate == PLAYER_STATE_DRIVER){
    new i, vehID = GetPlayerVehicleID(playerid);
    while(i < sizeof(Krankenwagen)){
    if(vehID == Krankenwagen[i]){
    if(!(GetPVarInt(playerid,"Fraktion")) == 2){
    TogglePlayerControllable(playerid, 0);
    SendClientMessage(playerid, ROT, "Du besitzt nicht die passenden Fahrzeug-Schlüssel.");
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid, 1);
    return 1;
    }
    }
    }
    i++;
    }
    Sollte theoretisch so klappen.

  • Das einzigste was ich erkennen kann, ist, dass hier eine Klammer fehlt:


    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(Krankenwagen); i++) // expected token: "-identifier-", but found "="
    {
    if(GetPlayerVehicleID(playerid)==Krankenwagen[i]) //error 029: invalid expression, assumed zero
    {
    if(GetPVarInt(playerid,"Fraktion")!=2)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,ROT,"Du hast keine Schlüssel für dieses Auto.");
    }
    }
    }
    return 1;
    }// Hier


    Denn wenn ichs bei mir lokal teste, funktioniert alles.
    An sich ist der Code auch nicht falsch, heißt wenn es nicht an der Klammer gelegen hat,
    befindet sich der Fehler ganz woanders.



    BlackLegend