Eingäge für Gangs

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 Brotfische, kann mir mal einer sagen wie ich einen Eingang für eine bestimmte Fraktion mache?? habe oben schon


    #define fraktname1 "LSPD"
    #define fraktname2 "Army"
    #define fraktname3 "FBI"


    gemacht, und die werden auch geladen+gespeichert. Aber ich will das sie in einem Interior spawnen und einen Eingang+Ausgang haben.
    wäre nett wen mir einer Helfen könnte,


    Mfg: Eddy


    PS: Danke im vorraus. :)

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Machs am besten mit Pickups.


    Und dass die Gangs im Interrior spawnen, solltest du bei OnPlayerSpawn machen, hier ein Bsp:



    public OnPlayerSpawn(playerid)
    {
    if(IsPlayerInFrakt(playerid, DEINEFRAKTIONSNUMMER))
    {
    ResetPlayerWeapons(playerid);
    SetPlayerSkin(playerid,SKINID);
    GivePlayerWeapon(playerid,WAFFENID,SCHUSSZAHL);
    SetPlayerPos(playerid,x,y,z); // Die Koordinaten wo der Spieler spawnen soll
    SetPlayerFacingAngle(playerid,81.2012); // Blickrichtung des Spielers beim Spawnen
    SetCameraBehindPlayer(playerid); // Setzt die Kamera hinter den Spieler
    SetPlayerInterior(playerid,INTERRIORID); // Setzt den Spieler in das gewünschte Interior
    return 1;
    }
    return 1;
    }



    So wird der Spieler in einem Interior spawnen, um aus dem Interior rauszugelagen, machst du einfach ein Pickup, am besten mit der ID "1559" das ist ein Kegel, und unter "OnPlayerPickupPickup" definierst du dann die Funktion des Pickups.


    Sprich:



    public OnGameModeInit()
    {
    DEINPICKUPNAME = CreatePickup(1559,1,x,y,z); // Erstellt ein Pickup an deinen gewünschten Koordinaten, mit einem Kegel welches dauerhaft da ist und nicht aufnehmbar ist.
    return 1;
    }




    Die Funktion des Pickups definieren:




    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid=DEINPICKUPNAME)
    {
    SetPlayerPos(playerid,x,y,z); // Die Koordinaten des Ausgangpunktes
    SetPlayerFacingAngle(playerid,354.7670); // Blickrichtung des Spielers nach dem rausgehen
    SetPlayerInterior(playerid,0); // Interiorwelt auf 0 setzen, damit alles sichtbar ist
    SetCameraBehindPlayer(playerid); // Die Kamera hinter den Spieler setzen
    }
    return 1;
    }



    Ich hoffe ich war dir eine kleine Hilfe.


    Mit freundlichem Gruß

    Ihr habt das normale Pawno satt? Notepad ++ mit allen Pawnofunktionen, hier zum Downloaden, Klick

  • Aber das blöde daran ist jetzt, das jeder da rein kann ^^ es soll ja nur für die 1 Fraktion zugänglich sein :D

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Dann fügst du einfach eine Fraktionsabfrage rein, jenachdem wie sie in deinem Script vorhanden ist, schau mal hier:



    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid=DEINPICKUPNAME)
    {
    if(IsPlayerInFrakt(playerid,FRAKTIONSNUMMER))
    {
    SetPlayerPos(playerid,x,y,z); // Die Koordinaten des Ausgangpunktes
    SetPlayerFacingAngle(playerid,354.7670); // Blickrichtung des Spielers nach dem rausgehen
    SetPlayerInterior(playerid,0); // Interiorwelt auf 0 setzen, damit alles sichtbar ist
    SetCameraBehindPlayer(playerid); // Die Kamera hinter den Spieler setzen
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Mitglied der >Gangname< !");
    return 1;
    }
    return 1;
    }




    Somit können nur Spieler der Fraktion in das Haus gelangen, wenn nicht wird dort die Meldung "Du bist kein Mitglied der >Gangname<!" erscheinen.


    Mit freundlichem Gruß

    Ihr habt das normale Pawno satt? Notepad ++ mit allen Pawnofunktionen, hier zum Downloaden, Klick

  • Danke :rolleyes: :)


    //Edit


    Was ist wenn ich das mit einem Befehl machen will, wie mache ich das dann? Sry aber lerne grad Scripten :D

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • COMMAND:exit(playerid,params[])
    { if(isPlayerInFrakt(playerid,FRAKTIONSID))return SendClientMessage(playerid,FARBEEINFÜGEN,"Du bist nicht in der Fraktion..."); {
    if(IsPlayerInRangeOfPoint(playerid, 2.0, FLOAT:X,FLOAT:Y,FLOAT:Z))
    {
    SetPlayerInterior(playerid,DEINEINTERIORID);
    SetPlayerPos(playerid,IMINTERIOREINEPOSITIONANGEBEN);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du bist an keinem Icon!");
    return 1;
    }
    }
    }
    :thumbup:




    Achso und wenn du willst, das Leute aus verschiedenen Fraktionen den gleichen Befehl verwenden, machste den hier:
    COMMAND:exit(playerid,params[])
    {
    if(!isPlayerInFrakt(playerid,FRAKTION1))
    {
    if(IsPlayerInRangeOfPoint(playerid, 2.0, CORDINATENvon wo aus er in welchen interior gehen soll))
    {
    SetPlayerInterior(playerid,INTERIORIDwo er sich hinporten soll);
    SetPlayerPos(playerid,CORDINATENwo er sich hinporten soll);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du bist an keinem Icon!");
    return 1;
    }
    }
    if(!isPlayerInFrakt(playerid,FRAKTION2))
    {
    if(IsPlayerInRangeOfPoint(playerid, 2.0, CORDINATENvon wo aus er in welchen interior gehen soll))
    {
    SetPlayerInterior(playerid,INTERIORIDwo er sich hinporten soll);
    SetPlayerPos(playerid,CORDINATENwo er sich hinporten soll);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du bist an keinem Icon!");
    return 1;
    }
    }
    }

    Spoiler anzeigen
    10 Beiträge [X]
    50 Beiträge [X]
    100 Beiträge [X]
    150 Beiträge [X]
    200 Beiträge [X]
    250 Beiträge [X]
    300 Beiträge [X]
    350 Beiträge [X]
    400 Beiträge [X]
    450 Beiträge [X]
    500 Beiträge [X]
    550 Beiträge []
    600 Beiträge []
    650 Beiträge []
    700 Beiträge []
    750 Beiträge []

    Einmal editiert, zuletzt von FreshDiddi ()

  • Achso okay, und eine Frage habe ich da jetzt nochmal, wo und wie mache ich den Spawnpunkt für die Fraktionen, also unter OnPlayerSpawn oder woanders ?

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • Benutzt du dini? also hast du ein Register/login System mit den GetPVarInt / SetPVarInt teilen? :D

    Spoiler anzeigen
    10 Beiträge [X]
    50 Beiträge [X]
    100 Beiträge [X]
    150 Beiträge [X]
    200 Beiträge [X]
    250 Beiträge [X]
    300 Beiträge [X]
    350 Beiträge [X]
    400 Beiträge [X]
    450 Beiträge [X]
    500 Beiträge [X]
    550 Beiträge []
    600 Beiträge []
    650 Beiträge []
    700 Beiträge []
    750 Beiträge []