分享一些传奇架设技术GOM引擎假人脚本一键自动使用技能的代码

来源: 作者: 点击:
1. **简单自动使用技能脚本示例**
```
; 定义一个变量来控制自动使用技能,1为开启,0为关闭
<$AutoUseSkill = 1>
; 定义要使用的技能名称
<$SkillName = "火球术">

; 主函数,用于检测和使用技能
[@Main]
#IF
<$AutoUseSkill = 1>
#ACT
; 检查技能是否已经学习
<$IsSkillLearned = CheckSkillLearned($SkillName)>
#IF
<$IsSkillLearned = 1>
#ACT
; 获取当前目标(假设目标已经在攻击范围内)
<$Target = GetCurrentTarget()>
; 如果有目标,使用技能
#IF
<$Target!= null>
#ACT
UseSkill($SkillName, $Target)
#ENDIF
#ELSE
; 如果技能未学习,输出提示信息
messagebox "还未学习技能:" + $SkillName
#ENDIF
```
在这个脚本中:
- 首先通过变量`$AutoUseSkill`来控制自动使用技能的功能是否开启。
- 定义了要使用的技能名称`$SkillName`,这里以法师的“火球术”为例。
- 在`[@Main]`标签下,先判断`$AutoUseSkill`是否为1。如果是,就检查技能是否已经学习,通过`CheckSkillLearned($SkillName)`函数来实现。
- 如果技能已经学习,就获取当前目标(假设目标已经在攻击范围内),通过`GetCurrentTarget()`函数获取目标。如果有目标,就使用`UseSkill($SkillName, $Target)`函数来对目标使用技能。
- 如果技能未学习,就弹出一个消息框提示还未学习该技能。

2. **根据怪物类型自动使用技能脚本示例**
```
; 定义一个变量来控制自动使用技能,1为开启,0为关闭
<$AutoUseSkill = 1>

; 定义技能和对应的怪物类型列表
<$SkillMonsterPairs = [
["雷电术", ["僵尸", "骷髅"]],
["冰咆哮", ["野猪", "半兽人"]]
]>

; 主函数,用于检测和使用技能
[@Main]
#IF
<$AutoUseSkill = 1>
#ACT
; 获取当前目标怪物(假设目标已经在攻击范围内)
<$TargetMonster = GetCurrentTarget()>
; 如果有目标怪物,查找对应的技能并使用
#IF
<$TargetMonster!= null>
#ACT
<$TargetMonsterName = $TargetMonster->Name>
<$i = 0>
#WHILE <$i < sizeof($SkillMonsterPairs)>
#ACT
<$SkillName = $SkillMonsterPairs[$i][0]>
<$MonsterList = $SkillMonsterPairs[$i][1]>
<$j = 0>
#WHILE <$j < sizeof($MonsterList)>
#IF
<$TargetMonsterName = $MonsterList[$j]>
#ACT
; 检查技能是否已经学习
<$IsSkillLearned = CheckSkillLearned($SkillName)>
#IF
<$IsSkillLearned = 1>
#ACT
UseSkill($SkillName, $TargetMonster)
#ELSE
; 如果技能未学习,输出提示信息
messagebox "还未学习技能:" + $SkillName
#ENDIF
#ENDIF
<$j = $j + 1>
#ENDWHILE
<$i = $i + 1>
#ENDWHILE
#ENDIF
```
这个脚本更加复杂一些:
- 同样通过`$AutoUseSkill`变量控制自动使用技能功能。
- 定义了一个二维数组`$SkillMonsterPairs`,其中每个元素包含一个技能名称和一个对应的怪物类型列表。例如,“雷电术”用于攻击“僵尸”和“骷髅”,“冰咆哮”用于攻击“野猪”和“半兽人”。
- 在`[@Main]`标签下,获取当前目标怪物后,如果有目标,就获取目标怪物的名称`$TargetMonsterName`。
- 然后通过两层循环遍历`$SkillMonsterPairs`数组。外层循环用于遍历每个技能 - 怪物类型对,内层循环用于检查目标怪物名称是否在当前技能对应的怪物类型列表中。
- 如果匹配成功,就检查技能是否已经学习,如已学习就使用技能攻击目标怪物;如果未学习,就弹出消息框提示。

3. **结合技能冷却时间自动使用技能脚本示例**
```
; 定义一个变量来控制自动使用技能,1为开启,0为关闭
<$AutoUseSkill = 1>
; 定义要使用的技能名称
<$SkillName = "治愈术">
; 定义技能冷却时间(单位:秒)
<$SkillCooldown = 10>
; 记录技能上次使用时间
<$LastSkillUseTime = 0>

; 主函数,用于检测和使用技能
[@Main]
#IF
<$AutoUseSkill = 1>
#ACT
; 检查技能是否已经学习
<$IsSkillLearned = CheckSkillLearned($SkillName)>
#IF
<$IsSkillLearned = 1>
#ACT
; 获取当前目标(假设目标是自己,用于治疗技能)
<$Target = GetCurrentTarget()>
; 如果有目标,检查技能冷却时间并使用技能
#IF
<$Target!= null>
#ACT
<$CurrentTime = GetServerTime()>
; 如果冷却时间已过,使用技能并更新上次使用时间
#IF
<$CurrentTime - $LastSkillUseTime >= $SkillCooldown>
#ACT
UseSkill($SkillName, $Target)
<$LastSkillUseTime = $CurrentTime>
#ENDIF
#ENDIF
#ELSE
; 如果技能未学习,输出提示信息
messagebox "还未学习技能:" + $SkillName
#ENDIF
```
这个脚本考虑了技能的冷却时间:
- 除了控制自动使用技能的变量和技能名称外,还定义了技能冷却时间`$SkillCooldown`和上次使用技能的时间`$LastSkillUseTime`。
- 在`[@Main]`标签下,检查技能是否已学习后,如果有目标,就获取当前服务器时间`$CurrentTime`。
- 然后判断当前时间与上次使用技能时间的差值是否大于等于冷却时间。如果是,就使用技能并更新上次使用技能的时间。

请注意:
1. 以上脚本中的函数如`CheckSkillLearned()`、`GetCurrentTarget()`、`UseSkill()`、`GetServerTime()`等可能需要根据GOM引擎的实际API(应用程序接口)进行调整和实现。不同版本的GOM引擎可能会有不同的函数名称、参数和功能。
2. 在使用这些脚本进行传奇架设时,要确保是在合法的测试环境或经过授权的情况下进行,私自架设带有未经授权功能的传奇服务器是侵权行为。