以下是传奇Gom引擎中几种常用的任务脚本示例,涵盖了杀怪任务、收集物品任务、对话选择任务等类型。
###1.杀怪任务脚本
```plaintext
[@main]
#IF
#ACT
SendMsg0你接到一个杀怪任务,需要杀死20只半兽勇士。
Goto@killing
[@killing]
#IF
CheckKillMonCount半兽勇士20
#ACT
SendMsg0恭喜你,已成功杀死20只半兽勇士,任务完成!
GiveExp8000
GiveMoney5000
GiveItem10011;给予物品ID为1001的物品
Goto@end
#ELSE
SendMsg0你还需杀死[20-<$KILLMONCOUNT(半兽勇士)>]只半兽勇士。
Goto@killing
[@end]
SendMsg0任务结束,感谢参与!
```
###2.收集物品任务脚本
```plaintext
[@main]
#IF
#ACT
SendMsg0现在你要收集15个太阳水。
Goto@collecting
[@collecting]
#IF
CheckItemCount100215
#ACT
SendMsg0你已收集够15个太阳水,任务完成!
TakeItem100215;扣除收集的物品
GiveExp7000
GiveMoney4500
GiveItem10031
Goto@end
#ELSE
SendMsg0你还需收集[15-<$ITEMCOUNT(1002)>]个太阳水。
Goto@collecting
[@end]
SendMsg0任务完成,奖励已发放!
```
###3.对话选择任务脚本
```plaintext
[@main]
#IF
#ACT
AskText你面前有两条路,选择上山(A)还是下河(B)?<$STR(S1)>
If$STR(S1)==A
Goto@mountainPath
ElseIf$STR(S1)==B
Goto@riverPath
Else
SendMsg0输入无效,请重新输入。
Goto@main
[@mountainPath]
#IF
#ACT
SendMsg0你选择了上山的路,找到了一颗珍贵的宝石。
GiveItem10041
Goto@end
[@riverPath]
#IF
#ACT
SendMsg0你选择了下河的路,钓到了一条神奇的鱼,获得大量经验。
GiveExp9000
Goto@end
[@end]
SendMsg0本次选择任务结束。
```
###4.等级限制任务脚本
```plaintext
[@main]
#IF
CheckLevelGreaterEqual30;检查玩家等级是否大于等于30级
#ACT
SendMsg0你达到了30级,可以接受这个寻宝任务。去神秘洞穴寻找宝藏。
Goto@searching
#ELSE
SendMsg0你的等级不够,需要达到30级才能接受此任务。
Goto@main
[@searching]
#IF
CheckQuestVar1;假设找到宝藏后会设置任务变量1为完成状态
#ACT
SendMsg0你成功找到了宝藏,任务完成!
GiveExp10000
GiveMoney6000
GiveItem10051
Goto@end
#ELSE
SendMsg0宝藏还未找到,请继续在神秘洞穴寻找。
Goto@searching
[@end]
SendMsg0任务圆满结束,祝你游戏愉快!
```
###5.任务链脚本
```plaintext
;第一个任务:传递信件
[@task1_main]
#IF
#ACT
SendMsg0你接到第一个任务,将信件送到村长手中。
Goto@task1_delivery
[@task1_delivery]
#IF
CheckQuestVar1;假设完成送信后设置任务变量1
#ACT
SendMsg0你成功送完信,第一个任务完成!
GiveExp2500
SetQuestVar11
Goto@task2_main
#ELSE
SendMsg0信件还未送达,请继续。
Goto@task1_delivery
;第二个任务:消灭强盗
[@task2_main]
#IF
CheckQuestVar11
#ACT
SendMsg0现在开始第二个任务,消灭18个强盗。
Goto@task2_killing
#ELSE
SendMsg0你需要先完成第一个任务。
Goto@task1_main
[@task2_killing]
#IF
CheckKillMonCount强盗18
#ACT
SendMsg0你已消灭18个强盗,第二个任务完成!
GiveExp3500
SetQuestVar21
Goto@task3_main
#ELSE
SendMsg0你还需消灭[18-<$KILLMONCOUNT(强盗)>]个强盗。
Goto@task2_killing
;第三个任务:寻找神器
[@task3_main]
#IF
CheckQuestVar21
#ACT
SendMsg0最后一个任务,找到神秘神器。
Goto@task3_searching
#ELSE
SendMsg0你需要先完成第二个任务。
Goto@task2_main
[@task3_searching]
#IF
CheckQuestVar3;假设找到神器后设置任务变量3
#ACT
SendMsg0你找到了神器,整个任务链完成!
GiveExp6000
GiveMoney7000
GiveItem10061
Goto@end
#ELSE
SendMsg0神器还未找到,请继续寻找。
Goto@task3_searching
[@end]
SendMsg0恭喜你完成了整个任务链!
```
###6.限时任务脚本
```plaintext
[@main]
#IF
#ACT
SetQuestTime1800;设置任务时间为30分钟
SendMsg0你有30分钟的时间完成这个护送商人的任务。
Goto@escorting
[@escorting]
#IF
CheckQuestVar1;假设护送成功后设置任务变量1
#ACT
SendMsg0你在规定时间内成功护送商人,任务完成!
GiveExp8500
GiveMoney5500
GiveItem10071
Goto@end
#ELSE
CheckQuestTimeOver
#IF
SendMsg0很遗憾,时间已到,任务失败。
Goto@fail
#ENDIF
SendMsg0距离任务结束还有<$QUESTTIME>秒,请继续护送商人。
Goto@escorting
[@end]
SendMsg0任务成功完成。
[@fail]
SendMsg0任务失败,请下次再试。
```
这些脚本示例可以根据实际游戏需求进行修改和扩展,帮助你在传奇Gom引擎中创建丰富多样的任务系统。
###1.杀怪任务脚本
```plaintext
[@main]
#IF
#ACT
SendMsg0你接到一个杀怪任务,需要杀死20只半兽勇士。
Goto@killing
[@killing]
#IF
CheckKillMonCount半兽勇士20
#ACT
SendMsg0恭喜你,已成功杀死20只半兽勇士,任务完成!
GiveExp8000
GiveMoney5000
GiveItem10011;给予物品ID为1001的物品
Goto@end
#ELSE
SendMsg0你还需杀死[20-<$KILLMONCOUNT(半兽勇士)>]只半兽勇士。
Goto@killing
[@end]
SendMsg0任务结束,感谢参与!
```
###2.收集物品任务脚本
```plaintext
[@main]
#IF
#ACT
SendMsg0现在你要收集15个太阳水。
Goto@collecting
[@collecting]
#IF
CheckItemCount100215
#ACT
SendMsg0你已收集够15个太阳水,任务完成!
TakeItem100215;扣除收集的物品
GiveExp7000
GiveMoney4500
GiveItem10031
Goto@end
#ELSE
SendMsg0你还需收集[15-<$ITEMCOUNT(1002)>]个太阳水。
Goto@collecting
[@end]
SendMsg0任务完成,奖励已发放!
```
###3.对话选择任务脚本
```plaintext
[@main]
#IF
#ACT
AskText你面前有两条路,选择上山(A)还是下河(B)?<$STR(S1)>
If$STR(S1)==A
Goto@mountainPath
ElseIf$STR(S1)==B
Goto@riverPath
Else
SendMsg0输入无效,请重新输入。
Goto@main
[@mountainPath]
#IF
#ACT
SendMsg0你选择了上山的路,找到了一颗珍贵的宝石。
GiveItem10041
Goto@end
[@riverPath]
#IF
#ACT
SendMsg0你选择了下河的路,钓到了一条神奇的鱼,获得大量经验。
GiveExp9000
Goto@end
[@end]
SendMsg0本次选择任务结束。
```
###4.等级限制任务脚本
```plaintext
[@main]
#IF
CheckLevelGreaterEqual30;检查玩家等级是否大于等于30级
#ACT
SendMsg0你达到了30级,可以接受这个寻宝任务。去神秘洞穴寻找宝藏。
Goto@searching
#ELSE
SendMsg0你的等级不够,需要达到30级才能接受此任务。
Goto@main
[@searching]
#IF
CheckQuestVar1;假设找到宝藏后会设置任务变量1为完成状态
#ACT
SendMsg0你成功找到了宝藏,任务完成!
GiveExp10000
GiveMoney6000
GiveItem10051
Goto@end
#ELSE
SendMsg0宝藏还未找到,请继续在神秘洞穴寻找。
Goto@searching
[@end]
SendMsg0任务圆满结束,祝你游戏愉快!
```
###5.任务链脚本
```plaintext
;第一个任务:传递信件
[@task1_main]
#IF
#ACT
SendMsg0你接到第一个任务,将信件送到村长手中。
Goto@task1_delivery
[@task1_delivery]
#IF
CheckQuestVar1;假设完成送信后设置任务变量1
#ACT
SendMsg0你成功送完信,第一个任务完成!
GiveExp2500
SetQuestVar11
Goto@task2_main
#ELSE
SendMsg0信件还未送达,请继续。
Goto@task1_delivery
;第二个任务:消灭强盗
[@task2_main]
#IF
CheckQuestVar11
#ACT
SendMsg0现在开始第二个任务,消灭18个强盗。
Goto@task2_killing
#ELSE
SendMsg0你需要先完成第一个任务。
Goto@task1_main
[@task2_killing]
#IF
CheckKillMonCount强盗18
#ACT
SendMsg0你已消灭18个强盗,第二个任务完成!
GiveExp3500
SetQuestVar21
Goto@task3_main
#ELSE
SendMsg0你还需消灭[18-<$KILLMONCOUNT(强盗)>]个强盗。
Goto@task2_killing
;第三个任务:寻找神器
[@task3_main]
#IF
CheckQuestVar21
#ACT
SendMsg0最后一个任务,找到神秘神器。
Goto@task3_searching
#ELSE
SendMsg0你需要先完成第二个任务。
Goto@task2_main
[@task3_searching]
#IF
CheckQuestVar3;假设找到神器后设置任务变量3
#ACT
SendMsg0你找到了神器,整个任务链完成!
GiveExp6000
GiveMoney7000
GiveItem10061
Goto@end
#ELSE
SendMsg0神器还未找到,请继续寻找。
Goto@task3_searching
[@end]
SendMsg0恭喜你完成了整个任务链!
```
###6.限时任务脚本
```plaintext
[@main]
#IF
#ACT
SetQuestTime1800;设置任务时间为30分钟
SendMsg0你有30分钟的时间完成这个护送商人的任务。
Goto@escorting
[@escorting]
#IF
CheckQuestVar1;假设护送成功后设置任务变量1
#ACT
SendMsg0你在规定时间内成功护送商人,任务完成!
GiveExp8500
GiveMoney5500
GiveItem10071
Goto@end
#ELSE
CheckQuestTimeOver
#IF
SendMsg0很遗憾,时间已到,任务失败。
Goto@fail
#ENDIF
SendMsg0距离任务结束还有<$QUESTTIME>秒,请继续护送商人。
Goto@escorting
[@end]
SendMsg0任务成功完成。
[@fail]
SendMsg0任务失败,请下次再试。
```
这些脚本示例可以根据实际游戏需求进行修改和扩展,帮助你在传奇Gom引擎中创建丰富多样的任务系统。

