yydzs 发表于 2013-3-9 11:57:05

教你制作传奇私服杀人魔戒脚本技术

传奇杀人魔戒特点:
1.带上传奇杀人魔戒后属性大增,但是拿不下来。
2.从带上那一刻,每一小时你就要杀一个人,杀35级以下小人无效,杀同一个人无效。
3.如果你按魔戒的指示,杀死了一个人后,重新让你的生命增加一小时。
4.如果你没有完成杀人任务,魔戒会消失,并把你杀死,无论你是小退,还是下线。
5.区开通下线挂机功能时,自动关闭计时器。

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

关于增加全身属性10%,这一点你可以设置一个套装,你面只要一件物品就行了
其他的功能用脚本可以实现,最大的难度是.
1 计时问题.
2 如何判断你杀的人是否已经杀过.你杀的人的级别是多少?

解决:
1.计时问题,可以用上jsM2的个人时钟,但个人时钟只适合短时间计时,以秒计算,且下线在上线后计时停止.
实现长时间的计时,这里我发现了一个计巧.就是用一个 human 的个人参数.计时设成60 就是60秒.第计时一分钟,参数+1 ,但这个参数到60时,便是一小时.参数清0重新计时.小退在上时,只要在启动个人时钟就可以继续计时.
2.第二个问题的解决.是我发现了最新的M2的一个特殊功能,就是让他人执行脚本

[@PlayDie]
#IF
#ACT
Mov S10 <$Killer>
HCall <$STR(S10)> @TTT
你可以利用被杀者的这一脚本把,把资料传送给杀人者-<$Killer>

原理:就是把传过来的杀人者的姓名,判断是不是带魔戒的(之前我把带魔戒的玩家写入一个文本中)
如果是,在判断自已的级别是不是大于35级.自已是不是在杀人者杀过人的名单里.如果都不是.那么触发杀人者脚本.来改变他的参数.

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

部分关键脚本:
Qmanage.txt
;魔戒记时
[@OnTimer6]
#IF
checkitemw 魔戒
#ACT
break
#CALL [\活动\魔戒记时.txt] @魔戒记时
#if
#act
SetOffTimer 6
set 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 0
set 0
set 0
MOV S0 <$KILLER>
MOV S1 <$USERNAME>
MOV S2 <$LEVEL>
#CALL[活动/被杀人检测.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\记录\魔戒杀人记录\<$str(s0)>.txt
CheckTextList QuestDiary\记录\魔戒杀人记录\<$str(s0)>.txt <$USERNAME>
#act
break
sendmsg 5 [地狱之声]你被戴邪恶魔戒的【<$str(S0)>】所杀,这里记录你已经让他杀过,下回小心了。
HCall <$STR(S0)> @魔戒复活2
#if
#act
sendmsg 5 [地狱之声]你被戴邪恶魔戒的【<$str(S0)>】所杀,魔戒具有隐身能力,所以你看不到杀人者。
AddTextList QuestDiary\记录\魔戒杀人记录\<$str(s0)>.txt <$USERNAME>
HCall <$STR(S0)> @魔戒复活3

}


OK 大功告成,杀人魔戒,成功。
页: [1]
查看完整版本: 教你制作传奇私服杀人魔戒脚本技术