Results 1 to 5 of 5

Thread: NoMethodError

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Quote Quote
    Richtig wäre also
    x == 3 or x == 4 or x == 5
    oder kürzer
    x.between?(3, 5)
    "between" kann ich in diesem Fall nicht nutzen, weil die Zahlen die er abfragen soll ja nicht 3,4,5 sondern 2,4,6 bzw. 1,3,5 sind... mit dem ersten Vorschlag werd ichs jedenfalls nochmal veruchen^^

    Quote Quote
    Das Problem mit der Fehlermeldung liegt aber daran, dass du auf ein Picture zugreifst, welches nicht existiert.
    Das Picture existiert volle Kanne^^ Die Zeile 119 hab ich 1:1 von weiter oben kopiert (Zeile 85) und die hat wunderbar funktioniert als ich das script getestet hab (das war bevor ich den Kram um Zeile 119 hinzugefügt hab)

    Quote Quote
    So wie das Script geschrieben ist, solltest du lieber EventCommands nutzen.
    Ich nutze in diesem Fall Ruby weil ich die Pic-Nummer mit Eventcommands nicht durch eine Variable bestimmen kann. Das was ich über Ruby schon weiß hab ich aus dem Rubytutorial in deiner Sig gelernt und wenn du das Ding geschrieben hast, dann RESPEKT

    Quote Quote
    Wie gesagt: Wenn du nur ein wenig rumprobieren willst, will ich dich nicht aufhalten. Wenn du aber wirklich Scripte für dein Spiel schreiben willst, nutze entweder wie gewohnt EventCommands, oder beschäftige dich noch etwas tiefgründiger mit Ruby, um dessen Stärken wirklich nutzen zu können.
    Im Grunde ist es nur Rumspielerei was ich mache, ich hab nicht vor mein Projekt auf irgendeine Internetseite zu stellen, dafür ist es nicht... mmh, "spektakulär" genug... Ich würde es höchstens an zwei drei Bekannte schicken die sowieso keinen Blassen von Ruby oder Programmieren an sich haben.


    EDIT:
    Hab den Code jetzt folgendermaßen verändert (Den Anfang hab ich hier weggelassen):
    Code:
        if x == 2 or x == 4 or x == 6
          while e >= 1
            $game_screen.pictures[a3 + g].show("Point Empty", 0, 104 + f, y + 1, 100, 100, 255, 0)
            g += 1
            f += 6
            e -= 1
          end
        else
          q = $game_variables[b + 4]
          q =- $game_variables[b]
          if e >= 5
            while e >= 1
              $game_screen.pictures[a3 + g].show("Point Full", 0, 104 + f, y + 1, 100, 100, 255, 0)
              g += 1
              f += 6
              e -= 1
            end
          end
          if e >= 3
            while e >= 1
              $game_screen.pictures[a3 + g].show("Point Low", 0, 104 + f, y + 1, 100, 100, 255, 0)
              g += 1
              f += 6
              e -= 1
            end
          end
          if e >= 1
            while e >= 1
              $game_screen.pictures[a3 + g].show("Point Critical", 0, 104 + f, y + 1, 100, 100, 255, 0)
              g += 1
              f += 6
              e -= 1
            end
          end
          while q <= 1
            $game_screen.pictures[a3 + g].show("Point Empty", 0, 104 + f, y + 1, 100, 100, 255, 0)
            g += 1
            f += 6
            q -= 1
          end
        end
      end
      
    end
    Den Fehler gibt er mir aber immer noch...

    Last edited by Estelyen; 19.03.2009 at 17:08.

  2. #2
    Hm, die unterste Abfrage ist ja eine Endlosschleife. Sie wird nur ausgeführt, wenn q <= 1 ist, aber q wird dann nicht erhöht, sondern weiter verringert, bleibt also immer <= 1. Gleichzeitig erhöhst du g immer weiter. Vermutlich tritt der Fehler dann auf, wenn a3 + g über 100 liegt. Ich nehme mal an du hast nur das Zeichen vertauscht und meinst eigentlich q >= 1.

    P.S. Bei dieser Zeile ist übrigens ein Fehler.

    Code:
    q =- $game_variables[b]
    Das Minus sollte vor dem = stehen.

  3. #3
    Gedankenfehler meinerseits... Hast recht Kelven, daran hats gelegen :P Vielen Dank^^

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •