- 积分
- 14801
- 威望
- 222
- 魅力
- 218
- 经验
- 8524
- 热心度
- 0
- 注册时间
- 2007-8-2
- 最后登录
- 2019-7-2
- 主题
- 79
- 回帖
- 2778
- 精华
- 14
- 阅读权限
- 90
TA的每日心情 | 开心 2019-1-31 14:25 |
---|
签到天数: 130 天 连续签到: 1 天 [LV.7]血污怪
论坛嘉宾
- 积分
- 14801
|
在WOG游戏里,使用IF语句显示对话框是必不可少的重要一步。通过使用IF对话框,我们可以定制大量个性化的地图和脚本。比如地图博德之门,阿泰三,绝地反击等等。总之,如果你知道了如何使用IF对话框,那么会让你的ERMER之旅更加愉快,也会极大的提升你创作ERM脚本的兴趣。
下面本人就个人使用IF对话框心得结合ERM帮助,试着给大家讲解IF对话框的使用方法。
!!IF:XXXX; | Management of conditional flags (1-1000), player questions (GRM), plus message and picture display. |
通过IF语句可以设置1-1000的标志,玩家的问题,以及插入信息和图片显示。 |
B#/$1/$2; | Use this command to set up or change a Single Image/Animation Extended Dialogue Box to be displayed with the IF:P command.
# - number of dialogue (1..100)
$1 - index of string variable that stores the name of an image (BMP, GIF or JPG) or AVI file
$2 - for AVI to repeat continuously (1) or not (0) | 使用IF:B命令可以显示静态图片(BMP, JPG)或者动态图片GIF,动画(AVI)。#代表的是B型对话框的编号(1-100)。
$1这里可以插入你设定的Z变量。PS:如果只是需要临时显示图片,建议可以使用临时Z变量,Z1-Z10,Z-1-Z-10.
$2这里可以设定你想显示的AVI影像是否重复播放。1为重复播放,0为禁止。
图片要求大小和AVI时间长度没有写明具体要求,根据我的使用心得来看,图片大小最好不要超过640*480,AVI长度应该在10秒之内。PS:AVI的没有仔细研究过,只是我自己估计,测试过几次而已。
这里需要注意的是,在使用IF:B命令后,你需要马上用!!IF:P命令来显示图片。
举例:
三国演艺之兄弟同心脚本:
ZVSE
!?PI; 游戏一开始就设置
!!VRz7:S^..\Data\sg\ti.gif^; Z变量编号7指定图片路径
!!IF:B15/7/0; 使用15号B型对话框显示图片
!!IF:P15; 使IF:B命令生效,显示图片
D#/$1...$15; | Use this command to set up or change a Multipurpose Extended Dialogue Box to be displayed with the IF:E command.
# - number of dialogue (1..100)
($=index of z variable that holds text to use)
$1 - Title Text (White) at top of dialogue box.
$2 - Right Legend (Yellow) above input box.
$3 - Left Legend (Yellow) of 4 checkboxes..
$4 - Pic/AVI 1 (left) File in Heroes3/Maps folder.
$5 - Pic/AVI 2 - File in Heroes3/ Maps folder.
$6 - Pic/AVI 3 - File in Heroes3/ Maps folder.
$7 - Pic/AVI 4 (right) File in Heroes3/ Maps folder.
$8 - Legend of Picture 1 (mouse-over hint)
$9 - Legend of Picture 2 (mouse-over hint)
$10 - Legend of Picture 3 (mouse-over hint)
$11 - Legend of Picture 4 (mouse-over hint)
$12 - Choice 1 (checkbox) - button text.
$13 - Choice 2 (checkbox) - button text.
$14 - Choice 3 (checkbox) - button text.
$15 - Choice 4 (checkbox) - button text.
Notes:1. If you use 0 or an empty parameter it means do not change. If you use a null string ^^ for a prompt it means no prompt.
2. A full path name (up to 256 character) may be included for the picture files but remember that it starts in the MAPS directory
so use ".." to go up one directory if required. e.g., ^../data/mypic.bmp^.
3. Maximum picture size is 100*100 but may be less (if less, the picture will be centered automatically).
4. Setup information will not be saved when game is saved, so always do setup immediately before using IF:E command.
5. Using 1 as dialogue number should be avoided, because it's text may be combined with higher dialog numbers.
6. Memory leaks occur when using IF:D. After about 320 displays, the Heroes program will have to be quit and restarted to clear them. | E$1/$2; | Use this command to display a Multipurpose Extended Dialogue box, previously set up with the IF:D (and also possibly IF:F) commands.
$1 - an index of a v variable to store a selection
$2 - number of extended dialogue
Comments:
Variable will receive 1,2,3,4 if one of the buttons was selected and -1 if none were selected (just exit). The text answer always (even if there was no prompt) will be stored in the z1 variable. |
D型对话框是WOG里面使用的最多和最广泛的对话框,掌握了它的使用方法,其他的对你来说只是小菜一碟。
D型对话框一共有16个可扩展项,代表的是什么,我下面一一为大家解释。
# - number of dialogue (1..100)
这里代表的是D型对话框编号,(1-100)
$1 - Title Text (White) at top of dialogue box.
这里显示的是对话框顶端的标题,显示的是白色的文字。
$2 - Right Legend (Yellow) above input box.
这里显示的是右边输入对话框上面的文字,是黄色显示的。
$3 - Left Legend (Yellow) of 4 checkboxes
这里显示的是左边4个选择框上面的文字,也是黄色的。
$4 —— $7扩展项显示的是你指定的图片或者AVI文件,文件路径需要在WOG根目录下或者子目录MAPS里面。图片可以是静态图片(BMP, JPG)或者动态图片GIF
图片大小是有限制的,单张图片不能超过100*100,AV文件的,我没有测试过。需要,下来进一步测试。
$8-----$11扩展项指的是当你的鼠标指针指向$4------$7这些图片时,在对话框下方显示的黄色文字。
$12 -----$15扩展项指的是在对话框的右下角4个选择框里面显示的文字,同样是黄色的文字。
PS:1.要提醒大家的是使用D型对话框之后,你需要马上用IF:E命令来保存对话框的选择项。否则,玩家选择的结果不能保存。
2.像8---11这些扩展项,如果你不需要,可以直接把他给取消掉。下面用我的脚本举例:
ZVSE
!?LE130/106/1;
!!HE-1:B0/?z-5;
!!VRz-1:S^[阿瑞尼卡斯]:哈哈!来到我的地盘,就是我做主啦。不死不归啊!^;
!!VRz-2:S^[%Z-5]:糟糕,身上的土系魔法书消失啦,时空之门魔法也不复存在。^;
!!VRz-3:S^..\tob\ar.bmp^;
!!IF:D27/-1/0/-2/-3/555;
!!IF:F27/0/0/0/0/0;
!!IF:E100/27;
效果如图:
3;在指定图片或者AVI文件路径时,你指定路径的字数长度是有限制的,具体是多少个字,我忘了,可以用这个参考。暂缺。
4.图片的大小限制在100*100。当然,如果你要显示一张更大的图片也可以,你可以把一张大图分成4张100*100的小图片来一起显示。
5.因为对话框是有编号的,所以你最好对使用的对话框分开编个号,避免对话框发生冲突,达不到你想要的效果。
6.至于指定图片的路径,现在我倾向与在根目录下面新建一个文件夹,把所有的图片和声音,动画文件都放在这个文件夹里,方便调用。还是用我的脚本来为大家举例:
!!VRz537:S^..\bd^; 目录 这个是我在根目录下面建立了一个新的文件夹,名字为BD。
!!VRz513&v500=1:S^%Z537\%Y-12.pcx^;
调用BD文件夹里面我指定的PCX文件,需要提醒大家的是英3和WOG里面对英雄的头像大小是有限制的。图像文件必须为PCX格式,256色;制作一个头像必须准备两个文件,一个大的,大小为58×64,还有一个小的,大小为48×32。
!!VRz514&v500=1:S^%Z537\%Y-12s.pcx^;
!!VRz513&v500=2:S^%Z537\%Y-13.pcx^;
!!VRz514&v500=2:S^%Z537\%Y-13s.pcx^;
!!VRz513&v500=3:S^%Z537\%Y-14.pcx^;
!!VRz514&v500=3:S^%Z537\%Y-14s.pcx^;
!!VRz513&v500=4:S^%Z537\%Y-15.pcx^;
!!VRz514&v500=4:S^%Z537\%Y-15s.pcx^;
7.玩家选择的结果,根据选择的不同,结果从上到下=1or=2 or=3 or=4,4种结果。
8 Memory leaks occur when using IF:D. After about 320 displays, the Heroes program will have to be quit and restarted to clear them
这句话的意思我也搞不懂,好像是说内存只允许显示IF:D对话框320次,超过了就会报错和退出重启清空。
E$1/$2;$1是你指定的V变量,$2是前面D型对话框的编号。
D型对话框的选择结果,在前面我讲了=1or=2 or=3 or=4,如果玩家选择取消,那么结果=-1.
为了方便在全局调用这个结果,那么我们需要用一个V变量来接收对话框的结果。
举例:
!!VRz511:S^巫 妖 王 的 毁 灭 ☆外 传 - 1.36☆
- 玩 家 个 性 化 选 择 -^; 标题
!!VRz501:S^请 教 英 雄 大 名^; 右下角输入框上面的文字
!!VRz502:S^选 择 你 喜 欢 的 英 雄 头 像^; 左下角选择框上面的文字
!!VRz503:S^%Z500\god-%Y-12.bmp^; 从左到右排列的4张头像
!!VRz504:S^%Z500\god-%Y-13.bmp^;
!!VRz505:S^%Z500\god-%Y-14.bmp^;
!!VRz506:S^%Z500\god-%Y-15.bmp^;
!!VRz507:S^我喜欢第一个,好酷,够爷们!^; 左下角选择框里面的文字
!!VRz508:S^第二个,漂亮MM!^;
!!VRz509:S^第三个好帅哦,我要!^;
!!VRz510:S^第四个美女好销魂,我的最爱!^;
!!IF:D50/511/501/502/503/504/505/506/////507/508/509/510; 50号对话框
!!IF:E500/50; 用全局变量V500来保存结果
!!VRz512&v500>0:Sz1; 玩家输入对话框的数字或者字母保存在临时变量Z1中,为了方便调用,我用文本变量Z512来保存玩家输入的字母或者数字
!!VRz512:H499; 用标志499来检查玩家输入的是否为空,输入为空那么标志499=0,反之=1.
F$1/$2/$3/$4/$5/$6; | Use this command to add hint text to checkboxes in a Multipurpose Extended Dialogue Box. This command is an extension to the IF:D command.
#1=number of dialog (1..100)
$2=hint for checkbox 1 - index of z variable
$3=hint for checkbox 2 - index of z variable
$4=hint for checkbox 3 - index of z variable
$5=hint for checkbox 4 - index of z variable
$6=enable Cancel/ESC button (1) or not (0)
Comments:
Setup information will not be saved when game is saved so always do setup immediately before using IF:E command. | !!IF:F命令可以为D型对话框额外增加说明文本。也就是当鼠标指向前面的4个选择框时,在对话框下方显示的黄色文字。
#1=number of dialog (1..100) 前面对话框的编号
$2------$5 鼠标指向前面的4个选择框时,在对话框下方显示的帮助文本。
$6=enable Cancel/ESC button (1) or not (0) 是否启用取消按钮,1为启用,0禁止
举例:
!!VRz531:S^%Z530\_AT_SP_1.bmp^;
!!VRz532:S^%Z530\_AT4=.bmp^;
!!VRz533:S^%Z530\_HP4=.bmp^;
!!VRz534:S^%Z530\_MP4=.bmp^;
!!VRz535:S^自带弹药车,射手弹药数加倍.伤害近战不减.弹药车属性加强^;
!!VRz536:S^自动获得3级战术,士气加2,运气加2.^;
!!VRz537:S^战场中自动出现转世重生魔法,帐篷学会偏移,魔法区域.自带护盾,属性加强^;
!!VRz538:S^随等级加魔法威力,减少受魔法伤害,攻击诅咒,野兵S-2,无魔镜,40%几率中蛊^;
!!VRz539:S^所有兵种自带气盾,30%几率劲射,特技(破天神箭)^;
!!VRz540:S^所有兵种每回合自动获得护盾、石肤术.30%几率狂暴,特技(独孤剑谱)^;
!!VRz541:S^自动学会超级转世重生.所有兵种40%几率净化,特技(神灵护佑)^;
!!VRz542:S^博德之盔MR+300%,雷神之锤+100%并让敌人无法放魔法,特技(灭世魔身)^;
!!VRz543:S^特 长 选 择^;
!!VRz544:S^请 选 择 主 角 的 特 长^;
!!VRz545:S^箭术特长,游戏开始有中级箭术.(鼠标指向图标显示补充说明).^;
!!VRz546:S^进攻特长,游戏开始有中级进攻术.(鼠标指向图标显示补充说明).^;
!!VRz547:S^冶疗特长,游戏开始有中级冶疗术.(鼠标指向图标显示补充说明).^;
!!VRz548:S^魔力特长,游戏开始中级魔力术.(鼠标指向图标显示补充说明).^;
!!IF:D15/543/0/544/531/532/533/534/535/536/537/538/545/546/547/548; 15号对话框
!!IF:F15/539/540/541/542/0; 当鼠标指向文字选择框时,对话框下方出现539-542提示文本。
!!IF:E1025/15; 用V1025保存选择结果
[ 本帖最后由 fly123 于 2012-8-28 14:54 编辑 ] |
评分
-
2
查看全部评分
-
|