您当前的位置:首页 > 魔兽技术

建立魔兽世界单机版或私服的办法

本文出处:网游动力作者:本站发布时间:2008-08-14阅读次数:

建立魔兽世界单机版或私服的办法
首先得有个客户端,有了客户端问题就解决一半了(魔兽世界官方网站上有,但是就是没种子没人,谁发一个
大家分享下哈)

这是个1.43的服务器端,安装.........一路下一步.......注意硬盘空间不要小于3.5G
装完以后他会提醒你选择wow目录,选择你安装的客户端目录即可。或者运行mapsBatCreator.exe也可以.
然后运行,开始解压地图,注意第一个选择Y,第二个选择N
在安装服务器端的目录下建立accounts目录,运行Account Creator.exe建立帐号.
运行IP-Configuration.exe定义自己的ip和一些服务器属性,包括回血,回魔速度,服务器类型,自动保存等.
最后运行服务器即可。 
 
服务器常用设置
1.经验值获得倍率修改
修改文件:scriptsemu.conf, scriptsstartup.tcl
修改步骤:
(1) emu.conf中修改save_text_ppoints=yes
(2) startup.tcl中set xp [expr { 20+((($victim_level/4)+5)*$victim_level)*倍率 }],倍率是一个你想获得经验值得倍率,应该是数字
2.怪物掉宝率修改
修改文件:scriptscreatures.scp
(1) creatures.scp 文件里的loot=xxx xxx 
前面一个数是物品代码,后面一个就是爆率
比如loot=3300 22.620001 就是代码为3300的物品 爆率是22.620001
其中3300是代表scriptsitems.scp中的物品代码
3.地图上增加新NPC的方法
(1) 需要用GM帐号进入游戏到需要增加新NPC的地点
(2) addspawn 99999 在GM站立的地方安放一个NPC的刷新点。
(3) .setspawndist 2 4 该刷新点刷新的怪物自主移动范围为2-4 yards
(4) .setspawntime 60 300 该刷新点刷新怪物的时间间隔为 60-300秒。
(5) 出现小人(既刷新点).等几秒钟 出现新NPC
(6) 清除刷新点,游戏里选定你要删除的小人,输入.del即可
4.如何备份帐号信息
(1) 备份accounts文件夹下的所有帐户文件
(2) 备份saves文件夹下的players.save
5.骑乘指南
(1) 用GM帐号进入游戏
(2) .add xxx 其中xxx为坐骑代码(附C)
(3) .learn xxx 其中xxx为技能代码(附C)
6.如何学习穿皮甲,链甲,板甲
(1) 用GM帐号进入游戏
(2) 选中需要学习穿装技能的人物
(3) 然后输入 .learnsk xxx 其中xxx代表需要学习的技能代码
也可以修改用户的存档.这个在下面的文件分析中会提到的.
(4) 布甲技能代码 415 皮甲技能代码 414 链甲技能代码 413 板甲技能代码 293
7.如何瞬移去指定地点
(1) 用GM帐号进入游戏
(2) .gotrigger XXX 这里XXX是个数字,代表地区代码(附D)
8.如何增加各种物品到背包中
(1) 用GM帐号进入游戏
(2) .add xxx 这里xxx是一些数字, 代表各种物品代码(附B)
7.如何迅速升级
(1) 用GM帐号进入游戏
(2) 要先点选需要升级的人物
(3) .setxp xxx 这里xxx是一些数字, 代表需要增加的经验值
(4) 或者 .setlevel xx 这里xxx是一些数字, 代表你想要的级数
8.如何刷钱
(1) 用GM帐号进入游戏
(2) .add 944 1000 是N个杖~卖到商店2000+金
9.如何修改各物品价格
修改文件:scriptsitems.scp
(1) 在items.scp文件中修改物品的sellprice=即可
提示:你可以用UltraEdit软件打开,因为可以用正则表达式进行查找
10.如何修改个技能学习的价格
修改文件:scriptsspellcost.scp
(1)在spellcost.scp文件中修改price即可
提示:你可以用UltraEdit软件打开,因为可以用正则表达式进行替换
11.如何修改人物的属性
修改文件:savesplayers.save
(1) 查找需要修改的人物名称 NAME=人物名称
(2) 修改你需要修改的数据即可(那些英文很简单的)
注意: 修改时需要先关闭服务器端,修改好以后再启动服务器即可
三.服务器端文件分析
accounts 放置所有帐号
logs 放置服务器的运行记录
saves 放置服务器端的人物保存,地图保存等记录
scripts 放置一些服务器的脚本文件
maps 放置了服务器端的地图
savesplayers.save 这个文件中主要是保存游戏中各个人物的信息
文件中的部分内容解释
[OBJECT]
GUID=0720C89
LEVEL=42 //人物等级
XYZ=-3623.293701 -2347.990967 91.682785 4.186294 //人物所在的地图坐标
MAXHEALTH=1494 //生命值
MAXPOWERS=2212 1000 0 500 0 //最大能量
SIZE=1.300000 //人物形状大小
XP=28238 //经验值多少
MONEY=7087 //所拥有的钱多少,以铜币为单位
NAME=Bloodtears //人物名称,这个可以作为修改指定人物的索引
RACE=6 //在scriptsdefines.scp文件中对种族的宏定义,这里的6表示种族牛头人(tauren) 
CLASS=11 //在scriptsdefines.scp文件中对职业的宏定义,这里的11表示职业德鲁伊(druid)
BINDPOINT=1 215 -2917.580078 -257.980011 52.996799 //游戏中你绑定的地点,也就是你死后灵魂出现的地点
SPELL=6478 0 //你掌握的魔法
...
SKILL=415 1 1 //你掌握的技能,包括能够穿装备的技能! 这里的415代表能够穿布甲.
//你可以添加SKILL=413 1 1使该人物能够穿链甲,而414(布甲),293(板甲),412(盾牌). 其他类推即可.
...
QUEST=5723 0 0 0 0 0 //你的任务代码
scriptsareatriggers.scp 这个文件中主要是地区的代码
文件中的内容典型的为:
[areatrigger 1740] //地区代码为1740
pos=1 -7874.180176 -1806.300049 -271.459015 //地图中的坐标
name=The Marshlands - Un’goro Crater //地区名称
scriptsclasses.scp 这个文件中主要是定义各个种族和职业的原始属性
如果你要修改一个种族或一个职业的初始属性,以及人物出生时携带者的物品,你可以修改这个文件即可.
本文件中都有详细的英文注释,只要懂英语的应该可以看懂的,我在这里不再罗嗦了.
这里只举两个简单的例子,抛砖引玉...
目标1:使战士出生时就可以穿板甲
步骤:
(1) 找到[class #CLASS_WARRIOR]条目,该条目下面的数据代表战士出生时的初始属性
(2) 找到//Armor Proficiencies条目,该条目下面的数据代表战士出生时掌握的装备技能.
(3) 你可以找到skill=415 1 1 // Cloth
skill=414 1 1 // Leather 代表战士出生时就可以穿布甲和皮甲
(4) 添加 skill=413 1 1 //链甲 
skill=293 1 1 //板甲
skill=412 1 1 //盾牌 来使战士出生时就可以使用链甲,板甲,盾牌
目标2:使人族的战士出生时携带一匹马
步骤:
(1) 找到[startitems #RACE_HUMAN #CLASS_WARRIOR]条目,该条目下的数据代表人族战士出生时携带的物品,初始魔法和技能
(2) 其中item=26 25 代表在人物的第26个位置放置代码为25的物品,代码为25的物品你可以在items.scp中查到
(3) 添加item=28 13334 //代码13334代表Green Skeletal Warhorse
scriptscreatures.scp 这个文件中定义地图上所有NPC的属性
如果你要添加修改NPC,你可以修改这个文件即可.包括你可以添加一个卖蓝色装备的NPC,也可以修改某NPC的装备爆率以及伤害值等一系列属性.
文件中的典型内容为:
[creature 6] //NPC的代码,如你可以在.addspawn 6 来添加该NPC到指定地点
name=Kobold Vermin //NPC的名字
attack=1986 2185 //NPC的攻击伤害值
bounding_radius=0.561000 //绑定范围,也就是说该NPC在0.561yards范围内将攻击玩家
combat_reach=7.56 //战斗范围,也就是在该NPC攻击玩家的时候,只有当玩家逃出7.56yards范围外才会停止攻击
maxhealth=57 //血多少
maxmana=45 //魔法值多少
speed=0.93 //速度
loot=2770 0.01 //对代码为2770的物品爆率为0.01(1%)
举例
目标1:使上面的NPC能够爆Elemental Mage Staff(元素之杖,法师的极品杖),爆率为0.05(5%)
步骤:
(1) 找到[creature 6]条目
(2) 添加loot=944 0.05 即可 //代码944代表items.scp文件中的定义的元素之杖
目标2:在游戏地图上添加卖灵魂之石的NPC
步骤:
(1) 在该文件的最后添加以下代码:
[creature 3456789] 
name=Soul Shard Seller
attack=1613 1774
bounding_radius=1.000000
combat_reach=8.00
damage=32 42
flags1=08400046
guild=Soul Shard Seller
level=30 30
maxhealth=757
maxmana=605
model=9261
speed=1.35
type=7
npcflags=4
faction=35
family=7 //以上是对该NPC的一般属性的定义
sell=6265 //这个是主要的,代码6265代表灵魂之石,在items.scp中定义
(2) 用GM帐号进入游戏,到达需要添加NPC的地点
(3) 输入 .addspawn 3456789 即可
scriptsdefines.scp 这个文件中主要是一些宏定义,只要在需要的时候去查就可以了.
举例:
(1) 在saveplayers.save文件中有race=4的条目
(2) 在scriptsdefines.scp文件中找到// races ---------条目
(3) #define RACE_NIGHT_ELF 4 就是说race=4 是夜精灵族
scriptsemu.conf 这个文件主要是服务器的一些基本配置,包括回血,回魔速度,自动保存时间设置.
你可以直接修改这个文件修改服务器的一些基本配置,也可以用wowWDDG_Identity自带的的IP-Configuration.exe来修改服务器的基本配置.
举例:
目标:修改服务器的可以支持1000同时在线
步骤:
(1) 找到max_players=xxx条目
(2) 修改max_players=1000即可
scriptsitems.scp 这个文件主要是对服务器物品的定义
文件中的典型内容(部分):
[item 25] //物品的代码
buyprice=35 //从NPC中购买的价格
class=2 // 头饰, 这个可以中defines.scp文件中的//itemtypes---条目下查到
durability=20 //耐久度
inventorytype=21 //存货量
level=2 //等级
name=Worn Shortsword //物品名称
sellprice=7 //物品价格
subclass=7 // 这个可以在defines.scp文件中的//subclasses---条目下查到
scriptsquests.scp 这个文件主要是对各个任务的描述,回报
如果你想汉化游戏中的人物的话,你可以翻译这个文件即可.
scriptsspellcost.scp 这个文件是对每一个技能学习的价格定义
文件中的典型内容:
[spell 8402] //技能代码
name=Fireball Rank 7 //魔法名称为Fireball,7级
reqspell=8401 //需要的技能点8401
price=100 //学习该技能的价格为100铜币  

使用 IP-Configuration.exe 配置IP,单机不需要修改!
默认IP:127.0.0.1
默认GM:admin admin 请务必删除这个角色
服务器名字请不要使用中文!!
运行Belief 1.43V1.2.exe就可以使用1.43的客户端进入游戏!
登陆器也可以用本站提供的魔兽通用版登陆器,带中文WDB文件!

架设1.43WOW,完整说明,请参看说明后在下载服务器端,不然安装容易出错!!
以前的是免KEY的,现在需要KEY,如果你要架设外网,和修改自己的服务器名称
除了更改配置文件以外,还需要重新生成自己的KEY~~
打开example.txt 文件,内容如下:
[host]
keyver=1
user=Belief
copyright=
counter=
server_name=Localhost 
---名字不要用中文
ws_host=127.0.0.1/255.255.255.255 
--- 替换你的IP,如果你是动态域名可输入 www.xxx.com/255.255.255.255
ws_port=8085
然后保存
双击 keymaker.exe 运行会弹出一个
Enter input file:
输入 example.txt 回车
就生成了一个属于自己的KEY
2、关于刷怪.部分NPC定义在export文件夹内,当NPC全部刷出后World.save文件高达500M.那是因为数据使用新的技术,新的地方玩家
要有走过才会有npc出现(大概10分钟才刷出来),也就是说没有玩家走过的地方是没有npc的,第一次经过要等10分钟才有npc
修改经验倍数,startup.tlc
if {$killer_level >= 60} { return 0 } //设置玩家最高等级,高与此(60)等级打怪没经验.
set lvldiff [expr {$victim_level-$killer_level}] 
if {$lvldiff <= -5} { return 0 } //玩家与怪的等级差.(-5代表怪与玩家的等级差为5级)如果不想打低级怪没经验.这里最好设
高点.
set xp [expr {5*$victim_level+5}] //这里前面一个五代表打怪经验倍数.
if {$lvldiff < 0} { set xp [expr {$xp-($xp/10*(-$lvldiff))}] } //这里最要命,我改300倍数经验的时候.按照这样设的话.打
低级的怪经验会变负.如果你不想这样.那么你就把expr {$xp-($xp 中间哪个负号改成+号.就ok了.
if {$lvldiff > 0} { set xp [expr {$xp+($xp/10*$lvldiff)}] } //这里是打高等级怪所获得经验的表达式
return $xp
其中用到参数:
killer_level -----玩家等级
victim_creature_type ------怪物类型 对应Defines.scp中定义
victim_level ------------怪物等级

4、关于修改暴率?在creatures内有这样一个参数loottemplate=3 100.0是100%读取loottemplate里的[loottemplate 3]
loot=1129 18.22
loot=884 9.91
loot=929 1.29
loot=2589 4.54这些是具体的暴出物品..前面一个是物品编号,后面一个是百分比,越高暴率越高.
5、关于死亡怪物获得的金钱? 在creatures内有money=xxxx的参数,如果没有,自行加上.money=100 这个就是怪物死亡获得1银币
6、关于升级模拟器时如何保留人物数据? 复制player.save guilds.save 到save文件夹内.如果启动的时候出现删除人物现象,把
world.save也一起复制.