KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: LUA:Namen erstellen???
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Leute ich wollte eine script schreiben das dem Spieler erlaubt einen eigenen Namen zu wählen und dann das Spiel zu starten,also das der gedrückte Name dann i-wo gespeichert wird und dann wenn der Spieler das Spiel startet der Name a Anfang angezeigt wird....
Hier ist mein scriptSadWas muss ich noch verändern damit es funktioniert????)

Code:
Bild2 = Image.load("Bild2.jpg")

white = Color.new(255,255,255)
red = Color.new(255,0,0)

characters = { "a", "b", "c", "d", "e", "f", "g",
"h", "i", "j", "k", "l", "m",
"n", "o", "p", "q", "r", "s", "t", "u", "v", "w",
"x", "y", "z", " " }

selector = Image.createEmpty(10,10)
selector:clear(red)

charX = 100
charY= 100

currentLetter = 1

currentX = 107
currentY = 98

uppercase = true

name = ""

oldpad = Controls.read()


addX = 0
addY = -10
addRow = -9

-- FUNCTION TO DRAW LETTERS
function drawLetters()
for a = 1, 3 do
addX = 0
addY = addY + 10
addRow = addRow + 9
for b = 1, 9 do
addX = addX + 10
if uppercase == false then
screen:print(charX + addX,charY + addY,
characters[b + addRow],white)
else
screen:print(charX + addX,charY + addY,
string.upper(characters[b + addRow]),white)
end
end
end
addX = 0
addY = -10
addRow = -9
end
-- END FUNCTION

-- LOOP
while true do
pad = Controls.read()
screen:clear()
screen:blit(0,0,Bild2)

if tostring(pad) == "Controls (0)" then
screen:print(10,30,tostring(Controls.read()),white)
else
screen:print(10,30,"Weiter",white)
end

screen:print(10,10,"Dein Name: "..name,white)
screen:blit(currentX,currentY, selector)

drawLetters()

-- TYPE LETTERS
if pad:cross() and oldpad:cross() ~= pad:cross() then
if uppercase == false then
name = name .. characters[currentLetter]
else
name = name .. string.upper(characters[currentLetter])
end
end

-- DELETE LETTER
if pad:square() and oldpad:square() ~= pad:square() then
name = string.sub(name, 1, string.len(name) - 1)
end

-- UPPER OR LOWER
if pad:triangle() and oldpad:triangle() ~= pad:triangle() then
if uppercase == false then
uppercase = true
else
uppercase = false
end
end

-- MOVE SELECTOR RIGHT
if pad:right() and currentLetter ~= 9 and
currentLetter ~= 18 and currentLetter ~= 27
and oldpad:right() ~= pad:right() then
currentLetter = currentLetter + 1
currentX = currentX + 10
elseif pad:right() and oldpad:right() ~= pad:right() then
if currentLetter == 9 or currentLetter == 18
or currentLetter == 27 then
currentLetter = currentLetter - 8
currentX = 107
end
end
-- MOVE SELECTOR LEFT
if pad:left() and currentLetter ~= 1 and
currentLetter ~= 10 and currentLetter ~= 19
and oldpad:left() ~= pad:left() then
currentLetter = currentLetter - 1
currentX = currentX - 10
elseif pad:left() and oldpad:left() ~= pad:left() then
if currentLetter == 1 or currentLetter == 10 or
currentLetter == 19 then
currentX = 107 + 80
currentLetter = currentLetter + 8
end
end

-- MOVE SELECTOR DOWN
if pad:down() and currentLetter < 19 and
oldpad:down() ~= pad:down() then
currentLetter = currentLetter + 9
currentY = currentY + 10
elseif pad:down() and currentLetter > 18 and
oldpad:down() ~= pad:down() then
currentY = 98
currentLetter = currentLetter - 18
end

-- MOVE SELECTOR UP
if pad:up() and currentLetter > 9 and
oldpad:up() ~= pad:up() then
currentLetter = currentLetter - 9
currentY = currentY - 10
elseif pad:up() and currentLetter < 18 and
oldpad:up() ~= pad:up() then
currentY = 118
currentLetter = currentLetter + 18
end

screen.flip()
screen.waitVblankStart()
oldpad = pad
end

Die Frage hast du schonmal gestellt und es wurde dir sogar geantwortet, wenn du es nicht kannst, dann lass es. -> http://www.pspking.de/forum/showthread.php?tid=36058
Referenz-URLs