Fraktionschat funktioniert nicht

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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 einen Fraktionschat in Planung, der für jede Fraktion unabhängig voneinander mit dem Befehl /f funtkioniert.
    Dabei soll an jeden, der in der gleichen Fratkion ist wie der Spieler selbst, diese Nachricht erhalten.
    Nur so wie ich es gemacht habe funktioniert es wohl nicht:


    ocmd:f(playerid,params[])
    {
    new text[450],string[128];
    if(GetPVarInt(playerid,"Fraktion")==0)return SendClientMessage(playerid,ROT,"Du bist in keiner gültigen Fraktion");
    if(sscanf(params,"s",text))return SendClientMessage(playerid,ROT,"Nutze /f [Text]");
    format(string,sizeof(string),"( %s Rang %i: %s )",Spielername(playerid),GetPVarInt(playerid,"Rang"),text);
    for(new i; i<MAX_PLAYERS; i++)
    {
    if(GetPVarInt(playerid,"Fratkion")==1)
    {
    if(GetPVarInt(i,"Fraktion")==1)
    {
    SendClientMessage(i,0xFF00E1FF,string);
    }
    }
    if(GetPVarInt(playerid,"Fratkion")==2)
    {
    if(GetPVarInt(i,"Fraktion")==2)
    {
    SendClientMessage(i,0xFF00E1FF,string);
    }
    }
    if(GetPVarInt(playerid,"Fratkion")==3)
    {
    if(GetPVarInt(i,"Fraktion")==3)
    {
    SendClientMessage(i,0xFF00E1FF,string);
    }
    }
    if(GetPVarInt(playerid,"Fratkion")==4)
    {
    if(GetPVarInt(i,"Fraktion")==4)
    {
    SendClientMessage(i,0xFF00E1FF,string);
    }
    }
    if(GetPVarInt(playerid,"Fratkion")==5)
    {
    if(GetPVarInt(i,"Fraktion")==5)
    {
    SendClientMessage(i,0xFF00E1FF,string);
    }
    }
    }
    return 1;
    }


    Was genau muss ich verändern?

    Einmal editiert, zuletzt von Ketchup ()

  • frag ob die beiden in der gleichen frak sind

    ocmd:f(playerid,params[])
    {
    new text[450],string[128];
    if(GetPVarInt(playerid,"Fraktion")==0)return SendClientMessage(playerid,ROT,"Du bist in keiner gültigen Fraktion");
    if(sscanf(params,"s",text))return SendClientMessage(playerid,ROT,"Nutze /f [Text]");
    format(string,sizeof(string),"( %s Rang %i: %s )",Spielername(playerid),GetPVarInt(playerid,"Rang"),text);
    for(new i; i<MAX_PLAYERS; i++)if(GetPVarInt(playerid,"Fratkion")==GetPVarInt(i,"Fraktion"))SendClientMessage(i,0xFF00E1FF,string);
    return 1;
    }


    MFG Piet

  • ocmd:f(playerid,params[])
    {
    new text[128];
    if(istSpielerFraktion(playerid,1))return SendClientMessage(playerid,ROT,"[ERROR] Du bist in keiner Fraktion!");
    if(sscanf(params,"s",text))return SendClientMessage(playerid,ROT,"[ERROR] Eingeben: /f [Text]");
    format(text,sizeof(text),"Mitglied %s: %s",SpielerName(playerid),text);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(istSpielerFraktion(i,GetPVarInt(playerid,"Fraktion")))
    {
    SendClientMessage(i,BLAU,text);
    }
    }
    }
    return 1;
    }