new pName[MAX_PLAYER_NAME] Fehler

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
  • Hi,


    Habe 2 Fehler, und weiß nicht wie ich sie beheben kann, bitte helfen sie mir.


    CMD:aduty(playerid)
    {
    if(!IsLoggedIn(playerid))return 1;
    new string[128];
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,sizeof pName);
    if(Spieler[playerid][pAdmin] == 0)return SendClientMessage(playerid, COLOR_GREY, "Du hast nicht die benötigten Rechte.");
    if(Spieler[playerid][pAdminDuty] == 0)
    {
    format(string,24,"[...]%s",Spieler[playerid][pName]);
    Spieler[playerid][pAdminDuty] = 1;
    format(string, sizeof(string), "%s ist nun als %s im Dienst.", GetName(playerid), GetPlayerAdminName(playerid));
    SendClientMessageToAll(COLOR_RED, string);
    UpdateDynamic3DTextLabelText(Spieler[playerid][pAdminDuty3D], COLOR_YELLOW, "> Admin im Dienst <");
    ShowReportsForPlayer(playerid);
    //SetPlayerHealth(playerid, 99999);
    }
    else if(Spieler[playerid][pAdminDuty] == 1)
    {
    Spieler[playerid][pAdminDuty] = 0;
    format(string, sizeof(string), "%s ist nun nicht mehr im Dienst.", GetName(playerid), GetPlayerAdminName(playerid));
    SendClientMessageToAll(COLOR_RED, string);
    SetPlayerName(playerid,Spieler[playerid][pName]);
    UpdateDynamic3DTextLabelText(Spieler[playerid][pAdminDuty3D], COLOR_YELLOW, " ");
    HideReportsForPlayer(playerid);
    SetPlayerHealth(playerid, 100);
    }
    return 1;
    }



    E:\***\***\**.pwn(12962) : error 033: array must be indexed (variable "pName")
    E:\***\***\**.pwn(12975) : error 033: array must be indexed (variable "pName")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    Grüße,
    Emrys.

  • Du erstellst eine Variable, welche bereits in deinem Enumator existiert.
    Benenne die temporäre Variable "pName" in z.B. tempname (oder was auch immer) um.


    Grüße.

    Hab diese jetzt 4 mal umbenannt und immer noch der gleich fehler.



    E:\***\***\**.pwn(12962) : error 033: array must be indexed (variable "pTABName")
    E:\***\***\**.pwn(12975) : error 033: array must be indexed (variable "pTABName")

  • Habe mir den Code gerade noch einmal angeschaut.
    Entferne einfach die Zeilen 5 und 6, du speicherst den Namen doch bereits in einer Variable.


    Und nebenbei, es ist ungeschickt den Namen zu ändern, wenn dieser bereits 25 Zeichen lang ist.
    Da kann es sein, dass du den Namen aus der Variable komplett überschreibst und ggf. dein Account nicht mehr gespeichert wird, sofern du via Namen die Datenbankeinträge aktualisierst.


    LG


    (Sollte das nichts bringen, schicke mal das zu Spieler[][] dazugehörigen Enum, wo man deine Deklarationen sieht.
    Dann lässt sich dir eher helfen!)