![]() |
cursed itr [Signed 32-bit 2^32-1] - Printable Version +- Little Fighter Empire - Forums (https://lf-empire.de/forum) +-- Forum: Little Fighter 2 Zone (https://lf-empire.de/forum/forumdisplay.php?fid=7) +--- Forum: Data Changing (https://lf-empire.de/forum/forumdisplay.php?fid=11) +---- Forum: Tutorials (https://lf-empire.de/forum/forumdisplay.php?fid=12) +---- Thread: cursed itr [Signed 32-bit 2^32-1] (/showthread.php?tid=7523) Pages:
1
2
|
RE: cursed itr - TheNave - 02-25-2012 I don't have all the lf2 and datachanger stuff on my computer anymore, so I can't test it out by myselfe, but what happens if you add a mp: -2147483648 tag somewhere to a character? (not the first frame of the move) would he actually have infinite mp? RE: cursed itr - YinYin - 02-25-2012 yes and no its the right amount - but it will not work in a single mp tag, you have to split it (and possibly account for the regain; so make it a little more depending on the delay between the two tags) RE: cursed itr - Azriel - 02-25-2012 possible explanation for [regaining hp over the limit of 500] tl;dr: the dark and max hp values are stored as an unsigned ints, and when the character first dies, the dark and max hp values are "less" than the current hp value, and so is set to the hp value (but since it is an unsigned int, it is "more"). when the character revives, his hp continuously regens Code: Tag | Hex | Dec | doesn't address the mp issues though, probably more crazy logic Azriel~ RE: cursed itr - YinYin - 02-26-2012 thanks azriel now try to explain this one: i have managed to isolate the infinite mp effect through an itr first do a damage of about 1147483648 and then while the opponent is still falling revert it with -1147483648 after that his mp will be so high that you won't notice him using any - no side effect found so far (hp totally unaffected - other than drinking beer no way to turn it off again yet) it also works perfectly well with 1147483648 and then 3147483648 just need to stop somewhere right in the negative area instead of the borderlines of positive and negative (like the previous ones) now i only need to isolate the delete dark hp and regain effect edit: four hits with 2147483648 (wait: 3 vrest: 4) will rid the opponent of his dark red hp and regain also milk becomes deadly (and sometimes mp is emptied out aswell) if repeated it will first switch to no dark red hp and unlimited regain and second back to normal (third: no dark red and no regain again) RE: cursed itr - Azriel - 02-27-2012 character starts with 500 hp ========================================= hit with injury: 1147483648 and then -1147483648 hp: 2000000500 dark hp: 3529978698 max hp: 500 mp: 11475147 effects: hp and mp both decrease, their values are just high. also no hp or mp regen F8 doesn't work drinking milk sets mp back to 500, but hp is set to whatever the dark hp value is at the time of drinking, and character dies ========================================= single hit with injury: -1147483648 hp: 1147484148 (positive version of injury value less 500) dark hp: 382495049 max hp: 500 mp: 500 effects: hp doesn't regen (and hp and dark hp are both just high, hp is higher than dark hp but no special behaviour) drinking beer doesn't affect anything (just normal). drinking milk resets hp and dark hp to 500 ========================================= haven't tried what i haven't listed, what do you mean by "unlimited regain"? Azriel~ RE: cursed itr - YinYin - 02-27-2012 (02-27-2012, 07:54 AM)Azriel Wrote: character starts with 500 hpstrange ... i didn't get a change in hp behavior with this one also F8 drops weapons ... are you sure that one doesn't work? (02-27-2012, 07:54 AM)Azriel Wrote: what do you mean by "unlimited regain"?what you explained in your previous post: above 500 RE: cursed itr - mfc - 04-05-2012 May the Code: throwinjury: -842150451 I always wondered what that ridiculous numbers for(in catch-itrs)... Edit: of course it has no relation with 2^xxx numbers but who knows, maybe it has a purpose:P RE: cursed itr - Silverthorn - 04-05-2012 (04-05-2012, 07:08 PM)xmfcx Wrote: May the The only specialty about this is its hex-value: CDCDCDCD. It's as if this is Marti's way of making fun of the reverse-engineers ![]() Tbh, I don't know if there is actually anything special about it... RE: cursed itr - mfc - 03-19-2015 (04-05-2012, 07:53 PM)Blue Phoenix Wrote:(04-05-2012, 07:08 PM)xmfcx Wrote: May the I've found something interesting, so please excuse my gravedigging. I googled "CDCDCDCD" and got some stuff that may make sense for some. http://en.wikipedia.org/wiki/Magic_number_%28programming%29#Magic_debug_values wiki says that "CDCDCDCD" is Used by Microsoft's C/C++ debug malloc() function to mark uninitialized heap memory, usually returned from HeapAlloc() and references to this table: http://www.nobugs.org/developer/win32/debug_crt_heap.html#table No idea if this will be useful to someone ever but just wanted to share. RE: cursed itr [Signed 32-bit 2^32-1] - STM1993 - 06-30-2022 Necro-Bump and edited thread title. Because this is a very incomplete but important tutorial. LF2 stores numbers like your HP, MP, and the Summary/Results table at the end of each round. These numbers are often stored as a signed 32-bit integer: (2^32)-1 = 4,294,967,295 Signed would mean half of that huge number is dedicated to represent negative numbers(-2^31), while the other half(2^31-1) is for positive numbers(and zero). That means the numbers between 2147483648 to 4294967295 would represent -2147483648 to -1 respectively. That also means the maximum range of numbers you can write in LF2's .dat files is: -2147483648 to 2147483647 The implication is that: 1) Using -2147483648 puts you on the opposite side. eg: 500-2147483648 = -2147483148 [2147484147] You are moved from a small positive number into a large negative number. 2) You need to use at least x2 instances of a large number to overflow back into your original side. eg1: 500-2147483647-2147483648 = 500 Adjust the first number accordingly to get the result you desire. eg2: 500-[2147483647-250]-2147483648 = 750 So how do I actually increase my own MP beyond 500 in LF2? It is well-known that you can use mp: -xxx on the first frame of a move to increase your MP, or use state17 + beer to regenerate MP (but capped at 500). Now with this knowledge, you can use mp: -xxx on any other frame besides the first, and therefore make continuous MP regeneration without needing beer or constant button pressing, and you can exceed 500. However, there are several precautions you need to take to prevent bugs:
What about HP via injury used in YinYin's original cursed itr? The number indicated is how much damage is done to character's red HP. However, only 1/3 of that number(rounded down) is dealt to character's dark HP. Hence, you may sometimes curse the enemy to be unable to regenerate HP, but other times end up blessing the enemy to be able to regenerate HP seemingly infinitely. The other effect reported is that sometimes the enemy suddenly gets infinite MP. This is because your natural MP regen rate will go beyond 5mp/3tu even after death for every 100hp lost. This happens if the enemy is hit exactly on the same tu that LF2 calculates MP regen... so you can imagine just how much MP you might suddenly regain seemingly at random. |