The Tavern
Hello, Guest

The Tri servers may be closed, but you can still use this place as a hangout, or to set up hunting parties with MH3U players.

Join the forum, it's quick and easy

The Tavern
Hello, Guest

The Tri servers may be closed, but you can still use this place as a hangout, or to set up hunting parties with MH3U players.
The Tavern
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Mod code gen

3 posters

Go down

Mod code gen Empty Mod code gen

Post by Stuff Tue Sep 18, 2012 12:10 am

Alright lets face it. I'm lazy. I don't normally have time to do this stuff, as great of an idea as it was, but when I do have time, I like to spend it doing other things. Since my attention moved away from MH, I really don't care about what happens next to MH. Although I sometimes come back to do a little something something. But I wanted to complete modcodegen LAST YEAR, because I knew this was gonna happen. I think I started in November. It's almost been a year since it was accessible online, and due to my lack of effort, something that would take about a week to hand in for homework, took almost a year to not even be complete.

So here's what I'm gonna do. I still work on modcodegen sometimes, because it's not complete. I'm going to allow the community to contribute to this awesome page that I have been praised for occasionally. I definitely appreciate the praise and it should motivate me to continue, but it doesn't. But anyway, I'll work on it on my own if I have to, but if you care about it that much, a small contribution will be greatly appreciated. Code. Not donation. I don't even know how those even work. >.>. Put a comment in the code saying you did it, and I'll even put your name somewhere that it can be seen. I'll help you with the thinking.

It's all javascript. The html is nothing significant. There's no funky php or server side executables. Just javascript.

Google chrome has a built in debugger that can debug ANY PAGE ON THE WEB. So use it to find out why the hell there's a 75 where there should be a 32. If you right click on anything and select "Inspect Element" and then pick sources on the top, you should be able to see all the files in the "website".

I try to keep every "section" in it's own js file.

stuff.js includes functions that I think will be useful in the future. You might want to familiarize yourself with what I have in there so that you can use it in your js file that you will be giving me to add to modcode gen.

And that's it. I'm sure some people here know js.

Here's the link to modecodegen: http://dl.dropbox.com/u/24514984/modcodes/modcodes.htm
So right now, rocks is beastin for me to add guns to the modcodegen. I was saving that for last because idk. guns and melee weapons are different and gun parts are in the middle of a bunch of weapon classes(mod digits). I need to create a different interface for each gun part and then I can't even use "if x > y then gun", because there's melee weapons after gun parts. Whatever. Maybe I'm thinking too much. It's bad to do that.

So lets get these weapons in there. If nobody helps with this by the time I'm done, at least you would've seen how I think and maybe you can apply that to the armor section that also needs completion.

We go to geckocodes and look at Skiller's lovely weapon and armor mod codes that requires an entire page to themselves and find this for guns

Spoiler:

We don't actually care about how many of each there are. My dropdown box function was designed to read these name dumps from beginning to end, populating each option as needed. Now, what we do care about is the 0th of each of these, the spacing between each weapon or the weapon's size, and the distance of each stat from the first stat. The first stat for each, happens to be Model. Wonderful.

To find the 0th of each, we need to find the spacing between each weapon, and then subtract that from the 1st. If your like "wtf o.0?" think of it like this: x = spacing; 1x - x = 0x.

So grab calc.exe and lets do this! To find the size, you just have to subtract the 2nd model from the 1st model.
Barrel :0x00897591 - 0x0089756D = 0x24
Well they all came out to 0x24, so that's nice. But you can check them if you don't trust me.
So lets find the 0th barrel, frame, and stock. It'll just be 1st model - 0x24.

barrel 0x80897549
frame 0x80896FA9
stock 0x80897279

Notice I put 80 instead of 00. 00 was the codetype. The actual location was 80whatever and the code handler knows that by default. So the first byte tells the code handler what to do and it knows that it has to be done at 80whatever.

So the next step would be to make a nice little table that we can look at with more numbers. It will list all the stats for each part with it's distance from the Model stat. Something like this:

0x00 Model
0x01 Rare
etc

But I'm not about to do this right now. All it takes is stat - Model = offset. But it's too much right now and I'm trying to click Send soon. So I'm just gonna quote a little slice of Skiller's text file from ages ago:

Skiller wrote:Bow Guns
80896FA8-80897278 are frames,
80897278-80897544 are stocks,
80897548-8089783C are barrels

00010004 00320001 0A02005A 000002E4 00000001 00000100 19000000 7550814F 00000015 (Light bowgun frame)
U1MMRA?? AAAADDCC WWLLRRRR PPPPPPPP DVSSAF## AMSHUPGR R1R2R3R4 12345678 ?????9AB

U1 = Unknown (Has something to do with models? It froze when I previewed the gun.)
MM = Model
RA = Rarity
AAAA = Attack
DD = Defense Mod
CC = Recoil (00 = Min, 01 = High, 02 = Average, 03 = Some, 04 = Blank, 05 = Reduced, 06 = Reduced+)
WW = Weight
LL = Reload (00 = Slow, 01 = Below Avg., 02 = Average, 03 = Blank, 04 = Sm. Boost, 05 = Lg. Boost, 06 = Max)
RRRR = Range (After 7FFF it goes into negatives)
PPPPPPPP = Price
DV = Deviation (00 = None, 01 = Low:L, 02 = High:L, 03 = Low:R, 04 = High:R, 05 = Low:L/R, 06 = High:L/R)
SS = Slots (Max 3)
AF = Affinity
## = Item no.
AM = Ammo Amount?
SH = Shield Mod
UPGR = Upgrade Amount
R1R2R3R4 = Rapidfire Config
123456789AB = Ammo Config

Rapidfire Config Digits
01 = Normal Lv1
02 = Normal Lv2
03 = Normal Lv2
04 = Normal Lv3
05 = Pierce Lv1
06 = Pierce Lv1
07 = Pierce Lv2
08 = Pierce Lv3
09 = Pellet Lv1
0A = Pellet Lv2
0B = Pellet Lv3
0C = Crag Lv1
0D = Crag Lv1
0E = Clust Lv1
0F = Flaming
10 = Flaming
11 = Water
12 = Thunder
13 = Freeze
14 = Dragon
15 = Recov Lv1
16 = Poison Lv1
17 = Sub Lv1
18 = Poison Lv1
19 = Pellet Lv1
1A = Pierce Lv1
1B = Normal Lv2
1C = Normal Lv2
1D = Normal Lv2
1E = Normal Lv2
1F = Normal Lv3
20 = Normal Lv3
21 = Normal Lv3
22 = Normal Lv2
23 = Normal Lv2
...
After this it seems to just cycle back and forth randomly through the normal levels.
R2/R3/R4 digits only seem to work if there's a digit of the previous R in place (IE you can't have 4 without 3 in place, and you can't have 3 in place without 2, etc.) and follow the same path as R1

Ammo Config Digits
1 = Demon Lv1/2, Tranq, Paint
2 = Para Lv1/2, Sleep Lv1/2
3 = Recov Lv1/2, Poison Lv1/2
4 = Water, Freeze, Thunder, Dragon
5 = Flaming, Clust Lv1/2/3
6 = Pellet Lv3, Crag Lv1/2/3
7 = Pierce Lv2/3, Pellet Lv1/2
8 = Normal Lv1/2/3, Pierce Lv1
9 = WyvernFir Lv2/3
A = WyvernFir Lv1, Exhaust, Slicing
B = Sub Lv1/2, Armor Lv1/2
These ones control whether you can load certain ammo or not. The digits for each individual value change which config of those particular ammo types are available (IE setting 1 to 1 will load only tranq shots, setting 1 to 2 will load only paint shots, setting to 3 will load tranq/paintball shots, etc.), but setting them all to F will allow you to load every ammo type.

Recoil/Reload/Deviation seem to spill into eachother's digits after you go past 06.

I'm not sure what Ammo Amount does specifically; I know if you set it to 00, you can load the least amount of everything dictated available by the ammo config values, and if you set it to FF you can load a shitload of everything your ammo config values give you, but in between those two it seems to forbid you of loading various ammo types.
I'm not sure why I'm off by 1 for the 0th Model. Unknown. That U1MMRA...is nice, but I need offsets. In the end, there will be a function that will write the code for each stat by doing this
[0th address] + (dropdown.SelectedIndex * 0x24) + [stat offset].

I was gonna post a picture that I made to have an idea of what the interface would look like. It definitely helped, but I don't feel like making one for each section. Oh well. That's enough info for one post.


Last edited by Stuff on Sun Oct 07, 2012 12:13 pm; edited 1 time in total
Stuff
Stuff
Moderator
Moderator

Posts : 32
Zenny : 46

MH3 Online Info
Status:
City: Offline
Room Availability:
Mod code gen Left_bar_bleue0/0Mod code gen Empty_bar_bleue  (0/0)

Back to top Go down

Mod code gen Empty Re: Mod code gen

Post by MHunterHoss Tue Sep 18, 2012 11:42 pm

is there any way for me to help with this?

preferably a way that is explained, so I don't make mistakes?
MHunterHoss
MHunterHoss
Veteran Hunter
Veteran Hunter

Posts : 489
Zenny : 498
Weapon of Choice : Heavy Bowgun
Awards : Mod code gen Award110

MH3 Online Info
Status: Offline
City: None (Offline)
Room Availability:
Mod code gen Left_bar_bleue0/0Mod code gen Empty_bar_bleue  (0/0)

https://www.youtube.com/user/MHunterHoss

Back to top Go down

Mod code gen Empty Re: Mod code gen

Post by Stuff Wed Sep 19, 2012 2:00 am

If you can write javascript, you can help. Otherwise, there's not much you can do. I already have an idea of the addresses of each stat and how many bytes they occupy. Names and descriptions are already in the mhBin folder. That kind of sums up everything I need to get started with the javascript.

I guess you can think about what stats can be combined into 1 code line because I'm not thinking about that yet. I mean like element & element attack and status & status attack in melee weapons. They could each take up a line, but I combined them because they are related.

Or you can find out what the unknowns are. But it would be easier for me to do it with my gecko.

If your going to help with javascript, there is one thing that I really wanted. That "share this set" link that divinewh.im and similar sites have. I never found out how to do that and I really want to add that to my page. If you know something about it, I'd appreciate that info.

Otherwise, Lets take a look at weaponmod.js

Spoiler:
Creates the interface

Spoiler:
reads all the input and outputs a code.

I'll get into more detail later. I was falling asleep.


Last edited by Stuff on Sun Oct 07, 2012 12:13 pm; edited 1 time in total
Stuff
Stuff
Moderator
Moderator

Posts : 32
Zenny : 46

MH3 Online Info
Status:
City: Offline
Room Availability:
Mod code gen Left_bar_bleue0/0Mod code gen Empty_bar_bleue  (0/0)

Back to top Go down

Mod code gen Empty Re: Mod code gen

Post by MHunterHoss Wed Sep 19, 2012 7:54 pm

If only I knew Javascript...

sadface.
MHunterHoss
MHunterHoss
Veteran Hunter
Veteran Hunter

Posts : 489
Zenny : 498
Weapon of Choice : Heavy Bowgun
Awards : Mod code gen Award110

MH3 Online Info
Status: Offline
City: None (Offline)
Room Availability:
Mod code gen Left_bar_bleue0/0Mod code gen Empty_bar_bleue  (0/0)

https://www.youtube.com/user/MHunterHoss

Back to top Go down

Mod code gen Empty Re: Mod code gen

Post by Lyra Sun Sep 23, 2012 10:07 pm

i cant help you at all either but i'll be your cheerleader lol i see you are putting alot of thought into this and a loooong time lol but you know the end result will be worth it, if we only had more time to enjoy it but o well i'm definitely glad you and the others who do understand this are working so much to make the new version the best yet, and the guns are something we really need Very Happy
Lyra
Lyra
G Rank Hunter
G Rank Hunter

Posts : 1159
Zenny : 189
Weapon of Choice : Long Sword

MH3 Online Info
Status: Offline
City: 1-10 somewhere
Room Availability:
Mod code gen Left_bar_bleue4/4Mod code gen Empty_bar_bleue  (4/4)

Back to top Go down

Mod code gen Empty Re: Mod code gen

Post by Stuff Mon Oct 01, 2012 1:57 am

Aww man. I thought I could be lazy and just copy and paste the code for weapons and just modify them a little bit, but bowgun parts have like 10 more stats than melee weapons. The good side is that all 3 parts have the same stats. A stock with a shield..hmm.

So this is what I meant by an offset table:
Spoiler:
It's kind of my own syntax. The number tells you where it is(once you find 0) and the padding tells you it's length(reload is 1 byte, range is 2 bytes, price is 4 bytes). At the top you see the 0th bowgun part address and the spacing, which you would add to get to the next bowgun part. Then you can do something like this:

0x24n + 0x80897548 + 0x15 = nth barrel's shield.

So here's a quick example of what it'll look like in the end.

http://adf.ly/DKMF1

Kind of the skeleton of the interface. The numbers are how many bytes each stat takes up. I was trying to make each cell on the table hold 4 bytes, kind of like 4 beats per measure in music, but when one stat takes up 4 bytes, I just make it share the same cell as another group of 4 bytes.

I just put text boxes for everything for now I never actually used these codes, so I'm not certain how everything works. If you think some of them should be dropdown boxes, let me know and what you think the options should be. An explanation for each of the weird stats would be nice as well. And I think some of those unknowns need to be figured out. One of them definitely says folding.


Last edited by Stuff on Sun Oct 07, 2012 12:14 pm; edited 1 time in total
Stuff
Stuff
Moderator
Moderator

Posts : 32
Zenny : 46

MH3 Online Info
Status:
City: Offline
Room Availability:
Mod code gen Left_bar_bleue0/0Mod code gen Empty_bar_bleue  (0/0)

Back to top Go down

Mod code gen Empty Re: Mod code gen

Post by MHunterHoss Mon Oct 01, 2012 10:34 pm

I like your 4 beats per measure analogy.

So which stat tells what ammo the gun will be able to fire? not rapidfire, just ammo compatability.

Whichever stat that is, that should have a drop down menu, and I also think that the rapid config stats should have a drop down menu. However, there should be some way to prevent duplication of rapid fire skills, right?
MHunterHoss
MHunterHoss
Veteran Hunter
Veteran Hunter

Posts : 489
Zenny : 498
Weapon of Choice : Heavy Bowgun
Awards : Mod code gen Award110

MH3 Online Info
Status: Offline
City: None (Offline)
Room Availability:
Mod code gen Left_bar_bleue0/0Mod code gen Empty_bar_bleue  (0/0)

https://www.youtube.com/user/MHunterHoss

Back to top Go down

Mod code gen Empty Re: Mod code gen

Post by Stuff Mon Oct 01, 2012 11:02 pm

I'm not really sure. I think Ammo config might be the ammo the gun can load. According to the codes, it looks like ammo takes up 6 bytes and the FFFF thing ends up unlocking all of them. I never used it. I'm just assuming this is the case. What would make sense in this situation is that the bytes are broken up into bits. I've seen that for "unlock all ~whatever~" codes. I'll have to tamper with these addresses to see. The bit tells you whether or not the shot can be load and then...idk. There should be an ammo amount for each shot. But anyway, I guess the ammo selection would be checkboxes.

Yeah I like music. I only took a class on theory, but I think I learned so much. I considered making a code->music application. I was using the same 4 bytes per measure in my idea. I think it's possible. I want to know what my codes sound like. I downloaded some C# source code for an on screen piano that you can play and it would save the notes on some music sheet. And then you can listen to it. I figured I'll just replace the piano form with a code textbox. But the piano didn't work in the first place. It had so many errors and warnings, I wasn't about to find out what was wrong with the code. So I just left it.

Edit:
XD negative range is the best
Stuff
Stuff
Moderator
Moderator

Posts : 32
Zenny : 46

MH3 Online Info
Status:
City: Offline
Room Availability:
Mod code gen Left_bar_bleue0/0Mod code gen Empty_bar_bleue  (0/0)

Back to top Go down

Mod code gen Empty Re: Mod code gen

Post by Stuff Thu Dec 27, 2012 11:46 pm

I'm playing around with blogger and I'm satisfied with this page

http://7supastuff.blogspot.com/p/blog-page.html

Basically, if I make more web page tool things like modcodegen, I'll just make this page load it. The popup box thing is amazing to me and I want to use it more. So if you were using modcodegen, use this page now. You can still use the old link if you want, though.
Stuff
Stuff
Moderator
Moderator

Posts : 32
Zenny : 46

MH3 Online Info
Status:
City: Offline
Room Availability:
Mod code gen Left_bar_bleue0/0Mod code gen Empty_bar_bleue  (0/0)

Back to top Go down

Mod code gen Empty Re: Mod code gen

Post by Sponsored content


Sponsored content


Back to top Go down

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum