[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • @The Sensei


    Das bedeutet, dass deine Spaltenanzahl nicht der Anzahl deiner Werte entspricht. Du gibst 16 Spalten an, aber lediglich 14 Parameter für Werte.


    Der andere Fehler ist, dass du wahrscheinlich einen Array sprengst.


    Beispiel:
    Dein Array: array[5]


    Du kannst also auf den Index 0-4 zu greifen. Möchtest du nun beispielsweise auf den Index 6 zu greifen, sprengst du den Array. Solche Fehler können dir aber auch durch die Verwendung von crashdetect gezeigt werden

  • Max_Frak ist definiert mit 20.
    Ist das so falsch?

  • Hey habe ein kleines bis großes Problem....
    Meine Errors:
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(2073) : error 035: argument type mismatch (argument 3)
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(2104) : error 035: argument type mismatch (argument 3)
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3085) : error 017: undefined symbol "cache_get_data"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3090) : error 017: undefined symbol "cache_get_field_content_int"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3091) : error 017: undefined symbol "cache_get_field_content_int"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3092) : error 017: undefined symbol "cache_get_field_content_Float"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3093) : error 017: undefined symbol "cache_get_field_content_Float"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3094) : error 017: undefined symbol "cache_get_field_content_Float"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3095) : error 017: undefined symbol "cache_get_field_content_Float"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3096) : error 017: undefined symbol "cache_get_field_content_int"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3084) : warning 203: symbol is never used: "num_fields"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3103) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    Meine Codes mit den Fehlern direkt markiert:


    public carSavedToDB(carid)
    {
    cInfo[carid][db_id]=cache_insert_id(handle);//3103
    return 1;
    }


    public OnPlayerCarsLoad(playerid)
    {
    new num_fields,num_rows; //3085
    cache_get_data(num_rows,num_fields,dbhandle);//3086
    if(!num_rows)return 1;
    for(new i=0; i<num_rows; i++)
    {
    new id=getFreeCarID();
    cInfo[id][model]=cache_get_field_content_int(i,"model",dbhandle);//3090
    cInfo[id][besitzer]=cache_get_field_content_int(i,"besitzer",dbhandle);//3091
    cInfo[id][c_x]=cache_get_field_content_Float(i,"x",dbhandle);//3092
    cInfo[id][c_y]=cache_get_field_content_Float(i,"y",dbhandle);//3093
    cInfo[id][c_z]=cache_get_field_content_Float(i,"z",dbhandle);//3094
    cInfo[id][c_r]=cache_get_field_content_Float(i,"r",dbhandle);//3095
    cInfo[id][db_id]=cache_get_field_content_int(i,"id",dbhandle);//3096
    CreateVehicle(cInfo[id][model],cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z],cInfo[id][c_r],-1,-1,-1);
    }
    return 1;
    }


    loadPlayerCars(playerid)
    {
    new query[128];
    format(query,sizeof(query),"SELECT * FROM autos WHERE besitzer='%i'",PlayerInfo[playerid][p_id]);
    mysql_pquery(handle, query,true,"OnPlayerCarsLoad","i",playerid);//2073
    return 1;
    }


    saveCarToDB(playerid,carid)
    {
    new query[256];
    format(query,sizeof(query),"INSERT INTO autos (besitzer,model,x,y,z,r) VALUES ('%i','%i','%f','%f','%f','%f')",PlayerInfo[playerid][p_id],cInfo[carid][model],cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z],cInfo[carid][c_r]);mysql_query(handle,query);
    mysql_pquery(handle, query,true,"carSavedToDB","i",carid);//2105
    return 1;
    }



    Sollte ich etwas vergessen haben einfach bescheid sagen ist mir grad ein wenig viel :D


  • Max_Frak ist definiert mit 20.Ist das so falsch?

    Mein Enum sieht so aus:
    #define MAX_FRAC 20enum fraktEnum{fid,f_name[256],f_shortname[64],Float:f_x,Float:f_y,Float:f_z,Float:f_r,f_inter,f_world,f_typ,f_cop,f_leaderskin,f_kasse,f_mats,f_drogen,f_color[64]}new fInfo[MAX_FRAC][fraktEnum];




    Welche MySQL Version besitzt du?

  • Er gibt das aus bei MySQL: #1136 - Column count doesn't match value count at row 1

    format(query, sizeof(query), "INSERT INTO Fractions (FID, Name, Shortname, X, Y, Z, R, Inter, World, Typ, Cop, Leaderskin, Kasse, Mats, Drogen, Color) VALUES ('%d', '%s', '%s', '%f', '%f', '%f', '%f', '%d', '%d', '%d', '%d', '%d', '%d', '%s')
    zu:
    format(query, sizeof(query), "INSERT INTO Fractions (FID, Name, Shortname, X, Y, Z, R, Inter, World, Typ, Cop, Leaderskin, Kasse, Mats, Drogen, Color) VALUES ('%d', '%s', '%s', '%f', '%f', '%f', '%f', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%s')
    Es haben zwei "%d" gefehlt.



    solange ab bis MAX_FRAC erreicht wurde. Kann es daran liegen?

    Das liegt am fehlenden return 1 in der Schleife und der fehlenden Abfrage, ob die Fraktion bereits existiert.


    So sieht der Befehl dann aus:
    ocmd:cfraktion(playerid, params[])
    {
    new fname[256],query[512],fshortname[64],string[256],skinid,typ,cop,farbcode[64];
    if(!isPlayerAnAdmin(playerid,4))return SCM(playerid, ERROR_FARBE, ERROR_ADMIN);
    if(sscanf(params,"ssddds",fname,fshortname,typ,cop,skinid,farbcode))return SCM(playerid, -1, "Tippe: /cfraktion [name] [abkürzung] [typ 0=Neutral 1=Staat] [cop 0=Nein 1=Ja] [leaderskin-id] [farbcode(HTML)]");
    for(new i=0; i<MAX_FRAC; i++)
    {
    if(strlen(fInfo[i][f_name])) continue; //Fraktion existiert bereits
    new Float:x, Float:y, Float:z, Float:r, interior, virtualworld;
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, r);
    interior = GetPlayerInterior(playerid);
    virtualworld = GetPlayerVirtualWorld(playerid);
    fInfo[i][fid] = i;
    format(fInfo[i][f_name],256,fname);
    format(fInfo[i][f_shortname],16,fshortname);
    fInfo[i][f_x] = x;
    fInfo[i][f_y] = y;
    fInfo[i][f_z] = z;
    fInfo[i][f_r] = r;
    fInfo[i][f_inter] = interior;
    fInfo[i][f_world] = virtualworld;
    fInfo[i][f_typ] = typ;
    fInfo[i][f_cop] = cop;
    fInfo[i][f_leaderskin] = skinid;
    fInfo[i][f_kasse] = 0;
    fInfo[i][f_mats] = 0;
    fInfo[i][f_drogen] = 0;
    format(fInfo[i][f_color],56,farbcode);
    format(query, sizeof(query), "INSERT INTO Fractions (FID, Name, Shortname, X, Y, Z, R, Inter, World, Typ, Cop, Leaderskin, Kasse, Mats, Drogen, Color) VALUES ('%d', '%s', '%s', '%f', '%f', '%f', '%f', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%s')",
    i, fInfo[i][f_name], fInfo[i][f_shortname], fInfo[i][f_x], fInfo[i][f_y], fInfo[i][f_z], fInfo[i][f_r], fInfo[i][f_inter], fInfo[i][f_world], fInfo[i][f_typ], fInfo[i][f_cop], fInfo[i][f_leaderskin], fInfo[i][f_kasse], fInfo[i][f_mats], fInfo[i][f_drogen], fInfo[i][f_color]);
    mysql_tquery(handle, query);
    format(string,sizeof(string), "Du hast erfolgreich die Fraktion %s(F-ID: %d) erstellt.", fname, i);
    SCM(playerid, BABYBLAU, string);
    return 1;
    }
    return 1;
    }

  • Wie funktioniert das, dass ich bei cfraktion Leerzeichen bei [Namen] machen kann?
    also z.B. "/cfraktion San Andreas Medical Department SAMD 1 0 128 -1"






    @The Sensei Ich müsste die Version R41 benutzen wenn mich nicht alles täuscht ^^

    Die Funktionen heißen so.
    cache_get_value_name_int(i, "FID", fInfo[i][fid]);
    cache_get_value_name(i, "Name", fInfo[i][f_name], 256);
    cache_get_value_name(i, "Shortname", fInfo[i][f_shortname], 64);
    cache_get_value_name_float(i, "X", fInfo[i][f_x]);
    cache_get_value_name_float(i, "Y", fInfo[i][f_y]);
    cache_get_value_name_float(i, "Z", fInfo[i][f_z]);
    cache_get_value_name_float(i, "R", fInfo[i][f_r]);
    cache_get_value_name_int(i, "Inter", fInfo[i][f_inter]);
    cache_get_value_name_int(i, "World", fInfo[i][f_world]);
    cache_get_value_name_int(i, "Typ", fInfo[i][f_typ]);
    cache_get_value_name_int(i, "Cop", fInfo[i][f_cop]);
    cache_get_value_name_int(i, "Leaderskin", fInfo[i][f_leaderskin]);
    cache_get_value_name_int(i, "Kasse", fInfo[i][f_kasse]);
    cache_get_value_name_int(i, "Mats", fInfo[i][f_mats]);
    cache_get_value_name_int(i, "Drogen", fInfo[i][f_drogen]);
    cache_get_value_name(i, "Color", fInfo[i][f_color], 64);

  • Das geht nur, wenn du den Name ganz am Ende hin schreibst. Sonst weiß sscanf ja nicht, wann es zum nächsten Parameter gehen soll.

    Hast du nen Plan warum bei mir immer /f [nachricht] kommt?
    ocmd@2:f,familie(playerid,params[])
    {
    if(isPlayerInFrakt(playerid, 0))return SCM(playerid, ERROR_FARBE, ERROR_FRAKTION);
    new string[256];
    if(sscanf(params, "s[256]", string))return SCM(playerid, -1, "Tippe: /f [nachricht]");
    new fID = PlayerInfo[playerid][pF_id];
    new fRang = PlayerInfo[playerid][pF_rank];
    format(string,sizeof(string),"**((%s %s: %s ))**",rInfo[fID][fRang],NamePlayer(playerid), string);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(!isPlayerInFrakt(i, fID))continue;
    SCM(i, BABYBLAU, string);
    }
    return 1;
    }


  • @The Sensei


    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(2074) : error 035: argument type mismatch (argument 3)
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(2105) : error 035: argument type mismatch (argument 3)
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3086) : error 017: undefined symbol "cache_get_data"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3091) : error 017: undefined symbol "dbhandle"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3092) : error 017: undefined symbol "dbhandle"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3093) : error 017: undefined symbol "dbhandle"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3094) : error 017: undefined symbol "dbhandle"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3095) : error 017: undefined symbol "dbhandle"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3096) : error 017: undefined symbol "dbhandle"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3097) : error 017: undefined symbol "dbhandle"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3085) : warning 203: symbol is never used: "num_fields"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3105) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    10 Errors.


    public OnPlayerCarsLoad(playerid)
    {
    new num_fields,num_rows; //3085
    cache_get_data(num_rows,num_fields,dbhandle);//3086
    if(!num_rows)return 1;
    for(new i=0; i<num_rows; i++)
    {


    saveCarToDB(playerid,carid)
    {
    new query[256];
    format(query,sizeof(query),"INSERT INTO autos (besitzer,model,x,y,z,r) VALUES ('%i','%i','%f','%f','%f','%f')",PlayerInfo[playerid][p_id],cInfo[carid][model],cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z],cInfo[carid][c_r]);mysql_query(handle,query);
    mysql_pquery(handle, query,true,"carSavedToDB","i",carid);//2105
    return 1;
    }

  • dbhandle zu handle

  • Das meiste handelt sich immer noch um die selben zeilen nur das ich jetzt dbhandle zu handle geändert....


    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(2074) : error 035: argument type mismatch (argument 3)
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(2105) : error 035: argument type mismatch (argument 3)
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3086) : error 017: undefined symbol "cache_get_data"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3091) : warning 213: tag mismatch
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3092) : warning 213: tag mismatch
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3093) : warning 213: tag mismatch
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3094) : warning 213: tag mismatch
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3095) : warning 213: tag mismatch
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3096) : warning 213: tag mismatch
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3097) : warning 213: tag mismatch
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3085) : warning 203: symbol is never used: "num_fields"
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(3105) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.

  • Beitrag von reaL. ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Beitrag von MGPK-1323 ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Beitrag von reaL. ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Hey,
    er speichert nur den ersten Buchstaben von pBan_admin.


    Das Enum:
    enum pDataEnum
    {
    p_id,
    bool:pLoggedIn,
    pName[MAX_PLAYER_NAME],
    pLevel,
    pMoney,
    pKills,
    pDeaths,
    pAdmin,
    pF_id,
    pF_rank,
    pSkin,
    pBanned,
    pBan_reason[255],
    pBan_admin[MAX_PLAYER_NAME],
    pBan_date[56],
    pPremium,
    pVIP
    }
    new PlayerInfo[MAX_PLAYERS][pDataEnum];


    Der Befehl:
    ocmd:ban(playerid, params[])
    {
    if(!isPlayerAnAdmin(playerid,2))return SCM(playerid, ERROR_FARBE, ERROR_ADMIN);
    new pID,grund[255],string[1028], query[256], datum[56], Hour, Minute, Second, Year, Month, Day;
    if(sscanf(params,"us",pID,grund))return SCM(playerid, ERROR_FARBE, "Tippe: /ban [spieler] [grund]");
    getdate(Year, Month, Day);
    gettime(Hour, Minute, Second);
    if(PlayerInfo[playerid][pAdmin] < PlayerInfo[pID][pAdmin])return SCM(playerid, ERROR_FARBE, ERROR_ADMIN_BAN);
    format(datum, sizeof(datum), "%02d.%02d.%d - %02d:%02d:%02d", Year, Month, Day, Hour, Minute, Second);
    format(query, sizeof(query), "INSERT INTO Userakte (User, Typ, Date, Reason, Name_From) VALUES ('%s', '%s', '%02d.%02d.%d - %02d:%02d:%02d','%s','%s')", PlayerInfo[pID][pName], TYP_PERM_BAN, Day, Month, Year, Hour, Minute, Second, grund, PlayerInfo[playerid][pName]);
    mysql_tquery(handle, query);
    format(string, sizeof(string), "%s wurde von %s vom Server gebannt. Grund: %s", PlayerInfo[pID][pName],PlayerInfo[playerid][pName],grund);
    SCMA(ERROR_FARBE, string);
    format(string, sizeof(string), "Du wurdest von %s vom Server gebannt. Grund: %s", PlayerInfo[playerid][pName], grund);
    SCM(pID, ERROR_FARBE, string);
    PlayerInfo[playerid][pBanned] = 1;
    PlayerInfo[playerid][pBan_reason] = grund;
    PlayerInfo[playerid][pBan_admin] = NamePlayer(playerid);
    PlayerInfo[playerid][pBan_date] = datum;
    SetTimerEx("DelayedKick", 500, false, "i", pID);
    return 1;
    }
    NamePlayer:
    stock NamePlayer(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }
    Wo es angewand wird:
    forward OnUserLogin(playerid);
    public OnUserLogin(playerid)
    {
    //Query wurde ausgeführt und das Ergebnis im Cache gespeichert
    new rows, string[128];
    cache_get_row_count(rows);
    if(rows == 0)
    {
    //Der Spieler hat ein falsches Passwort eingegeben
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, SERVER_NAME"("SERVER_VERSION")", "Herzlich Willkommen zurück,\nbitte logge Dich nun ein:\n{FF0000}Falsches Passwort!", "Ok", "Abbrechen");
    }
    else
    {
    cache_get_value_name_int(0, "id", PlayerInfo[playerid][p_id]);
    cache_get_value_name_int(0, "level", PlayerInfo[playerid][pLevel]);
    cache_get_value_name_int(0, "money", PlayerInfo[playerid][pMoney]);
    cache_get_value_name_int(0, "kills", PlayerInfo[playerid][pKills]);
    cache_get_value_name_int(0, "deaths", PlayerInfo[playerid][pDeaths]);
    cache_get_value_name_int(0, "admin", PlayerInfo[playerid][pAdmin]);
    cache_get_value_name_int(0, "f_id", PlayerInfo[playerid][pF_id]);
    cache_get_value_name_int(0, "f_rank", PlayerInfo[playerid][pF_rank]);
    cache_get_value_name_int(0, "skin", PlayerInfo[playerid][pSkin]);
    cache_get_value_name_int(0, "banned", PlayerInfo[playerid][pBanned]);
    cache_get_value_name(0, "ban_reason", PlayerInfo[playerid][pBan_reason], 255);
    cache_get_value_name(0, "ban_admin", PlayerInfo[playerid][pBan_admin], 20);
    cache_get_value_name(0, "ban_date", PlayerInfo[playerid][pBan_date], 56);
    cache_get_value_name_int(0, "premium", PlayerInfo[playerid][pPremium]);
    cache_get_value_name_int(0, "vip", PlayerInfo[playerid][pVIP]);
    PlayerInfo[playerid][pLoggedIn] = true;
    if(PlayerInfo[playerid][pBanned] == 1)
    {
    new header[256], mid[512], Year, Month, Day, Hour, Minute, Second;
    getdate(Year, Month, Day);
    gettime(Hour, Minute, Second);
    format(header,sizeof(header), "Account(%s) Permanent Gesperrt", PlayerInfo[playerid][pName]);
    format(mid,sizeof(mid), "Guten Tag,\ndieser Account wurde gesperrt und kann nicht mehr verwendet werden.\nAusführender Admin: %s\nBandatum: %s\nGrund: %s", PlayerInfo[playerid][pBan_admin], PlayerInfo[playerid][pBan_date], PlayerInfo[playerid][pBan_reason]);
    SPD(playerid, DIALOG_BAN_MESSAGEBOX, DIALOG_STYLE_MSGBOX, header, mid,"Bestätigen","");
    SetTimerEx("Banned", 500, false, "i", playerid);
    return 1;
    }
    if(PlayerInfo[playerid][pPremium] == 1) { SCM(playerid, ORANGE, "Du besitzt Premium(Permanent)"); }
    else if(PlayerInfo[playerid][pPremium] == 1 && PlayerInfo[playerid][pVIP] == 1) { SCM(playerid, ORANGE, "Du besitzt V.I.P.(Permanent)"); }
    format(string, sizeof(string), "Willkommen %s", NamePlayer(playerid));
    SCM(playerid, 0x00FF00FF, string);
    GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
    SpawnPlayer(playerid);
    }
    return 1;
    }

  • Gleiches Problem wie beim anderen Befehl:if(sscanf(params, "s[256]", string))return SCM(playerid, -1, "Tippe: /f [nachricht]");
    zu:
    if(sscanf(params, "s", string))return SCM(playerid, -1, "Tippe: /f [nachricht]");

    Immer noch das selbe problem Server: Unknown Command
    ocmd@2:f,familie(playerid,params[])
    {
    if(isPlayerInFrakt(playerid, 0))return SCM(playerid, ERROR_FARBE, ERROR_FRAKTION);
    new string[256];
    if(sscanf(params, "s", string))return SCM(playerid, -1, "Tippe: /f [nachricht]");
    new fID = PlayerInfo[playerid][pF_id];
    new fRang = PlayerInfo[playerid][pF_rank];
    format(string,sizeof(string),"**((%s %s: %s ))**",rInfo[fID][fRang],NamePlayer(playerid), string);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(!isPlayerInFrakt(i, fID))continue;
    SCM(i, BABYBLAU, string);
    }
    return 1;
    }