又学到了先定义函数才能叫
Everything worked.Val just forgot that functions should be already defined before calling them in instructions.
ZVSE
!?FU111112;
!!UN:C4697553/4/?y1; y1 - MonInfo Table
!!VRy2:S116*x1+y1+8; y2 - address of sound pointer
!!UN:Cy2/4/?y3;
!!SN:K4/?z2/y3/1;
!#VRz2:S^drui^;
!#FU111112:P169;
!?GM0; on loading
!!VRz2:S^drui^;
!!FU111112:P169;
HC上截的。
话又说回来,为什么我们做的
先写!!FU###
再写!?FU###
又可以呢?
@贤知有您 @沧海一粟
本帖最后由 贤知有您 于 2016-5-26 10:08 编辑
我的理解是执行顺序问题.
!#语法是在初始化语句时执行的,也就会可能在!?FU的初始化之前执行(看上下顺序)
或者你可以理解为,一边初始化ERM语法,一边执行!#的内容.
初始化ERM,实际是把ERM转换成机器码的过程.
而在!!FU要执行的时候,所有!?FU都已经初始化完成了.(!!语法肯定是在!?函数内的)然后,你可以看看官方脚本,大部分 !#FU都会跑到文件的后部.
页:
[1]