Hilfe bei einer Abfrage der Autos :(

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
  • Hallo,


    ich brauche dringen Hilfe, weil ich einfach nicht mehr weiter weis...


    Ich Arbeite derzeit an einem SM Reallife Script (Starte kein Projekt, sondern nur um Scripten zu lernen :D ).


    So, nun zu meinem Problem. Ich habe 3 Fraktionen. LSPD, GS und Ballas. Für diese Fraktionen hab ich jeweils Autos gespawnt. Jetzt will ich das so Scripten, dass z.B. ein Zivilist oder LSPD´ler nicht mit einem GS Fahrzeug fahren kann. Ich hab da schon etwas gemacht.



    forward IsAGSCar(carid);


    new GSVehs[11];
    public OnGameModeInit()
    {
    GSVehs[0] = CreateVehicle(487, 2526.8059082031, -1677.6296386719, 20.195224761963, 90, 86, 86, -1);
    GSVehs[1] = CreateVehicle(415, 2505.6708984375, -1694.3474121094, 13.40758895874, 14, 86, 86, -1);
    GSVehs[2] = CreateVehicle(492, 2500.69921875, -1655.2027587891, 13.315901756287, 70, 86, 86, -1);
    GSVehs[3] = CreateVehicle(492, 2485.41796875, -1654.1904296875, 13.217425346375, 90, 86, 86, -1);
    GSVehs[4] = CreateVehicle(492, 2509.4548339844, -1672.1032714844, 13.315901756287, 355.99932861328, 86, 86, -1);
    GSVehs[5] = CreateVehicle(560, 2499.2170410156, -1682.8823242188, 13.171130180359, 284, 86, 86, -1);
    GSVehs[6] = CreateVehicle(560, 2493.1518554688, -1683.7098388672, 13.313739776611, 91.99658203125, 86, 86, -1);
    GSVehs[7] = CreateVehicle(521, 2518.4946289063, -1672.1314697266, 13.892971038818, 66, 86, 86, -1);
    GSVehs[8] = CreateVehicle(521, 2517.9948730469, -1673.5966796875, 13.853273391724, 65.994873046875, 86, 86, -1);
    GSVehs[9] = CreateVehicle(521, 2515.7292480469, -1670.8513183594, 13.394186019897, 65.994873046875, 86, 86, -1);
    GSVehs[10] = CreateVehicle(521, 2515.1396484375, -1672.435546875, 13.352339744568, 65.994873046875, 86, 86, -1);
    return 1;
    }


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    new Float:xpos,Float:ypos,Float:zpos;
    GetPlayerPos(playerid,xpos,ypos,zpos);
    if (IsAGSCar(vehicleid) && !ispassenger)
    {
    if(isPlayerInFrak(playerid, 2)) {}
    else
    {
    TogglePlayerControllable(playerid,0);
    SendClientMessage(playerid,ROT,"Du hast keine Schlüssel");
    SetPlayerPos(playerid,xpos,ypos,zpos+1);
    TogglePlayerControllable(playerid,1);
    return 1;
    }
    }
    return 1;
    }


    public IsAGSCar(carid)
    {
    for(new i = 0; i < sizeof(GSVehs); i++)
    {
    if(carid == GSVehs[i])
    {
    return 1;
    }
    }
    return 0;
    }


    Wenn ich jetzt ingame als LSPD Member gehe, und in ein GS Fahrzeug einsteige, passiert GARNICHTS ?( . Warum :?:

  • Probier so mal:
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    new Float:xpos,Float:ypos,Float:zpos;
    GetPlayerPos(playerid,xpos,ypos,zpos);
    if (IsAGSCar(vehicleid) && !ispassenger)
    {
    if(!isPlayerInFrak(playerid, 2))
    {
    SendClientMessage(playerid,ROT,"Du hast keine Schlüssel");
    SetPlayerPos(playerid,xpos,ypos,zpos+1);
    return 1;
    }
    }
    return 1;
    }


    Und du bist auch sicher, dass ID 2 GS ist?

  • Und du bist auch sicher, dass ID 2 GS ist?


    Ja, ich bin mir zu 100% sicher ;)


    PS: Ich probier das mal, danke für die Hilfe :)


    //edit habs ausprobiert, wieder nichts...


    vlt habe ich ein Fehler in der "isPlayerInFrak" Funktion, hier der Code:
    stock isPlayerInFrak(playerid,frakid)
    {
    if(GetPVarInt(playerid,"Fraktion")==frakid)return 1;
    return 1;
    }

    Einmal editiert, zuletzt von Mr.Kai ()

  • stock isPlayerInFrak(playerid,frakid)
    {
    if(GetPVarInt(playerid,"Fraktion")==frakid)return 1;
    return 0;
    }