分享一些传奇架设技术GOM引擎假人脚本一键自动捡取物品的代码

来源: 作者: 点击:
1.**基础自动捡取脚本示例**
```
;定义一个变量来存储是否开启自动捡取,1为开启,0为关闭
<$AutoPickup=1>

;主函数,用于检测和捡取物品
[@Main]
#IF
<$AutoPickup=1>
#ACT
;获取角色周围可捡取物品的列表
<$GroundItems=GetGroundItemsAroundPlayer()>
;遍历物品列表
<$i=0>
#WHILE<$i<sizeof($GroundItems)>
#ACT
;获取当前物品的名称
<$ItemName=$GroundItems[$i].Name>
;执行捡取物品的操作
PickupItemByName($ItemName)
<$i=$i+1>
#ENDWHILE
```
在这个脚本中:
-首先定义了一个变量`$AutoPickup`,用于控制自动捡取功能的开启和关闭。
-在`[@Main]`标签下的代码块中,首先判断`$AutoPickup`是否为1(即开启状态)。如果是,就通过`GetGroundItemsAroundPlayer()`函数获取角色周围的物品列表。
-然后使用一个循环(`#WHILE`循环)遍历这个列表,在循环中,通过`$GroundItems[$i].Name`获取每个物品的名称,再通过`PickupItemByName($ItemName)`函数来捡仍应的物品。循环变量`$i`用于索引列表中的每个物品,每次循环`$i`增加1,直到遍历完整个列表。

2.**带有物品筛选功能的自动捡取脚本示例**
```
;定义一个变量来存储是否开启自动捡取,1为开启,0为关闭
<$AutoPickup=1>
;定义一个列表,用于存储想要捡取的物品名称
<$PickupItemList=["金币""疗伤药""魔法药""初级装备"]>

;主函数,用于检测和捡取物品
[@Main]
#IF
<$AutoPickup=1>
#ACT
;获取角色周围可捡取物品的列表
<$GroundItems=GetGroundItemsAroundPlayer()>
;遍历物品列表
<$i=0>
#WHILE<$i<sizeof($GroundItems)>
#ACT
;获取当前物品的名称
<$ItemName=$GroundItems[$i].Name>
;检查物品名称是否在想要捡取的列表中
<$IsInList=0>
<$j=0>
#WHILE<$j<sizeof($PickupItemList)>
#IF
<$ItemName=$PickupItemList[$j]>
#ACT
<$IsInList=1>
#ENDIF
<$j=$j+1>
#ENDWHILE
;如果物品在列表中,执行捡取物品的操作
#IF
<$IsInList=1>
#ACT
PickupItemByName($ItemName)
#ENDIF
<$i=$i+1>
#ENDWHILE
```
这个脚本在前面脚本的基础上增加了物品筛选功能:
-定义了一个`$PickupItemList`列表,用于存储希望假人自动捡取的物品名称。
-在循环中,对于每个检测到的物品,又嵌套了一个循环来检查该物品的名称是否在`$PickupItemList`列表中。通过一个变量`$IsInList`来记录是否匹配,初始值为0,如果匹配成功则将其设置为1。
-最后,只有当`$IsInList`为1时,才会执行`PickupItemByName($ItemName)`函数来捡取物品。

3.**结合距离和物品属性的自动捡取脚本示例**
```
;定义一个变量来存储是否开启自动捡取,1为开启,0为关闭
<$AutoPickup=1>
;定义一个列表,用于存储想要捡取的物品名称
<$PickupItemList=["金币""疗伤药""魔法药""初级装备"]>
;定义一个变量来表示最大捡取距离
<$MaxPickupDistance=3>

;主函数,用于检测和捡取物品
[@Main]
#IF
<$AutoPickup=1>
#ACT
;获取角色周围可捡取物品的列表
<$GroundItems=GetGroundItemsAroundPlayer()>
;遍历物品列表
<$i=0>
#WHILE<$i<sizeof($GroundItems)>
#ACT
;获取当前物品的名称
<$ItemName=$GroundItems[$i].Name>
;获取当前物品与玩家的距离
<$Distance=GetDistanceToItem($GroundItems[$i])>
;检查物品名称是否在想要捡取的列表中
<$IsInList=0>
<$j=0>
#WHILE<$j<sizeof($PickupItemList)>
#IF
<$ItemName=$PickupItemList[$j]>
#ACT
<$IsInList=1>
#ENDIF
<$j=$j+1>
#ENDWHILE
;如果物品在列表中且距离在范围内,执行捡取物品的操作
#IF
<$IsInList=1&&$Distance<=$MaxPickupDistance>
#ACT
PickupItemByName($ItemName)
#ENDIF
<$i=$i+1>
#ENDWHILE
```
这个脚本进一步细化了捡取条件:
-定义了`$MaxPickupDistance`变量,用于表示最大捡取距离。
-在循环中,通过`GetDistanceToItem($GroundItems[$i])`函数获取每个物品与玩家的距离。
-最后,只有当物品名称在`$PickupItemList`中且距离小于等于`$MaxPickupDistance`时,才会执行捡取操作。

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