Bereiche und f-Chat

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
  • Hallo


    Wie bekomme ich heraus, wo sich ein Spieler befindet (LS/SF/LV). Also sowas wie IsPlayerInRangeOfPoint(...);


    2. Frage:


    public SendFamilyMessage(color, string[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(SpielerInfo[i][pFraktion] !=0)
    {
    SendClientMessage(i, color, string);
    }
    }
    }
    }
    Was ist an diesem Code verkehrt. Fehler kommt inGame, da alle die Meldung (außer Zivis) bekommen, wenn einer /f [Text] eingibt.


    Gruß Dario

  • MIt
    IsPlayerInArea


    der stock dafür lautet:
    stock IsPlayerInArea(playerid, Float:max_x, Float:min_x, Float:max_y, Float:min_y)
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(X <= max_x && X >= min_x && Y <= max_y && Y >= min_y) return 1;
    return 0;
    }


    Wenn du ein Tool brauchst, womit du die Arenen "bestimmten" kannst meld dich per PN!


  • Wenn ich das so einfüge, kommen bei mir folgende Fehler:



    Kann mir jemand helfen?

  • Was ist denn euer Problem, ist doch ganz einfach:

    public SendFamilyMessage(color, string[],Family)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(SpielerInfo[i][pFraktion] == Family)
    {
    SendClientMessage(i, color, string);
    }
    }
    }
    }

    Verwendung:

    Code
    SendFamilyMessage(Farbe,"Text",pFraktionID);

    Bin weg, Tschau! (Account kann gelöscht werden)


  • Da kommt dann inGame gar nichts, da er pFraktionID nicht kennt (is ja glaub ich über dini oder so) und ich arbeite mit mysql. Wie kann ich das hier umschreiben, damit ich das auch mit mysql benutzen kann.

  • Ja, die Funktion ermöglicht es dir doch auch?


    if(!strcmp(cmdtext, "/f", true, 2)) {
    if(!strlen(cmdtext[2])) return SendClientMessage(playerid, FARBE, "Nutzung: /f [Text]");
    new Name[MAX_PLAYER_NAME],string[128];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    format(string, sizeof (string), "Kollege %s: %s",Name,cmdtext[2]);
    SendFamilyMessage(Farbe, string, SpielerInfo[playerid][pFraktion]);
    }

    Bin weg, Tschau! (Account kann gelöscht werden)

  • Mein 2. Problem konnte gelöst werden. Allerdings hab ich noch keine Ahnung wie ich das mit dem IsPlayerInArea lösen kann.


    Wenn ich das so einfüge, kommen bei mir folgende Fehler:



    Kann mir jemand helfen?