Mugen win版 亲地址
以下为内存位置:
4A4668 - 4A4669
- 25 69 (%i) 前后有几个 00.将%i修改成 %f(25 66)就能调用%f
4AA07A
此处刚好是state %【i (f】rom state %i)内 方括号内的内容。
将方括号内的内容修改成【f (f】。那么原句就变成了 state %f (from state %i)
这样就 调用了 %f
4A9BEC
此处依然是 %i (25 69 00 00) 将其修改成 %f (25 66 00 00)
依然可以调用 %f
看了这么多,可以说,想要调用 %f 很简单,去内存找到 %i 将其修改成 %f,就能调用%f了
-----------
4B45C8
存放着 一个指针。这个指针指向 第一个人物的显示人物名 和 def (注意不是之前那个 +CD0处指向的段落,而是另外的)
下面 存放这路径
再下面是第二个人物的 人物名 + def +路径,以此类推
需要注意的是:该指针指向的位置的值为 00000000,而该位置 + 04的位置,才是真正的显示名
【该处用于 修复人物显示名 用】
-----------
4B553C --- 前一帧按键值(输入)
4B5540 --- 当前帧按键值(输入)
4B5548 --- 按键值入口 (这里可以输入 键盘上按键代表的扩展码。)
按键值有:
1 ESC
2 1
3 2
4 3
5 4
...
16 Q
31 S
57 space 空格
59 F1
60 F2
61 F3
62 F4
63 F5
64~68 F6-F10
87 F11
88 F12 截图
4B5948 --- 前一帧按键值(输出)
4B594C --- 当前帧按键值(输出)
4B5964 --- 能否使用键盘?(0不可以 ; 1可以)
4B6981 --- ESC按押
4B699D --- Ctrl(左)
4B69AA --- Shift(左)
4B69B8 --- Alt (左)
4B69B9 --- Space 空格
4B6A81 --- Pause 暂停
------
最重要:
4B5B4C
此处存放着 Mugen主程序地址指针(为一个值)
无论是亲捏造,还是其他论外,都需要掌握这个位置,是Mugen人物攻击论外的基础
必须掌握。
----------------------------------------------
====================================================
主程序地址指针 X (第一次 亲捏造 跳板点(非起点))
主程序地址指针 X + 下面的偏移量:
------- 【选人相关】 ----
CD0 ~ CD3 -- 人物列表指针
CD4 -- select.def内加载的人物数量
CD8 -- 当前选择的人物最大数量(可能)
------
F7C -- 选人界面里,共有多少行
F80 -- 选人界面里,共有多少列
------
; 第几行
FBC -- 1P侧选定判断用。选定前 FFFFFFFF,选定后值为 人物在 第几行
比如 人物在 第3行的是第 10个,那么该处的值为 2
FC0 -- 3P侧选定判断用。同上(第几行)
FC4 -- 5P侧选定判断用。同上(第几行)
FC8 -- 7P侧选定判断用。同上(第几行)
FCC -- 2P侧选定判断用。同上(第几行)
FD0 -- 4P侧选定判断用。同上(第几行)
FD4 -- 6P侧选定判断用。同上(第几行)
FD8 -- 8P侧选定判断用。同上(第几行)
---
; 第几列
FDC -- 1P侧选定判断用。选定前 FFFFFFFF,选定后值为 人物在“该行内”的(位置 - 1)
比如 人物在 第3行的是第 10个,那么该处的值为 9
FE0 -- 3P侧选定判断用。同上(第几列)
FE4 -- 5P侧选定判断用。同上(第几列)
FE8 -- 7P侧选定判断用。同上(第几列)
FEC -- 2P侧选定判断用。同上(第几列)
FF0 -- 4P侧选定判断用。同上(第几列)
FF4 -- 6P侧选定判断用。同上(第几列)
FF8 -- 8P侧选定判断用。同上(第几列)
------ 【系统相关】 ---
9A10 -- win.time 胜利相关信息
9A14 -- ctrl.time 从对战开始到Control结束
9A18 -- slow.time K.O后Slow
9A1C -- over.waittime 对战后Control(可控)
9A20 -- over.hittime 对战后回复可能
9A24 -- over.wintime判定
9A28 -- over.time 对战后演出
B3FC -- Gametime
----- 人物相关 ------
B654 -- P1人物名 指针。指针对应的是人物名的内存地址。该指针 + 30(hex) 为 人物显示名(可以随意修改)
B658 -- P2人物名 指针。
B754 -- P1人物信息地址 (指针) (第二次 亲捏造的跳板点(非起点))
B758 -- P2人物信息地址
B75C -- P3人物信息地址
B760 -- P4人物信息地址
B950 -- 遥远氏 afterimage直死技术 使用
B954 -- 遥远氏 afterimage直死技术 使用
BB78 -- AssertSpecial intro
BB79 -- AssertSpecial roundnotover
BB7A -- AssertSpecial noko
BB7F -- AssertSpecial timerfreeze
BB80 -- AssertSpecial nobardisplay
BBF8 -- Superpausetime
BC00 -- Pausetime
BC04 -- Roundno
BC08 -- 1P侧胜场数
BC0C -- 2P侧胜场数
BC30 -- RoundState
BC34 -- P侧胜利 (1是1P侧,2是2P侧)
BC38 -- 强制报幕K.O (1:K.O 、2:Double K.O、3:TimeOver )
BC40 -- 剩余时间、帧
BC50 -- roundno = 1时 ,1P侧赢了的小图标,0~7 (0:V 1:S 2:H 3:C 4:T 5:投げ 6:髑髅 7:自杀)
BC54 -- roundno = 2时 ,1P侧赢了的小图标,0~7
BC78 -- roundno = 1时 ,2P侧赢了的小图标,0~7
BC7C -- roundno = 2时 ,2P侧赢了的小图标,0~7
BCA0 -- 1P侧赢了的小图标补充:8.perfect完美
BCC8 -- 2P侧赢了的小图标补充:8.perfect完美
BD50 -- 画面的大小 (4:常规 ; 5:小)
C934 -- 游戏速度(Game Speed)设定
3063~-3060 :ID,此处调用属性后MUGEN落可能*
-3035~-3038 :人物顺序号,此处为大部分MUGEN落
-3055~-3054 :timeside*
-3039~-3036 :ishelper,如果亲在不能读的位置,此处就会先处理,从而导致MUGEN落
-3035~-2988 :name
-2723~-2720 :PlayerEnableSet
-2719~-2716 :Pause
-2715~-2712 :life*
-2711~-2708 :lifemax
-667~-664 :data
-663~-660 :select
-19~-16 :CNS调用地址 (注意,这个可以让对方不执行statedef代码,即CNS指空 或 填塞)
-15~ -12 :敌人的CNS调用地址,比如敌人被控制\目标等
-11~-8 :调用哪边的CNS(0:自己CNS,1:左边人物的CNS,2:右边人物CNS)
-7~-4 :stateno*
-3~0 :anim?
552-556 : Alive
541-544 : hitpausetime (用于解除冻结,512法,即把hitpausetime刷成0)
581-1020 :var(0)-sysfvar(4)
1993-1996 :palno*
2348-2351 :target?
2350-2353 :numtarget?
6685-6688 :helperID
6689-6692 :ParentID
6693-6696 :Parent
6697-6700 :Root
6701-6704 :helperType
===================================
下面是 其他扩充:
【转】512BUG表(凶恶人物制作参考内存表)
512オーバーフローバグ表 (512 overflow bug 表)
大雑把に作ったやつなので间违ってるかも
注意文中的“リダイレクト(重定向)”
这个关键词的意思,在日本Mugen圈中 为 “参照”,
中文意思是“参考位置、初始位置、头地址等等”都是一个意思。
目的都是 亲捏造。
-3067:リダイレクト(重定向) で指定されてる场所。nameの指定。authornameの指定。利用 ------- 此为 人物信息的头地址,初始位置。animの指定。
-3063:プレイヤーID
-3059:自分のいる并び顺の番号。デバッグ表示+1
-3055:teamside
-3051:(本体は0でヘルパーだとマイナス1)
-3047:
-3043:
-3039:ishelper(本体だと落ちる)←destroyselfやparentvarset実行に必要。!ishelperでnumpartnerに换算される。
-3035~-2991:デバッグで表示上の名前
-2987:const(data.life) ; (-3067) + 80
-2983:const(data.power)
-2979:const(data.attack)
-2967:const(Data.AirJuggle)
-2963:const(Size.Attack.Dist(Size.Proj.Attack.Dist))
-2955:const(Data.Defence)
-2947:const(Data.LieDown.Time)
-2935:const(Data.Ground.Back)
-2931:const(Data.Ground.Front)
-2927:const(Data.Air.Back)
-2923:const(Data.Air.Front)
-2795:const(Movement.Airjump.Num)
-2791:const(Movement.Airjump.Height)
-2751:const(Data.SparkNo)
-2747:const(Data.Guard.SparkNo)
-2743:const(Data.KO.Echo)
-2731:const(Data.IntPersistIndex) ; (-3067) + 80 +256
-2723:Player Flag
-2719:pauseで止まっているかどうか
-2715:Life ; (-3067) + 352
-2711:Lifemax
-2707:弄ると落ちる(ライフ関系っぽいが???)
-2703:表示上のライフ
-2699:Power
-2695:PowerMax
-2691:显示上的Power (Power这里,luna和废人有点不同,废人把这里作为Power)
-2687:显示上的PowerMax
-2667:facing
-2655:screenpos x
-2651:pos y
-2643:screenpos xに対応?弄っても変化なし
-2639:pos yに対応?弄っても変化なし
-2631:vel x
-2627:vel y
-2591:pausemovetime
-2587:supermovetime
-2527:何かの领域指定?
-2523:ターゲット中継1
-2095:anim管理(changeanim2で指定する场所
-19:利用するステート指定
-15:夺われているステート
-11:谁にstを夺われているか判断するための数字(マイナス1以外のランダム値だと落ちる)
-7:stateno
-3:prevstateno
1-512:persistent
513-516:time (time伪装用)
517-520:type (statetype)
521-524:movetype
525-528:physics
529-532:ctrl
533-536:guardflag (ここの部分の値が0以外だとガードステート化(防御状态化)。ただしこのステー)トに居続けないと解除。
537-540:
541-544:hitpausetime
545-548:hitpausetime(次フレームに付与?)
549-552:posfreeze
553-556:alive
557-560:死亡后反応?弄っても问题なし
561-564:selfstateしなくなった?←単に数値があって反応できないだけ(gametimeに连动
565-568:
569-572:
573-576:
577-580:
581-584:var(0)
585-588:var(1)
589-592:var(2)
593-596:var(3)
597-600:var(4)
601-604:var(5)
605-608:var(6)
609-612:var(7)
613-616:var(8)
617-620:var(9)
621-624:var(10)
625-664:var(11)-var(20)
665-704:var(21)-var(30)
705-744:var(31)-var(40)
745-784:var(41)-var(50)
785-820:var(51)-var(59)
821-860:fvar(0)-fvar(9)
861-900:fvar(10)-fvar(19)
901-940:fvar(20)-fvar(29)
941-980:fvar(30)-fvar(39)
981-1000:sysvar(0)-sysvar(4)
1001-1020:sysfvar(0)-sysfvar(4)
1021-1024:NotHitBy(?) 特殊无敌(superpauseのunhittable?投げ属性)黄色muteki;
1025-1028:hitby
1029-1032:hitby2
1069-1072:gethitvar(damage)
1145-1148:gethitvar(fall.damage)
1149-1152:gethitvar(fall.xvel)
1201-1204:hitoverrideslot=0何か。実行中の合図?
1205-1208:hitoverrideslot=0attr
1209-1212:hitoverrideslot=0state
1213-1216:hitoverrideslot=0time
1201+20*n:hitoverrideslot=n何か。実行中の合図?
1357-1360:攻撃食らうときに参照される何か(环境によっては试合后とかのタイミングでエラー落ち)
1369-1372:当身成功判定管理?(环境によっては试合后とかのタイミングでエラー落ち)
1373-1376:hitdef実行时にオンになる何か
1385-1388:hitdefattrを制御している领域。
1389-1392:よく分からないが弄っても影响なし
1393-1396:hitdefのID
1453-1456:hitdefのpausetime(对手侧)
1545-1548:reversal.attrを制御している领域。
1871-1874:anim缩小
1875-1878:横anim缩小
1879-1882:纵anim缩小
1883-1886:横スライド
1887-1890:纵スライド
1945-1948:Afterimage 参照处 (Afterimage残影攻击)
1981-1984:(esc押すとエラー)
1985-1988:anim管理场所(アドレスの先+12が现在のanim)
1989-1992:changeanim2判定。ステート夺われてる时にACTION部分が黄色に。
1993-1996:palnoの値
6685-6688:helperID
6689-6692:parentのID
6693-6696:parentリダイレクト(重定向) (亲捏造用)
6697-6700:root リダイレクト
6701-6704:PlayerType (HelperType)
6705-6708:kfmAI 开关
6709-6712:kfmAI 等级(难度)
; 报错
10337-10340:エラー(出错)
10339:assert failure in common.c line 124
10340:数字出错
10360-10370:array.c line 349
10362:出错
10366:spr-lib.c line 560
10368:出错
10373:出错
10374-10375:spr-lib.c line 601
10370-10377:Mugen重启出错
10000-10500:assert failure in common.c line 125
10000-11000:assert failure in array.c line 349
原文由唯酱撰写