Variablen werden nicht genutzt?

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 habe ein kleines System erstellt, welche jede Stunde den Preis der Drogen / Waffen ändert...
    Nun bekomme ich aber 2 Warnings, dass diese 2 Variablen nicht genutzt werden.. Warum ist das so? ((Ich weiß Warnings sind nicht schlimm etc. pp.)


    new RandomPreisW =
    {
    {850},{412},{212},{971},{311},{156},{215},{666},{500},{450},{350},{300},{700},
    {890},{1020},{1100},{1400},{206},{150},{441},{868},{1500},{540},{850},{850}
    };


    new RandomPreisG =
    {
    {65},{70},{75},{80},{85},{90},{95},{100},{105},{110},{115},{120},{125},
    {130},{135},{140},{145},{150},{155},{160},{165},{170},{175},{50},{55}
    };


    forward PreiseBerechnen();
    public PreiseBerechnen()
    {
    new randW = random(sizeof(RandomPreisW));
    WaffenPreis = randW;
    new randG = random(sizeof(RandomPreisG));
    GrasPreis = randG;
    return 1;
    }

  • Du musst mit dem Index auf die Variable zugreifen, so:
    forward PreiseBerechnen();
    public PreiseBerechnen()
    {
    new randW = random(sizeof(RandomPreisW));
    WaffenPreis = RandomPreisW[randW];
    new randG = random(sizeof(RandomPreisG));
    GrasPreis = RandomPreisG[randG];
    return 1;
    }

  • C:\Users\\Desktop\Script Alex!\gamemodes\MafiaRP.pwn(1062) : error 028: invalid subscript (not an array or too many subscripts): "RandomPreisW"
    C:\Users\\Desktop\Script Alex!\gamemodes\MafiaRP.pwn(1062) : warning 215: expression has no effect
    C:\Users\\Desktop\Script Alex!\gamemodes\MafiaRP.pwn(1062) : error 001: expected token: ";", but found "]"
    C:\Users\\Desktop\Script Alex!\gamemodes\MafiaRP.pwn(1062) : error 029: invalid expression, assumed zero
    C:\Users\\Desktop\Script Alex!\gamemodes\MafiaRP.pwn(1062) : 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.


    Wenn ich deinen Code einfach einsetze!

  • Oh, ich seh grade bei den Variablen fehlt noch das Array, sorry, das muss so aussehen:
    new RandomPreisW[] =
    {
    {850},{412},{212},{971},{311},{156},{215},{666},{500},{450},{350},{300},{700},
    {890},{1020},{1100},{1400},{206},{150},{441},{868},{1500},{540},{850},{850}
    };
    new RandomPreisG[] =
    {
    {65},{70},{75},{80},{85},{90},{95},{100},{105},{110},{115},{120},{125},
    {130},{135},{140},{145},{150},{155},{160},{165},{170},{175},{50},{55}
    };

  • Nun bekomme ich


    C:\Users\Desktop\Script Alex!\gamemodes\MafiaRP.pwn(1048) : error 008: must be a constant expression; assumed zero
    C:\Users\Desktop\Script Alex!\gamemodes\MafiaRP.pwn(1054) : error 008: must be a constant expression; assumed zero
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    Tut mir leid wenn ich 0 Eigeninitiative zeige aber ich habe echt 0 Plan was das sein könnte versuche mich wieder in pawn reinzuarbeiten :)D

  • Interessant, der will das so nicht. Da hab ich auch mal wieder was dazu gelernt.
    So klappt es:
    new RandomPreisW[] =
    {
    850,412,212,971,311,156,215,666,500,450,350,300,700,
    890,1020,1100,1400,206,150,441,868,1500,540,850,850
    };
    new RandomPreisG[] =
    {
    65,70,75,80,85,90,95,100,105,110,115,120,125,
    130,135,140,145,150,155,160,165,170,175,50,55
    };

  • Interessant, der will das so nicht. Da hab ich auch mal wieder was dazu gelernt.
    So klappt es:
    new RandomPreisW[] ={ 850,412,212,971,311,156,215,666,500,450,350,300,700, 890,1020,1100,1400,206,150,441,868,1500,540,850,850};new RandomPreisG[] ={ 65,70,75,80,85,90,95,100,105,110,115,120,125, 130,135,140,145,150,155,160,165,170,175,50,55};

    yo klappt, dankeschööön :D

  • Oh, ich seh grade bei den Variablen fehlt noch das Array, sorry, das muss so aussehen:
    new RandomPreisW[] ={ {850},{412},{212},{971},{311},{156},{215},{666},{500},{450},{350},{300},{700}, {890},{1020},{1100},{1400},{206},{150},{441},{868},{1500},{540},{850},{850}};new RandomPreisG[] ={ {65},{70},{75},{80},{85},{90},{95},{100},{105},{110},{115},{120},{125}, {130},{135},{140},{145},{150},{155},{160},{165},{170},{175},{50},{55}};

    Das er das so nicht möchte, liegt einfach daran, daß du mit der zusätzlichen geschweiften Klammer ein Subarray erstellst. Es müßte mit der zusätzlichen Klammer also so aussehen:


    Code
    new RandomPreisW[][] =
    {
    	{850},{412},{212},{971},{311},{156},{215},{666},{500},{450},{350},{300},{700},
    	{890},{1020},{1100},{1400},{206},{150},{441},{868},{1500},{540},{850},{850}
    };
    new RandomPreisG[][] =
    {
    	{65},{70},{75},{80},{85},{90},{95},{100},{105},{110},{115},{120},{125},
    	{130},{135},{140},{145},{150},{155},{160},{165},{170},{175},{50},{55}
    };


    Da es hier nur einen 1-Index gibt, muss man also [0] abfragen und danach erst den 2-Index:

    Code
    new randW = random(sizeof(RandomPreisW));
    	new WaffenPreis = RandomPreisW[0][randW];
    	new randG = random(sizeof(RandomPreisG));
    	new GrasPreis = RandomPreisG[0][randG];


    Hab es eben auch im PAWNO probiert. Gibt keine Fehlermeldung aus!

  • Das er das so nicht möchte, liegt einfach daran, daß du mit der zusätzlichen geschweiften Klammer ein Subarray erstellst. Es müßte mit der zusätzlichen Klammer also so aussehen:

    Jo, das wurde mir dann auch klar.
    Ich hatte es mit dieser Methode verwechselt, das würde nämlich auch gehen:
    new RandomPreisW[] =
    {
    (850),(412),(212),(971),(311),(156),(215),(666),(500),(450),(350),(300),(700),
    (890),(1020),(1100),(1400),(206),(150),(441),(868),(1500),(540),(850),(850)
    };
    new RandomPreisG[] =
    {
    (65),(70),(75),(80),(85),(90),(95),(100),(105),(110),(115),(120),(125),
    (130),(135),(140),(145),(150),(155),(160),(165),(170),(175),(50),(55)
    };
    Prinzipiell hätte es aber auch sein können, dass er es mit den geschweiften Klammern frisst, da ein eindimensionales Array mit einem Index ja praktisch eine normale Variable ist. Dem war nur leider nicht so.