Kill Grund

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 zusammmen,


    wie kann ich das machen das wenn jemand jemanden anderen umbringt das der killer dann einen Grund eingeben muss und der Grund an die Admins gesendet wird?


    Das Script ist ein Selfmade und es wird STRGET und dini(zum Spiechern) verwendet..


    PS: Hatte Probleme mit der Grundangabe mit STRGET.


    mfg Marten

  • Hi Marten_Blue,


    Wie du sicher weißt gibt es den Callback OnPlayerDeath, welcher ausgeführt wird, wenn jemand stirbt.
    Genauer lautet der Callback: OnPlayerDeath(playerid, killerid, reason)


    Ich versuche dir nun zu erklären wie du ungefähr nun vorgehen musst:


    - Spieler A geht zu Spieler B und bringt ihn um
    - Spieler A ist nun killerid, Spieler B ist nun playerid --> Im Callback OnPlayerDeath
    - Nun muss der Killer eine Nachricht an die Admin senden z.B. mit einem Dialog


    Falls es noch Fragen gibt, frag!


    Gruß
    Dominik



    Es wird niemals so viel gelogen wie vor der Wahl, während des Krieges und nach der Jagd.

    - Otto von Bismarck
    -

  • Ich habe noch ne Frage.
    Das was du da erklärt hast wusste ich schon, nur wie mache ich es, dass der Admin die Nachrichten bekommt, inder der Grund steht den der Killer eingeben muss?
    Also der Killer wird gefreezed und es öffnet sich eine Box mit input Text, wo er den Grund eingeben muss. Erst dann wird er entfreezed!
    Dann wird die Nachricht an ALLE Admin´s gesendet die grade online sind und im dienst!
    Wir so definiert:
    if(IsPlayerAnAdmin(playerid,6))
    UND:
    if(duty[playerid] == 0)//oder halt 1 für: wenn er im denst ist
    Würde mich über eine Antwort MIT Erklärung freuen.


    MfG Waoler

  • Also erstmal muss der Killer den Grund eintippen, dies wird dann per Abfrage nach Adminrang und Duty an die Admins gesendet.



    Also wenn ihr Anfänger seit, dann schaut euch einfach Tuts an die in die Richtung gehen.



    lg


    pS

  • Ich weiß auch theoretisch wie das geht, aber wie geht es praktisch?
    Ich habe schon, das dem Killer eine Box aufgeht, und er einen Grund eingeben muss.
    Aber wie mache ich es jetzt bei if(dialogid==killer)
    {
    //HIER
    return 1;
    }
    Eine Message mit dem Grund(also dem input) an alle admins gesendet wird, die im moment online sind.
    Das weiß ich nicht so genau.



    EDIT: Habe es so versuch:
    if(dialogid==killer)
    {
    new text[128], killername[32];
    GetPlayerName(playerid, killername,sizeof(killername));
    format(text, sizeof(text), "%s hat einen mord begangen! Grund: %d", killername,strval(inputtext));
    SendClientMessage(playerid,COLOR_GELB,text);
    return 1;
    }
    EDIT2: OK habe das d zu einem %s gemacht, und der Grund wird nicht angezeigt. also bleibt leer hinter dem Grund:
    Und wie mache ich das jetzt das die Message jeder Admin bekommt? Muss man da nciht mit einer For Schleife arbeiten?
    Vielleicht irgendwie so?
    for(new i = 0;i < MAX_PLAYERS;i++)
    {
    if(GetPVarInt(i, "AdminLevel") == 1)
    {
    Aber das kann ja auch nicht sein, weil er ja nur schaut ob jemand ein Admin ist. Naja ich versuche noch ein bisschen herrum.



    MfG Waoler

    2 Mal editiert, zuletzt von Kompressor ()

  • Nicht so viel kopieren, sondern selbst nachdenken:

    if(dialogid==killer)
    {
    new text[128], killername[32];
    GetPlayerName(playerid, killername,sizeof(killername));
    format(text, sizeof(text), "%s hat einen Mord begangen! Grund: %s", killername,inputtext);
    for(new i;i<MAX_PLAYERS;i++)
    if(GetPVarInt(i,"AdminLevel") > 0)
    SendClientMessage(i,COLOR_GELB,text);
    return 1;
    }

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • 1. Danke dafür.
    2. Wie kann ich jetzt auf den Namen vom Opfer zugreifen??
    habe es so:GetPlayerName(???, opfer,sizeof(opfer));
    Weil ich noch möchte das der Name von ihm angezeigt wird. Also ...hat...getötet. Oder so Ähnlich


    MfG Waoler