Text kommt 2x!

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
  • Hey :D


    Ich hab grade n bisschen am OnPlayerText gewerkelt , und nun kommt der eingegebene Text 2x!


    public OnPlayerText(playerid, text[])
    {
    if(Muted[playerid]==1)
    {
    SendClientMessage(playerid,Rot,"Du wurdest gemuted und kannst nicht sprechen!");
    return 0;
    }
    new string[128];
    format(string, sizeof(string), "%s: %s", PlayerName(playerid), text);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid, x, y, z);
    if(IsPlayerInRangeOfPoint(i, 100.0, x, y, z))
    {
    SendClientMessage(i, Weiss, string);
    return 1;
    }
    }
    return 0;
    }

  • @MasterTobi, sei einfach still, wenn du dich nicht auskennst...
    InternetInk hat die Lösung bereits gefunden ->
    SendClientMessage(i, Weiss, string);
    return 1;
    zu
    SendClientMessage(i, Weiss, string);

    Einmal editiert, zuletzt von RG_ () aus folgendem Grund: Fail

  • -Unnötiges Zitat-


    hater zwar net gesagt aber egal


    und WTF is bei mir falsch ?!

  • Deine Antwort war die if Abfrage folgendermaßen zu verändern:
    if(IsPlayerInRangeOfPoint(i, 100.0, x, y, z) && i !=playerid)


    Das würde bedeuten das er die auf den Radius bezogene Nachricht nicht bekommt, mit dem return 1 würde dann die normale nachricht zwar global im Chat erscheinen,
    aber das möchte der Threadersteller ja nicht, er will ja einen Radius abhängigen Chat haben.
    Somit muss OnPlayerText mit retun 0 abgebrochen werden und der Spieler muss davor selbst auch die Nachricht bekommen.
    Das macht deine zusätzliche Bedingung unnötig.

  • er returned doch schon 2 ma mit 0



    hm irgendwie war ich grad noch beim muted :D oder hab ihn falsch verstanden

  • public OnPlayerText(playerid, text[])
    {
    if(Muted[playerid]==1)
    {
    SendClientMessage(playerid,Rot,"Du wurdest gemuted und kannst nicht sprechen!");
    return 1;
    }
    new string[128];
    format(string, sizeof(string), "%s: %s", PlayerName(playerid), text);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid, x, y, z);
    if(IsPlayerInRangeOfPoint(i, 100.0, x, y, z))
    {
    SendClientMessage(i, Weiss, string);
    }
    }
    return 0;
    }


    wenn dann sollte es so aussehen