【科研】关于RP私服阵营修改的初步研究
血精灵吧
全部回复
仅看楼主
level 10
永恒的太阳指引着我们!
2014年02月16日 03点02分 1
level 10
官方服务器中,即使玩家声嘶力竭表明了自己是久经考验的王子臣属,忠心未泯,然而一旦对上晨锋部队,火翼部队和日怒部队,或者面对伊利达雷议会,进了风暴要塞。对面的同胞一眼看过来,依然会头顶红字,两眼一抹黑:杀!!!在RP私服中,所有这些问题都将有解决之法。
服务器后台数据库中,涉及到NPC阵营部分的内容主要集中在1个MySQL数据表和2个DBC数据库中,分别是MySQL中的world目录下的creature_template表,dbc目录下的Faction.dbc和FactionTemplate.dbc两个文件。下面对上述3个部分的内容进行逐一说明。
2014年02月16日 03点02分 2
level 10
creature_template表中涵盖了所有生物(野外及副本)和NPC的基础信息,信息量极其巨大。然而就阵营修改部分而言,只需要注意其中的两项数据:faction_A和faction_H。
A代表联盟,Alliance;H代表部落,Horde。两个参数分别说明了该生物或NPC在联盟及部落眼中所属的阵营,而阵营的归属直接决定了玩家面对他们时的敌我状态及友好程度。实际上,这两个数值几乎是相同的。问题来了,举个例子,对银月城守卫而言,看见一个BE玩家和看见一个HUM玩家时的态度显然是不同的,那么数值为什么会相同呢?其结论就是,这两项中的阵营ID划分并没有定义该阵营对各个种族玩家的基本声望。该生物或NPC所属的阵营ID一旦确定,其对各个种族玩家的声望也就随之确定了。显然,这部分内容已经超越了creature_template的范畴。
当然,对creature_template的修改是最为直接有效的,找到银月城势力的ID,再把日怒旗下的血卫士,魔导师,星术师,奥术师等等对应条目中的faction值改为银月城的势力ID,保证所有部队立刻改旗易帜,变节而去。特别说明:这里所说阵营ID不等于声望势力ID,后面还会进行详细说明。
2014年02月16日 03点02分 3
level 10
FactionTemplate.dbc
这里就涵盖了所有阵营的基本信息,对应creature_template中的faction数值。值得注意的是,该表中的多列参数对应着Faction.dbc中的ID。该表可以视为是Faction.dbc的细化和游戏性的产生者。例如:各类野兽在Faction.dbc中的ID是7,在FactionTemplate.dbc可能会再对不同类别的野兽,如:蝙蝠,猫头鹰,科多兽等等进一步划分阵营。
阵营的划分直接决定了其游戏性行为,例如是否互相帮忙等等。举例说明,你在野外打一只公熊,旁边的母熊可能会立刻加入战斗。如果你攻击的是一个邪兽人,旁边的地狱野猪可能只是看看,绝不出手帮助,虽然,对玩家而言,他们都是红名的目标。
综上所述,RP私服建立以后,较为可行的修改方案为:找出所有的王子臣属NPC,将其faction两项数值改入一个合适的阵营ID内即可。添加新声望阵营或启用新阵营可能会牵涉到客户端文件的修改,实现的难度较高。
实际操作层面上,简单而言,只需要将相关血精灵NPC纳入一个部落方非声望阵营即可。局限性就是,所有部落玩家均无法对其进行攻击。推荐阵营ID:1495(辛特兰部落村庄守卫,独立于任何可见声望阵营,对部落友善,对联盟保持敌对。)
2014年02月16日 03点02分 5
level 13
。。。好厉害
2014年02月16日 03点02分 6
level 12
已经看晕了…刚刚研究明白怎么弄单机[狂汗][狂汗][狂汗]
2014年02月16日 05点02分 7
level 12
[滑稽]话说可不可以用费伍德熊怪声望…冷淡的,貌似也可以打【巨魔找猥琐的坏笑ing[滑稽][滑稽]
2014年02月16日 05点02分 8
你在费伍德刷着木喉熊声望,回头一看,BE部队都对你崇拜了。。。肯定不能和现有的声望挂上钩。会乱套的。。。
2014年02月16日 05点02分
回复 若梦影风痕 :[喷][喷][喷][喷]也是,想想都觉得喜感…
2014年02月16日 05点02分
level 13
creature_template我是试着改过的,除非改成友善=14,否则,我把faction那两个dbc里的925逐日者阵营行除了名字和第一列ID之外都完全复制的血帆海盗数值,把生物都都改成925逐日者阵营也是无济于事,还是攻击。
不过Faction.dbc内容你搞清楚了的话。。。我再试试~
谢谢教授!
2014年02月16日 09点02分 9
原本的逐日者阵营是没有启用的,在游戏中实际也并不存在,引用925肯定会无功而返。游戏中出现的阵营都有中文名称和减少,而dbc中都只有英文。问题来了,这些信息势必涉及到了客户端文件。所以说启用新阵营难度很高,简单的方法就是让依附于一个部落方非声望阵营。
2014年02月16日 10点02分
目前的话,所能了解的只有这么多了。教授不敢当,只是个天性好奇的普雷尔而已。
2014年02月16日 10点02分
回复 若梦影风痕 :普雷尔亮了
2014年02月17日 00点02分
回复 若梦影风痕 :话说今天研究的时候发现物品代码里有限制种族使用的选择,不知道阵营里有没有…
2014年02月24日 14点02分
level 15
代码废看了上面这些基本上就是圈圈眼了……
不过风痕的意思大致上是知道了,就是希望见到那些同胞们别是红名。这个情况以前游戏里发生过,记得有人说过秘蓝岛和秘红岛上的血精灵原来对部落都是绿名的,只是因为有些玩家借此在那儿藏起来杀小号,到最后才给修改成了可攻击目标。从这个事例上来看这些数据应该是可以修改的,不过如果要让他们只对血精灵角色是绿名的话,那或许还会有些难度……总之不懂这个,以前也去过秘红岛旅游过,看到那里的红名同胞确实也有些心里不好受。
2014年02月23日 05点02分 10
level 12
[惊哭][惊哭]经过几天的研究…我居然有点看明白了
2014年02月24日 13点02分 11
level 8

    ——我一定会用生存猎打入魔兽世界竞技场天梯榜!(^_-)-☆(≥^ω^≤)
2014年02月26日 04点02分 12
level 12
崇拜啊,代码后台废默默路过……说真的有了点高山仰止的感觉
2014年02月26日 15点02分 13
1