KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: LUA "Fehler" was ist daran falsch?
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi Leute,

ich hab nen kleines Problem mit dem Script...es zeigt mir immer einen Fehler an in der Zeile ****....

jedenfalls der letzte abschnitt.

Code:
Spoiler: (anzeigen)
In dem "Fett" Markierten Bereich soll der Fehler sein.

Hier noch ein Screenschot:


Hoffe auf Tatkräftige Unterstützung.

Danke & Gruß Micha
du hast zwei if bedingungen und 5 mal end im code. fällt dir was auf? <eof> steht für end of file. das bedeuted dass er eigentlich das dateiende erwartet, da aber nochwas kommt
Ah, ok danke.

Der Fehler kommt nun nicht mehr, aber meine Auswahl die ich habe freezed nun & "loop in gettable"...--bleibt bei der auswahl stehen..muss ich nochmal gucken.

Was ist z.B. an dem Menü falsch?
Es funktioniert zwar aber ich kann höher scrollen (sowie runter) mehr als ist, verstehst du was ich meine?

Menü
Spoiler: (anzeigen)
du musst den rand des menüs abfragen, á la if current > wasweißich then current=1 und das selbe in der anderen richtung if current<1 then current=wasweißich
soll ich das jetzt in eine neue funktion einbauen oder in meine bestehende auswahl?
Sorry, aber ich bin erst kurz drin.

Code:
--Menu--
font = Font.load("CONSTANZ.TTF")
font:setPixelSizes(25,30)
rot = Color.new(255,0,0)
green = Color.new(0, 255, 0)

Picture = Image.load("Menu.png")


current = 1
oldpad = Controls.read()
while true do
screen:clear()
screen:blit(0,0,Picture,true)
pad = Controls.read()

screen:fontPrint(font,120,80,"PSP QuiZ!",green)

screen:fontPrint(font,140,100,"Fussball QuiZ",green)

screen:fontPrint(font,160,120,"Ultimate Sport QuiZ",green)

screen:fontPrint(font,180,140,"Allgemein QuiZ",green)

screen:fontPrint(font,200,160,"CreditS",green)

screen:fontPrint(font,220,180,"BeendeN",green)

if current == 1 then
screen:fontPrint(font,120,80,"PSP QuiZ",rot)
end
if current == 2 then
screen:fontPrint(font,140,100,"Fussball QuiZ",rot)
end
if current == 3 then
screen:fontPrint(font,160,120,"Ultimate Sport QuiZ",rot)
end
if current == 4 then
screen:fontPrint(font,180,140,"Allgemein QuiZ",rot)
end
if current == 5 then
screen:fontPrint(font,200,160,"CreditS",rot)
end
if current == 6 then
screen:fontPrint(font,220,180,"BeendeN",rot)
end

if pad:up() and not oldpad:up() then
current = current -1
end
if pad:down() and not oldpad:down() then
current = current +1
end

if pad:cross() and current == 1 then
dofile("psp.lua")
end

if pad:cross() and current == 2 then
dofile("fussball.lua")
end

if pad:cross() and current == 3 then
dofile("sport.lua")
end

if pad:cross() and current == 4 then
dofile("allgemein.lua")
end

if pad:cross() and current == 5 then
dofile("credits.lua")
end

if pad:cross() and current == 6 then
System.Quit()
end

if current&gt;6 then
current=1
end

if current&gt;1 then
current=5
end

screen.waitVblankStart()
screen.flip()
end

Achso alles klar, also muss man sozusagen dem menü sagen wo es nach "Quit kommt" und wo vor "kommt"...jetzt versteh ich das, danke dir!

Edit:

Also ich hab jetzt nen bissl rumgetestet...deine Funktion funktioniert nur bis 5 (also Credits) danach gehts wieder auf Position 1. Wenn ich auf Position 1 bin sollte es wenn ich nach oben drücke auf Beenden kommen, geht aber nicht da er wieder hoch scrollt wo nichts ist. Habe schon mehrere Variablen getestet.

Edit2:
Hat sich nun erledigt, habs geschafft.Big Grin

Der Richtige Code lautet:

Zitat:
if current == 0 then
current=1
end

if current == 7 then
current=6
end

Referenz-URLs