KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: LUA ERROR den ich nicht verstehe ...
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hey Leute
ich code grade verschiedene Sachen und Situationen um mein Lua Verständnis und meine Skills zu verbessern und jetzt taucht auf einmal folgender Fehler auf wenn ich mein momentanes script starte:

Code:
Error: [string "?"]:33: attempt to index local ´text´ (a number value)


was bedeutet das ?

Hier mein Code:

Code:
blue = Color.new(56,172,236)
itemlist = 0
startbox = Image.load("startbox.png")
selector = Image.load("selector.png")
talk = Image.load("talkbox.png")
s = 1
statpg = 0
schrift = Font.load("trebuc.ttf")
schrift:setPixelSizes(0,12)

selectory = 15
oldpad = Controls.read()
while s ==1 do
pad = Controls.read()
screen:blit(375,0,startbox)
screen:blit(380,selectory,selector)
screen:fontPrint(schrift,398, 23, start1, blue)
screen:fontPrint(schrift,398,43, start2, blue)
screen:fontPrint(schrift,398,63, start3, blue)
screen:fontPrint(schrift,398,83, start4, blue)

if pad:down() and oldpad:down() ~=pad:down() and selectory < 75 then
screen.waitVblankStart(10)
    selectory = selectory + 20
end
if pad:up() and oldpad:up() ~= pad:up() and selectory > 15 then
screen.waitVblankStart(10)
    selectory = selectory -20
end

if pad:start() and oldpad:start() ~=pad:start() then
s = 0
end

if pad:cross() and oldpad:cross() ~= pad:cross() then
if selectory == 35 then
itemlist = 1
elseif selectory == 75 then
s = 0
elseif selectory == 15 then
statpg =1
elseif selectory == 55 then
screen:blit(0,0, talk)
screen:fontPrint(schrift,101,190, start5, blue)
screen:blit(0,0, talk)
screen.waitVblankStart(10)
screen:fontPrint(schrift,101, 190, start6, blue)
if pad:cross() and oldpad:cross() ~= pad:cross() then
    s = 0
end
end
end
screen.waitVblankStart()
screen.flip()

oldpad = pad
screen:print(0,0, selectory)
end


Ach ja start1-6 wurden in einem vorherigen script schon definiert...
wenn ich jetzt das Hb starte und bis zu dem script "gehe" wird für ne Sekunde angezeigt was bei START 1-6 steht und dann kommt halt der Error ...

ich kenn mich mit LUA überhaupt nicht aus, aber kommt oben nicht statt

Code:
schrift = Font.load("trebuc.ttf")
schrift:setPixelSizes(0,12)

das hier rein:

Code:
font = Font.load("trebuc.ttf")
font:setPixelSizes(0,12)

Wundert mich halt, dass das auf deutsch geschrieben ist!

Edit: Hätte ja sein können Wink

MFG

DaRkRaPiD :
ich kenn mich mit LUA überhaupt nicht aus, aber kommt oben nicht statt

Code:
schrift = Font.load("trebuc.ttf")
schrift:setPixelSizes(0,12)

das hier rein:

Code:
font = Font.load("trebuc.ttf")
font:setPixelSizes(0,12)


nein man kann das was vor dem = steht ,also das font auch mit einem anderen Wort ersetzen..., daher auch später :
schrift:setPixelSizes(0,12)

trdem danke das du es versucht hast ...

EDIT:
Hab den Code mal angepasst trdem selber Fehler ...

Code:
Error: [string "?"]:33: attempt to index local ´text´ (a number value)


Das sagt uns doch das es etwas mit der Zeile 33 zu tun hat.

mfg

CChako :

Code:
Error: [string "?"]:33: attempt to index local ´text´ (a number value)


Das sagt uns doch das es etwas mit der Zeile 33 zu tun hat.

mfg


in zeile 33 steht end o.0
Schau dir mal nochmal den Code an ...

edit:ohh du hats das ja schon wegeditiert...
trdem was soll bitte an end falsch sein ?

Die Zahl steht ja normalerweise für die Zeile in der der Fehler steht
Ändere mal die zeile so:

if pad:start() and s<>0 and oldpad:start() ~=pad:start() then
s = 0
End

Bin mit handy on, sonst könnte ich besser schreiben
könnt ihr alle kein englisch?
die fehlermeldung sagt, dass du versuchst eine variable namens text als tabelle zu nutzen, obwohl die variable text eine zahl enthält und keine tabelle.

Neutrosider :
könnt ihr alle kein englisch?
die fehlermeldung sagt, dass du versuchst eine variable namens text als tabelle zu nutzen, obwohl die variable text eine zahl enthält und keine tabelle.


Hö? Ich hab aber keine Variabel namens "text" ... oder ist mit text irgendeine Variabel genannt die ich halt als Tabelle nutze obwohl es eine Zahl ist ?

EDIT:
Und in Zeile 33 war ja nicht mal eine Variabel...

nein das ist auch vemrutlich nicht in zeile 33, sonst würde da sowas in der art wie script.lua : 33 stehen, aber da steht ja Error: [string "?"]:33: das ist was anderes. es liegt auf jeden fall an der variable text und dass du sie irgendwo als tabelle benutzt (z.b. mit text.IRGENDWAS ode rmit text[EINEZAHL] ), obwohl text halt eine zahl ist und keine tabelle

Neutrosider :
nein das ist auch vemrutlich nicht in zeile 33, sonst würde da sowas in der art wie script.lua : 33 stehen, aber da steht ja Error: [string "?"]:33: das ist was anderes. es liegt auf jeden fall an der variable text und dass du sie irgendwo als tabelle benutzt (z.b. mit text.IRGENDWAS ode rmit text[EINEZAHL] ), obwohl text halt eine zahl ist und keine tabelle


Okey Danke.
Da ich keine Variabel namens text hatte, habe ich einfach folgenden Variabeln einen neuen namen gegeben:
s
start1-6
startbox
und ein einer von denen hats gelegen, da es jetzt funktioniert! Big Grin

Tim2001 :
Ändere mal die zeile so:

if pad:start() and s<>0 and oldpad:start() ~=pad:start() then
s = 0
End

Bin mit handy on, sonst könnte ich besser schreiben


Es liegt an S=0. Ändere in s$="0" : s=s$

Referenz-URLs