Can you show me how to change the GUI like in your converter? thanks so much for your help!When I'll be on my computer, I'll help you transforming all those plugins in a single one which will automatically detect the region of the game.
It'll be easier for you to maintain this plugin
OMG PLEEEASE make a new GUI! That would be perfect for these hacks!You can't really "change" the GUI, you need to create your own from scratch. :/
I can modify the source a bit to use my lib and the menu in it if you want (we'll change the intro screen though).
It shouldn't 0.0So I just found out today that something about this plugin locks my light switch to off.
Instead of porting the menu for each game, could you just include the menu in the "ntr.bin"?See this thread to see the UI I made for the lib which will accompany my converter.
Can you create an ntr.bin to always bring up the menu or a cheat.plg converter to include this menu always?The menu is on a lib, so we just have to create the menu and call the function to print it, there's no port and it's not a simple image file.
My menu is limited to 300 entries by the way (against 64 for the NTR's original menu).
Yes please! I'm looking forward to it! Thanks!Oh I see what you mean !
No I can't edit the menu inside the NTR.bin, it's not working the same way, everything should be redone with my lib in order to use it.
But the converter I'll release will automatically use the lib so little by little a lot of plugins will use this menu (especially when there's not that many custom plugins creator ).
I cannot edit an already compiled plugin, sorry. :/
But if @itsRyan want it, I'll edit this one to use the menu I created.
void teleport(void)
{
u32 key = getKey();
static u32 indoor_X[3] = {0};
static u32 indoor_Y[3] = {0};
static u32 outdoor_X[3] = {0};
static u32 outdoor_Y[3] = {0};
static int loc = 0;
if ((key & BUTTON_A + BUTTON_DU) == BUTTON_A + BUTTON_DU)
{
loc = READU32(0x17321644);
if (loc == -1)
{
if (key & BUTTON_L) //If L is pressed then save in slot3
{
outdoor_X[2] = READU32(0x17321510);
outdoor_Y[2] = READU32(0x17321518);
}
else if (key & BUTTON_R) //If R is pressed then save in slot2
{
outdoor_X[1] = READU32(0x17321510);
outdoor_Y[1] = READU32(0x17321518);
}
else //If nothing is pressed then save in slot0
{
outdoor_X[0] = READU32(0x17321510);
outdoor_Y[0] = READU32(0x17321518);
}
}
else
{
if (key & BUTTON_L) //If L is pressed then save in slot3
{
indoor_X[2] = READU32(0x17321510);
indoor_Y[2] = READU32(0x17321518);
}
else if (key & BUTTON_R) //If R is pressed then save in slot2
{
indoor_X[1] = READU32(0x17321510);
indoor_Y[1] = READU32(0x17321518);
}
else //If noting is pressed then save in slot0
{
indoor_X[0] = READU32(0x17321510);
indoor_Y[0] = READU32(0x17321518);
}
}
}
if ((key & BUTTON_A + BUTTON_DD)== BUTTON_A + BUTTON_DD)
{
loc = READU32(0x17321644);
if (loc == -1)
{
if (key & BUTTON_L) //If L is pressed then restore slot3
{
WRITEU32(0x17321510, outdoor_X[2]);
WRITEU32(0x17321518, outdoor_Y[2]);
}
else if (key & BUTTON_R) //If R is pressed then restore slot2
{
WRITEU32(0x17321510, outdoor_X[1]);
WRITEU32(0x17321518, outdoor_Y[1]);
}
else //If nothing is pressed then restore slot0
{
WRITEU32(0x17321510, outdoor_X[0]);
WRITEU32(0x17321518, outdoor_Y[0]);
}
}
else
{
if (key & BUTTON_L) //If L is pressed then restore slot3
{
WRITEU32(0x17321510, indoor_X[2]);
WRITEU32(0x17321518, indoor_Y[2]);
}
else if (key & BUTTON_R) //If R is pressed then restore slot2
{
WRITEU32(0x17321510, indoor_X[1]);
WRITEU32(0x17321518, indoor_Y[1]);
}
else //If nothing is pressed then restore slot0
{
WRITEU32(0x17321510, indoor_X[0]);
WRITEU32(0x17321518, indoor_Y[0]);
}
}
}
}
I like thatOkay no problem then !
--------------------- MERGED ---------------------------
BTW, I took a look at the teleport function and I wanted to add 3 slots for each teleporter (don't know if it's useful but I got the idea so...) so here you go if you want to test it:
Code:void teleport(void) { u32 key = getKey(); static u32 indoor_X[3] = {0}; static u32 indoor_Y[3] = {0}; static u32 outdoor_X[3] = {0}; static u32 outdoor_Y[3] = {0}; static int loc = 0; if ((key & BUTTON_A + BUTTON_DU) == BUTTON_A + BUTTON_DU) { loc = READU32(0x17321644); if (loc == -1) { if (key & BUTTON_L) //If L is pressed then save in slot3 { outdoor_X[2] = READU32(0x17321510); outdoor_Y[2] = READU32(0x17321518); } else if (key & BUTTON_R) //If R is pressed then save in slot2 { outdoor_X[1] = READU32(0x17321510); outdoor_Y[1] = READU32(0x17321518); } else //If nothing is pressed then save in slot0 { outdoor_X[0] = READU32(0x17321510); outdoor_Y[0] = READU32(0x17321518); } } else { if (key & BUTTON_L) //If L is pressed then save in slot3 { indoor_X[2] = READU32(0x17321510); indoor_Y[2] = READU32(0x17321518); } else if (key & BUTTON_R) //If R is pressed then save in slot2 { indoor_X[1] = READU32(0x17321510); indoor_Y[1] = READU32(0x17321518); } else //If noting is pressed then save in slot0 { indoor_X[0] = READU32(0x17321510); indoor_Y[0] = READU32(0x17321518); } } } if ((key & BUTTON_A + BUTTON_DD)== BUTTON_A + BUTTON_DD) { loc = READU32(0x17321644); if (loc == -1) { if (key & BUTTON_L) //If L is pressed then restore slot3 { WRITEU32(0x17321510, outdoor_X[2]); WRITEU32(0x17321518, outdoor_Y[2]); } else if (key & BUTTON_R) //If R is pressed then restore slot2 { WRITEU32(0x17321510, outdoor_X[1]); WRITEU32(0x17321518, outdoor_Y[1]); } else //If nothing is pressed then restore slot0 { WRITEU32(0x17321510, outdoor_X[0]); WRITEU32(0x17321518, outdoor_Y[0]); } } else { if (key & BUTTON_L) //If L is pressed then restore slot3 { WRITEU32(0x17321510, indoor_X[2]); WRITEU32(0x17321518, indoor_Y[2]); } else if (key & BUTTON_R) //If R is pressed then restore slot2 { WRITEU32(0x17321510, indoor_X[1]); WRITEU32(0x17321518, indoor_Y[1]); } else //If nothing is pressed then restore slot0 { WRITEU32(0x17321510, indoor_X[0]); WRITEU32(0x17321518, indoor_Y[0]); } } } }
Tested v2.0.1Version 2.0.2 uploaded:
Fixed teleport's pointer where it would write to the wrong offset completely messing up moon jump and coordinates modifier and soft locking your game when you went indoors.
2.1 beta source will be found on my Github as I work on stuff; you may compile it yourself, or wait for a public stable (tm) release.
Planning on:
-Nookling/Gardening store upgrades
-Reworking seeder
-Add a real time search and replace
-Using @Nanquitas teleport function to allow storing of multiple spots.
-(maybe) port Speed hack
(possibly 3.0 if I don't get to this)
-Text 2 item for multiple players
-Port to jap
-Nookling sells golden tools
-Player 1-4 maximum tan
----More can be added if more offsets are found----
The development process will slow down but I will find time to work on it... and as I've said, help is much appreciated, this plugin is open source and anyone can help work on it
Thanks for downloading and supporting this plugin
Instant tree hasn't been tested that throughly but it shouldn't work online like all the other codes.Tested v2.0.1
Instant Tree soft locks when you use it on a tree in someone else's town online. Going indoors after completely soft locks.
For moon jump, why not just make one that doesn't bring you into the air, but allows you to bypass boundaries (like how it shows you walking on someone else's screen. How you'll ALWAYS go to the top of something if you walk over it
--------------------- MERGED ---------------------------
Also, could you make the codes go in this order (based on Mostly used):
1. Inventory
2. Movement
3. Environment
Yeah! I just realized that it would be very easy to do since it's just moving around the textInstant tree hasn't been tested that throughly but it shouldn't work online like all the other codes.
I'd love to be able to do that but I'd need to find the offset of where collision checks are, and I have no idea how to find them.
Also, that's based on your preference. You can order it in any way you want since I left the source code avaible... I'll show you a little example on how to tweak. it give me a second...
Yeah! I just realized that it would be very easy to do since it's just moving around the textInstant tree hasn't been tested that throughly but it shouldn't work online like all the other codes.
I'd love to be able to do that but I'd need to find the offset of where collision checks are, and I have no idea how to find them.
Also, that's based on your preference. You can order it in any way you want since I left the source code avaible... I'll show you a little example on how to tweak. it give me a second...