针对你遇到的 .pkpoint + 300 报错问题,这确实是一条完全错误的传奇脚本命令。传奇脚本引擎无法识别这种带有 变量拼接且使用 + 号进行数学运算的语法。在传奇脚本中,设置或修改玩家的PK值,必须使用引擎内置的标准指令。
下面将为你详细纠正该命令,并提供一套完整的红名武器配置方案。
一、 错误命令纠正与正确写法
在传奇脚本中,想要给目标(被攻击的玩家)增加PK值,正确的逻辑是:先通过攻击触发获取目标对象,然后使用 M2CMD 或 CHANGEPKPOINT 等标准命令来修改其PK点数。
如果你希望玩家佩戴特定武器攻击其他玩家时,让被攻击者直接红名(例如增加300点PK值),正确的脚本写法如下:
GOM/GEE引擎常用写法:M2CMD 66 CHANGEPKPOINT + 300 (这里的 代表获取当前被攻击的目标角色名)
部分老引擎写法:CHANGEPKPOINT + 300
二、 红名武器脚本配置全流程
配置红名武器的核心逻辑是:利用服务端的攻击触发文件(QFunction-0.txt),检测攻击者身上是否佩戴了指定武器,如果满足条件,则对攻击目标执行增加PK值的命令。
定位触发文件
进入服务端目录,依次打开 Mir200EnvirMapQuest_def,找到 QFunction-0.txt 文件(部分版本可能简写为QF.txt)。
编写攻击触发脚本
在 QFunction-0.txt 文件中查找 [@PlayAttack] 标签(这是玩家发起攻击时的触发点)。如果没有该标签,直接在文件末尾新建。接着写入以下逻辑代码:
[@PlayAttack]
IF
; 检测攻击者身上是否佩戴了“裁决之杖”,[WEAPON]代表武器位置
checkitemw 裁决之杖
ACT
; 满足条件,执行给被攻击目标增加300点PK值的命令
M2CMD 66 CHANGEPKPOINT + 300
SENDMSG 5 你佩戴了红名武器,攻击玩家会使其红名!
三、 关键命令与变量解析
为了让你能举一反三,以下是脚本中用到的核心命令详解:
[@PlayAttack]:玩家攻击触发标签,只要玩家发起攻击动作就会调用此处的脚本。
#IF 与 #ACT:传奇脚本的标准判断与执行结构。#IF 下方写触发条件,#ACT 下方写满足条件后执行的命令。
checkitemw 物品名:检测人物身上(穿戴状态)是否有指定的物品。如果想检测其他部位,可以加参数,如 checkitemw 复活戒指 [RING] 检测戒指位置。
CHANGEPKPOINT:修改指定角色的PK值。格式通常为 CHANGEPKPOINT 角色名 操作符 数值。
:在攻击触发中,该变量代表“被攻击的目标角色名”。
四、 调试与生效
脚本编写完成后,保存文件。进入游戏前,需要在服务端的 M2Server 控制台中点击“控制” -> “重新加载所有NPC”(或者在控制台输入命令 !ReloadQF),让修改后的脚本立即生效。
此时,只要玩家身上佩戴了脚本中设定的“裁决之杖”,攻击其他玩家时,被攻击者的PK值就会瞬间增加300点,名字也会立刻变成红色。你可以根据实际需求,将“裁决之杖”替换为任意装备,并调整 CHANGEPKPOINT 后面的数值大小。

