Farbcodes ins Script einbinden

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
  • Guten Tag,
    ich habe mir das FS worum es sich hier handelt aus dem Netzt gezogen da ich noch ein blutiger Anfänger bin was Sachen Scripting betrifft.
    Nun meine Frage, ich möchte gern das in dem gezeigten FS alle Chatausgaben die der Spieler bekommt so sind wie oben Definiert.


    FS:


    #include <a_samp>
    #include <ocmd>


    #define MAX_ROADBLOCKS 50
    #define blue 0xAA3333AA


    new RB[MAX_ROADBLOCKS];
    new bool:IsRBC[MAX_ROADBLOCKS];


    public OnFilterScriptInit()
    {
    print("\nRoadblock Filterscript by Gredsoft\n");


    for(new i = 0; i < MAX_ROADBLOCKS; i++)
    {
    IsRBC[i] = false;
    DestroyObject(RB[i]);
    }


    return 1;
    }


    public OnFilterScriptExit()
    {
    for(new i = 0; i < MAX_ROADBLOCKS; i++)
    {
    IsRBC[i] = false;
    DestroyObject(RB[i]);
    }
    }


    ocmd:ssc(playerid,params[])
    {
    new skin;
    skin = GetPlayerSkin(playerid);
    if(skin < 280 || skin > 288)return SendClientMessage(playerid,-1,"Du bist kein Polizist!");


    new Float:x,Float:y,Float:z,Float:a;


    GetPlayerPos(playerid,x,y,z);
    GetPlayerFacingAngle(playerid,a);


    for(new i = 0; i < MAX_ROADBLOCKS; i++)
    {
    if(!IsRBC[i]) {
    IsRBC[i] = true;
    RB[i] = CreateObject(978,x,y,z - 0.6,0.0,0.0,a -180.0);
    for(new i2 = 0; i2 < MAX_PLAYERS; i2++)
    {
    new iskin;
    iskin = GetPlayerSkin(i2);
    if(iskin > 279 && iskin < 289){
    new str[128];
    format(str,sizeof(str),"[HQ] Polizist %s hat eine Straßensperre aufgestellt!",ReturnPlayerName(playerid));
    SendClientMessage(i2,-1,str);
    }
    }
    return 1;
    }
    }
    SendClientMessage(playerid,-1,"[HQ] Es können keine weiteren Straßensperren mehr aufgestellt werden.");
    SendClientMessage(playerid,-1,"[HQ] Möglichkeiten: /ssa | /ssd (Nummer)");
    return 1;
    }
    ocmd:ssd(playerid,params[])
    {
    new skin;
    skin = GetPlayerSkin(playerid);
    if(skin < 280 || skin > 288)return SendClientMessage(playerid,-1,"[HQ] Du bist kein Polizist!");


    new rbid;


    if(sscanf(params,"i",rbid))return SendClientMessage(playerid,-1,"[HQ] Benutzung: /ssd <ID>");
    if(!IsRBC[rbid])return SendClientMessage(playerid,-1,"[HQ] Es existiert keine Straßensperre unter dieser ID.");
    DestroyObject(RB[rbid]);
    IsRBC[rbid] = false;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new iskin;
    iskin = GetPlayerSkin(i);
    if(iskin > 279 && iskin < 289){
    new str[128];
    format(str,sizeof(str),"[HQ] Polizist %s hat die Straßensperre mit der ID %i entfernt!",ReturnPlayerName(playerid),rbid);
    SendClientMessage(i,-1,str);
    }
    }
    return 1;
    }
    ocmd:ssa(playerid,params[])
    {
    new skin;
    skin = GetPlayerSkin(playerid);
    if(skin < 280 || skin > 288)return SendClientMessage(playerid,-1,"[HQ] Du bist kein Polizist!");


    for(new i = 0; i < MAX_ROADBLOCKS; i++)
    {
    IsRBC[i] = false;
    DestroyObject(RB[i]);
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new iskin;
    iskin = GetPlayerSkin(i);
    if(iskin > 279 && iskin < 289){
    new str[128];
    format(str,sizeof(str),"[HQ] Polizist %s hat alle Straßensperren entfernt!",ReturnPlayerName(playerid));
    SendClientMessage(i,-1,str);
    }
    }
    return 1;
    }


    stock ReturnPlayerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    stock sscanf(string[], format[], {Float,_}:...)
    {
    #if defined isnull
    if (isnull(string))
    #else
    if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
    #endif
    {
    return format[0];
    }
    #pragma tabsize 4
    new
    formatPos = 0,
    stringPos = 0,
    paramPos = 2,
    paramCount = numargs(),
    delim = ' ';
    while (string[stringPos] && string[stringPos] <= ' ')
    {
    stringPos++;
    }
    while (paramPos < paramCount && string[stringPos])
    {
    switch (format[formatPos++])
    {
    case '\0':
    {
    return 0;
    }
    case 'i', 'd':
    {
    new
    neg = 1,
    num = 0,
    ch = string[stringPos];
    if (ch == '-')
    {
    neg = -1;
    ch = string[++stringPos];
    }
    do
    {
    stringPos++;
    if ('0' <= ch <= '9')
    {
    num = (num * 10) + (ch - '0');
    }
    else
    {
    return -1;
    }
    }
    while ((ch = string[stringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num * neg);
    }
    case 'h', 'x':
    {
    new
    num = 0,
    ch = string[stringPos];
    do
    {
    stringPos++;
    switch (ch)
    {
    case 'x', 'X':
    {
    num = 0;
    continue;
    }
    case '0' .. '9':
    {
    num = (num << 4) | (ch - '0');
    }
    case 'a' .. 'f':
    {
    num = (num << 4) | (ch - ('a' - 10));
    }
    case 'A' .. 'F':
    {
    num = (num << 4) | (ch - ('A' - 10));
    }
    default:
    {
    return -1;
    }
    }
    }
    while ((ch = string[stringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num);
    }
    case 'c':
    {
    setarg(paramPos, 0, string[stringPos++]);
    }
    case 'f':
    {


    new changestr[16], changepos = 0, strpos = stringPos;
    while(changepos < 16 && string[strpos] && string[strpos] != delim)
    {
    changestr[changepos++] = string[strpos++];
    }
    changestr[changepos] = '\0';
    setarg(paramPos,0,_:floatstr(changestr));
    }
    case 'p':
    {
    delim = format[formatPos++];
    continue;
    }
    case '\'':
    {
    new
    end = formatPos - 1,
    ch;
    while ((ch = format[++end]) && ch != '\'') {}
    if (!ch)
    {
    return -1;
    }
    format[end] = '\0';
    if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
    {
    if (format[end + 1])
    {
    return -1;
    }
    return 0;
    }
    format[end] = '\'';
    stringPos = ch + (end - formatPos);
    formatPos = end + 1;
    }
    case 'u':
    {
    new
    end = stringPos - 1,
    id = 0,
    bool:num = true,
    ch;
    while ((ch = string[++end]) && ch != delim)
    {
    if (num)
    {
    if ('0' <= ch <= '9')
    {
    id = (id * 10) + (ch - '0');
    }
    else
    {
    num = false;
    }
    }
    }
    if (num && IsPlayerConnected(id))
    {
    setarg(paramPos, 0, id);
    }
    else
    {
    #if !defined foreach
    #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
    #define __SSCANF_FOREACH__
    #endif
    string[end] = '\0';
    num = false;
    new
    name[MAX_PLAYER_NAME];
    id = end - stringPos;
    foreach (Player, playerid)
    {
    GetPlayerName(playerid, name, sizeof (name));
    if (!strcmp(name, string[stringPos], true, id))
    {
    setarg(paramPos, 0, playerid);
    num = true;
    break;
    }
    }
    if (!num)
    {
    setarg(paramPos, 0, INVALID_PLAYER_ID);
    }
    string[end] = ch;
    #if defined __SSCANF_FOREACH__
    #undef foreach
    #undef __SSCANF_FOREACH__
    #endif
    }
    stringPos = end;
    }
    case 's', 'z':
    {
    new
    i = 0,
    ch;
    if (format[formatPos])
    {
    while ((ch = string[stringPos++]) && ch != delim)
    {
    setarg(paramPos, i++, ch);
    }
    if (!i)
    {
    return -1;
    }
    }
    else
    {
    while ((ch = string[stringPos++]))
    {
    setarg(paramPos, i++, ch);
    }
    }
    stringPos--;
    setarg(paramPos, i, '\0');
    }
    default:
    {
    continue;
    }
    }
    while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
    {
    stringPos++;
    }
    while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
    {
    stringPos++;
    }
    paramPos++;
    }
    do
    {
    if ((delim = format[formatPos++]) > ' ')
    {
    if (delim == '\'')
    {
    while ((delim = format[formatPos++]) && delim != '\'') {}
    }
    else if (delim != 'z')
    {
    return delim;
    }
    }
    }
    while (delim > ' ');
    return 0;
    }