LUA für BMax
Übersicht BlitzMax, BlitzMax NG Allgemein
bruZardBetreff: LUA für BMax |
Fr, Jan 14, 2005 12:33 Antworten mit Zitat |
|
---|---|---|
Im bb.com Subforum "BlitzMax Module Tweaks" findet man unter "LUA for BlitzMax v1.0" etwas sehr interessantes: Ein Modul zum nutzen der Scriptsprache LUA mit BMax. Die Demos zeigen in Ansätzen was damit möglich ist.
Um selbst damit klar zu kommen habe ich mich auf die Suche nach Tutorials gemacht und kann zumindest eines schonmal empfehlen: http://www.tutorials.de/showth...nextoldest Viel Spass beim scripten Eurer Projekte P.S.: Bevor jemand fragt: Ich habe absichtlich nicht den Link zur richtigen Seite auf www.blitzbasic.com gepostet da Mark Sibly sicher einen Grund hat warum dieses Forum nur Käufer der Vollversion sehen |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
OJay |
Fr, Jan 14, 2005 12:56 Antworten mit Zitat |
|
---|---|---|
kannst den link ruhig posten...wenn du nicht eingeloggt bist auf bb.com, bekommst du bei unsichtbaren threads einen "internal error"... | ||
bruZard |
Fr, Jan 14, 2005 14:17 Antworten mit Zitat |
|
---|---|---|
Nun gut denn, hier ist der Link:
http://www.blitzbasic.com/Comm...opic=41621 Ich habe auch schon damit herum probiert und es ist fantastisch ... einfach mal eben eine eigene Funktion durch ein Script aufrufen, Variablen ohne grössere Umstände austauschen etc. ... ein wirkliche Erleichterung. Ihr könnt Euch hier eine Demo herunterladen. Sie liest zunächst das Script "game.lua", initialisiert damit ein paar Werte (u.a. den Gameordner) und holt sich dann das Script timemill.lua In diesem starte ich meine BMax Funktion INitGfx() und hole mir danach noch die Werte aus dem BMax Code um sie in der Console auszugeben. Bitte beachten: Code der LUA verwendet lässt sich _nicht_ im Debug Mode kompilieren ... das ist ganz schön assi ... mal gucken woran das liegt. |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
bruZard |
Fr, Jan 14, 2005 17:12 Antworten mit Zitat |
|
---|---|---|
Ich habe meinen Testcode mal etwas erweitert -> http://www.makegame.de/downloads/lua_test.zip (Exe liegt bei).
Was man derzeit alles über LUA in der Exe "anrichten" kann steht in der lua_scripting.txt ... was man mit LUA alles machen kann ist auf www.lua.org nachzulesen. Um mal "komplexe" Vorgänge in Scripts zu testen habe ich mal in timemill\script\console.lua eine For-Schleife gepackt welche die Funktion WriteToConsole nutzt um Text in die InGame Console zu schreiben (ja, ich mag Konsolen ) Es wäre schön wenn mal jemand den Code unter Linux testen könnte, würde mich interessieren ob das läuft. |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
Suco-XBetreff: .... |
Sa, Jan 15, 2005 13:57 Antworten mit Zitat |
|
---|---|---|
Zitat: Bitte beachten: Code der LUA verwendet lässt sich _nicht_ im Debug Mode kompilieren ... das ist ganz schön assi ... mal gucken woran das liegt. Vllt hast du einfach nur vergessen das Modul auch im Debug Modus zu erstellen. Müssen ja immer zwei Versionen erstellt werden. Mfg Suco |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
Gombolo |
Sa, Jan 15, 2005 14:01 Antworten mit Zitat |
|
---|---|---|
Vieleicht sollte man erwähnen das profesionelle Spiele auch LUA vewenden. Z.B. FarCry. | ||
Heute ist der erste Tag vom Rest deines Lebens
http://gombolo.go.funpic.de/ |
furbolg |
Sa, Jan 15, 2005 14:02 Antworten mit Zitat |
|
---|---|---|
Dawn of War auch | ||
bruZard |
Sa, Jan 15, 2005 14:08 Antworten mit Zitat |
|
---|---|---|
Tatsache Suco-X ... das war der Fehler ... | ||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
wunderkind |
Fr, Feb 11, 2005 10:38 Antworten mit Zitat |
|
---|---|---|
Ich frage mal ganz unbedarft: Gibt es eigentlich auch irgendwo eine Dokumentation zum Lua Modul? | ||
bruZard |
Fr, Feb 11, 2005 10:47 Antworten mit Zitat |
|
---|---|---|
Gucke Dir die Samples an :: http://www.tomkatgames.com/pub...amples.zip
Die sind eigentlich selbsterklärend. Mehr Infos zu Lua selbst gibt es auf http://www.lua.org |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
wunderkind |
Fr, Feb 11, 2005 10:54 Antworten mit Zitat |
|
---|---|---|
Die Samples hatte ich noch nicht. Danke für den Tipp. | ||
regaa |
Fr, Feb 11, 2005 15:00 Antworten mit Zitat |
|
---|---|---|
Mal ungegoogelt gefragt, wozu soll Lua gut sein für Blitzmax? Kann es etwas viel besser lösen als Blitzmax / was Blitzmax gar nicht kann? | ||
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net |
bruZard |
Fr, Feb 11, 2005 15:11 Antworten mit Zitat |
|
---|---|---|
Och bitte, selbst ungegoogled sollte der Sinn von Scriptsprachen eingehen.
Aber nochmal für die billigen Plätze ganz hinten: Mit LUA kannst Du ein Interface zu Deinem Programm erstellen über welches die Exe von aussen steuerbar ist. Anstatt jeden Kram hardcoded zu realisieren kann man bspw. das Leveldesigns eines Games von aussen per Script erstellen. |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
wunderkind |
Fr, Feb 11, 2005 15:14 Antworten mit Zitat |
|
---|---|---|
Lua ist eine Skriptsprache. Man kann z.B. ein Programm schreiben und dessen Verhalten lässt sich dann über ein Skript von außen steuern.
[edit] Mann, bin ich langsam! [/edit] |
||
regaa |
Fr, Feb 11, 2005 16:57 Antworten mit Zitat |
|
---|---|---|
bruZard hat Folgendes geschrieben: Och bitte, selbst ungegoogled sollte der Sinn von Scriptsprachen eingehen.
Aber nochmal für die billigen Plätze ganz hinten: Mit LUA kannst Du ein Interface zu Deinem Programm erstellen über welches die Exe von aussen steuerbar ist. Anstatt jeden Kram hardcoded zu realisieren kann man bspw. das Leveldesigns eines Games von aussen per Script erstellen. Nun, ich kann php und javascript, aber der Sinn deiner Aussage bleibt mir verborgen. Exen von aussen ansteuern hört sich sehr interessant an. Nen Beispiel, zumindest Pseudobeispiel? Für mich heisst Scriptsprache immer keine kompilierten Sachen, alles interpretiert. |
||
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net |
bruZard |
Fr, Feb 11, 2005 17:03 Antworten mit Zitat |
|
---|---|---|
Beispiel Timemill-Editor:
Die Benutzeroberfläche ist nicht fest programmiert, sondern wird über ein LUA Script erstellt. Hierzu habe ich die Funktion "LoadGUI()" implementiert die erstmal nix weiter macht als eine Grafik zu laden. Dann kann man per LUA festlegen wo die Buttons liegen und wie gross sie sind. Hier das aktuelle Script Code: [AUSKLAPPEN] dofile("editor_data.tms") SetFont("fnt8x8.bmp",8,8) LoadGUI("gui.bmp",0,GetScreenheight()-128) DefineButton(GuiX()+128,GuiY()+71,80,9,NEW_MAP) -- Neue Map DefineButton(GuiX()+128,GuiY()+80,80,9,LOAD_MAP) -- Map laden DefineButton(GuiX()+128,GuiY()+89,80,9,SAVE_MAP) -- Map sichern DefineButton(GuiX()+724,GuiY()+2,18,18,LAST_TILE) -- Tileliste zurück scrollen DefineButton(GuiX()+742,GuiY()+2,18,18,NEXT_TILE) -- Tileliste vor scrollen DefineTilesetView(GuiX()+7,GuiY()+80,98,45) DefineTilelistView(GuiX()+7,GuiY()+3,716,66) CreateConsole(0,0,GetScreenwidth(),GetScreenheight()/2) Dieses Script veranlasst die Exe dazu die Grafik zu laden, die Buttons zu definieren und ihnen Funktionen zuzuweisen. Im BMax Source steht nirgendwo wie die GUI aussehen soll. War das jetzt verständlich? |
||
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32
User posted image |
regaa |
Fr, Feb 11, 2005 17:11 Antworten mit Zitat |
|
---|---|---|
Jo, hört sich cool an. Werde mal demnächst nen Blick drauf werden. Danke für die geduldige Erklärung . | ||
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net |
wunderkind |
Fr, Feb 11, 2005 19:53 Antworten mit Zitat |
|
---|---|---|
Ist jemand denn jemand so kuschelig per Du mit Lua? Mich interessiert, ob ich einem Skript eine bestimmte maximale Laufzeit mit auf den Weg geben kann. Damit z.B. nicht irgendein schlauer User Endlosschleifen produziert und damit das komplette Programm zum Stillstand kommt. | ||
TheShadowModerator |
Fr, Feb 11, 2005 22:46 Antworten mit Zitat |
|
---|---|---|
Ich hab tatsächlich eine Verwendung für LUA... Ihr kennt mich doch - ich bin einer der alles universell machen möchte... Und zwar will ich ein Spiel coden - und man soll dort "Regeln" dazuladen können... Diese "Regeln" sollen aus Scripten bestehen... Das ist mit hardcodierten EXE's nicht möglich - oder eine Erweiterung per DLL viel zu umständlich... (obwohl... das könnte man zur Not noch machen)
Ich weiß nur nicht recht was der Unterschied zw. LUA und LUASCRIPT ist... Ich muss mal versuchen da durchzusteigen... Kann man da jetzt sowas wie runscript "code.lua" machen oder wie läuft das, bruz? |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
Suco-XBetreff: ....... |
Fr, Feb 11, 2005 23:05 Antworten mit Zitat |
|
---|---|---|
Genau so läuft das ganze. Siehe die Samples. Einmal für Config und einmal für ausführbares Script sind Samples dabei.
Habs mir vor ein paar Wochen auch mal angetan. So wie es aussieht ist LUA nur Case Sensitive. Ohne Option um es abzuschalten. Das ich irgendwie keine ordentlichen Fehlermeldungen bekomme, erschwert den ganzen umgang da natürlich noch. Zumindestens wenn ich mal einen Buchstaben Vergesse oder ausversehen nicht Groß/Kleinschreibung geachtet habe. Aber ehrlich gesagt habe ich mich da noch nicht weiter mit auseinandergesetzt. Auf jedenfall ist LUA Hot und macht Lust auf mehr. Mfg Suco |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
Übersicht BlitzMax, BlitzMax NG Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group