Beiträge von Agent47

    Zitat

    Gutes Tutorial, ist für Anfänger sehr Hilfreich das ganze kann man aber ohne Timer auch Abfragen.


    1. danke dir ich dir ;)
    2. Ich finde mit einen Timer ist das Viel einfacher ^^


    Mann kann halt alles Anpassen ;)


    Zitat

    Alleine das "No-DM" sagt doch schon alles, und da erwartet man auch gleich, dass dort kein DM mehr betrieben werden kann.


    WEnn ich zeit habe mache ich dies auch noch mit rein

    Zitat

    Das wird sau mäßig zu laggs fürhen


    Dann musst mann Halt interval auf 1000 Stellen :)


    Bei mir lags garnicht habe 43k Zeilen Script und lauft suppi :)


    Zitat

    Die No-DM Zone ist doch nur halb fertig? Man kann da drinnen immernoch DM betreiben


    naja auf einigen server sehe ich das die nur eine NO-DM Zone haben aber das mann dort immernoch dm machen kann


    WEnn ich zeit habe mache ich dies auch noch mit rein :|

    Hallo Leute,


    In diesen Tutorial will ich euch Zeigen wie ihr eine NO-DM Zone Erstellen könnt


    Was benötigen wir ?


    - Grundwissen
    - 5-10 Minuten
    - PAWN (oder alternativen


    ______________________________________________________________________________



    So nun fangen wir an zu Scripten:


    Als erstes Benötigen wir Positionen!
    Nur wie machen wir das?
    Es ist Ganz einfach !



    Hier ein Beispiel :



    Als erstes suchen wir uns 1 Punkt aus :




    Auf unserer GTA Karte wäre es zb Das Pinke ^^ :




    ______________________________________________________________________________


    Nun gehen wir in unsere GTA Ordner und starten den DEBUG Mode.


    Wenn wir in Spiel sind suchen wir uns unsere Stelle aus wo wir unsere no DM Haben Wollen.



    Zuerst laufen wir zu unseren Punkt 1:



    Wenn wir an diesen "Punkt 1" dann geben wir ein Befehl ein:


    /save Punkt 1


    Das gleiche machen wir nun mit Punkt 2:



    Und wieder Geben wir ein wenn wir an "Punkt 2" sind:


    /save Punkt 2


    Jetz gehen wir auf Unseren PC unter:


    Dokumente/Eigene Daten > GTA San Andreas User Files > SAMP > savedpositions


    Und öffnen nun "savedpositions"


    Wenn wir diese Datei öffnen denk kriegt man erstmal Kopfschmerzen :wacko:


    Aber so schwer ist das Garnicht.


    Was machen wir nun ?



    (Sollte das Bild zu klein sein oder Verpixelt dann Bitte einmal Draufklicken)


    ______________________________________________________________________________


    So nun haben wir die Positionen raus aber was nun ?



    Nun gehen wir in PAWN (oder Alternativen)


    Zuerst tuhen wir Unter die INCLUDES ins Script:


    new NO-DMZone1;


    und nun gehen wir zu OnGameModeInit() :



    public OnGameModeInit()
    {
    //Hier Müsste alles Stehen was ihr so Gemacht habt :)
    new NO-DMZone1; = GangZoneCreate(1248.011, 2072.804, 1439.348, 2204.319);
    return 1;
    }


    GangZoneCreate(x1,y1,x2,y2); Erstellt eine GangZone (das brauchen wir für eine NO-Dmzone)


    Auf gut deutsch bei Euren Positionen :


    AddPlayerClass(0,1492.7899,-855.9373,62.5106,195.3062,0,0,0,0,0,0); // Punkt 1
    AddPlayerClass(0,1475.5869,-886.9310,57.2933,183.5662,0,0,0,0,0,0); // Punkt 2


    ROT = x1
    ORANGE = y1
    HELLES PINK = x2
    DUNKLES BLAU = y2


    ______________________________________________________________________________


    So nun haben wir das unter OnGameModeInit() :


    public OnGameModeInit()
    {
    //Hier Müsste alles Stehen was ihr so Gemacht habt :)
    new NO-DMZone1 = GangZoneCreate(1492.7899,-855.9373,1475.5869,-886.9310);// Nun haben wir die Kordinaten Geändert
    return 1;
    }


    ______________________________________________________________________________


    Nun Gehen wir unter OnPlayerConnect(playerid) :



    public OnPlayerConnect(playerid)
    {
    //Hier Steht wieder Eures Zeug und so müsst ihr halt anpassen
    GangZoneShowForPlayer(playerid,NO-DMZone1, 0xFFFF0096);//0xFFFF0096 ist die Farbe für eure GangZone/NoDMZone !
    return 1;
    }


    ______________________________________________________________________________


    Nun haben wir Gangzone Erstellt Beispiel:



    (Zur info dieses bild habe ich schnell in Google gefunden und sind nicht unsere Kordinaten !)


    Nun wollen wir aber Abfragen ob der Spieler in eine GangZone bzw. In einer NO Dm Zone ist


    Das machen wir mit einer Abfrage:


    Wir tuhen diesen Stock lieber Ganz unten Hin :



    IsPlayerInArea(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(X <= MinX && X >= MaxX && Y <= MinY && Y >= MaxY) {
    return 1;
    }
    return 0;
    }


    ______________________________________________________________________________


    Nun haben wir die Abfrage ob der spieler in der "Area" ist


    Das Heißt so viel er fragt ob der spieler in einer Location ist


    Nun gehen wir wieder unter den Includes und Fügen das ein :


    forward IstSpielerInArea();


    Nun müssen wir ein Timer erstellen der IstSpielerInArea aller 500 Milisekunden aufruft !


    So nun gehen wir wieder unter OnGameModeInit() :

    public OnGameModeInit()
    {
    SetTimer("IstSpielerInArea",1000,1);//ruft IstSpielerInArea immer und immer wieder in Takt von 500 Milisekunden / Halbe sekunde auf !
    return 1;
    }


    ______________________________________________________________________________


    Gleich ist es Geschafft es fehlt uns nurnoch IstSpielerInArea() :


    Wir erstellen ein neues public :



    public IstSpielerInArea()
    {
    for(new i; i<GetMaxPlayers(); i++)//Ruft alle Spieler auf die auf den Server sind
    {
    if(IsPlayerInArea(i,1492.7899,-855.9373,1475.5869,-886.9310))//Hier müssen wir wieder unsere x1,y1,x2,y2 Kordinaten einfügen !
    {

    //Was Passieren soll wenn er Drin ist
    }
    else
    {
    //Wenn er nicht drin ist
    }
    ...//Und hier Könnt ihr immer weiter machen :)
    }
    return 1;
    }


    ______________________________________________________________________________



    So nun brauchen wir noch wenn der Spieler in unserer Zone DM macht das er nach 3 Verwarnungen Getötet wird :


    Wieder unter includes :


    new NoDMWarnung[MAX_PLAYERS];


    und nun fügen wir OnPlayerTakeDamage ein :


    public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
    {
    if(issuerid != INVALID_PLAYER_ID)
    {
    if(IsPlayerInArea(isseuerid,1492.7899,-855.9373,1475.5869,-886.9310))
    NoDMWarnung[issuerid] += 1;
    SendClientMessage(issuerid,0xFF1E00FF,"* Achtung: Sie sind in einer NO-DM Zone *");
    if(NoDMWarnung[issuerid] == 4)//Wenn NoDNWarnung auf 4 Steht dann soll er
    {
    SetPlayerHealth(issuerid, 0);//Töten den Angreifen
    NoDMWarnung[issuerid] = 0;//Setz die Variable wieder auf 0
    }
    }
    return 1;
    }
    ______________________________________________________________________________


    Jetz sind wir Fertig...


    Ich hoffe mein Tutorial hat euch Geholfen und Gefallen !



    Achtung : Ihr dürft diesen Code nicht weiter Verbreiten er ist von mir Selber Geschrieben | Bei Fehlern bitte in den Tread reinschreiben !

    Hast jetz einfach von mir Copy und Paste gemacht !


    Es Können Mehrere leute legen


    Nur ' /nagelbandweg ' macht alles wieder Kaputt ^^



    //---> Irengwo in Script


    new objectid[MAX_PLAYERS];


    //--> Bei OnPlayerConnected


    objectid = 1;


    ocmd:nagelband(playerid,params[])
    {
    new Float:x, Float:y, Float:z;
    if(objectid == 1)
    {
    GetPlayerPos(playerid,x,y,z); // Speichert die Position des Spielers in den Variablen x y und z
    objectid[playerid] == CreateObject(1593, x,y, z-2, 0.0, 0.0, 96.0);//--> 1593 == Spikes
    SendClientMessage(playerid,0x969696FF,"* Spikes Erstellt *");
    objectid = 2;
    }
    else
    {
    //Hier Eurro code dann
    }
    return 1;
    }



    //--> irgenwo in script
    forward LadeBalken(playerid)
    new LadeBalkenT[MAX_PLAYERS];// LadeBalkenTimer
    //--> Einfügen wo du das starten willst


    SetTimerEx("LadeBalken", 2000, 1, "i", playerid);//Ist klar oder?



    public LadeBalken(playerid)
    {
    LadeBalkenT = LadeBalkenT++;
    if(LadeBalkenT == 1)
    {
    //TextDrawShow(playerid,XXX);//XXX = Deine Textdraw
    }
    else if(LadeBalkenT == 2)
    {
    //TextDrawHide(playerid,XXX);
    //TextDrawShow(playerid,XXX);
    }
    ...
    return 1;
    }


    Hab nur aus Kopf geschrieben sollte aber klappen :D

    ocmd: [Include] OCMD



    //--> Script:
    new objectid;
    ocmd:nagelband(playerid,params[])
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    objectid == CreateObject(1593, x,y, z-2, 0.0, 0.0, 96.0);//--> 1593 == Spikes
    SendClientMessage(playerid,0x969696FF,"* Spikes Erstellt *");
    return 1;
    }


    ocmd:nagelbandweg(playerid,params[])
    {
    DestroyObject(objectid );
    SendClientMessage(playerid,0x969696FF,"* Spikes zerstört *");
    return 1;
    }

    Ich hab das jetz aus Kopf geschrieben


    Solltest du Fehler haben bitte melden ;)



    Fg [GEC]Der_Elite


    public OnPlayerSpawn(playerid)
    {
    if(PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pLeader] == 6)//YAKUZA SPAWN
    {
    GivePlayerWeapon(playerid, 8, 1);
    //-->[Return Weg]<---
    }
    return 1;
    }

    Hey Leute


    ich verusche gerade ein 2 sprachigen script zu machen D:



    Will jetz wenn mann sich falsch in RCON Anmeldet das mann gebantn wird


    Alles Geht bis das Datum


    new string[300];
    format(string,sizeof(string),"You are currently banned from this server.\nUser:%s\nIP:%s\nTime:%02d:%02d:on %02d/%s%02d/%s04%d\nAdmin: Anti Rcon Hack\nReason: Bad Rcon Attempt",SpielerInfo[i][pName],pIP[i],hour,minute,second,day, ((month < 10) ? ("0") : ("")), month, (year < 10) ? ("0") : (""), year);
    ShowPlayerDialog(i,DIALOG_BAN,DIALOG_STYLE_MSGBOX,"Your are Banned from our Server !",string,"Leave","");

    Jop :D




    new Geld[MAX_PLAYERS]; //Irgenwo in script :D
    forward AntiGeldHack();
    //OnGameModeInit


    SetTimer("AntiGeldHack",1000,1);


    //Neue Public


    public AntiGeldHack()
    {
    for(new i; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    GetPlayerMoney(i,Geld);
    SetPlayerMoney(i,Geld);


    }
    return 1;
    }



    //Stock SetPlayerMoney(playerid)


    stock SetPlayerMoney(playerid, cash)
    {
    ResetPlayerMoney(playerid);
    return GivePlayerMoney(playerid, cash);
    }


    Musst halt alles Anpassen ;)


    Fg [GEC]Der_Elite

    Achso ok :D


    Hast du nciht die Kordinaten vertauscht?


    MoveObject(schranke1, 1165.71411, -1341.26672, 13.60340 -0.01, 0.01, 0.00000000,270.00000000,0.00000000);


    Fg Th3Devil