Waffe und Ammo aus INI geben

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
  • Ich hab mir ein kleines Schliessfach System mit Dialogen gebaut. Leider bekomme ich beim Compilieren dieses Abschnittes einen Fehler:


    if(response)
    {
    LoadS();
    new inhalttxt[256], ammotxt[256];
    format(inhalttxt,sizeof(inhalttxt),"Inhalt%d",strval(inputtext));
    format(ammotxt,sizeof(ammotxt),"Ammo%d",strval(inputtext));
    new weapon = Schliessfach[playerid][inhalttxt];
    new ammo = Schliessfach[playerid][ammotxt];
    Schliessfach[playerid][inhalttxt] = 0;
    Schliessfach[playerid][ammotxt] = 0;
    GivePlayerWeapon(playerid,weapon,ammo);
    new fachtxt[256];
    format(fachtxt,sizeof(fachtxt),"Du hast erfolgreich deine Waffen aus dem Fach %d entnommen!",strval(inputtext));
    SendClientMessage(playerid,COLOR_BLAU,fachtxt);
    }


    Zitat

    Der Abschnitt ist dafür da die Waffe auf dem Fach des Schliessfaches zu holen (Beispiel ich gebe 2 an dann soll er die Waffe aus Fach 2 also Schliessfach[playerid][Inhalt2] holen

    Hier sind die Fehler:

    Zitat

    error 033: array must be indexed (variable "inhalttxt")
    error 033: array must be indexed (variable "ammotxt")
    error 033: array must be indexed (variable "inhalttxt")
    error 033: array must be indexed (variable "ammotxt")

    Hoffe es kann einer schnell Helfen :)


    MfG GooMan^^


    Keiner ne Idee :O?

    Einmal editiert, zuletzt von GooMan ()

  • Ich bin mir grad nicht sicher ob man Enums Strings zuordnen kann ?( versuchs doch mal nur mit der strval und dem Inputtext so nach dem Motto
    Schliessfach[playerid][inhalttxt] = strval(inputtext);
    Schliessfach[playerid][ammotxt] = strval(inputtext);

  • Wieso XD die variable:


    Schliessfach[playerid][inhalttxt] = 0;


    gibt es nicht. Die heisst Schliessfach[playerid][Inhalt1] - Schliessfach[playerid][Inhalt9]


    Da ich aber nicht weiss ob der user jetzt die Waffe in Fach 1 oder 2 legen will hab ich das jetzt so gemacht:



    format(inhalttxt,sizeof(inhalttxt),"Inhalt%d",strval(inputtext));
    format(ammotxt,sizeof(ammotxt),"Ammo%d",strval(inputtext));
    new weapon = Schliessfach[playerid][inhalttxt];
    new ammo = Schliessfach[playerid][ammotxt];
    Schliessfach[playerid][inhalttxt] = 0;
    Schliessfach[playerid][ammotxt] = 0;


    Der inputtext ist das Fach^^ und das Fach soll auf 0 gesetzt werden und nicht auf die Fachnummer ;)


    Ansonsten müsste man es mit einem If machen also:


    if(strval(inputtext) == 1)
    {
    new weapon = Schliessfach[playerid][Inhalt1];
    new ammo = Schliessfach[playerid][Ammo1];
    Schliessfach[playerid][Inhalt1] = 0;
    Schliessfach[playerid][Ammo1] = 0;
    }else if(strval(inputtext) == 2)
    {
    new weapon = Schliessfach[playerid][Inhalt2];
    new ammo = Schliessfach[playerid][Ammo2];
    Schliessfach[playerid][Inhalt2] = 0;
    Schliessfach[playerid][Ammo2] = 0;
    }


    usw.