Beiträge von MarkusEckardt

    Alle Eingänge deaktvieren


    Und eigene am BSN und LSPD erstellen.


    Was du brauchst:
    Ein Script
    4 Pickups
    4 Textdraws
    Und die Befehle zum Eintreten /enter , und zum Austreten /exit <--- Beispiele



    Los gehts :


    Bei OnGameModeInit :


    DisableInteriorEnterExits(); //<--Deaktiviert alle Eingänge



    CreatePickup(1239,1,X,Y,Z, 0); //Coordinaten anpassen !
    Create3DTextLabel("Burger Shot North\n/enter zum betreten",Weiß,x,y,z+0.6,15.0,0);


    Der Befehl zum Eintreten :


    if (strcmp("/enter", cmdtext, true, 10) == 0)//Eingänge
    {
    if(IsPlayerInRangeOfPoint(playerid,5,X,Y,Z))//Anpassen
    {
    SetPlayerInterior(playerid, INTERIORID); //Interior ID eintragen
    SetPlayerPos(playerid,X,Y,Z ); Coordinaten vom Interior Eintragen
    return 1;
    }
    }


    if (strcmp("/exit", cmdtext, true, 10) == 0)//Ausgänge
    {


    if(IsPlayerInRangeOfPoint(playerid,5,X,Y,Z))//Anpassen


    {


    SetPlayerInterior(playerid,0); //0 = Damit er in die normale Welt kommt


    SetPlayerPos(playerid,X,Y,Z ); Coordinaten eintragen (vorm BSN) also der Punkt wo man rauskommen soll


    return 1;


    }


    }



    Das wars

    Also da sist jetzt aus dem Kopf gemacht .....


    define einfach ein spawn mit den coordinaten z.B

    #define zivispawn 1128.9424,-1466.8447,15.7450
    #define lspdspawn 1543.7180,-1675.6815,13.5570
    #define fbispawn 333.7115,-1518.2548,35.8672
    #define bikerboyzspawn 1263.3112,-1671.2225,13.5469
    #define medicspawn 1226.6205,-1816.4347,16.5938
    #define groovestreetspawn 2459.3267,-1690.2837,13.5467


    Dann bei OnPlayerSpawn



    public OnPlayerSpawn(playerid)
    {
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 1:{SetPlayerPos(playerid,zivispawn);SetPlayerColor(playerid,Weiß);}//Wenn er is Frakion 1 ist (Zivi)
    case 2:{SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,Hellblau);}
    case 3:{SetPlayerPos(playerid,fbispawn);SetPlayerColor(playerid,Dunkelblau);}
    case 4:{SetPlayerPos(playerid,bikerboyzspawn);SetPlayerColor(playerid,Braun);}
    case 5:{SetPlayerPos(playerid,medicspawn);SetPlayerColor(playerid,Orange);}
    case 6:{SetPlayerPos(playerid,groovestreetspawn);SetPlayerColor(playerid,Dunkelgrün);}
    }
    return 1;
    }

    new Text:HUD2;


    public OnGameModeInit()
    {


    HUD2 = TextDrawCreate(1.000000, 437.000000,"ttt");
    TextDrawBackgroundColor(HUD2,255);
    TextDrawFont(HUD2,1);
    TextDrawLetterSize(HUD2, 0.500000, 1.000000);
    TextDrawColor(HUD2, -1);
    TextDrawSetOutline(HUD2, 0);
    TextDrawSetProportional(HUD2, 1);
    TextDrawSetShadow(HUD2, 1);
    TextDrawUseBox(HUD2, 1);
    TextDrawBoxColor(HUD2, 100);
    TextDrawTextSize(HUD2, 650.000000, 0.000000);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    TextDrawShowForPlayer(playerid,HUD2);
    }

    OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)


    {

    if(GetPlayerWeapon(issuerid) == 34) // WaffenID 34 = Sniper

    {

    SetPlayerHealth(playerid,0); //Wenn er von der Waffe getroffen wird wird die HP(Leben) auf 0 gesetzt(er stirbt)
    }


    }



    //EDIT : War jmd schneller xD

    probiers mal mit


    new Text:HUD2;

    HUD2 = TextDrawCreate(1.000000, 437.000000,"ttt");
    TextDrawBackgroundColor(HUD2,255);
    TextDrawFont(HUD2,1);
    TextDrawLetterSize(HUD2, 0.500000, 1.000000);
    TextDrawColor(HUD2, -1);
    TextDrawSetOutline(HUD2, 0);
    TextDrawSetProportional(HUD2, 1);
    TextDrawSetShadow(HUD2, 1);
    TextDrawUseBox(HUD2, 1);
    TextDrawBoxColor(HUD2, 100);
    TextDrawTextSize(HUD2, 650.000000, 0.000000);
    return 1;

    Ich weiß nicht obs geht habs schnell gemacht .




    //Zu deinen anderen DIALOGS
    #define DIALOG_SKININVITE 1


    //Der Befehl
    ocmd:invite(playerid,params[])
    {
    if(GetPlayerFrakRang(playerid,4))
    {
    new pID;
    new Spieler[64];
    new Spieler2[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(pID));
    format(Spieler2,sizeof(Spieler2),"Spieler/%s.txt",PlayerName(playerid));
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,Rot,"Fehler: /invite [ID/Name]");
    {
    if(dini_Int(Spieler,"Fraktion")!=dini_Int(Spieler2,"Fraktion"))return SendClientMessage(playerid,Rot,"Der Spieler ist momentan in einer Fraktion!");
    {
    dini_IntSet(Spieler,"Fraktion",dini_Int(Spieler2,"Fraktion"));
    dini_IntSet(Spieler,"Fraktionsrang",1);
    new string[256];
    new string2[256];
    format(string,sizeof(string),"Du hast %s in die Fraktion eingeladen!",PlayerName(pID));
    format(string2,sizeof(string2),"Du wurdest von %s in die Fraktion eingeladen !",PlayerName(playerid));
    SendClientMessage(pID,Gruen,string);
    SendClientMessage(playerid,Gruen,string2);
    new Float:x,Float:y,Float:z;
    GetPlayerPos(pID,x,y,z);
    SetSpawnInfo(pID,0,0,x,y,z,0.0,0,0,0,0,0,0);
    SpawnPlayer(pID);
    }
    }
    ShowPlayerDialog(pID, DIALOG_SKININVITE,DIALOG_STYLE_LIST, "Skin Auswahl", "Skin #1\nSkin #2\nSkin #3", "Auswählen", "Abbrechen");
    }
    return 1;
    }



    //Zu OnDialogResponse


    if(dialogid == DIALOG_SKININVITE)
    {
    if(response == 1)
    {
    if(listitem == 0)//Im Dialog der 1. Button
    {
    SetPlayerSkin(playerid,1); //SKINID ANPASSEN !
    }
    if(listitem == 1)//Im Dialog der 2. Button
    {
    SetPlayerSkin(playerid,2); //SKINID ANPASSEN !
    }
    if(listitem == 2)//Im Dialog der 3. Button
    {
    SetPlayerSkin(playerid,3); //SKINID ANPASSEN !
    }
    else if(response == 0)
    {
    TogglePlayerControllable(playerid,1);
    }
    return 1;
    }
    }

    Deine Premiumränge kannste mit PVarInt machen .
    Teil 1: Premium Ränge


    stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",key);
    SetPVarInt(playerid,"Premium",0);//NAch Reigstration kein Premiun (Rank 0)
    return 1;
    }


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPVarInt(playerid,"Premium",dini_Int(Spielerdatei,"Premium")); //Hier wird der Premiumrang geladen
    return 1;
    }



    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Premium",GetPVarInt(playerid,"Premium"));//Nach dem Auslogen wir der Aktuelle Premiumrang gespericher.
    }
    return 1;
    }



    public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    SpielerSpeichern(playerid); //Geht zum Stock SpielerSpeichern und Speichert alles was im Stock steht
    }

    return 1;
    }


    -----------------------------------------------------------------------------
    Teil 2: Premium werden
    Ein Admin nutzt ein Befehl um einen andren einen bestimmten Premiumrang zu geben



    ocmd:makepremium(playerid,params[])//Der Befehl
    {
    if(!isPlayerAnAdmin(playerid,1))//Abfrage ob der Spieler ein Admin ist.
    {
    new pID, premiumrang;
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,Hellrot,"Der Spieler is nicht online.");
    if(sscanf(params,"ui",pID,rang))return SendClientMessage(playerid,Grau,"Nutzung: /makepremium [ID] [Premiumrang]");
    if(premiumrang<1||premiumrang>5)return SendClientMessage(playerid,Hellrot,"Bitte geben Sie einen gültigen Rang an.");
    SetPVarInt(pID,"Premium",premiumrang);
    SpielerSpeichern(pID);
    SendClientMessage(pID,Gelb,"Du hast einen neuen Premiumrang erhalten.");//Nachicht an den Spieler
    SendClientMessage(playerid,Gelb,"Du hast dem Spieler einen neuen Premiumrang zugestellt.");//Nachicht an den Admin
    return 1;
    }
    return 1;
    }

    Hier mal eine kleine Vorgabe :
    Die X,Y,Z Kannste noch anpassen. DIese hier sind mitten auf den Straßen.


    Kleine Erklärung :
    Der Spieler(der den Job Schlüssldienst hat) gib /schlüsseldienst ein und Ihm wird der 1. Checkpoint angezeigt Fährt er dadurch kommt der 2 und so weiter.Erreicht er den letzten Checkpoint.Ist seine Tour vorbei.//Wichtig : Er bekommt pro Checkpoint(Einsatz)1000$.



    new Schlüsselcheckpoint[MAX_PLAYERS];


    if (strcmp("/schlüsseldienst", cmdtext, true, 10) == 0)//Job Quit
    {
    if(GetPVarInt(playerid,"Schlüsseldienst")==1) //Der Job in der Dini
    {
    SendClientMessage(playerid,Grau,":: Job Informationen - Schlüsseldienst::");
    SendClientMessage(playerid,Grau,"Fahren Sie zu allen Einsatzorten. Für jeden CheckPoint erhalten Sie 1000$.");
    SetPlayerCheckpoint(playerid,1295.0471,-1805.6689,13.0876,5.0); //Ertser Checkpoint
    Schlüsselcheckpoint[playerid] = 1;
    return 1;
    }
    return SendClientMessage(playerid,Grau,"Du bist nicht beim Schlüsseldienst.");
    }


    public OnPlayerEnterCheckpoint(playerid)
    {
    if(Schlüsselcheckpoint[playerid] == 1) //Checkpoint Nr.2
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,2033.9806,-1754.8987,13.0876,5.0);
    GivePlayerMoney(playerid,1000);
    Schlüsselcheckpoint[playerid] = 2;
    return 1;
    }
    if(Schlüsselcheckpoint[playerid] == 2)//Checkpoint Nr.3 Und so weiter
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,2213.7957,-1407.8182,23.5315,5.0);
    GivePlayerMoney(playerid,1000);
    Schlüsselcheckpoint[playerid] = 3;
    return 1;
    }
    if(Schlüsselcheckpoint[playerid] == 3)
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,2072.9541,-1125.4500,23.4703,5.0);
    GivePlayerMoney(playerid,1000);
    Schlüsselcheckpoint[playerid] = 4;
    return 1;
    }
    if(Schlüsselcheckpoint[playerid] == 4)
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,1551.4270,-1157.8768,23.6117,5.0);
    GivePlayerMoney(playerid,1000);
    Schlüsselcheckpoint[playerid] = 5;
    return 1;
    }
    if(Schlüsselcheckpoint[playerid] == 5)
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,1219.5776,-930.6359,42.3308,5.0);
    GivePlayerMoney(playerid,1000);
    Schlüsselcheckpoint[playerid] = 6;
    return 1;
    }
    if(Schlüsselcheckpoint[playerid] == 6)
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,939.2521,-1280.5795,14.5513,5.0);
    GivePlayerMoney(playerid,1000);
    Schlüsselcheckpoint[playerid] = 7;
    return 1;
    }
    if(Schlüsselcheckpoint[playerid] == 7)
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,1106.2737,-1741.0547,13.1333,5.0);
    GivePlayerMoney(playerid,1000);
    Schlüsselcheckpoint[playerid] = 8;
    return 1;
    }
    if(Schlüsselcheckpoint[playerid] == 8) //Letzer Checkpint
    {
    DisablePlayerCheckpoint(playerid);
    GivePlayerMoney(playerid,1000);
    SendClientMessage(playerid,Grau,"Deine Einsätze sind beendet.");
    return 1;
    }