General discussion about Super Mario Bros. X.
Moderator: Userbase Moderators
|
|
|
|
-
Axiom
- Phanto

- Posts: 1471
- Joined: Tue Dec 24, 2013 2:23 pm
Postby Axiom » Tue Aug 04, 2015 9:27 am

(credit to Wohlstand for the original LunaLua icon, which i merged with the mushroom)
LunaLua Module Manager
It's finally out! I've teased it forever on IRC and here it is, yet another manager application from the man, the myth, the not so legend.
As I started to tinker around with LunaLua, I began to realise the power of "API Scripts" that Kevsoft had created. They were powerful indeed, but could be a pain for the average user to have to manager. Thus, the LunaLua Module Manager was born! A simple application to install and update the API scripts that LunaLua uses. Plus, it'll update your LunaLua too!
The application is also compatible with Linux and is built using Gtk and compiled against Mono, hence the requirement for both runtimes on Windows.
Screenshots:
Downloads:
Windows: Download the Installer
Linux: Download this zip, script installer coming soon!
OS X: OS X users..I'm begging you! Build this application from source, test it, debug it. I have no clue if this even works on OS X so please, help me make it work
Source: GitHub
Enjoy! If you have any issues..
-If you have auto bug reporting turned on, I will get an email with the bug report info and stack trace.
-You can use Menu>Bug Report to collect the needed information and paste it here.
-You can also manually submit a bug report and I will get an email the same way.
-Or, go onto the source code site (GitHub) and report an issue there so I can feel more accomplished about myself 
|
|
|
|
|
|
|
|
|
-
Quill
- Rydia

- Posts: 812
- Joined: Tue Dec 03, 2013 12:51 pm
-
Contact:
Postby Quill » Tue Aug 04, 2015 10:57 am
thank mr axiom
|
|
|
|
|
|
|
|
|
-
Axiom
- Phanto

- Posts: 1471
- Joined: Tue Dec 24, 2013 2:23 pm
Postby Axiom » Tue Aug 04, 2015 3:20 pm
eheheheh i goofed
there's still some slight bugs, so updates have been pushed.
if you're unable to update i'm sorry: i've updated the installer with the latest compoenents, you may need to reinstall
i'm sorry please don't boycott i'm only one human please.
|
|
|
|
|
|
|
|
|
-
Quill
- Rydia

- Posts: 812
- Joined: Tue Dec 03, 2013 12:51 pm
-
Contact:
Postby Quill » Tue Aug 04, 2015 3:47 pm
you've gone one step too far you're banned
|
|
|
|
|
|
|
|
|
-
Axiom
- Phanto

- Posts: 1471
- Joined: Tue Dec 24, 2013 2:23 pm
Postby Axiom » Tue Aug 04, 2015 3:52 pm
Quill wrote:you've gone one step too far you're banned
god dammit not again
|
|
|
|
|
|
|
|
|
-
buddyroach
- Swooper

- Posts: 68
- Joined: Sun Jul 19, 2015 1:48 pm
- Flair: Glitch420
-
Contact:
Postby buddyroach » Sun Aug 09, 2015 12:43 pm
Can someone just make video tutorials on how to write Lunalua code?
|
|
|
|
|
|
|
|
|
-
Marina
- Cecil

- Posts: 2380
- Joined: Sun May 25, 2014 7:01 am
- Flair: everything's still romantic, right?
- Pronouns: she/her/they/them
Postby Marina » Sun Aug 09, 2015 1:04 pm
Axiom, doing the lords work since 2010.
|
|
|
|
|
|
|
|
|
-
Axiom
- Phanto

- Posts: 1471
- Joined: Tue Dec 24, 2013 2:23 pm
Postby Axiom » Sun Aug 09, 2015 4:33 pm
buddyroach wrote:Can someone just make video tutorials on how to write Lunalua code?
that's not a bad idea
Marina wrote:Axiom, doing the lords work since 2010.
<3
|
|
|
|
|
|
|
|
|
-
buddyroach
- Swooper

- Posts: 68
- Joined: Sun Jul 19, 2015 1:48 pm
- Flair: Glitch420
-
Contact:
Postby buddyroach » Sun Aug 09, 2015 9:28 pm
Axiom, is that you in the picture with the dog?
|
|
|
|
|
|
|
|
|
-
Axiom
- Phanto

- Posts: 1471
- Joined: Tue Dec 24, 2013 2:23 pm
Postby Axiom » Sun Aug 09, 2015 9:45 pm
no, why?
|
|
|
|
|
|
|
|
|
-
buddyroach
- Swooper

- Posts: 68
- Joined: Sun Jul 19, 2015 1:48 pm
- Flair: Glitch420
-
Contact:
Postby buddyroach » Sun Aug 09, 2015 9:57 pm
just wondering.
i am trying to make a new powerup with lunalua.
i got this: NPCMemSet,13,0xE2,5,0,0,w
but how would i make it to where the player doesnt receive damage when he is ducking? even from a attack from the side from a koopa shell speeding at him?
|
|
|
|
|
|
|
|
|
-
Axiom
- Phanto

- Posts: 1471
- Joined: Tue Dec 24, 2013 2:23 pm
Postby Axiom » Mon Aug 10, 2015 7:41 am
That is not LunaLua, that is LunaDll's assembly like language. Lua looks closer to Visual Basic.
Anyway, this is not the place to ask this. I would like to keep this thread dedicated to the module manager but if I find anything, I may update this post.
I found something to get you started. In Lua is a functional language, like I said its syntax looks similar to say Visual Basic.
The first thing you want is a reference to Player 1.
This gets you your reference. You can access it by the player1 variable name.
Next, we need to override a function. LunaLua has a function called "onLoop" that is called once every 65 ticks (once every frame basically) so to override that, we just remake the function
Next, we need to check if the player is holding the down button.
Code: Select all if(player1.downKeyPressing()) then
end
And that's a start, from there I will research invisibility and such. You'd also want to probably check the player's powerup too. This is done on an index basis. So whatever powerup you replaced, that will be the index you check. Something like this.
Code: Select all function onLoop()
if(player1.downKeyPressing()) then
if(player1.powerup == 1) then
--then finally do our invisibility.
end
end
end
NOTE: I used 1 as an example which I believe is just the standard mushroom/big Mario so you will need to experiment. Check out this page for the full reference on the player class.
EDIT 2: I actually got a full working example up. I tried to get a video but apparently Debian doesn't have any decent screen recorders..
Code: Select all local player1 = Player();
function onLoop()
Text.print(tostring(player1.powerup), 0, 0);
Text.print(player1.downKeyPressing, 0, 32);
Text.print(tostring(mem(0x00B2C8C0, FIELD_WORD)), 0, 64);
if(player1.downKeyPressing) then
if(player1.powerup == 2) then
mem(0x00B2C8C0, FIELD_WORD, 0xFFFF);
end
else
mem(0x00B2C8C0, FIELD_WORD, 0);
end
end
Put this in your lunadll.lua file which goes in your level's custom graphics folder.
|
|
|
|
|
|
|
|
|
-
buddyroach
- Swooper

- Posts: 68
- Joined: Sun Jul 19, 2015 1:48 pm
- Flair: Glitch420
-
Contact:
Postby buddyroach » Tue Aug 11, 2015 2:49 am
but this code: NPCMemSet,13,0xE2,5,0,0,w
works in the modded LunaLua version of SMBX.
it makes a new powerup that shoots shells.
and thanks for the starter tips. this is something i wish to add to my knowledge.
|
|
|
|
|
|
|
|
|
-
Axiom
- Phanto

- Posts: 1471
- Joined: Tue Dec 24, 2013 2:23 pm
Postby Axiom » Tue Aug 11, 2015 8:03 am
buddyroach wrote:but this code: NPCMemSet,13,0xE2,5,0,0,w
works in the modded LunaLua version of SMBX.
it makes a new powerup that shoots shells.
and thanks for the starter tips. this is something i wish to add to my knowledge.
Yes it does, however this is not Lua. That's LunaDll's old autocode. While yes, it does work, you wouldn't be able to mix it with Lua code. You should actually probably start learning Lua anyway since this is where SMBX modding/scripting is going and it's very close to your native visual basic.
http://engine.wohlnet.ru/pgewiki/Category:LunaLua_API
|
|
|
|
|
|
|
|
|
-
buddyroach
- Swooper

- Posts: 68
- Joined: Sun Jul 19, 2015 1:48 pm
- Flair: Glitch420
-
Contact:
Postby buddyroach » Wed Aug 12, 2015 12:43 am
uhm. i am confused.
Code: Select all local player1 = Player();
function onLoop()
Text.print(tostring(player1.powerup), 0, 0);
Text.print(player1.downKeyPressing, 0, 32);
Text.print(tostring(mem(0x00B2C8C0, FIELD_WORD)), 0, 64);
if(player1.downKeyPressing) then
if(player1.powerup == 6) then
mem(0x00B2C8C0, FIELD_WORD, 0xFFFF);
end
elseif(player1.speedx > 0) then
if player1.XKeyPressing then
player1.speedx = 0
end
end
end
else
mem(0x00B2C8C0, FIELD_WORD, 0);
end
end
i am trying to make it to where the player comes to a hault IF they are pressing down and IF their horizontal speed is greater than 0.
I wish there was a better program to write this code like VB which can catch your mistakes on the fly rather than just relying on a text editor.
That would be a good program to make. Anyway, I was doing this to see if I could understand how this works. In the end, I don't want the player to stop.
I want the player to keep moving as long as the down button is pressed.
First, I wanted the player to keep moving in the direction they are moving when the down button is pressed as long as its pressed but stop when its no longer pressed. Then I want the graphic of the player to change to some frames of animation. Also, I want it to not bounce of bricks and breakable blocks but instead break them and keep on plowing through. I am trying to make a turtle shell power up. Well, its a powerup that does more but that is one of the features. But instead of bouncing off of bricks when it breaks them, it just keeps plowing through.
XXXX::::XXXXX::: I will try to think of a better way to explain this then I will come back.
|
|
|
|
|
|
|
|
|
-
Axiom
- Phanto

- Posts: 1471
- Joined: Tue Dec 24, 2013 2:23 pm
Postby Axiom » Wed Aug 12, 2015 8:56 am
Couple of things..
1. Can we please keep this thread about the Module Manager?
2. You should try out Notepad++. It's nowhere close to VIsual Studio, but it has syntax highlighting and keeps the tabs even and stuff. Can't go wrong for free.
3. I think you may have gotten some of the fields wrong. I think player.XKeyPressing is actually a function not a field, so it would end in (). But please discuss this over in the LunaLua thread.
|
|
|
|
|
|
|
|
|
-
Axiom
- Phanto

- Posts: 1471
- Joined: Tue Dec 24, 2013 2:23 pm
Postby Axiom » Wed Aug 12, 2015 10:00 am
I'm double posting for a very specific reason.
So as it turns out, there's more glitches in the Module Manager than I thought. I fixed everything that I could, but the bugs are beyond what I can do at this point. The bugs now lie in Mono/Gtk#'s hands.
Truth be told, this project was an experiment from the start. As soon as I thought I had gotten a hold of Gtk's differences from Winforms (what I use as the buttons, listviews, etc.) for all my other programs, I got too comfortable and expected everything to work. Boy, was I mistaken.
Gtk# is a mess. I actually had to manually link libraries on Windows of all platforms. This program works amazingly under Linux, virtually no issues. But under Windows, the platform that .NET is native to, I am experiencing the most issues. Gtk# is not a mature platform, and I thought Mono was but I guess not. So, a sincere apology, the Module Manager is being put on hiatus. The ultimate plan is port the project to C++ using Qt. Until then, I will throw together a quick Winforms versions for Windows users (since that is my major audience). This version should actually work and I should have virtually no issues with it. I am sorry, I will be requesting that this topic be locked until the move to winforms is complete. If you want to keep up, check out my dev topic.
tl;dr mono sucks. never use it for anything beyond command line applications or Linux only C# apps. this has been a PSA from yours truly.
Oh, and one more thing: the program would run fine in the IDE on multiple computers. In the real world outside of the IDE, it would crash without any notice. Pretty amazing framework right?
|
|
|
|
|
Return to “General”
Users browsing this forum: Barkrowler [Bot], Petal [Bot] and 4 guests
|