![]() |
![]() |
#1 |
正式会员
![]() 注册: 05年09月01日
帖子: 9
声望力: 0
声望:
10
![]() 精华:1
现金:69两梁山币
资产:69两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
【北京站】【原创】XYJ2000之NK详析篇
XYJ2000之NK详析篇 众所周知,在xyj2000中,wx(武学)的获得远比dh(道行)要容易的多,主要就是因为灭妖系统的设定只会得到wx和qn(潜能),不论等级有多高,你始终可以得到很多的wx和qn,而dh在早期可以通过nk(杀死npc来获得dh,水陆大会也算是特殊的nk)来获得,后期就基本上只能通过做quest(开封任务)来得到了(xiudao和chanting也可以得到一定的dh,但是效果甚微)。已得道高人暂且放在一旁,对于新手的前期nk生涯,很多人都不甚了解nk谁来获得dh,什么阶段可以nk,为什么有些npc(电脑控制人物)别人杀了有dh而你却没有等等问题,所以通过对源码的分析纂写此文,来剖析一下nk的秘密。我会有选择的贴出关键部分的源码并解释,喜欢研究源码的朋友大家可以共同分析,只喜欢看结果的也可以得到很多内容。 一、变量意义 在分析nk前,要几个文中要用到的变量含义作一下解释,再分析源码时便会清楚很多: killer:杀死npc的玩家 victim:被杀死的npc fam:杀死npc的玩家的门派 fam1:被杀死的npc的门派 cla:门派临时变量 eff_dx:代表获得dh的效果 eff1:代表获得dh的临时变量 eff2:代表获得dh的临时变量 dx:杀死npc的玩家的(dh+wx)/2 reward:最终得到的dh奖励 nkgain:nk获得dh的多少 还有些临时变量不再介绍,毕竟只要大家理解了nk的过程,解释越简洁越好。 门派介绍,1的就是正派,0是中立派,-1是反派(bj站没有开放芭蕉洞、碧波潭、火云洞,没有找到龙宫的npc): mapping family=(["方寸山三星洞":1, "南海普陀山":1, "将军府":1, "五庄观":1, "阎罗地府":0, "月宫":0, "东海龙宫":0, "龙宫":0, "大雪山":-1, "翠云山芭蕉洞":-1, "陷空山无底洞":-1, "乱石山碧波潭":-1, "火云洞":-1, ]); 二、获得dh的前提 1、有些npc一出场就是不可获得dh的,即设置了no_nk_reward,代表人物是火焰山土地,乌鸡国护宫卫士,阴雾山的山妖,源码如下: if(victim->query("no_nk_reward")) return 0; 2、如果是别的玩家打晕的npc,你杀了也没有dh,npc自己晕的不算(如召唤鬼兵致晕让新人吃dh): if(victim->query_temp("last_fainted_from") && victim->query_temp("last_fainted_from")!= killer->query("id")) return 0; 3、平民百姓nk无dh,一定要拜个门派才行: if(fam && !undefinedp(family[fam])) { ...计算nk结果的程序... } return 0; 4、玩家杀同门派的npc,不能得到dh(如阎罗王是个nk的好对象,但是地府弟子杀他却是白杀): fam1=victim->query("family/family_name"); if(fam1 && fam==fam1) return 0; 5、对于设置了eff_dx的npc,其相反门派的玩家杀他没dh(如南海罗汉set("eff_dx", 720000),那么只有中立派和反派杀他有dh,正派杀他是没有dh的): if(eff_dx!=0 && cla*eff_dx>0) return 0; 6、玩家的dh+wx相对于npc不论是过高还是过低都拿不到dh,至于什么阶段可以拿到dh,具体分析往下看:) 7、经过试验得知,如果npc非正常死亡,也是没有dh的,即npc没有调用缺省的::die()函数。如宝象国的蓝袍怪,虽然设置了eff_dx和nkgain,但是在死亡时却destruct(this_object()),没有运行::die(),所以杀他是没有dh的,南海的观音菩萨也是类似的情况。 8、还有几个设置了eff_dx和nkgain的npc,但是却放在了nofight,nomagic的地方,除了wiz可以杀,玩家动不得的,就是天上的星官,这个不知道算是bug,还是wiz故意留下来馋人玩的...... 三、nk效果 xyj2000中大部分npc的nk奖励很少,但是有些npc是被鼓励nk的,即直接设置了eff_dx的,eff_dx即决定了玩家的wx+dh的上下限,nkgain即决定了玩家的reward的获得多少。 1、如果npc没有设置eff_dx,那么需要计算出该npc的eff_dx: if(!eff_dx) { //default value for eff_dx and nkgain. //the default nkgain is low. //If want to increase the value for certain NPC, //then need to set its eff_dx and nkgain. int dxn=0; eff_dx=(victim->query("daoxing")+ victim->query("combat_exp"))/2; if(eff_dx>20000) dxn=eff_dx/3; else if(eff_dx>5000) dxn=eff_dx/2; else dxn=eff_dx; //make it easier for newbie. eff_dx=dxn; } 2、如果npc没有设置nkgain,那么需要计算出该npc的nkgain: if(!nkgain) { int effdx=eff_dx; if(effdx<0) effdx=-effdx; if(effdx>667000) nkgain=600; else if(effdx>333000) nkgain=500; else if(effdx>100000) nkgain=400; else if(effdx>33000) nkgain=300; else if(effdx>17000) nkgain=200; else if(effdx>5000) nkgain=150; else if(effdx>2000) nkgain=100; else if(effdx>500) nkgain=50; else nkgain=25; nkgain=nkgain+20; } 3、如果npc初始就设置了eff_dx和nkgain的数值,那么上面两步忽略过,直接往下计算。 4、关键程序部分如下: eff1=eff_dx/8; eff2=eff_dx/4; dx=(killer->query("daoxing")+ killer->query("combat_exp"))/2; if(dx>eff_dx) reward=0; else if(dx>eff2) reward=nkgain; else if(dx>eff1) reward=10*(dx-eff1)/(eff2-eff1)*nkgain/10; else reward=0; 举例说明,如地府阴间十王之仵官王,初始设置eff_dx=600000,那么玩家的dx>600000就拿不到dh了,即需要玩家的wx+dh要小于600000*2=1.2m才可以,但是玩家的dx<600000/8也是没有dh的,即玩家的wx+dh要大于600000*2/8=150k 才行。 地府阴间十王之仵官王的初始设置nkgain=600,只有玩家的dx>=600000/4时才能全部拿到600的nk奖励,即玩家的wx+dh大于600000*2/4=300k,否则wx+dh在150k~300k间玩家拿到的nk奖励会比较少,如玩家dx=100k,那么奖励仅为 10*(100000-600000/8)/(600000/4-600000/8)*600/10 = 180 再举个例子,如小西天的小童(黄眉老佛身边的除外)是没有设置eff_dx的,那么小童的eff_dx要经过计算,在小童被kill之后小童的wx+dh大约为1800000,经过上述第一步计算,eff_dx=(1800000/2)/3=300000,经过第二步计算,nkgain=520,那么可知玩家nk小童可从wx+dh=300000/8=37.5k开始,可到wx+dh=300000*2=600k左右,nkgain最多时为520点,经过第五步的计算,得到的dh=520*2/3=346点,即86天。 5、如果玩家是中立派,或者玩家非中立派时,npc却没有门派时,得到的结果还要打个折,是reward的2/3: if(cla==0 || (cla!=0 && !fam1)) reward=reward*2/3; 6、最后得到的reward就是nk得到的dh,换算dh公式为 1天=4点,如reward=400点,那么就是400/4=100天dh。 四、附录: 本来以上内容已经完整的解释了nk的全过程,但是我相信肯定很多人未必会仔细研究,或者也懒得翻源码了,大家还是比较喜欢关注结果的,所以我把源码中带eff_dx和nkgain的npc摘录如下,谨供参考。至于没有eff_dx和nkgain的npc就太多了,自己可以找找那些wx、dh很高的npc来算一下,是否值得nk。 描述方式如下: NPC1,NPC2,... 位置, eff_dx, nkgain, 技能,门派,是否持械,备注 ============================================= 冰谷巡使 大雪山, -8000, 60, 30级, 雪山, 持刀 冰谷巡使 大雪山, -15000, 80, 40-50级, 雪山, 持刀 浣花 大雪山, -8000, 60, 30级, 雪山, 持刀 乌鸦先生 大雪山, -25000, 150, 50-80级, 雪山, 持刀 秃鹰尊者 大雪山, -120000, 300, 70-150级, 雪山, 空手 青狮老魔 方寸山, -200000, 400, 70-120级, 雪山, 持刀 白象尊者 大雪山, -200000, 400, 60-120, 雪山, 持刀 孔雀公主 大雪山, -200000, 400, 90-140, 雪山, 持剑, 会用perform chaofeng 广筠子 方寸山, 90000, 300, 70-80级, 方寸, 持棒 广羲子 方寸山, 60000, 250, 80-100级,方寸, 空手 云静 方寸山, 30000, 200, 40级, 方寸, 持棒 云清 方寸山, 30000, 200, 30-50级, 方寸, 持棒 云阳真人 方寸山, 250000, 400, 90-120, 方寸, 持棒, 会用法术 嫦娥 月宫, 200000, 350, 80级(200级dodge), 月宫, 持剑 月奴 月宫, 70000, 260, 60-80级, 月宫, 空手 痴梦仙姑 月宫, 100000, 300, 80-180级, 月宫, 持鞭 吴刚 月宫, 40000, 200, 50-100级(无特殊技能), 无门派, 持斧 惠岸行者 普陀,150000,300,100-120级,普陀,持杖,会用法术; 游方行者 普陀,40000,250,40-60级,普陀,持杖 和尚 普陀,35000,200,30-60级,普陀,空手 净瓶使者 普陀,40000,200,55-80级,无门派,空手 时值功曹 天宫,200000,300,100-110级,无门派,持枪 月值功曹 天宫,200000,340,90-115级,无门派,持剑 年值功曹 天宫,220000,350,100-120级,无门派,持棒 日值功曹 天宫,250000,350,100-120级,无门派,持棒 巨灵神 天宫,400000,400,100-170级,无门派,持斧 妖王 豹头山,-80000,100,70-130级,无门派,持铲 国王 宝象国,15000,110,50级,无门派,空手 五爪金龙 碧波潭,-500000,500,179级(无特殊技能),无门派,空手 西波儿古 碧波潭,-20000,250,40级,无门派,持叉 古波儿西 碧波潭,20000,250,40级,无门派,持叉 大肚虾婆 碧波潭,-2000,200,20级(无特殊技能),无门派,空手 万圣公主 碧波潭,-100000,400,70级(160基本轻功),无门派,空手 九头驸马 碧波潭,-500000,500,160-200级,火云洞,持杖 芦娘 碧波潭,-60000,330,80-100级,无门派,持鞭 山妖 碧波潭,-20000,200,40级,无门派,持刀 石头精 碧波潭,-100000,350,90级(无特殊技能),无门派,持石头,有办法一直杀 柳树精 碧波潭,-20000,200,40级(无特殊技能),无门派,持杖 水蛇怪 碧波潭,-5000,120,20级,无门派,空手 国王 比丘国,15000,90,100级(无特殊技能),无门派,空手 国王 车迟国,30000,180,50级,无门派,空手 上官郡主 凤仙郡,15000,90,100级(无特殊技能),无门派,持刀 铁扇公主 火焰山,80000,140,80级,芭蕉洞,持扇 杏仙 荆棘岭,-150000,400,80-100级,无门派,持杏枝 凌虚子 荆棘岭,-50000,300,75级,无门派,空手 小公主 女儿国,20000,110,75级,无门派,持剑 国王 钦法国,15000,90,100级(无特殊技能),无门派,空手 国王 天竺国,15000,90,100级(无特殊技能),无门派,空手 山妖 黑松林,-20000,200,40级,无门派,持刀 山猫怪,苍狼怪,野猪怪,棕熊怪,花虎怪,黑蟒怪,巨猿怪 黑松林,-48000~-80000,300,60-100级(无特殊攻击技能),无门派,持兵器 红孩儿 黑松林,-500000,500,150-200级,火云洞,持枪,会用法术 鹿头怪,狐头怪,马头怪,羊头怪,兔头怪 黑松林,-9000~-15000,200,42-70级,无门派,空手 国王 乌鸡国,15000,90,100级(无特殊技能),无门派,空手 妖王 阴雾山,-90000,90,110级,无门派,空手 老王爷,大王子 玉华县,10000,50,60级(无特殊技能),无门派,空手 二王子 玉华县,9000,40,50-80级(无特殊技能),无门派,空手 小王子 玉华县,8000,30,40-70级(无特殊技能),无门派,空手 国王 朱紫国,15000,90级,100级(无特殊技能),无门派,空手 百花仙子 蓬莱仙岛,200000,350,80-100(200级特殊攻击技能),月宫,空手,会用法术 雾渊道长 长安城,80000,300,80-90级,无门派,持拂尘,会用法术 法明长老 长安城,90000,300,90级,无门派,空手,会用法术 袁天罡 长安城,1000,1,50-100级,无门派,持剑,杀袁会被别人pk的,新手要注意 郭申,直健 梅山,300000,400,145级,无门派,持兵器 卞城王,仵官王, 楚江王, 都市王, 轮转王, 平等王, 秦广王, 宋帝王, 泰山王 地府,600000,600,150级,无门派,空手,会用法术 阎罗王 地府,800000,600,150级,地府,持剑,会用法术 降龙、伏虎、清静、接引、归真、金刚、精进、功德、旃檀、光明、贤善、庄严、智慧、日月、妙音、须弥、金身、广力罗汉 普陀,720000,500,150级,普陀,持杖 魔礼青 天宫,1500000,800,220级,无门派,持枪 魔礼红,魔礼海,魔礼寿 天宫,1500000,800,240级,无门派,持兵器 李靖 天宫,600000,600,170-180级,无门派,持剑,杀李也会被人pk的,新手要注意 五、以上内容分析的源码均来自于互联网,并不能保证适用于任何一个xyj站点,但是我想,对于今朝今日的文字mud来讲,公开研究的过程远比闷头练功有趣的多,期望拙文可以抛砖引玉,共同学习,更加期望能够见到xyj的后续版本。最后借用《medu的北京站练功发展之我见》的最后一句话:你有一个苹果,我也有一个苹果,互换一下,我们还是每人只有一个苹果;你有一种思想,我有一种思想,互换一下,我们每人都有了两种思想。 ※ 版权所有,转载请注明出处:西游记北京站论坛 http://xyj.china.com(mud.cww.com) ※ 此帖于 2005-09-15 11:57 被 nightdream 编辑. |
![]() |
+20 两梁山币
![]() |
![]() |
#2 |
正式会员
![]() 注册: 05年09月01日
帖子: 9
声望力: 0
声望:
10
![]() 精华:1
现金:69两梁山币
资产:69两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 【北京站】【原创】XYJ2000之NK详析篇
================================================= 以下列出一些dh,wx较高的npc及一些门派master的nk资料 普贤菩萨,文殊菩萨 wx 2m, dh 10m, eff_dx 2m, nkgain 620,150-200级,无门派,空手,会用法术 罗成 wx 1.8m, dh 0, eff_dx 300k, nkgain 420, 120-180级,将军府,持枪 秦琼 wx 1.2m, dh 0, eff_dx 200k, nkgain 420, 120-200级,将军府,持枪 西王母 wx 2m, dh 5m, eff_dx 1.17m, nkgain 620, 150-200级,月宫,空手,会用法术 大鹏明王 wx 1.8m, dh 3m, eff_dx 800k, nkgain 620, 150-180级,大雪山,持刀 地藏王菩萨 wx 2m, dh 4m, eff_dx 1m, nkgain 620, 150-200级,地府,持鞭,会用法术 镇元大仙 wx 2.8m, dh 10m, eff_dx 2.13m, nkgain 620, 160-200级,五庄观,持戒尺,会用袖里乾坤 敖广 wx 1.26m, dh 1.5m, eff_dx 460k, nkgain 520, 180-200级,东海龙宫,空手 燃灯古佛 wx 1.5m, dh 5m, eff_dx 1.08m, nkgain 620, 120级,无门派,空手,会用法术 金顶大仙 wx 1m, dh 1.5m, eff_dx 417k, nkgain 520, 120级,无门派,空手 金刚(灵山) wx 1.4m, dh 1.5m, eff_dx 483k, nkgain 520, 100级,无门派,空手,会用法术 菩萨(灵山) wx 1.6m, dh 3m, eff_dx 767k, nkgain 620, 140级,无门派,空手,会用法术 接引佛祖 wx 1.5m, dh 3m, eff_dx 750k, nkgain 620, 120级,无门派,空手,会用法术 白雄尊者 wx 1.2m, dh 2.5m, eff_dx 617k, nkgain 520, 90级,无门派,空手,会用法术 小青(齐天大圣) wx 5.1m, dh 5.1m, eff_dx 1.7m, nkgain 620, 492级有效攻击技能,无门派,持棒 魂断兰桥(平天大圣) wx 11.7m, dh 11.7m, eff_dx 3.9m, nkgain 620, 573级有效攻击技能,无门派,持剑 小道童(混天大圣) wx 10.5m, dh 10.5m, eff_dx 3.5m, nkgain 620, 573级有效攻击技能,无门派,持棒 风间准(驱神大圣) wx 5.1m, dh 5.1m, eff_dx 1.7m, nkgain 620, 356级有效攻击技能,无门派,持棒 瓜瓜(移山大圣) wx 5.8m, dh 5.8m, eff_dx 1.9m, nkgain 620, 473级有效攻击技能,无门派,持剑 雪星(覆海大圣) wx 2.8m, dh 2.8m, eff_dx 800k, nkgain 620, 383级有效攻击技能,无门派,持鞭 青青(通风大圣) wx 4.3m, dh 4.3m, eff_dx 1.4m, nkgain 620, 455级有效攻击技能,无门派,持剑 菩提祖师, 观音菩萨 不能nk 此帖于 2005-09-15 12:00 被 nightdream 编辑. |
![]() |
![]() |
![]() |
#3 |
天平座童虎
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 注册: 02年05月24日
来自: 莲花宝座
帖子: 5,966
声望力: 99
声望:
1639
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 积分:18
精华:29
现金:4213197两梁山币
资产:4223197两梁山币
致谢数: 2
获感谢文章数:10
获会员感谢数:10 |
回复: 【北京站】【原创】XYJ2000之NK详析篇
加精了。 解释得很详细,还有友情提示。不错不错! |
![]()
|
|
![]() ![]() |
![]() |
![]() |
#4 |
正式会员
![]() 注册: 05年09月01日
帖子: 9
声望力: 0
声望:
10
![]() 精华:1
现金:69两梁山币
资产:69两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 【北京站】【原创】XYJ2000之NK详析篇
更新文中举例的数值错误,在npc没有设置nkgain时,经计算的nkgain里最后要加上20,原文忘加了 ps. 总站真是好冷清呀...... ![]() |
![]() |
![]() |
![]() |
#5 |
天平座童虎
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 注册: 02年05月24日
来自: 莲花宝座
帖子: 5,966
声望力: 99
声望:
1639
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 积分:18
精华:29
现金:4213197两梁山币
资产:4223197两梁山币
致谢数: 2
获感谢文章数:10
获会员感谢数:10 |
回复: 【北京站】【原创】XYJ2000之NK详析篇
你是说论坛哪?还是mud啊?
|
![]() ![]() |
![]() |
![]() |
#6 |
正式会员
![]() 注册: 05年09月01日
帖子: 9
声望力: 0
声望:
10
![]() 精华:1
现金:69两梁山币
资产:69两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 【北京站】【原创】XYJ2000之NK详析篇
自然是论坛,总站mud也进去过,人不少,只是我这里连接总站太慢,只好上bj站,现在发现bj站的新鲜血液很多,热闹的很 ![]() |
![]() |
![]() |
![]() |
#7 |
初级会员
![]() ![]() ![]() ![]() ![]() ![]() 注册: 05年07月21日
帖子: 39
声望力: 0
声望:
16
![]() 现金:13两梁山币
资产:13两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 【北京站】【原创】XYJ2000之NK详析篇
小青(齐天大圣) wx 5.1m, dh 5.1m, eff_dx 1.7m, nkgain 620, 492级有效攻击技能,无门派,持棒 魂断兰桥(平天大圣) wx 11.7m, dh 11.7m, eff_dx 3.9m, nkgain 620, 573级有效攻击技能,无门派,持剑 小道童(混天大圣) wx 10.5m, dh 10.5m, eff_dx 3.5m, nkgain 620, 573级有效攻击技能,无门派,持棒 风间准(驱神大圣) wx 5.1m, dh 5.1m, eff_dx 1.7m, nkgain 620, 356级有效攻击技能,无门派,持棒 瓜瓜(移山大圣) wx 5.8m, dh 5.8m, eff_dx 1.9m, nkgain 620, 473级有效攻击技能,无门派,持剑 雪星(覆海大圣) wx 2.8m, dh 2.8m, eff_dx 800k, nkgain 620, 383级有效攻击技能,无门派,持鞭 青青(通风大圣) wx 4.3m, dh 4.3m, eff_dx 1.4m, nkgain 620, 455级有效攻击技能,无门派,持剑 这几个就有点...... |
![]() |
![]() |
![]() |
#8 |
正式会员
![]() 注册: 05年09月01日
帖子: 9
声望力: 0
声望:
10
![]() 精华:1
现金:69两梁山币
资产:69两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 【北京站】【原创】XYJ2000之NK详析篇
楼上有什么问题请讲? 是不是总站的npc数据有变化? |
![]() |
![]() |
![]() |
#9 |
天平座童虎
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 注册: 02年05月24日
来自: 莲花宝座
帖子: 5,966
声望力: 99
声望:
1639
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 积分:18
精华:29
现金:4213197两梁山币
资产:4223197两梁山币
致谢数: 2
获感谢文章数:10
获会员感谢数:10 |
回复: 【北京站】【原创】XYJ2000之NK详析篇
他估计被你资料的详细程度给吓着了。 rofl |
![]() ![]() |
![]() |
![]() |
#10 |
中级会员
![]() ![]() 注册: 05年09月30日
帖子: 50
声望力: 20
声望:
10
![]() 现金:0两梁山币
资产:100两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 【北京站】【原创】XYJ2000之NK详析篇
@帖很好,很有用里........ ^_^
|
![]() |
![]() |
![]() ![]() |
添加到书签 |
|
|
![]() |
||||
主题 | 主题作者 | 论坛 | 回复 | 最后发表 |
天衣 (原创) | zfor | 『 泥巴原创 』 | 22 | 2009-09-27 20:43 |
【总站】【原创】 | 1080tianliang | 『 机器人制作及下载 』 | 2 | 2009-02-12 02:01 |
【水泊梁山】 【总站】【原创】 | zxxzh | 『 帮派传说 』 | 3 | 2005-08-24 10:43 |
【北京站】【原创】 | things | 『 西游记2000 - 北京站 』 | 3 | 2005-02-26 16:10 |
【马帮】 【原创】 | caoer | 『 帮派传说 』 | 10 | 2004-09-14 00:38 |