Was ist das für ein Error? Eher gesagt wie entsteht er...

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 verzweifle grade :D
    In meinem anderen Script geht es, aber hier i.wie nich?
    Hier der Code, danach die Errors:

    new str[256], rang;
    new giveadmin [MAX_PLAYER_NAME];
    giveadmin = GetPlayerName(playerid, giveadmin, MAX_PLAYER_NAME); //Errorzeile 30
    new getadmin [MAX_PLAYER_NAME];
    getadmin = GetPlayerName(playerid, getadmin, MAX_PLAYER_NAME); //Errorzeile 32
    if(sscanf(params,"ui", getadmin, rang))return SendClientMessage(playerid, 0x00FF78FF, "Benutzung:/makeadmin [ID] [RANG]");
    format(str, sizeof(str), "[ADMIN]:%s hat %s zu einem %s -Admin befördert!", giveadmin, getadmin, rang);

    C:\Users\Marcel\Desktop\Rum-Bastel-Ecke_GTA_SAMP\filterscripts\sipmleadmin.pwn(30) : error 033: array must be indexed (variable "giveadmin")
    C:\Users\Marcel\Desktop\Rum-Bastel-Ecke_GTA_SAMP\filterscripts\sipmleadmin.pwn(32) : error 033: array must be indexed (variable "getadmin")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.

    Liebe Grüße


    Marcel

  • Die Errors sind schonmal weg, danke dir :)
    Nurnoch das:


    (Neuer Code:)
    ocmd:makeadmin(playerid, params[])
    {
    if(ADMIN[playerid]==1338)
    {
    new str[256], rang;
    new giveadmin [MAX_PLAYER_NAME];
    GetPlayerName(playerid, giveadmin, MAX_PLAYER_NAME);
    new getadmin [MAX_PLAYER_NAME];
    GetPlayerName(playerid, getadmin, MAX_PLAYER_NAME);
    if(sscanf(params,"ui", getadmin, rang))return SendClientMessage(playerid, 0x00FF78FF, "Benutzung:/makeadmin [ID] [RANG]");
    format(str, sizeof(str), "[ADMIN]:%s hat %s zu einem %s -Admin befördert!", giveadmin, getadmin, rang);
    ADMIN [getadmin] = rang; // Errorzeile 35
    SendClientMessageToAll(0xAF0000FF, str);
    }
    else
    {
    SendClientMessage(playerid, 0xAF0000FF, "Du bist nicht als 1338-Admin eingeloggt!");
    }
    return 1;
    }
    C:\Users\Marcel\Desktop\Rum-Bastel-Ecke_GTA_SAMP\filterscripts\sipmleadmin.pwn(35) : error 033: array must be indexed (variable "getadmin")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    Liebe Grüße


    Marcel

  • Es darf kein Leerzeichen zwischen der Variable und dem Array sein.
    GetPlayerName gibt keinen Wert zurück, deshalb kannst du es nicht einfach zuweisen, es speichert es in den Parameter den du mit angibst.
    Außerdem kannst du nicht den Namen eines Spielers hohlen, den du garnicht kennst.
    Wenn du mit sscanf Parameter herausfiltern willst musst du diese speichern.
    Neben rang brauchst du also auch die andere Spieler ID


    new str[256], rang,id;
    new giveadmin[MAX_PLAYER_NAME];
    GetPlayerName(playerid, giveadmin, MAX_PLAYER_NAME);
    if(sscanf(params,"ui", getadmin, rang))return SendClientMessage(playerid, 0x00FF78FF, "Benutzung:/makeadmin [ID] [RANG]");
    new getadmin[MAX_PLAYER_NAME];
    GetPlayerName(id, getadmin, MAX_PLAYER_NAME);
    format(str, sizeof(str), "[ADMIN]:%s hat %s zu einem %s -Admin befördert!", giveadmin, getadmin, rang);

  • //EDIT: Habs ^^ Danke dir trotzdem ! :)


    Ja hast Recht ;) Hatte mich grade aber auch gewundert ^^
    Aber kannst du nochmal bitte auf Vor-Vorpost schauen?
    Wo dann das Level gesetzt wird?
    ADMIN[getadmin] = rang;
    Da war auchn Error oO


    ocmd:makeadmin(playerid, params[])
    {
    if(ADMIN[playerid]==1338)
    {
    new str[256], rang;
    new giveadmin [MAX_PLAYER_NAME];
    GetPlayerName(playerid, giveadmin, MAX_PLAYER_NAME);
    new getadmin [MAX_PLAYER_NAME];
    GetPlayerName(playerid, getadmin, MAX_PLAYER_NAME);
    if(sscanf(params,"ui", getadmin, rang))return SendClientMessage(playerid, 0x00FF78FF, "Benutzung:/makeadmin [ID] [RANG]");
    format(str, sizeof(str), "[ADMIN]:%s hat %s zu einem %s -Admin befördert!", giveadmin, getadmin, rang);
    ADMIN [getadmin] = rang; // Errorzeile 35
    SendClientMessageToAll(0xAF0000FF, str);
    }
    else
    {
    SendClientMessage(playerid, 0xAF0000FF, "Du bist nicht als 1338-Admin eingeloggt!");
    }
    return 1;
    }


    C:\Users\Marcel\Desktop\Rum-Bastel-Ecke_GTA_SAMP\filterscripts\sipmleadmin.pwn(35) : error 033: array must be indexed (variable "getadmin")


  • ocmd:makeadmin(playerid, params[])
    {
    if(ADMIN[playerid]==1338)
    {
    new str[256], rang, pID, giveadmin[MAX_PLAYER_NAME],getadmin[MAX_PLAYER_NAME];
    GetPlayerName(playerid, giveadmin, MAX_PLAYER_NAME);
    if(sscanf(params,"ui", pID, rang))return SendClientMessage(playerid, 0x00FF78FF, "Benutzung:/makeadmin [ID] [RANG]");
    //sscanf packt das was der User eingegeben hat in pID und rang
    GetPlayerName(pID, getadmin, MAX_PLAYER_NAME);
    //pID ist ja jetzt bekannt, jetzt kann man den namen speichern
    format(str, sizeof(str), "[ADMIN]:%s hat %s zu einem %s -Admin befördert!", giveadmin, getadmin, rang);
    //in pID ist die ID gespeichert
    ADMIN[pID] = rang;
    SendClientMessageToAll(0xAF0000FF, str);
    }
    else
    {
    SendClientMessage(playerid, 0xAF0000FF, "Du bist nicht als 1338-Admin eingeloggt!");
    }
    return 1;
    }

    //Edit
    Hmpf Fehlerteufel ist unterwegs xD