OnPlayerText sendet 2 mal

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 Abend Community,


    ich habe en Problem undzwar wen ich schreibe wird alles 2 mal gesendet:



    public OnPlayerText(playerid, text[])
    {
    new string[258];
    format(string, sizeof(string), "%s sagt: %s", SpielerName(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, 10.0, x, y, z))
    {
    if(GetPlayerScore(playerid) <= 25)
    {
    SendClientMessage(i, Weis, string);
    }


    if(GetPlayerScore(playerid) >= 25)
    {
    SendClientMessage(i, Blau, string);
    }
    }
    }
    return 0;
    }



    Kann mir wer helfen ?


  • public OnPlayerText(playerid, text[])
    {
    new string[258];
    format(string, sizeof(string), "%s sagt: %s", SpielerName(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, 10.0, x, y, z))
    {
    if(GetPlayerScore(playerid) < 25)
    {
    SendClientMessage(i, Weis, string);
    }
    else if(GetPlayerScore(playerid) == 25 || GetPlayerScore(playerid) > 25)
    {
    SendClientMessage(i, Blau, string);
    }
    }
    }
    return 0;
    }


    sollte klappen.


    /e
    Warum benutzt du kein ProxDetector?!

  • Abfragen machen sollte doch gelernt sein, sorry aber bekomme da Augenkrebs...


    public OnPlayerText(playerid, text[])
    {
    new string[258];
    format(string, sizeof(string), "%s sagt: %s", SpielerName(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, 10.0, x, y, z))
    {
    if(GetPlayerScore(playerid) <25) //Hier wird gefragt ob der Score kleiner als 25 ist.
    {
    SendClientMessage(i, Weis, string);
    }


    else if(GetPlayerScore(playerid) >= 25) //Hier wird gefragt ob der Score Größer oder gleich 25 ist.
    {
    SendClientMessage(i, Blau, string);
    }
    }
    }
    return 0;
    }

  • Das hab ich gerade mal getestet und es geht
    public OnPlayerText(playerid, text[])
    {
    new string[258],Float:MiaMiu[3];
    GetPlayerPos(playerid, MiaMiu[0], MiaMiu[1], MiaMiu[2]);
    format(string, sizeof(string), "%s sagt: %s", SpielerName(playerid), text);
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(IsPlayerInRangeOfPoint(i, 10.0, MiaMiu[0], MiaMiu[1], MiaMiu[2]))
    if(GetPlayerScore(playerid) < 25)
    SendClientMessage(i, Weis, string);
    else
    SendClientMessage(i, Blau, string);
    return 0;
    }

    All in all it's just another brick in the wall


  • Nen return in ner Schleife?

  • was hat return 0 unten zu suchen :pinch:


    public OnPlayerText(playerid, text[])
    {
    new string[258],Float:MiaMiu[3];
    GetPlayerPos(playerid, MiaMiu[0], MiaMiu[1], MiaMiu[2]);
    format(string, sizeof(string), "%s sagt: %s", SpielerName(playerid), text);
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(IsPlayerInRangeOfPoint(i, 10.0, MiaMiu[0], MiaMiu[1], MiaMiu[2]))
    if(GetPlayerScore(playerid) < 25)
    return SendClientMessage(i, Weis, string) & 0;
    else
    return SendClientMessage(i, Blau, string) & 0;
    return 1;
    }
    is klar das er dann nix wieder gibt und es wieder zurück schlägt

  • OnPlayerText return 0!


    Du hast den Meister Titel aber schreibst noch unsinn..


    das ist richtig
    public OnPlayerText(playerid, text[])
    {
    new string[258],Float:MiaMiu[3];
    GetPlayerPos(playerid, MiaMiu[0], MiaMiu[1], MiaMiu[2]);
    format(string, sizeof(string), "%s sagt: %s", SpielerName(playerid), text);
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(IsPlayerInRangeOfPoint(i, 10.0, MiaMiu[0], MiaMiu[1], MiaMiu[2]))
    if(GetPlayerScore(playerid) < 25)
    SendClientMessage(i, Weis, string);
    else
    SendClientMessage(i, Blau, string);
    return 0;
    }

    All in all it's just another brick in the wall