Fraktionsfahrzeuge "unfahrbar" für Zivilisten machen - Brauche 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
  • Hey,


    ich habe nun folgenden Code verwendet: [ SCRIPTING ] Fraktionsfahrzeuge hinzufügen!


    Ich habe ihn auch angepasst, doch mein Problem: Ich habe 14 Polizei-Autos, doch davon funktioniert der Code nur beim 1.


    Ich habe am Anfang zwei HPVs. Dann folgen LSPD Cars, Enforcer etc.


    Davon kann ich als "Zivilist" in jeden Wagen außer die erste HPV einsteigen.


    Mein Code:


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if (IsSAPDCar(vehicleid) && !ispassenger)
    {
    if(!IsFrakSAPD(playerid))
    {
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);
    }
    }
    }


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


    public IsFrakSAPD(playerid)
    {
    if(PlayerInfo[playerid][pFraktion] == 1) {
    return 1;
    } else {
    return 0;
    }
    }


    Ist da nur ein kleiner Logikfehler oder wie? 8|


    Grüße


    Gredsoft

  • Versuch es mal so.



    Bei



    public OnPlayerStateChange(playerid, newstate, oldstate)




    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(sapd); i++)
    {
    if(GetPlayerVehicleID(playerid)==sapd[i])
    {
    if(PlayerInfo[playerid][pFraktion]!=1)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,ROT,"Du Hat kein Schlüssel.");
    }
    }
    }
    }

  • Hi @Jay_S:


    Danke für deine Hilfe, aber es klappt leider auch nicht. Hier ein Screenshot, damit ihr es vllt. besser versteht:



    Mein Code unter OnGameModeInit():



    sapd[0] = SetVehicleNumberPlate(AddStaticVehicle(523,1584.9016,-1667.5195,5.4561,270.5840,0,0),"{FF0000}SAPD");
    sapd[1] = SetVehicleNumberPlate(AddStaticVehicle(523,1584.8823,-1671.7518,5.4530,270.0000,0,0),"{FF0000}SAPD");


    Ich wäre über jede Hilfe dankbar!!

  • Versuch mal so






    sapd[0] = SetVehicleNumberPlate(AddStaticVehicleEx(523,1584.9016,-1667.5195,5.4561,270.5840,0,0,-1);
    sapd[1] = SetVehicleNumberPlate(AddStaticVehicleEx(523,1584.8823,-1671.7518,5.4530,270.0000,0,0,-1);
    SetVehicleNumberPlate(sapd[0],"{FF0000}SAPD"); SetVehicleNumberPlate(sapd[1],"{FF0000}SAPD");

  • Ich versuche es jetzt erstmal mit dem Ex bei AddStaticVehicle, wenn's dann nicht geht.. Dann das mit dem SetVehicle [...] :>

  • Ganz Oben im Script Unter den Includes New ersellen



    new sapd[2];



    OnGameModInit...
    sapd[0] = AddStaticVehicleEx(523,1584.9016,-1667.5195,5.4561,270.5840,0,0,-1);
    sapd[1] = AddStaticVehicleEx(523,1584.8823,-1671.7518,5.4530,270.0000,0,0,-1);
    SetVehicleNumberPlate(sapd[0],"{FF0000}SAPD"); SetVehicleNumberPlate(sapd[1],"{FF0000}SAPD");


    Und dann das bei OnPlayerStateChange..



    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(sapd); i++)
    {
    if(GetPlayerVehicleID(playerid)==sapd[i])
    {
    if(PlayerInfo[playerid][pFraktion]!=1)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,ROT,"Du Hat kein Schlüssel.");
    }
    }
    }
    }


    so müsste es alles richtig sein!

  • Hi,


    ich habe insgesamt 14 SAPD Cars, muss jetzt halt noch alle damit umschreiben, danke für deine Hilfe, funktioniert jetzt super, btw. :)

  • Hab jetzt alles umgeschrieben, jetzt compile ich es mal und editiere meinen Post, falls es klappt. 8o


    //EDIT: Funktioniert WUNDERBAR - Danke! :>

    Einmal editiert, zuletzt von Gredsoft () aus folgendem Grund: -