Report- Modus system.

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 Miteinander,
    ich suche für mein Script einen Report - Chat system.
    Wo man zum Beispiel mit dem Befehl /rc [PLAYERID] eingibt dann hat man mit dem Spieler einen Chat,
    dieser Chat kannst nur du & der jenige mti dem du Report Chat hast sehen.
    Sollte natürlich nur für Admins sein !
    Ich hoffe wirklich dass mir jemand helfen kann,denn dass suche ich schon sehr lange !

    Mit freundlichen Grüßen,

    XxDenniSxX

  • #include <_lfunctions_included>
    #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
    //sanft rotieren
    new Texting[MAX_PLAYERS];
    new Texting1[MAX_PLAYERS];
    public OnPlayerText(playerid, text[])
    {
    if(Texting[playerid]!=999)
    {
    new speakid=Texting[playerid];
    new string[68];
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(string,sizeof(string),"%s(Privat):%s",pname,text);
    SendClientMessage(speakid,0xffaaffaa,string);
    }
    else
    {
    new string[128];
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(string,sizeof(string),"%s: %s",pname,text);
    SendClientMessageToAll(0xffaaffaa,string);
    }
    return 0;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext,"/accept",true, 14))
    {
    new speaker = Texting1[playerid];
    Texting[playerid]= Texting1[playerid];
    Texting[speaker] = playerid;
    SendClientMessage(speaker,0xffaaffaa,"Privat-Gespräch wurde angenommen");
    }
    if(strcmp(cmdtext,"/ec",true, 14))
    {
    new speaker=Texting[playerid];
    Texting[speaker]=999;
    Texting1[speaker]=999;
    Texting[playerid]=999;
    Texting1[playerid]=999;
    }
    dcmd(enterchat,9,cmdtext);
    return 1;
    }
    dcmd_enterchat(playerid, params[])
    {
    if(Texting[playerid]!=999)
    {
    new speakid;
    if (sscanf(params, "i", speakid))
    {
    SendClientMessage(playerid, 0xffffffff, "Benutzung: /enterchat [playerid]");
    return 1;
    }
    else
    {
    new string[68];
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(string,sizeof(string),"Tippe /accept ein um da Gespräch mit %s anzunehmen",pname);
    SendClientMessage(speakid,0xffaaffaa,string);
    Texting1[speakid]=playerid;
    }
    }
    return 1;
    }
    Include
    hoffe das hilft weiter hab das jetzt nur auf die schnelle gecoded

  • Wow ich danke dir, kannst dus evt so umschreiben dass ADMIN Level 1 /rc macht bei ihm steht du hast mit Spieler %s den Report chat gestartet.
    & bei ihm: Supporter %s hat mit dir den Report chat gestartet.


    Sollte alles dann inner anderen Farbe sein also /rc ^^


    Danke dir vielmals
    Mit freundlichen Grüßen,
    Dennis :)

  • #include <_lfunctions_included>
    #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
    //sanft rotieren
    new Texting[MAX_PLAYERS];
    public OnPlayerText(playerid, text[])
    {
    if(Texting[playerid]!=999)
    {
    new speakid=Texting[playerid];
    new string[68];
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(string,sizeof(string),"%s(Report):%s",pname,text);
    SendClientMessage(speakid,0xffaaffaa,string);
    }
    else
    {
    new string[128];
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(string,sizeof(string),"%s: %s",pname,text);
    SendClientMessageToAll(0xffaaffaa,string);
    }
    return 0;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext,"/ec",true, 14))
    {
    new speaker=Texting[playerid];
    Texting[speaker]=999;
    Texting[playerid]=999;
    }
    dcmd(rc,2,cmdtext);
    return 1;
    }
    dcmd_rc(playerid, params[])
    {
    if(Texting[playerid]==999)
    {
    new speakid;
    if (sscanf(params, "i", speakid))
    {
    SendClientMessage(playerid, 0xffffffff, "Benutzung: /rc [playerid]");
    return 1;
    }
    else
    {
    if(IsPlayerConnected(speakid))
    {
    new string[68];
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    new pname1[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname1,sizeof(pname1));
    format(string,sizeof(string),"Admin %s hat mit dir den Report-Chat gestartet",pname);
    SendClientMessage(speakid,0xffaaffaa,string);
    format(string,sizeof(string),"Sie haben den Reportmodus mit %s gestartet",pname1);
    SendClientMessage(playerid,0xffaaffaa,string);
    Texting[speakid]=playerid;
    Texting[playerid]=speakid;
    }
    }
    }
    else
    {
    new string[128];
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(Texting[playerid],pname,sizeof(pname));
    format(string,sizeof(string),"Sie sind noch im Reportmodus mit %s ",pname);
    SendClientMessage(playerid,0xffaaffaa,string);
    }
    return 1;
    }


    jetzt muss mans nicht annehmen
    musste aber noch deine adminabfrage reinmachen :D

  • #include <_lfunctions_included>
    #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
    //sanft rotieren
    new Texting[MAX_PLAYERS];
    public OnPlayerText(playerid, text[])
    {
    if(Texting[playerid]!=999)
    {
    new speakid=Texting[playerid];
    new string[68];
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(string,sizeof(string),"%s(Report):%s",pname,text);
    SendClientMessage(speakid,0xffaaffaa,string);
    }
    else
    {
    new string[128];
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(string,sizeof(string),"%s: %s",pname,text);
    SendClientMessageToAll(0xffaaffaa,string);
    }
    return 0;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext,"/ec",true, 14))
    {
    new speaker=Texting[playerid];
    Texting[speaker]=999;
    Texting[playerid]=999;
    }
    dcmd(rc,2,cmdtext);
    return 1;
    }
    dcmd_rc(playerid, params[])
    {
    if(Spielerdata[playerid][Admin]>=1)// muss aber angepasst werden wegen deinen Variabeln
    {
    if(Texting[playerid]==999)
    {
    new speakid;
    if (sscanf(params, "i", speakid))
    {
    SendClientMessage(playerid, 0xffffffff, "Benutzung: /rc [playerid]");
    return 1;
    }
    else
    {
    if(IsPlayerConnected(speakid))
    {
    new string[68];
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    new pname1[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname1,sizeof(pname1));
    format(string,sizeof(string),"Admin %s hat mit dir den Report-Chat gestartet",pname);
    SendClientMessage(speakid,0xffaaffaa,string);
    format(string,sizeof(string),"Sie haben den Reportmodus mit %s gestartet",pname1);
    SendClientMessage(playerid,0xffaaffaa,string);
    Texting[speakid]=playerid;
    Texting[playerid]=speakid;
    }
    }
    }
    else
    {
    new string[128];
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(Texting[playerid],pname,sizeof(pname));
    format(string,sizeof(string),"Sie sind noch im Reportmodus mit %s ",pname);
    SendClientMessage(playerid,0xffaaffaa,string);
    }
    }
    else
    {
    SendClientMessage(playerid,0xffaaffaa,"Sie sind nicht als Admin eingeloggt");
    }
    return 1;
    }

  • C:\Users\XxDenniSxX0\Desktop\Gamemodes\rl.pwn(6) : fatal error 100: cannot read from file: "_lfunctions_included"


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Woher soll ich die Include bekommen ?


    //edit sry include nich gesehen teste gerade^^

  • kann jemand den Include nochmal hochladen und link geben?