XEricSin 发表于 2016-5-25 22:04:46

又学到了先定义函数才能叫

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:07:16

本帖最后由 贤知有您 于 2016-5-26 10:08 编辑

我的理解是执行顺序问题.
!#语法是在初始化语句时执行的,也就会可能在!?FU的初始化之前执行(看上下顺序)
或者你可以理解为,一边初始化ERM语法,一边执行!#的内容.
初始化ERM,实际是把ERM转换成机器码的过程.

而在!!FU要执行的时候,所有!?FU都已经初始化完成了.(!!语法肯定是在!?函数内的)然后,你可以看看官方脚本,大部分 !#FU都会跑到文件的后部.
页: [1]
查看完整版本: 又学到了先定义函数才能叫

捐赠