#file 字符串字面量
#file指令用于设置警告和报错时显示的当前脚本文件地址。
从该指令所在行开始,若有导致编译时警告或报错的代码,在展示报错文件名称时,显示该指令设定的文件地址。
若是运行时报错,则仅显示文件名,不显示完整地址。
示例:
#include <amxmodx>
#file "C:\BAD!!!Baka!!!.sma"
public plugin_init()
{
new vel[3];
velocity_by_aim(1, 100, vel);
}
在编译这段源码时,将会显示这样的警告:
C:\BAD!!!Baka!!!.sma(6) : warning 213: tag mismatch
运行时将会显示这样的报错:
L 09/21/2025 - 05:21:37: Invalid player 1 (not ingame)
L 09/21/2025 - 05:21:37: [AMXX] Displaying debug trace (plugin "test.amxx")
L 09/21/2025 - 05:21:37: [AMXX] Run time error 10: native error (native "velocity_by_aim")
L 09/21/2025 - 05:21:37: [AMXX] [0] BAD!!!Baka!!!.sma::plugin_init (line 6)
注意,该指令仅伪造当前脚本文件地址。
如果是当前脚本引用的其它脚本触发警告或报错,会显示正确的文件地址。