一、传奇PK魔戒概述

在无度传奇中,PK魔戒是一种极具特色的装备,它不仅能够大幅提升玩家的属性,还附带了一系列独特的游戏机制。以下是PK魔戒的主要特点:

佩戴后属性显著提升,但无法取下。

佩戴者每小时需杀死一名35级以上的玩家,且不能重复击杀同一人。

成功完成击杀任务后,生命值将恢复至满一小时。

若未按时完成任务,魔戒将消失,并导致玩家死亡。

当游戏区开启下线辅助功能时,魔戒的计时器将自动关闭。

二、PK魔戒的功能与使用说明

PK魔戒隐藏属性强大,能提升玩家的攻击力、魔法和道术,并增加全身属性总和的10%。然而,其邪恶的一面在于佩戴者必须每小时进行一次PK,否则将面临死亡和魔戒消失的风险。玩家需在土城的戒灵处合成魔戒,或使用元宝取下已佩戴的魔戒。合成材料可在中土地图中获取。

三、脚本技术实现

计时问题:利用jsM2的个人时钟功能,通过设置human个人参数进行计时。每分钟参数加1,达到60时即表示一小时,之后参数清零重新计时。小退后上线,启动个人时钟即可继续计时。

判断击杀对象:利用M2的特殊功能,通过脚本[@PlayDie]在被杀者执行时,将击杀者的信息传递给PK者,进而判断是否为魔戒佩戴者、被杀者等级及是否重复击杀。

四、关键脚本示例

以下是实现PK魔戒计时和判断击杀对象的关键脚本片段:

; 魔戒计时

[@OnTimer6]

#IF

checkitemw 魔戒

#ACT

break

#CALL [活动魔戒记时.txt] @魔戒记时

; 死亡触发

[@PlayDie]

#IF

#ACT

set [111] 0

set [112] 0

set [113] 0

MOV S0 <$KILLER>

MOV S1 <$USERNAME>

MOV S2 <$LEVEL>

#CALL [活动/被PK检测.txt] @被杀

传奇PK魔戒特点:

1.带上传奇PK魔戒后属性大增,但是拿不下来。

2.从带上那一刻,每一小时你就要杀一个人,杀35级以下小人无效,PK同一个人无效。

3.如果你按魔戒的指示,杀死了一个后,重新让你的生命增加一小时。

4.如果你没有完成PK任务,魔戒会消失,并把你杀死,无论你是小退,还是下线。

5.区开通下线辅机功能时,自动关闭计时器。

传奇PK魔戒的功能和使用说明:

魔戒属性隐藏,可以大幅度提高自身攻击力,魔法和道术,并会被恶魔附体,提高全身属性总和的10%,但是魔戒也有邪恶的一面:戴上后无法取下,所带魔戒之人须每隔一个小时杀一个人来用鲜血祭奠恶魔之魂。若一个小时内不PK,那么你将会被魔戒杀死,并且魔戒自动消失,真正的被杀哦,还会掉装备。还有一个相当严格的要求,你所杀死的人须高于35级,而且不能连续杀死同一个人,否则无效,你不要以为下线或者小退等就可以延长时间,无用的,下线自动保存时间,再次上线后自动计算你的剩余时间,杀死一个人以后就可以把你的生命重新延长至一个小时。

在土城的戒灵处可以合成魔戒,也可以使用元宝将已戴上的魔戒取下来。合成魔戒的材料在中土地图中取得。

关于增加全身属性10%,这一点你可以设置一个套装,你面只要一件物品就行了

其他的功能用脚本可以实现,大的难度是.

1 计时问题.

2 如何判断你杀的人是否已经杀过.你杀的人的级别是多少?

解决:

1.计时问题,可以用上jsM2 的个人时钟,但个人时钟只适合短时间计时,以秒计算,且下线在上线后计时停止.

实现长时间的计时,这里我发现了一个计巧.就是用一个 human 的个人参数.计时设成60 就是60秒.第计时一分钟,参数+1 ,但这个参数到60时,便是一小时.参数清0重新计时.小退在上时,只要在启动个人时钟就可以继续计时.

2.第二个问题的解决.是我发现了新的的M2的一个特殊功能,就是让他人执行脚本

[@PlayDie]

#IF

#ACT

Mov S10 <$Killer>

HCall <$STR(S10)> @TTT

你可以利用被杀者的这一脚本把,把资料传送给PK者-<$Killer>

原理:就是把传过来的PK者的姓名,判断是不是带魔戒的(之前我把带魔戒的玩家写入一个文本中)

如果是,在判断自已的级别是不是大于35级.自已是不是在PK者杀过人的名单里.如果都不是.那么触发PK者脚本.来改变他的参数.

===================================

部分关键脚本:

Qmanage.txt

;魔戒记时

[@OnTimer6]

#IF

checkitemw 魔戒

#ACT

break

#CALL [活动魔戒记时.txt] @魔戒记时

#if

#act

SetOffTimer 6

set [108] 0

CALCVAR HUMAN MJJS = 0

CALCVAR HUMAN MJTIME = 0

SAVEVAR HUMAN MJJS ..QuestDiary记录魔戒记时.txt

SAVEVAR HUMAN MJTIME ..QuestDiary记录魔戒记时.txt

CHANGEMODE 3 0

………………….

[@魔戒记时]

{

#if

checkcastlewar 0

CHECKVAR HUMAN MJTIME = 2

#act

break

CHANGEMODE 3 0

sendmsg 7 [地狱之声]攻城期间,魔戒暂时失效.

#if

checkcastlewar 0

CHECKVAR HUMAN MJTIME = 1

#act

break

CHANGEMODE 3 0

sendmsg 7 [地狱之声]攻城期间,魔戒暂时失效.

#if

CHECKVAR HUMAN MJTIME = 0

CHECKVAR HUMAN MJJS = 0

#ACT

break

CALCVAR HUMAN MJJS + 1

SAVEVAR HUMAN MJJS ..QuestDiary记录魔戒记时.txt

CHANGEMODE 3 0

sendmsg 0 [地狱之声]被地狱”魔戒”附身的【%s】走到了生命的终结,现在等待它的只有死亡.

……………….

Qfunction-0.txt

;死亡触发

[@PlayDie]

#IF

#act

set [111] 0

set [112] 0

set [113] 0

MOV S0 <$KILLER>

MOV S1 <$USERNAME>

MOV S2 <$LEVEL>

#CALL [活动/被PK检测.txt] @被杀

[@被杀]

{

#if

CheckTextList QuestDiary记录拥有魔戒者.txt <$str(S0)>

#act

break

goto @被魔戒杀

[@被魔戒杀]

#if

CHECKLEVELEX < 35

#act

break

sendmsg 5 [地狱之声]你被戴邪恶魔戒的【<$str(S0)>】所杀,。

HCall <$STR(S0)> @魔戒复活1

#if

;CHECKNAMELIST ..QuestDiary记录魔戒PK记录<$str(s0)>.txt

CheckTextList QuestDiary记录魔戒PK记录<$str(s0)>.txt <$USERNAME>

#act

break

sendmsg 5 [地狱之声]你被戴邪恶魔戒的【<$str(S0)>】所杀,这里记录你已经让他杀过,下回小心了。

HCall <$STR(S0)> @魔戒复活2

#if

#act

sendmsg 5 [地狱之声]你被戴邪恶魔戒的【<$str(S0)>】所杀,魔戒具有隐身能力,所以你看不到PK者。

AddTextList QuestDiary记录魔戒PK记录<$str(s0)>.txt <$USERNAME>

HCall <$STR(S0)> @魔戒复活3

}

OK 大功告成,PK魔戒,成功。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。