OOC Chat Script

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
  • hi.


    ich möchte gerne aus dem OOC chat ein Adminbeantwortungschat (kA wie man es nennen soll) machen.
    Nur die Admins können dann /o machen aber es kommt dann: (( Admin: der test der er sagt ))
    Wie würde sowas gehen?
    vielen dank im vorraus


    LG
    ronnysusi

  • Also bisher ist doch fast im jeden server der OOC chat für alle.
    Aber er sollte in meinem server nur für die Admins sein.
    aber alle sollten es lesen können.
    schreiben nur die admins.
    Wenn ein Admin /o macht ,kommt dann eine nachricht zu alle user: (( Admin: (hier steht der text was der admin nach /o eingegeben hatte ))

  • //----------------------------------[ooc]-----------------------------------------------
    if(strcmp(cmd, "/ooc", true) == 0 || strcmp(cmd, "/o", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist noch nicht Eingeloggt !");
    return 1;
    }
    if (PlayerInfo[playerid][pAdmin] < 1)
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Der OOC channel wurde von einem Admin ausgeschaltet !");
    return 1;
    }
    if(PlayerInfo[playerid][pMuted] == 1)
    {
    SendClientMessage(playerid, TEAM_CYAN_COLOR, " Du kannst nicht sprechen, du bist gemutet !");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: (/o)oc [ooc chat]");
    return 1;
    }
    format(string, sizeof(string), "(( %s: %s ))", sendername, result);
    OOCOff(COLOR_OOC,string);
    printf("%s", string);
    }
    return 1;
    }



    Versuchs damit ;)eig sollten dann nur Admins schreiben können ich habs so in meinem Script und es geht :thumbup:
    Mfg [WeeD]

    Einmal editiert, zuletzt von [WeeD] ()

  • if(!strcmp(cmdtext,"/ooc ",true,5)||!strcmp(cmdtext,"/o ",true,3))
    {
    if(PlayerInfo[playerid][pAdmin] == 1 || PlayerInfo[playerid][pAdmin] == 2 || PlayerInfo[playerid][pAdmin] == 3 || PlayerInfo[playerid][pAdmin] == 1337 || PlayerInfo[playerid][pAdmin] == 1338 || PlayerInfo[playerid][pAdmin] == 1339)
    {
    new find = strfind(cmdtext," ",true);
    if(!cmdtext[find+1])return SendClientMessage(playerid, COLOR_YELLOW, "FEHLER: /o [text]");
    new clanchat[256];
    GetPlayerName(playerid,clanchat,sizeof(clanchat));
    format(clanchat,sizeof(clanchat),"(( %s : %s ))", clanchat, cmdtext[find+1]);
    return SendClientMessageToAll(COLOR_WHITE, clanchat);
    }else{
    SendClientMessage (playerid,COLOR_REDA, "Du bist kein Admin!");
    }
    }

  • [WoC] umständlicher geht es nicht ?


    if(PlayerInfo[playerid][pAdmin] == 1 || PlayerInfo[playerid][pAdmin] == 2 || PlayerInfo[playerid][pAdmin] == 3 || PlayerInfo[playerid][pAdmin] == 1337 || PlayerInfo[playerid][pAdmin] == 1338 || PlayerInfo[playerid][pAdmin] == 1339)



    das kann man leicht vereinfachen


    if(PlayerInfo[playerid][pAdmin] != 0)


    oder so
    if(PlayerInfo[playerid][pAdmin] >0)

  • hab es aus meinen script was ich vor 1nen jahr gemacht habe... was erhoffst du xD hast ja recht hatte kb das zu ändern^^

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Sind wir Uri Geller :D ?


    Wir brauchen dann natürlich den Error Code, da wir sonst nicht wissen , was falsch ist.

  • #define COLOR_REDA 0xFF0000FF ganz oben in den script ^^ /edit aso nicht ganz oben neXD zu den defines ^^

  • hey danke hat geklappt.
    Edit: aber es sollte da Admin: stehen. nicht mein name.weis jemand wie das geht?
    noch ne frage?
    wie mache ich wenn jemand gekickt wird,dass ne nachricht an alle Spieler kommt?
    Also z.B AdmCmd: Test123 was kicked by an Admin,reason: xD
    oder das gleiche mit dem ban.


    tut mir leid mit den vielen fragen^^.


    LG

    Einmal editiert, zuletzt von KingMS ()

  • OOOC!


    if(!strcmp(cmdtext,"/ooc ",true,5)||!strcmp(cmdtext,"/o ",true,3))
    {
    if(PlayerInfo[playerid][pAdmin] == 1 || PlayerInfo[playerid][pAdmin] == 2 || PlayerInfo[playerid][pAdmin] == 3 || PlayerInfo[playerid][pAdmin] == 1337 || PlayerInfo[playerid][pAdmin] == 1338 || PlayerInfo[playerid][pAdmin] == 1339)
    {
    new find = strfind(cmdtext," ",true);
    if(!cmdtext[find+1])return SendClientMessage(playerid, COLOR_YELLOW, "FEHLER: /o [text]");
    new clanchat[256];
    GetPlayerName(playerid,clanchat,sizeof(clanchat));
    format(clanchat,sizeof(clanchat),"(( Admin : %s ))", cmdtext[find+1]);
    return SendClientMessageToAll(COLOR_WHITE, clanchat);
    }else{
    SendClientMessage (playerid,COLOR_REDA, "Du bist kein Admin!");
    }
    }


    /kick


    if(strcmp(cmd, "/kick", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /kick [playerid] [Grund]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /kick [playerid] [Grund]");
    return 1;
    }
    if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Du kannst diesen Spieler nicht kicken, da er ein höheres Adminlevel hat als du!");
    return 1;
    }
    new year, month,day;
    getdate(year, month, day);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
    KickLog(string);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    Kick(giveplayerid);
    return 1;
    }
    }
    }
    else
    {
    format(string, sizeof(string), "%d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }


    /ban


    if(strcmp(cmd, "/ban", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /ban [ID] [grund]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 4)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /ban [ID] [grund]");
    return 1;
    }
    new year, month,day;
    getdate(year, month, day);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gebannt, Grund: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
    BanLog(string);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gebannt, Grund: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    PlayerInfo[giveplayerid][pAdmin] = PlayerInfo[giveplayerid][pLevel];
    PlayerInfo[giveplayerid][pLevel] = -999;
    Ban(giveplayerid);
    return 1;
    }
    }//not connected
    }
    else
    {
    format(string, sizeof(string), "%d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }

  • format(string, sizeof(string), "(( %s: %s ))", sendername, result);



    Zu

    format(string, sizeof(string), "(( Admin: %s ))", result);


    Ban:
    format(string, sizeof(string), "(( %s hat %s gebannt. Grund: %s ))", AdminNAME, BannedNAME,Grund);

  • Wenn du mit "DCMD" arbeitest,versuchs mal so:


    dcmd_ooc(playerid,params[])
    {
    new otest[256];
    if(sscanf(params, "s", otext))
    {
    return SendClientMessage(playerid,COLOR_RED,"Benutzung: /o(oc) [Text]");
    }
    if(!IsPlayerAdmin(playerid))
    {
    return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
    }
    else
    {
    new ostring[256];
    new aname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, aname, sizeof(aname));
    format(ostring, sizeof(ostring), "((%s: %s))", aname, otext);
    SendClientMessageToAll(COLOR_WHITE,ostring);
    }
    return 1;
    }


    Hoffe ich konnte helfen.


    Lg
    Hardcore

  • Hi.


    ich habe wieder gerade ein anderes problem mit errors:


    C:\Users\Marcel\Desktop\germanrealliferoleplayscript_v1.0.pwn(26208) : error 055: start of function body without function header
    C:\Users\Marcel\Desktop\germanrealliferoleplayscript_v1.0.pwn(26209) : error 010: invalid function or declaration
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    was muss ich machen dass sie weg sind?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen