佳丽云

英雄无敌3-WoG中文站

 找回密码
 英雄注册|Register
查看: 5879|回复: 9

脚本DEBUG心得

[复制链接]

该用户从未签到

1546

回帖

2万

金币

4

精华

论坛嘉宾

Rank: 9Rank: 9Rank: 9

积分
9883

退役版主杰出贡献中流砥柱论坛元老

发表于 2011-3-17 15:51:05 | 显示全部楼层 |阅读模式
脚本DEBUG心得


花10分钟写一个脚本,花100分钟来调试,不是什么新鲜事儿。
新手最怕的不是写脚本,而是写出的脚本有BUG不知道如何调试。会DEBUG不一定是高手,不会DEBUG永远成不了高手。
我不是高手,我只是稍有点儿经验。以下是我调试脚本时的一些心得,想到哪说到哪,希望对大家有所帮助。




1.
低级错误
脚本无任何作用,检查以下项目:
ZVSE漏写
!?触发器标志写成!!接收器标志
敲错字母:例如!?BF写成!?BD
写错变量,如之前我把v591=1写成v951=1
漏写d, 例如R0/6/dv1000,写成R0/6/v1000
Ctrl+C、Ctrl+V后忘了修改相应内容




2.
语法错误
语法错误最常见,也最好查。
弹出的对话框第一行,就是错误代码行。
常见的语法错误:
对防守方英雄操作时没有加限制语句防守方英雄ID>-1时执行
对堆栈操作没有时没有加限制语句堆栈>-1时执行
对堆栈操作时堆栈号码指向了>41的值
参数命令大写写成小写。如HE0:S1/3,写成HE0:s1/3
针对英雄操作时,存储英雄ID的变量指向了>155或者<-1的值
对堆栈内怪物操作时没有限制怪物类型>-1数量>0时执行
对英雄变量操作,VRw146:+1;是对的,VRw146:d1;是不对的
!!HE-1:Fd-1/d/d/d;是对的,!!HE-1:Fd-v1/d/d/d;是不对的,如果一定要d-v1,先把v1*-1再dv1
IF语句显示对话框写的不完整,导致死机!!IF:Q1/21/1;一定会死机,不是真死,但你无法继续操作
调用函数漏写“P”
官方脚本提取时,注意宏变量是否在当前脚本中定义,调用的函数是否在当前脚本中
变量冲突,变量冲突不难查,但比较麻烦。对于地图内置脚本,先输出文本文档,然后用搜索功能检查某个变量是否在别处用过,v变量,z变量,FU,flag都可以这么检查。对于官方脚本,查变量登记表http://bbs.h3wog.com/ermres/


3.算法错误
最难查的错误,没有任何错误提示,结果却不是你想要的。
检查步骤:
多功能脚本出错,是哪个功能没有
触发器是否用对
接收器是否用对
变量是否写错
限制语句是否写错
如果此时检查不出,用!!IF语句显示所使用的变量,看是否是预期的值。
任何变量未经赋值就使用,它的值是0。比如在未给y31赋值的情况下,写!!FU66&y31=1:P;那这句代码永远不会工作
把一个触发器中的得到的值传递到另一个触发器中使用,必须使用v变量,或者放到函数参数变量中,如!!FU77:Py-12; 只有是和否两种情况的,可以考虑使用flag。
反复使用同一触发器时,y变量也可能会冲突。如果你不想检查繁多的y变量,最好的办法是触发后立即调用函数,把所有y变量放在函数体内,例如
!?BG;
!!FU77:P;
v1-v3,f-t快捷变量虽然说明上是永久变量,但脚本作者经常把它们做临时变量使用,不要用它们储存需要长期保存的值。


生物代码写错


魔法代码写错


英雄ID写错


文件路径写错


图片格式错误


战场网格位置写错


显示对话框忘记加限制flag1000为真时执行


给某一颜色加资源时忘记加限制当前活动颜色等于要操作的颜色时执行


删除一个可访问的物体时,上面可能有访问的英雄,更好的办法是不删除,而是把目标对象转成另外一种物体,例如把翡翠塔转成一个智慧石


给英雄增加一个宝物时,忘了检查他是否已经装备过组合宝物


战争机器是比较特殊的东西,有时它是宝物,有时它是生物,操作是要注意


给BOSS经验值时忘了给他的宠物加经验


对一追和战争机器的经验特级操作时,需要把攻防速命伤奖励写全,否则可能是空白


战后给英雄奖励时忘了限制触发的英雄无颜色时不给奖励


其他待补充,也欢迎所有喜欢ERM的朋友们补充

评分

1

查看全部评分

  • TA的每日心情

    昨天 18:17
  • 签到天数: 2640 天

    连续签到: 22 天

    [LV.Master]伴坛终老

    1万

    回帖

    16万

    金币

    0

    精华

    白银会员

    Rank: 5Rank: 5

    积分
    98594

    魅力之星

    QQ
    发表于 2011-3-17 20:18:18 | 显示全部楼层
    顶上啊
  • TA的每日心情
    开心
    2013-9-30 08:29
  • 签到天数: 5 天

    连续签到: 2 天

    [LV.2]野猪

    1029

    回帖

    9万

    金币

    3

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    8155

    退役版主魅力之星

    发表于 2011-3-17 20:47:01 | 显示全部楼层

    回复 1# 的帖子

    谢谢大大的指点。好
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4827

    论坛元老退役版主

    QQ
    发表于 2011-3-17 21:38:15 | 显示全部楼层
    看来你们都老了,像我们这种天天应付考试谨慎到1+1都要用草稿纸算的高中生,写ERM写完立即就可以用了。
  • TA的每日心情
    开心
    2019-1-31 14:25
  • 签到天数: 130 天

    连续签到: 1 天

    [LV.7]血污怪

    2778

    回帖

    2万

    金币

    14

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    14801

    退役版主社区QQ达人魅力之星

    发表于 2011-3-17 22:01:37 | 显示全部楼层
    删除一个可访问的物体时,上面可能有访问的英雄,更好的办法是不删除,而是把目标对象转成另外一种物体,例如把翡翠塔转成一个智慧石.这个我赞成,是个好办法。
  • TA的每日心情
    无聊
    2023-11-15 00:12
  • 签到天数: 310 天

    连续签到: 1 天

    [LV.8]神圣凤凰

    901

    回帖

    6682

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6346
    发表于 2011-3-18 10:27:27 | 显示全部楼层
    收藏收藏...
  • TA的每日心情
    开心
    2021-11-2 11:44
  • 签到天数: 754 天

    连续签到: 1 天

    [LV.10]圣龙

    8815

    回帖

    1万

    金币

    17

    精华

    论坛嘉宾

    寄蜉蝣于天地,渺沧海之一粟。

    Rank: 9Rank: 9Rank: 9

    积分
    42459

    退役版主社区QQ达人论坛守望者脚本测试狂论坛元老杰出贡献魅力之星

    发表于 2011-3-18 16:21:44 | 显示全部楼层
    原帖由 da3338280 于 2011-3-17 21:38 发表
    看来你们都老了,像我们这种天天应付考试谨慎到1+1都要用草稿纸算的高中生,写ERM写完立即就可以用了。


    离弦兄说得太在理了,很多东西都很可能经常会遇到,很多都深有感触,但很多也是解决了就完成,最大的差距就在于离弦兄会自己总结记录,所以他的ERM肯定会越来越高。

    克招小老师说得真让我感觉到备受打击啊,因为我本身几乎都没有一次成功的,所以也最讨厌的就是测试,真是不得不服老啊

    该用户从未签到

    1546

    回帖

    2万

    金币

    4

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    9883

    退役版主杰出贡献中流砥柱论坛元老

     楼主| 发表于 2011-3-18 16:25:04 | 显示全部楼层
    我连ZVSE都可能随手写成AVSEX
  • TA的每日心情

    昨天 18:17
  • 签到天数: 2640 天

    连续签到: 22 天

    [LV.Master]伴坛终老

    1万

    回帖

    16万

    金币

    0

    精华

    白银会员

    Rank: 5Rank: 5

    积分
    98594

    魅力之星

    QQ
    发表于 2011-3-18 20:55:10 | 显示全部楼层
    AVSEX
    老离你真有才
  • TA的每日心情
    奋斗
    2024-4-1 16:20
  • 签到天数: 50 天

    连续签到: 13 天

    [LV.5]女巫

    35

    回帖

    9541

    金币

    0

    精华

    3级 Known Hero

    Rank: 3Rank: 3

    积分
    760
    发表于 2013-7-13 20:44:46 | 显示全部楼层
    不好意思,挖个坟,老离一语中的,没编译器断点调试,这也是我怎么都学不会的原因之一吧
    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 英雄注册|Register

    本版积分规则

    捐赠
    关注我们,英3Mod一网打尽!

    WoG中文站 ( 辽B2-20210485-10 )|辽公网安备 21128202000228 号

    GMT+8, 2024-12-22 21:36 , Processed in 0.610744 second(s), 14 queries , Gzip On, File On.

    Powered by Discuz! X3.4

    Copyright © 2004-2022, Beijing Second Sight Technology Co., LTD.

    快速回复 返回顶部 返回列表