Verschiende Fragen zu meinem Gamemode

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,
    ich habe mal ein paar fragen:


    1. Wie bekomme es ich hin, dass z.B. wenn ich im Chat:


    statt


    IG-Name: test


    IG-Name sagt: test


    steht.



    2. Wie bekomme ich es hin das die User keine Showmes mehr haben (Auf der Map)


    3. Wie könnte man den Haupt-Chat per Command deaktivieren?

  • Hallo Stiletti,


    Zu deiner 1. Frage:


    das mit dem "IG-Name sagt: test" bekommst du auch so hin:


    Oben definieren:

    new normalchat = 1;


    Unter OnPlayerText oder OnPlayerCommando wo du deine Befehle eingibst:

    public OnPlayerText(playerid, text[])
    {
    if (normalchat)
    {
    if(IstSpielerEingeloggt[playerid] == 0) //Abfragen ob er eingeloggt ist
    {
    return 0;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s sagt: %s", sendername, text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    return 0;
    }
    return 1;
    }


    Zu deiner 2. Frage:


    dies fügst du unter GameModeInit ein:

    ShowPlayerMarkers(0);


    Und zu deiner 3. Frage:


    Diese findest du auch hier erklärt: Globaler Chat

  • Vielen dank!
    doch ich habe zuvor noch eine Frage:


    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);


    was muss ich da hinschreiben? oder muss ich es so lassen?

  • public OnPlayerText(playerid, text[])
    {
    if (normalchat)
    {
    if(IstSpielerEingeloggt[playerid] == 0) //Abfragen ob er eingeloggt ist
    {
    return 0;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s sagt: %s", sendername, text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    return 0;
    }
    return 1;
    }




    Undefinierte Funktionen:
    - GetPlayerName (Habe ich bereits umgewandelt)
    - sendername
    - normalchat

  • danke soweit erstmal, doch leider bekomme ich immer noch 4 Fehlermeldungen:


    C:\Users\***\Desktop\FreeRoam\gamemodes\Free.pwn(851) : error 003: declaration of a local variable must appear in a compound block
    C:\Users\***\Desktop\FreeRoam\gamemodes\Free.pwn(851) : error 017: undefined symbol "string"
    C:\Users\***\Desktop\FreeRoam\gamemodes\Free.pwn(851) : warning 215: expression has no effect
    C:\Users\***\Desktop\FreeRoam\gamemodes\Free.pwn(851) : error 001: expected token: ";", but found "]"
    C:\Users\***\Desktop\FreeRoam\gamemodes\Free.pwn(851) : fatal error 107: too many error messages on one line



    Soweit habe ich es jetzt:
    public OnPlayerText(playerid, text[])
    {
    if (normalchat)
    {
    if(GetPVarInt(playerid,"Mute")== 1)
    {
    SendClientMessage(playerid,hrot,"* Du bist derzeit im Localen-Chat gemutet");
    return 0;
    }
    else
    new string[121];
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s sagt: %s", sendername, text);
    ProxDetector(20.0,playerid,string,weiß,weiß,weiß,weiß,weiß);
    return 0;
    }
    return 1;
    }



    Zeile:


    new string[121];

  • Das "else" war da falsch.
    public OnPlayerText(playerid, text[])
    {
    if(normalchat)
    {
    if(GetPVarInt(playerid,"Mute")== 1)
    {
    SendClientMessage(playerid,hrot,"* Du bist derzeit im Localen-Chat gemutet");
    return 0;
    }
    new string[121];
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s sagt: %s", sendername, text);
    ProxDetector(20.0,playerid,string,weiß,weiß,weiß,weiß,weiß);
    return 0;
    }
    return 1;
    }

  • Eigentlich ja nicht, da du ja schon das return 0; in der Abfrage mit drin hast, oder irre ich mich da?