/event & /markevent SIMPLE

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,
    da einige gefragt haben wegen /event punkt etc. mache ich mal ein Tutorial dazu.
    So
    als erstes müssen wir die Positionen definieren.
    new Float:EventPosX; // Damit können wir nachher beim Befehl /markevent und /event abfragen welche Position X ist.
    new Float:EventPosY;
    new Float:EventPosZ:
    So als nächtes müssen wir uns was definieren, was wir brauchen damit man das Event ausschalten kann!
    new EventAktiv; // Damit können wir nachher bestimmen ob das Event Online ist oder Offline!
    So , damit haben wir schonmal die Definierungen.
    Jetzt kommen wir zu den Befehlen
    als erstes machen wir ein Befehl damit man das Event an einer Bestimmten Stelle makieren kann..
    if(strcmp(cmd, "/markevent", true) == 0)
    {
    if (PlayerInfo[playerid][pAdmin] >= 4) // Abfrage ob der jenige Admin level 4 Hat
    {
    GetPlayerPos(playerid, EventPosX, EventPosY, EventPosZ); // Hier fragen wir die Position ab
    EventAktiv = 1; // Hier schalten wir das Event Online!
    SendClientMessage(playerid, COLOR_RED, "Du hast ein Event an dieser Position gesetzt!");
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du hast keine Berechtigung um ein Event zu Setzen!"); // Hier ist das wenn man Admin level 4 nicht hat!
    }
    return 1;
    }

    So den befehl zum makieren haben wir schon
    Jetzt kommt der Befehl womit sich die Spieler hin telepotieren können
    der geht so
    if(strcmp(cmd, "/event", true) == 0)
    {
    if(EventAktiv == 1) // hier fragen wir ab ob das Event online ist.
    {new spielername[MAX_PLAYERS_NAME];new string[250];
    SetPlayerPos(playerid, EventPosX, EventPosY, EventPosZ); // hier telepotieren wir den Spieler an die Makierte Position!
    SendClientMessage(playerid, COLOR_GRAD2, "Du hast dich zum Event telepotiert!");
    GetPlayerName(playerid, sendername, sizeof(sendername)); // Hier suchen wir den Namen der den Befehl ausführt
    format(string, sizeof(string), "%s hat sich zum Event geportet!", sendername); // Hier wird eine Nahricht an die Admins geschickt!
    SendAdminMessage(COLOR_YELLOW, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Es ist kein Event am Laufen!!"); // wenn kein Event Online ist.
    }
    return 1;
    }


    So zu guter letzt kommen wir zu dem Befehl womit man das Event Offline bzw. ausschaltet!
    if(strcmp(cmd, "/eventaus", true ) == 0)
    {
    if (PlayerInfo[playerid][pAdmin] >= 4) // Abfrage ob der jenige Admin level 4 hat
    {


    SendClientMessage(playerid, COLOR_GRAD2, "Event ausgeschaltet");
    EventAktiv = 0; // Schaltet das Event aus!
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Du kannst diesen Befehl nicht nutzen! "); // wenn der jenige das Admin level nicht hat.
    }
    return 1;
    }


    Ist Simple, und ganz einfach.
    Ich weiss es werden einige C&P machen, aber ich kanns nich besser erklären :o
    MfG
    Shooter1995

    Einmal editiert, zuletzt von ♣♣♣Shooter1995♣♣♣ ()

  • Ich weiss, aber ich habe das aus meinem Script genommen, und ich habe nen GF edit ^^ Aber jeder der ein bisschen Scripten kann, weiss wie man das ändert..

  • Cooles tut.
    Kannst du mir pls helfen. Schau mal scripting base und da nach wieso da errors. Wäre dir sehr dankbar

    Flugsystem: ||||||||||


    Navigationssystem: ||||||||||


    [JOB]Trucker: ||||||||||

  • Jo. Find ich eig. ganz gut das Tut, obwohl sowas eig. jeder können muss :)

  • Ja, aber es haben ja viele danach Gefragt. und ich hatte jetzt grad langeweile :)
    danke für die Bewertungen
    bin jetzt offline bb

  • Lass doch mal diese Doppelt Dreifachen Posts!
    Es gibt eine Edit Funktion!


    new Float:EventPosX;
    new Float:EventPosY;
    new Float:EventPosZ;
    new EventAktiv;

    Ganz oben bei den Anderen New`s


    Bei OnPlayerCommandText:
    if(strcmp(cmd, "/markevent", true) == 0)
    {
    if (PlayerInfo[playerid][pAdmin] >= 4) // Abfrage ob der jenige Admin level 4 Hat
    {
    GetPlayerPos(playerid, EventPosX, EventPosY, EventPosZ); // Hier fragen wir die Position ab
    EventAktiv = 1; // Hier schalten wir das Event Online!
    SendClientMessage(playerid, COLOR_RED, "Du hast ein Event an dieser Position gesetzt!");
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du hast keine Berechtigung um ein Event zu Setzen!"); // Hier ist das wenn man Admin level 4 nicht hat!
    }
    return 1;
    }


    if(strcmp(cmd, "/event", true) == 0)
    {
    if(EventAktiv == 1) // hier fragen wir ab ob das Event online ist.
    {new spielername[MAX_PLAYERS_NAME];new string[250];
    SetPlayerPos(playerid, EventPosX, EventPosY, EventPosZ); // hier telepotieren wir den Spieler an die Makierte Position!
    SendClientMessage(playerid, COLOR_GRAD2, "Du hast dich zum Event telepotiert!");
    GetPlayerName(playerid, sendername, sizeof(sendername)); // Hier suchen wir den Namen der den Befehl ausführt
    format(string, sizeof(string), "%s hat sich zum Event geportet!", sendername); // Hier wird eine Nahricht an die Admins geschickt!
    SendAdminMessage(COLOR_YELLOW, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Es ist kein Event am Laufen!!"); // wenn kein Event Online ist.
    }
    return 1;



    }


    if(strcmp(cmd, "/eventaus", true ) == 0)
    {
    if (PlayerInfo[playerid][pAdmin] >= 4) // Abfrage ob der jenige Admin level 4 hat
    {


    SendClientMessage(playerid, COLOR_GRAD2, "Event ausgeschaltet");
    EventAktiv = 0; // Schaltet das Event aus!
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Du kannst diesen Befehl nicht nutzen! "); // wenn der jenige das Admin level nicht hat.
    }
    return 1;
    }


  • jaaa 1000000000000000000000000000000000Dank du bist mein Held
    Vielen dank schönes Wochenende noch.....


    :love: :love:


    //edit::


    danke nochmal
    habs gelcih getestet und habe es so eingefügt wie du aber bekomm 4 Errors





    pls help danke

    Einmal editiert, zuletzt von Felix_L ()

  • auf die idee mus man mal kommen damit ein S der Error sein könnte
    war schon am verzweifeln
    vielen dank teste es gleich einmal
    //edit:
    hab beim compilen 3 warnings bekommen
    aber ingame funkt immer noch nichts
    mit /markevent usw. kommt kein text etc.


    pls help


    PHP
    C:\Dokumente und Einstellungen\Felix\Desktop\Neuer Ordner\xgf.pwn(9783) : warning 219: local variable "string" shadows a variable at a preceding level
    C:\Dokumente und Einstellungen\Felix\Desktop\Neuer Ordner\xgf.pwn(9783) : warning 204: symbol is assigned a value that is never used: "spielername"
    C:\Dokumente und Einstellungen\Felix\Desktop\Neuer Ordner\xgf.pwn(29963) : warning 235: public function lacks forward declaration (symbol "OnPlayerPrivmsg")
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase

    Einmal editiert, zuletzt von Felix_L ()

  • C:\Dokumente und Einstellungen\Felix\Desktop\Neuer Ordner\xgf.pwn(9783) : warning 219: local variable "string" shadows a variable at a preceding level
    C:\Dokumente und Einstellungen\Felix\Desktop\Neuer Ordner\xgf.pwn(9783) : warning 204: symbol is assigned a value that is never used: "spielername"
    C:\Dokumente und Einstellungen\Felix\Desktop\Neuer Ordner\xgf.pwn(29963) : warning 235: public function lacks forward declaration (symbol "OnPlayerPrivmsg")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    Hab mal die errors nakiert wo angeblich warnigs sind