Hilfe bei einem kleinen Befehl

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 bin gerade dabei so ein kleines Admin-Command zu scripten. :P


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/chucknorris", cmdtext, true, 10) == 0)
    {
    SendClientMessage(playerid, COLOR_GREEN, "You are now Chuck Norris - name tag disabled, skin changed, health 1000000, weapons given");
    SetPlayerSkin(playerid, 294);
    GivePlayerWeapon(playerid, 26, 100000);
    GivePlayerWeapon(playerid, 34, 100000);
    GivePlayerWeapon(playerid, 35, 100000);
    GivePlayerWeapon(playerid, 4, 1);
    SetPlayerHealth(playerid, 100000000.0);
    for(new i = 0;i < MAX_PLAYERS; i++)
    {
    ShowPlayerNameTagForPlayer(playerid, i, 1);
    }
    return 1;
    }
    return 0;
    }


    Tja. Für die Player, die gerade online sind, verschwindet der Name-Tag dann auch. Wenn aber danach neue Player connecten, können diese den Namen wieder sehen. Wie kann man das lösen? Vielleicht irgendwie bei OnPlayerConnect?


    Bin verwirrt. xD

  • [s]new getippt[MAX_PLAYERS];



    Onplayerconnect:


    if(getippt[playerid] = 1;)
    {
    for(new i = 0;i < MAX_PLAYERS; i++)
    {
    ShowPlayerNameTagForPlayer(playerid, i, 1);
    }
    return 1;


    }


    im cmd :
    if (strcmp("/chucknorris", cmdtext, true, 10) == 0)
    {
    SendClientMessage(playerid, COLOR_GREEN, "You are now Chuck Norris - name tag disabled, skin changed, health 1000000, weapons given");
    SetPlayerSkin(playerid, 294);
    GivePlayerWeapon(playerid, 26, 100000);
    GivePlayerWeapon(playerid, 34, 100000);
    GivePlayerWeapon(playerid, 35, 100000);
    GivePlayerWeapon(playerid, 4, 1);
    SetPlayerHealth(playerid, 100000000.0);
    getippt[playerid] = 1;


    [/s][/s] [/s] [/s] [/s]

    [s][s][s]
    [/s] [/s] [/s]

    [s][s][s]Doch nicht..[/s][/s][/s]


  • new getippt[MAX_PLAYERS];


    public OnPlayerConnect(playerid)
    {
    if(getippt[playerid] = 1;)
    {
    for(new i = 0;i < MAX_PLAYERS; i++)
    {
    ShowPlayerNameTagForPlayer(playerid, i, 1);
    }
    return 1;


    }


    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/achucknorris", cmdtext, true, 10) == 0)
    {
    SendClientMessage(playerid, COLOR_GREEN, "You are now Chuck Norris - name tag disabled, skin changed, health 1000000, weapons given");
    SetPlayerSkin(playerid, 294);
    GivePlayerWeapon(playerid, 26, 100000);
    GivePlayerWeapon(playerid, 34, 100000);
    GivePlayerWeapon(playerid, 35, 100000);
    GivePlayerWeapon(playerid, 4, 1);
    SetPlayerHealth(playerid, 100000000.0);
    getippt[playerid] = 1;
    }
    return 1;
    }


    C:\Dokumente und Einstellungen\Moritz\Desktop\WW3\chucknorris.pwn(18) : warning 211: possibly unintended assignment
    C:\Dokumente und Einstellungen\Moritz\Desktop\WW3\chucknorris.pwn(18) : error 001: expected token: ")", but found ";"
    C:\Dokumente und Einstellungen\Moritz\Desktop\WW3\chucknorris.pwn(18) : error 036: empty statement
    C:\Dokumente und Einstellungen\Moritz\Desktop\WW3\chucknorris.pwn(18) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Moritz\Desktop\WW3\chucknorris.pwn(18) : fatal error 107: too many error messages on one line
    C:\Dokumente und Einstellungen\Moritz\Desktop\WW3\chucknorris.pwn(18) : fatal error 107: too many error messages on one line

  • Jetzt hat das Compilen funktioniert, zwar mit einer Warnung, aber egal..


    new getippt[MAX_PLAYERS];


    public OnPlayerConnect(playerid)
    {
    if(getippt[playerid] = 1)
    {
    for(new i = 0;i < MAX_PLAYERS; i++)
    {
    ShowPlayerNameTagForPlayer(playerid, i, 1);
    }
    return 1;


    }
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/achucknorris", cmdtext, true, 10) == 0)
    {
    SendClientMessage(playerid, COLOR_GREEN, "You are now Chuck Norris - name tag disabled, skin changed, health 10000000, weapons given");
    SetPlayerSkin(playerid, 294);
    GivePlayerWeapon(playerid, 26, 100000);
    GivePlayerWeapon(playerid, 34, 100000);
    GivePlayerWeapon(playerid, 35, 100000);
    GivePlayerWeapon(playerid, 4, 1);
    SetPlayerHealth(playerid, 100000000.0);
    getippt[playerid] = 1;
    }
    return 1;
    }


    Funktioniert das nun so auch? Keiner sieht den Nametag mehr, auch nicht wenn man nachher erst connected?