以下是一些传奇游戏脚本编写的代码示例:
1. **自动拾取脚本(适用于部分引擎)**:
```
(@login)
#if
#act
;设置角色自动捡起自己打怪和自己宝宝打怪爆出的物品
openautopickitem 1 0 3 0 1 0 5000 0
```
解释:
- `(@login)`:表示该脚本代码在登录游戏时执行。
- `#if`:条件判断指令,这里条件为空,所以该代码块始终执行。
- `#act`:表示接下来的代码块执行期间,不处理其他脚本或键盘/鼠标事件。
- `openautopickitem`:传奇脚本函数,后面的参数分别表示自动拾取的相关设置,如 `1` 表示只自动捡起自己打怪和自己宝宝打怪爆出的物品;`0` 表示自动拾取功能持续时间为永久;`3` 表示捡物品的范围是以角色自身坐标为中心 3 格内等。
2. **泡点脚本**:
```
(@main)
\\<点击进入免费泡点--每秒 12000 经验/@免费泡点>
\\<点击进入收费泡点--每秒 10w 经验--每秒收费 10 元宝/@收费泡点>
\\<点击进入收费泡点--每秒 100w 经验--每秒收费 100 元宝/@收费泡点1>
(@免费泡点)
#if
checklevelex < 48
checknamelist..\questdiary\会员名单\会员名单.txt
#act
setsc timer 3 1
mapmove mfjqp
sendmsg 1 玩家:%s,已经进入免费泡点!开启人生的旅程!!254 2
sendmsg 1 玩家:%s,已经进入免费泡点!开启人生的旅程!!250 249
sendmsg 1 玩家:%s,已经进入免费泡点!开启人生的旅程!!250 249 10
sendmsg 1 玩家:%s,已经进入免费泡点!开启人生的旅程!!254 2 10
#else
sendmsg 5 玩家:%s,你已经超过 48 级或者你刚进入!!
sendmsg 5 玩家:%s,你已经超过 48 级或者你刚进入!!
sendmsg 5 玩家:%s,你已经超过 48 级或者你刚进入!!
#if
checklevelex < 48
#act
setsc timer 4 1
mapmove mfjqp
sendmsg 1 玩家:%s,已经进入免费泡点!开启人生的旅程!!254 2
sendmsg 1 玩家:%s,已经进入免费泡点!开启人生的旅程!!250 249
sendmsg 1 玩家:%s,已经进入免费泡点!开启人生的旅程!!250 249 10
sendmsg 1 玩家:%s,已经进入免费泡点!开启人生的旅程!!254 2 10
#else
sendmsg 5 玩家:%s,你已经超过 48 级或者你刚进入!!
sendmsg 5 玩家:%s,你已经超过 48 级或者你刚进入!!
sendmsg 5 玩家:%s,你已经超过 48 级或者你刚进入!!
(@收费泡点)
#if
checknamelist..\questdiary\会员名单\会员名单.txt
#act
setsc timer 5 1
mapmove jqpd
sendmsg 1 玩家:%s,已经进入收费泡点!开启人生的旅程!!255 241
sendmsg 1 玩家:%s,已经进入收费泡点!开启人生的旅程!!251 245
sendmsg 1 玩家:%s,已经进入收费泡点!开启人生的旅程!!255 241 10
sendmsg 1 玩家:%s,已经进入收费泡点!开启人生的旅程!!251 244 10
break
#if
#act
setsc timer 6 1
mapmove jqpd
sendmsg 1 玩家:%s,已经进入收费泡点!开启人生的旅程!!255 241
sendmsg 1 玩家:%s,已经进入收费泡点!开启人生的旅程!!251 245
sendmsg 1 玩家:%s,已经进入收费泡点!开启人生的旅程!!255 241 10
sendmsg 1 玩家:%s,已经进入收费泡点!开启人生的旅程!!251 244 10
break
(@收费泡点1)
#if
checknamelist..\questdiary\会员名单\会员名单.txt
#act
setsc timer 7 1
mapmove jqpd
sendmsg 1 玩家:%s,已经进入收费泡点!开启人生的旅程!!255 241
sendmsg 1 玩家:%s,已经进入收费泡点!开启人生的旅程!!251 245
sendmsg 1 玩家:%s,已经进入收费泡点!开启人生的旅程!!255 241 10
sendmsg 1 玩家:%s,已经进入收费泡点!开启人生的旅程!!251 244 10
break
#if
#act
setsc timer 8 1
mapmove jqpd
sendmsg 1 玩家:%s,已经进入收费泡点!开启人生的旅程!!255 241
sendmsg 1 玩家:%s,已经进入收费泡点!开启人生的旅程!!251 245
sendmsg 1 玩家:%s,已经进入收费泡点!开启人生的旅程!!255 241 10
sendmsg 1 玩家:%s,已经进入收费泡点!开启人生的旅程!!251 244 10
break
```
这个脚本实现了不同类型的泡点功能,包括免费泡点和收费泡点,并且根据玩家的等级和条件进行判断和执行相应的操作,同时设置了定时器来控制泡点的持续时间和经验的增加。
3. **怪物刷新脚本**:
```
(@main)
#act
; 在地图名为 "map001" 的地图上,每隔 60 秒刷新 10 只名为 "monster1" 的怪物
mongen monster1 10 60 map001
```
解释:
- `mongen` 是用于刷怪的命令。
- `monster1` 是要刷新的怪物名称。
- `10` 表示刷新的怪物数量。
- `60` 表示刷新的时间间隔(单位为秒)。
- `map001` 是要刷新怪物的地图名称。
4. **任务脚本**:
```
(@quest_start)
#if
checklevel 30
#act
give item1 1 ; 给予玩家物品 item1,数量为 1
set quest_var 1 ; 设置任务变量 quest_var 为 1,表示任务开始
sendmsg 1 你已接取任务! ; 发送消息提示玩家
#else
sendmsg 5 你的等级不足 30 级,无法接取此任务! ; 等级不足时的提示
```
解释:
- `(@quest_start)` 是任务开始的脚本标识。
- `checklevel 30` 用于检查玩家的等级是否达到 30 级。
- `give item1 1` 用于给玩家一个名为 `item1` 的物品。
- `set quest_var 1` 用于设置任务相关的变量,以便后续脚本判断任务的进度。
5. **传送脚本**:
```
(@teleport)
#act
mapmove map002 100 200 ; 将玩家传送到地图名为 "map002" 的坐标 (100, 200)
```
解释:
- `mapmove` 命令用于将玩家传送到指定的地图和坐标。
- `map002` 是要传送的目标地图名称。
- `100 200` 分别是目标地图的横坐标和纵坐标。

