Komischer Fehler: error 022: must be lvalue (non-constant)

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



    Ich habe ein Problem, und zwar bekomme ich eine Fehlermeldung die ich zuvor noch nie hatte,
    Ich Poste euch mal die Fehlerzeile hier rein:




    SetPVarInt(playerid,"Mats",GetPVarInt(playerid,"Mats") -= strval(inputtext);




    Was mache ich da Falsch?

  • SetPVarInt(playerid,"Mats",GetPVarInt(playerid,"Mats") -= strval(inputtext));
    Du hattest eine Klammer vergessen zu schließen :thumbup:

  • SetPVarInt(playerid,"Mats",GetPVarInt(playerid,"Mats") -= strval(inputtext));
    Du hattest eine Klammer vergessen zu schließen :thumbup:


    Bekomme trotzdem ein Fehler:



    C:\Users\jresi_000\Desktop\RL\gamemodes\SCRScript.pwn(16589) : error 022: must be lvalue (non-constant)
    C:\Users\jresi_000\Desktop\ RL\gamemodes\SCRScript.pwn(16589) : error 001: expected token: ";", but found ")"
    C:\Users\jresi_000\Desktop\ RL\gamemodes\SCRScript.pwn(16589) : error 029: invalid expression, assumed zero
    C:\Users\jresi_000\Desktop\RL\gamemodes\SCRScript.pwn(16589) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    Hier mal der Gesamte Code:




    if(dialogid == DIALOG_YAKUZAMATSIMPORT)
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid, DIALOG_YAKUZABANK,DIALOG_STYLE_LIST,"Yakuza Bank","Geld Einzahlen\nGeld Abheben\nMats Importieren\nMats Exportieren\nKokain Importieren\nKokain Exportieren\nLSD Importieren\nLSD Exportieren\nHaschisch Imporiteren\nHaschisch Exportieren\nKontostand","Okay","Abbrechen");
    return 1;
    }
    else
    {
    new string2[140];
    if(GetPVarInt(playerid,"Mats") < strval(inputtext)) return SendClientMessage(playerid,DUNKELROT," So viele Mats hast du nicht bei dir");
    YakuzaMats += strval(inputtext);
    SetPVarInt(playerid,"Mats",GetPVarInt(playerid,"Mats") -= strval(inputtext));
    format(string2,sizeof(string2),""#HWEIS"Du hast "#HGRUN"%d "#HWEIS"Mats in das Fraktionslager gepackt",strval(inputtext));
    SendClientMessage(playerid,WEIS,string2);
    FraktionsKasseSpeichern();
    return 1;
    }
    }

  • if(dialogid == DIALOG_YAKUZAMATSIMPORT)
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_YAKUZABANK,DIALOG_STYLE_LIST,"Yakuza Bank","Geld Einzahlen\nGeld Abheben\nMats Importieren\nMats Exportieren\nKokain Importieren\nKokain Exportieren\nLSD Importieren\nLSD Exportieren\nHaschisch Importieren\nHaschisch Exportieren\nKontostand","Okay","Abbrechen");
    return 1;
    }
    new string2[144];
    if(GetPVarInt(playerid,"Mats") < strval(inputtext))return SendClientMessage(playerid,DUNKELROT,"So viele Mats hast du nicht bei dir!");
    YakuzaMats += strval(inputtext);
    SetPVarInt(playerid,"Mats",GetPVarInt(playerid,"Mats") -= strval(inputtext));
    format(string2,144,""#HWEIS"Du hast "#HGRUN"%d "#HWEIS"Mats in das Fraktionslager gepackt!",strval(inputtext));
    SendClientMessage(playerid,WEIS,string2);
    FraktionsKasseSpeichern();
    return 1;
    }
    In FraktionsKasseSpeichern gehört nichts in die Klammern, oder?

  • Jop da gehört nichts rein

  • SetPVarInt(playerid,"Mats",GetPVarInt(playerid,"Mats")-strval(inputtext));
    Du setzt ja nicht direkt ne Variable sondern übergibts nen Parameter. Da ist "-=" unzulässig
    Mit dem "-=" kannst Du nur bei Regulären Variablen arbeiten und nicht bei Funktionsparametern.

  • SetPVarInt(playerid,"Mats",GetPVarInt(playerid,"Mats")-strval(inputtext));
    Du setzt ja nicht direkt ne Variable sondern übergibts nen Parameter. Da ist "-=" unzulässig
    Mit dem "-=" kannst Du nur bei Regulären Variablen arbeiten und nicht bei Funktionsparametern.

    Stimmt, baah :pinch: wie ich solche Denkfehler einfach nur hasse :D


    Danke dir^^