|
Verfasser |
Nachricht |
Nico
Junior Mitglied
Beiträge: 23
Gruppe: User
Registriert seit: Feb 2010
Status:
Offline
Danke erhalten: 2
|
RE: LUA Fragen
mal ne blöde frage was bringt ne eboot und auf welcher seite hast du lua gelernt bzw. gibts ne seite wo erklärt wird für was eboots sind und wie man sie benutzt ?
|
|
28.02.2010 20:24 |
|
|
|
pspbricker
Mod a.D.
Beiträge: 3.428
Gruppe: User
Registriert seit: May 2008
Status:
Offline
Danke erhalten: 1641
|
RE: LUA Fragen
Maximal Auflösung für Bilder sind in der PSP meistens 525*525 .
Meine PS3 Games : Warhawk , NFS: Pro Street, Motorstorm ,Midnight Club LA, LittleBigPlanet, GTA4, Uncharted 2, Overlord, Killzone2, PES10, Battlefield ´43, Socom: Confrontation,
Forum Regeln Beachten! KEIN ISO Talk! KEINE Beleidigungen! KEINE illegalen Links!
|
|
28.02.2010 20:34 |
|
|
|
pspfreaking
Halbprofi
Beiträge: 128
Gruppe: User
Registriert seit: Oct 2009
Status:
Offline
Danke erhalten: 20
|
RE: LUA Fragen
mal ne blöde frage was bringt ne eboot und auf welcher seite hast du lua gelernt bzw. gibts ne seite wo erklärt wird für was eboots sind und wie man sie benutzt ?
also die eboot ist eig der luaplayer nur ist sie so bearbeitet das der luaplayer gleich dein hb startet damit du es nicht erst im luaplayer auswählen musst
da hab ich lua gelernt http://lua.bumuckl.com/index.php?page=pspluatuts ich finde da werden aber ein paar wichtige sachen vergessen zb des mit der eboot (aber da gehts ja auch nur um lua nicht wie man das dann auf die psp macht)
hat jetzt auch geklappt mit der eboot nur heißt sie wenn man dreieck drückt halt luaplayer
schinken
Dieser Beitrag wurde zuletzt bearbeitet: 01.03.2010 11:10 von pspfreaking.
|
|
01.03.2010 11:07 |
|
|
|
Neutrosider
Developer
Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010
Status:
Offline
Danke erhalten: 2325
|
RE: LUA Fragen
naja, wenn mal einmal die struktur von lua verstanden hat (was nicht sehr schwer ist) braucht man nur noch die befehle, operatoren und sonderzeichen und so. Dann muss man nur noch die befehle und funktionen geschickt kombinieren und verwursten und fertig ist das lua Homebrew. Hier ist mal ne übersicht von so ziemlich allen Befehlen und Operatoren usw. vom Lua Player HM7. Die Befehle sind von www.ps-evolution.in und die operatoren von lua.bumuckl.com
Font.load(dateiname)
Font:setPixelSizes(number width, number height)
Font:getTextSize(string)
Image.load(dateiname)
image:blit(x, y, Image source, sourcex, sourcey, width, height,true/false)
image:clear(farbe)
image:fillRect(x, y, width, height, color)
image:drawLine(x0, y0, x1, y1, color)
image:pixel(x, y)
image:pixel(x, y, color)
image:print(x, y, text, color)
image:fontPrint(font, x, y, text, color)
image:width()
image:height()
Image:save(dateiname)
screen.flip()
screen.waitVblankStart(zeit)
Color.new(r, g, b, a)
color:colors()
Controls.read()
pad:select()
pad:start()
pad:up()
pad:right()
pad:down()
pad:left()
pad:l()
pad:r()
pad:triangle()
pad:circle()
pad:cross()
pad:square()
pad:home()
pad:hold()
pad:note()
pad:analogX()
pad:analogY()
System.currentDirectory()
System.listDirectory()
System.createDirectory()
System.removeDirectory()
System.removeFile()
System.rename()
System.usbDiskModeActivate()
System.usbDiskModeDeactivate()
System.powerIsPowerOnline()
System.powerIsBatteryExist()
System.powerIsBatteryCharging()
System.powerGetBatteryChargingStatus()
System.powerIsLowBattery()
System.powerGetBatteryLifePercent()
System.powerGetBatteryLifeTime()
System.powerGetBatteryTemp()
System.powerGetBatteryVolt()
System.powerTick()
System.md5sum()
System.sioInit()
System.sioRead()
System.sioWrite()
System.irdaInit()
System.irdaRead()
System.irdaWrite()
System.sleep()
System.getFreeMemory()
System.Quit()
System.setLow()
System.setReg()
System.setHigh()
System.setcpuspeed("333")
System.madeby()
System.runeboot("Dateipfad")
System.unassign()
System.assign()
System.memclean()
System.oaenable()
System.oadisable()
System.loadPrx("Dateipfad")
System.nickName()
System.message()
System.buttonPressed()
System.copyFile()
System.suspend()
System.shutdown()
System.startUMD()
System.startISO()
System.startPSX()
System.startOSK()
System.startGameSave()
System.startGameLoad()
System.usbDevFlash0()
System.usbDevFlash1()
System.usbDevFlash2()
System.usbDevFlash3()
System.usbDevUMD()
System.getModel()
System.getDate()
System.getTime()
System.startUpdate()
System.usbState()
System.getDirSize()
System.getFileSize()
System.webbrowser()
System.loadPrxKernel()
System.autoCpu()
System.getCpuSpeed()
System.getBusSpeed()
System.doesDirExist()
System.doesFileExist()
System.getTotalSize()
System.getFreeSpace()
System.loadElf()
System.cfw()
System.LCDTimerDisable()
System.LCDTimerGet()
System.LCDTimerEnable()
System.getEboot()
ZIP.extract()
io.open()
io.lines()
io.flush()
io.close()
io.write()
System.oaenable()
Aktiviert die Wiedergabe von Sounds
System.oadisable()
Deaktiviert die Wiedergabe von Sounds
SoundSystem.SFXVolume()
SoundSystem.reverb()
SoundSystem.panoramicSeparation()
Sound.load()
Sound.play()
sound:gc()
sound:tostring()
Voice.stop()
Voice.resume()
Voice.volume()
Voice.pan()
Voice.frequency()
Voice.playing()
voice:tostring()
Wlan.init()
Wlan.term()
Wlan.getIP()
Wlan.startGameShare("Pfad zur .PBP","Netzwerkname aus maximal 8 Zeichen")
Adhoc.init()
Adhoc.connect()
Adhoc.getState()
Adhoc.send()
Adhoc.recv()
Adhoc.term()
Adhoc.getMac()
UMD.init()
UMD.term()
UMD.checkDisk()
UMD.ripISO()
UMD.getSize()
Hprm.read()
Hprm.headphone()
Hprm.remote()
Hprm.mic()
Socket.connect()
Socket.createServerSocket()
Socket.isConnected()
Socket.accept()
Socket.send()
Socket.recv()
Socket.close()
Socket:gc()
Socket:tostring()
Mp3.load()
Mp3.stop()
Mp3.pause()
Mp3.play()
Mp3.EndOfStream()
Mp3.getTime()
Mp3.songTime()
Mp3.artist()
Mp3.title()
Mp3.album()
Mp3.genre()
Mp3.year()
Mp3.trackNumber()
Mp3.layer()
Mp3.kbit()
Mp3.mode()
Ogg.load()
Ogg.stop()
Ogg.pause()
Ogg.play()
Ogg.EndOfStream()
Ogg.songTime()
Ogg.artist()
Ogg.title()
Ogg.album()
Ogg.genre()
Ogg.year()
Ogg.trackNumber()
Ogg.layer()
Ogg.kbit()
Ogg.mode()
Aa3me.load()
Aa3me.play()
Aa3me.stop()
Aa3me.eos()
Aa3me.gettime()
Aa3me.percent()
Aa3me.pause()
Aa3me.songTime()
Aa3me.artist()
Aa3me.title()
Aa3me.album()
Aa3me.genre()
Aa3me.year()
Aa3me.trackNumber()
Aa3me.layer()
Aa3me.kbit()
Aa3me.mode()
Aa3me.rawSongTime()
Aa3me.instantBitrate()
Aa3me.vis()
Mp3me.load()
Mp3me.play()
Mp3me.stop()
Mp3me.eos()
Mp3me.gettime()
Mp3me.percent()
Mp3me.pause()
Mp3me.songTime()
Mp3me.artist()
Mp3me.title()
Mp3me.album()
Mp3me.genre()
Mp3me.year()
Mp3me.trackNumber()
Mp3me.layer()
Mp3me.kbit()
Mp3me.mode()
Mp3me.rawSongTime()
Mp3me.instantBitrate()
Mp3me.vis()
a=1 variable links vom gleich (a) erhält den wert rechts vom gleich (1)
\" --Anführungszeichen
' --Apostroph
\a --???
\b --Backspace
\f --???
\n --Neue Zeile
\r --???
\t --Horizontaler Strich = -
\v --Vertikaler Strich = |
\ --Backslash = \
\[ --eckige Klammer "auf" = [
\] --eckige Klammer "zu" = ]
string.byte
string.char
string.find
string.format
string.len
string.lower
string.rep
string.sub
string.upper
string.gfind
string.gsub
string.dump
string.byte
math.abs( zahl )
math.acos( zahl )
math.asin( zahl )
math.atan( zahl )
math.atan2(zahl1, zahl2 )
math.ceil( zahl )
math.cos( winkel_in_rad )
math.deg( zahl )
math.floor( zahl )
math.frexp( zahl )
math.ldexp( faktor, exponent )
math.log( zahl )
math.log10( zahl )
math.max( zahl1, zahl2,... )
math.min( zahl1, zahl2,... )
math.mod( zahl1, zahl2)
math.pi
math.pow( x, n )
math.rad( zahl )
math.random( anfangszahl, endzahl )
math.randomseed( os.time() )
math.sin( zahl )
math.sqrt( zahl )
math.tan( zahl )
table.concat (table , zwischentext , ab wann , bis wo)
table.foreach (table, funktion)
table.getn (table)
table.sort (table , funktion)
table.insert (table, position, wert)
table.remove (table , position)
table.setn (table, felderanzahl)
|
|
01.03.2010 14:07 |
|
Folgende User bedanken sich: |
|
pspfreaking
Halbprofi
Beiträge: 128
Gruppe: User
Registriert seit: Oct 2009
Status:
Offline
Danke erhalten: 20
|
RE: LUA Fragen
also mein erster teil meines hb läuft nun endlich ohne fehlermeldung
allerdings gibt es doch zwei probleme
1.also wenn man im ersten level st muss man x drücken um ins nächste zu kommen wenn man irgendetwas anderes drückt kommt die meldung falsch.
doch es ist so wenn man das erste level startet kommt eine sekunde das bild und dann gleich die falsch meldung ohne das man etwas drückt.
hier der code:
level_1 = Image.load("level_1.png")
while true do
pad = Controls.read()
screen:blit(0,0,level_1,true)
screen.waitVblankStart()
screen:flip()
if pad:cross() then
dofile("level_2.lua")
else
dofile("falsch.lua")
end
end
ich glaube das kann man beheben indem man immer schreibt:
if pad:circle() then
dofile("falsch.lua")
end
if pad:r() then
dofile("falsch.lua")
end
...
aber geht das nicht auch einfacher?
2. die bilder sind irgendwie zu groß für den bildschirm unten und rechts ist viel abgeschitten kann ich die irgendwie kleiner (ich habe gimp 2.68 geht das vielleicht noch mit dem)
welche größe soll ich nehmen
also meine bilder sind immer so aber die gehen nicht:
breite 640 pixel
höhe 400 pixel
horizontale auflösung 72dpi
vertikale auflösung 72dpi
bittiefe 32
schinken
|
|
01.03.2010 17:12 |
|
|
|
D!S
Legende
Beiträge: 1.537
Gruppe: User
Registriert seit: Sep 2009
Status:
Abwesend
Danke erhalten: 470
|
RE: LUA Fragen
2. die bilder sind irgendwie zu groß für den bildschirm unten und rechts ist viel abgeschitten kann ich die irgendwie kleiner (ich habe gimp 2.68 geht das vielleicht noch mit dem)
welche größe soll ich nehmen
also meine bilder sind immer so aber die gehen nicht:
breite 640 pixel
höhe 400 pixel
horizontale auflösung 72dpi
vertikale auflösung 72dpi
bittiefe 32
Also mit Gimp kannst du dein BILDER skalieren auf 480x272!
|
|
01.03.2010 17:25 |
|
Folgende User bedanken sich: |
|
Nico
Junior Mitglied
Beiträge: 23
Gruppe: User
Registriert seit: Feb 2010
Status:
Offline
Danke erhalten: 2
|
RE: LUA Fragen
kannst du mal kurz beschreiben was du gemacht hast um die eboot zum laufen zu bringen habs au mit dem tut von hier probiert und bei mir kommt auch defekte datei
|
|
01.03.2010 19:31 |
|
|
|
D!S
Legende
Beiträge: 1.537
Gruppe: User
Registriert seit: Sep 2009
Status:
Abwesend
Danke erhalten: 470
|
RE: LUA Fragen
Nehmt die EBOOT des Lua Player HM 7,erstellt ein Ordner,und kopiert eure Script.lua darein...
Also
ms0:/PSP/GAME/Ordner/Script.lua,Eboot.pbp
Dieser Beitrag wurde zuletzt bearbeitet: 01.03.2010 19:35 von D!S.
|
|
01.03.2010 19:33 |
|
Folgende User bedanken sich: |
|
Nico
Junior Mitglied
Beiträge: 23
Gruppe: User
Registriert seit: Feb 2010
Status:
Offline
Danke erhalten: 2
|
RE: LUA Fragen
ich glaube das kann man beheben indem man immer schreibt:
if pad:circle() then
dofile("falsch.lua")
end
if pad:r() then
dofile("falsch.lua")
end
...
aber geht das nicht auch einfacher?
Hm also mit dem Teil haste recht bei deinem ersten code machts einfach falls du nicht x drückst "falsch.lua" somit musste jede taste abfragen
im moment fällt mir auch nix anderes ein aber ich denk nochma ein bisschen drüber nach
|
|
01.03.2010 19:38 |
|
|
|
Neutrosider
Developer
Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010
Status:
Offline
Danke erhalten: 2325
|
RE: LUA Fragen
probier mal folgendes:
if pad:cross() then
dofile("level_2.lua")
elseif not pad:cross() then
dofile("falsch.lua")
end
Dieser Beitrag wurde zuletzt bearbeitet: 01.03.2010 20:52 von Neutrosider.
|
|
01.03.2010 20:50 |
|
Folgende User bedanken sich: |
|
pspfreaking
Halbprofi
Beiträge: 128
Gruppe: User
Registriert seit: Oct 2009
Status:
Offline
Danke erhalten: 20
|
RE: LUA Fragen
probier mal folgendes:
if pad:cross() then
dofile("level_2.lua")
elseif not pad:cross() then
dofile("falsch.lua")
end
danke werd ich mal versuchen
@nico
du darfst einfach den namen in der param.sfo nicht ändern dann geht die eboot
und welcher luaplayer ist eigentlich am besten
je höher die version desto unstabiler aber dafür mehr funktionen das weis ich aber gibts da irgendein perfektes mittelmaß?
schinken
|
|
02.03.2010 12:05 |
|
|
|
Neutrosider
Developer
Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010
Status:
Offline
Danke erhalten: 2325
|
RE: LUA Fragen
hmm. meiner meinung nach isses der hm7. ich hatte bisher nur EIN problem, undzwar das zip dateien nach dem entpacken nicht "losgelassen" werden und daher erst nach nem neustart gelöscht werden. ansonsten keine probleme. der HM8 hat ne kurze download funktion drin, die in hm7 noch nicht da is, aber die downloaden geht auch mit hm7 (ich komme gleich dazu wie). Zudem geht das download unter hm7 etwas schneller und für hm8 muss man treiber installieren, was ebenfalls für hm7 spricht. Ich benutz hm7 auch für AX. (vileicht kennstes ja XD)
also Downloads in HM7 kannst du mit diesem script machen:
local socket , error , bytesSent , header , a , b , len , pos ,file
socket, error = Socket.connect(server, port)
while not socket:isConnected() do System.sleep(100) end
System.sleep(3000)
bytesSent = socket:send("GET /"..page.." HTTP/1.0\r\n")
bytesSent = socket:send("host: "..server.."\r\n\r\n")
file = io.open(destPath.."/"..downFile,"wb+")
header = ""
while not string.find(header, "\r\n\r") do
header = header .. socket:recv(2)
screen.waitVblankStart()
end
if not string.find(header, "\r\n\r\n") then
header = header .. socket:recv(1)
end
a,b,len = string.find(header, "Content%-Length: (%d+)\r\n")
a = nil;b = nil
len = tonumber(len)
while true do
screen:clear()
pos = file:seek("cur")
file:write(socket:recv(13370))
file:flush()
if System.getFileSize(destPath.."/"..downFile) == len then
file:close()
System.sleep(3000)
break
end
pad = Controls.read()
if pad:start() then
file:close()
System.removeFile(destPath.."/"..downFile)
System.sleep(3000)
break
end
screen.waitVblankStart()
end
socket:close()
Dieser Code funktioniert aber nur, wenn die dateigröße "findbar" ist. das ist aber nicht immer der fall (oft geht es z.b. bei zip dateien, fast nie dafür bei z.b. texten und html dateien)
Um aber auch die dateien runterladen zu können, bei denen die dateigröße nicht "findbar" ist, hab ich das script angepasst. (dieses script wird auch in AX bei Update infos und news benutzt) (Beide scripts werden in ax, aber in abgeänderter form zur fortschrittsangzeige benutzt):
local socket , error , bytesSent , header , a , b , len , pos ,file
screen:clear()
screen:blit(0,0,bg)
screen:print(100,131,"Download wird gestartet...",white)
screen.flip()
socket, error = Socket.connect(server, port)
while not socket:isConnected() do System.sleep(100) end
System.sleep(3000)
bytesSent = socket:send("GET /"..page.." HTTP/1.0\r\n")
bytesSent = socket:send("host: "..server.."\r\n\r\n")
file = io.open(destPath.."/"..downFile,"wb+")
header = ""
while not string.find(header, "\r\n\r") do
header = header .. socket:recv(2)
screen.waitVblankStart()
end
if not string.find(header, "\r\n\r\n") then
header = header .. socket:recv(1)
screen.waitVblankStart()
end
a,b,len = string.find(header, "Content%-Length: (%d+)\r\n")
a = nil;b = nil
len = tonumber(len)
dateisize=System.getFileSize(destPath.."/"..downFile)
framecounter=0
while true do
screen:clear()
pos = file:seek("cur")
dateisizealt=dateisize
file:write(socket:recv(13370))
file:flush()
dateisize=System.getFileSize(destPath.."/"..downFile)
if dateisize~=dateisizealt then
framecounter=0
else
framecounter=framecounter+1
end
screen:blit(0,0,bg)
screen:print(40,115,content.." wird gedownloaded:",white)
screen:print(40,125,"Dateigroesse: "..dateisize.." Byte",white)
screen.flip()
if System.getFileSize(destPath.."/"..downFile) == len then
file:close()
System.sleep(3000)
break
end
pad = Controls.read()
if framecounter>=25 then
System.removeFile(destPath.."/"..downFile)
System.sleep(3000)
break
end
screen.waitVblankStart()
end
socket:close()
Bei beiden scripts müssen folgende variablen vorher festgelegt werden:
server="SERVER"
port=80
destPath="SPEICHERORT"
page="LINK"
downFile="SPEICHERNAME"
Der Downloadlink wird so aufgeteilt:
<span style="color: red;">http://</span><span style="color: lightgreen;">server</span><span style="color: cyan;">link</span>
beispiel: <span style="color: red;">http://</span><span style="color: lightgreen;">hacksonline.kilu.de</span><span style="color: cyan;">/PSP/src/games/CoD%202%20PSP%20Edition.zip</span>
<span style="color: red;">ROT: Wird weggelassen</span> (vom anfang bis zum 2 "/")
<span style="color: lightgreen;">GRÜN: Ist der SERVER</span> (zwischen dem 2. und 3. "/")
<span style="color: cyan;">BLAU: ist der LINK</span> (ab dem 3. "/" bis zum ende)
Damit wären SERVER und LINK Klar. SPEICHERORT Ist der Ornder in dem es gepeichert werden soll, z.b. ms0:/PSP/GAME
SPEICHERNAME ist der name unter der die Datei gespeichert wird, z.b. testdatei.zip
|
|
02.03.2010 12:52 |
|
Folgende User bedanken sich: |
|
Nico
Junior Mitglied
Beiträge: 23
Gruppe: User
Registriert seit: Feb 2010
Status:
Offline
Danke erhalten: 2
|
RE: LUA Fragen
kann mir jemand mit meinem code helfen:
if pad:circle() and i==1 then
c = Image.load("Images/test4.png")
i=i+1
end
if pad:circle() and i==2 then
c = Image.load("Images/test5.png")
i=i+1
end
if pad:circle() and i==3 then
c = Image.load("Images/test3.png")
i=1
end
wenn ich kreis taste drücke tut sich einfach nix
der code ausschnitt ist in der main loop und außerhalb der main loop habe ich i=1 gesetzt und c= Image.load("Images/test3.png")
|
|
02.03.2010 20:50 |
|
|
|
Neutrosider
Developer
Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010
Status:
Offline
Danke erhalten: 2325
|
RE: LUA Fragen
Dein Ganzer code müsste so aussehen:
i=1
c= Image.load("Images/test3.png")
while true do
screen:clear()
if pad:circle() and i==1 then
c = Image.load("Images/test4.png")
i=i+1
end
if pad:circle() and i==2 then
c = Image.load("Images/test5.png")
i=i+1
end
if pad:circle() and i==3 then
c = Image.load("Images/test3.png")
i=1
screen:blit(10,10,c)
screen.flip()
screen.waitVblankStart()
end
wobei ich das eher so machen würde:
i=1
c= Image.load("Images/test3.png")
bild={}
bild[1]="test4.png"
bild[2]="test5.png"
bild[3]="test3.png"
while true do
screen:clear()
if pad:circle() then
c = Image.load("Images/"..bild[i])
i=i+1
end
screen:blit(10,10,c)
screen.flip()
screen.waitVblankStart()
end
|
|
02.03.2010 21:19 |
|
Folgende User bedanken sich: |
|
Nico
Junior Mitglied
Beiträge: 23
Gruppe: User
Registriert seit: Feb 2010
Status:
Offline
Danke erhalten: 2
|
RE: LUA Fragen
also so wie dein erster vorschlag habe ich es ja, mein code ausschnitt den ich gepostet hab is in der main loop und außerhalb ist dann i und c definiert und des funktioniert irgendwie nicht
ich werde mal den zweiten teil testen vielen dank für deine mühe
|
|
03.03.2010 08:01 |
|
|
|
|