JASS萌新学习指南(1)
为什么我照着教程做,结果进游戏后,运行不出来教程的效果?
可能是因为你T里面的触发器名和代码里函数不对应。
当T里面触发器名为 a时,代码中InitTrig_a则会在初始化运行。
如果你觉得很麻烦 可以试试vjass的library的initializer功能。
为什么我代码写完,测试地图报错?
这个原因就太多了。我给你列举一下常见的:
变量名用中文,标点等等。这些都是命名规范问题,这个教程讲正常的jass,正常的jass是不支持这些的。
标点符号、英文问题,你可能使用了全角符号、全角英文。这个是你输入法的问题了。如何切换请联网自行搜索答案。在编辑器中是这种效果:
通过是否有语法高亮来区别是很容易的。
可能通过复制粘贴的代码会有问题。在教程中强烈要求自己写,不要复制粘贴!网上的代码也可能会有格式问题 请认真检查。比如你看起来是空格 实际上并不是。
其他的各种语法错误,比如你少写个endif,大小写问题,括号少写了等等等等。
其他的语法错误,比如宏定义之类我们不讨论。
奇葩语法错误,比如if不能嵌套超过50层等。这种我想你可能不会遇到。
导入文件问题,比如导入的模型可能会导致编译报错、保存报错,这种比较少见。
YDWE抽风,这种可能你再试一次就可以。不行就保存地图 重启打开。这里保存地图如果会报错,这里报错指比如预处理错误,jasshelper的报错,这样你地图保存是完整的(不用担心地图损坏,安全关闭),其他的需要看情况。
可能你魔兽在开着,关掉吧。
未知错误。建议问别人。
如果问题再次出现请换YDWE冷神版本
Q:为什么玩着玩着魔兽弹黑框?
A:弹黑框大致有三种情况
1. lua脚本弹出的,这个我们不考虑,因为这个经常用来输出测试用的。
2. 你地图jass脚本运行出错
常见的错误:
除以零 显示 Division by Zero
变量X未赋值便使用 Variable ‘变量名’ used without having been initialized(数组不用担心)
代码运行的操作码、字节码超过限制(30W) Hit opcode limit(这个通常发生在循环中)
这些都会说明具体在哪个函数内发生的。
1. 可能某些地图利用RB的C2I漏洞弹框,这个很少见,但是小心对你电脑造成危害。
Q:jass引起的地图崩溃常见的有哪些?
A:这种貌似很多。举几个常见不容易注意的吧。
1、Player函数的参数 写成负的或者大于15
2、elseif连续写超过116次
3、移动已被删除的闪电效果
4、死循环,这里通常不是loop,而是触发,或ExecuteFunc等等
5、一些全局变量声明时候附了不该附的值,比如GetLocalPlayer()
6、其他,可以试着用crash文件分析来分析原因。不过j引起的地图崩溃概率是比较小的,其实大部分崩溃原因是来自物编。
总结
以上是生活随笔为你收集整理的JASS萌新学习指南(1)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: jass 重置英雄
- 下一篇: 只要一步就让WorkNC导出应用至UG等