Jeder kann in manche Fraktionscars einsteigen und in manche nicht

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
  • Tach.
    Mein Problem liegt darin, dass mache Spieler in die Fraktionscars einsteigen können und mance nicht.
    Hier ist der Code:


    Vielleicht übersehe ich etwas.
    Ich hoffe ihr könnt mir helfen.
    Danke im Vorraus!


    Mit freundlichen Grüßen MoritzF.

    Mit freundlichen Grüßen!
    MoritzF


  • Ich zeig das jetzt mal nur an 1. Beispiel:
    for(new i=0; i<sizeof(lspdCars); i++)
    {
    if(!IsVehicleStreamedIn(i, playerid))continue; // 1. ist i falsch, denn es wäre lspdCars[i] für die vehicleid und 2. ist die Abfrage mMn überflüssig. Wozu musst du wissen,ob das Fahrzeug für den Spieler in Streaming-Distanz ist? (Hacking vllt?)
    if(vehicleid != lspdCars[i])continue;
    if(sInfo[playerid][fraktion] == 1)continue; // Falls fraktion == 1 prüft, ob der Spieler beim LSPD (?) ist und lspdCars fahren darf. Variante 1: break Variante 2: return - jeweils anstatt continue
    // freezePlayer(playerid,1); Je nachdem ob du break oder return benutzt, kannst du hier die Aktionen ausführen falls der Spieler NICHT mit dem Fahrzeug fahren darf.
    // freezePlayer(playerid,0); " " "
    SendClientMessage(playerid,-1,"Du bist nicht dazu befugt in das LSPD Fahrzeug einzusteigen"); // Falls Variante 1
    }
    for(new i=0; i<sizeof(fbiCars); i++) // armyCars,samdCars,towingCars usw
    {
    // [..]
    }
    // Jetzt NACH allen *Cars
    SendClientMessage(playerid,-1,"Du bist nicht dazu befugt in dieses Fahrzeug einzusteigen"); // Falls Variante 2

    Ob du jetzt Variante 1 oder 2 benutzt, hängt davon ab was du später noch mit OnPlayerEnterVehicle vor hast. So wie es aktuell ist, würde ich Variante 1 (break) benutzen.