奇迹MU服务端IGC架设流程
大家好我是艾西,今天跟大家简单聊下奇迹IGC服务端。IGC端是国外的东西全英文大家感兴趣的话也可以自己研究研究,整体的东西还是非常完整。扩展以及端的稳定性还是非常不错的就是有点费脑子........(此教程为个人娱乐搭建测试)
对于很多奇迹老玩家来说,从开始玩奇迹到现在应该都有十年以上,十年,太多的人、太多的事变化了,快到找不到影子,但值得庆幸的是,依然有那么一些人和事,留在我们心中不变,奇迹就是这其中一个。今天各种游戏纷至沓来、各种抢眼,但奇迹依然是我们最爱的网络游戏之一,再过10年是否还有它一席之地,没有人知道,但此刻,你和我心意相通!愿每一个奇迹爱好者明天更好、万事胜意!
准备:服务端、服务器、一台有网的电脑
以s12为例子,奇迹端对外开放的对服务器还是有一定的要求。游戏类的追求稳定以及安全,所有的程序以及软件都是搭建在服务器里的,服务器配置够性能强防护高才能给玩家带来更好的体验!
服务器操作系统要求:win 2008 64位系统
在搭建奇迹的服务端时,经常有朋友遇到数据库不会还原的问题,今天有时间就分享一下还原数据库的具体操作方法。
本教程使用绿色版sql2008自带的还原工具,其他的数据库管理工具的还原方法基本上是大同小异。大家实际操作完之后自己也可以多试试
数据库的还原方式:
第一种:备份文件是.bak时的还原方法,这种备份文件的得来,是采用了一般的备份方式得来的如:MuOnline这个数据库的bak备份文件,一般叫MuOnline.bak
具体还原步骤:
1、建立一个数据库,记下这个数据库储存的路径:D:\Tools\GSQL2008R2\userdata\MuOnline.mdf
这个工具要记,其他的工具可能不需要记
2、导入备份文件进行数据库还原:
碰到导入不进来的情况,提示“无法处理的介质”之类的,是因为这个备份文件,原来使用的数据库版本较高,比我们现在使用的sql2008版本要高,所以无法导入进来,这种情况是没办法处理的,要不就换备份文件,要不就是装高版本的数据库.
我们采用换备份文件的方法创建一个新路径,与我们建数据库时的路径不一样再次导入试试
第二种:备份文件是.sql时的还原方法,这种备份文件得是备份时采用了导出sql数据方式备份的
如:MuOnline这个数据库的sql备份文件,一般叫MuOnline.sql
我们先把这个数据库删了,使用sql方式,还原一次
还原的步骤也是:
1、建立数据库
2、导入sql文件
导入sql备份文件,要用到sql查询工具,sql查询里选择我们刚才建的数据库MuOnline
打开sql文件,执行sql语句,数据比较多,执行会有点久
执行完了那么就OK了
第三种:备份文件是.mdf,一般还会同时带对应的log文件,log文件是同名但以_log.ldf为结尾,这种备份文件的得是直接复制数据库的数据文件得来的
(注:log文件,是数据库的日志,还原时可以不用log文件的,不用的话系统会自动生成一个新的log文件)
如:MuOnline这个数据库,对应的备份文件是MuOnline.mdf和MuOnline_log.ldf
先把原来的删掉还原步骤:把数据库备份文件,复制到你的数据库放数据文件的目录下,sql2008他是把数据文件放在 D:\Tools\GSQL2008R2\userdata\ 这个目录下的。附加数据库,到上面那个目录选择备份文件,填写数据库名,可以按默认的名字
这样就又还原成功了
(这个是题外话,下面正式进入我们今天的主题)
开始架设:
服务器win 2008系统
数据库MySql server 2008
这个端要恢复的数据库有四个,分别如下:
MuOnline
Ranking
BattleCore
Events
请对应备份文件一一进行恢复。
2. 修改几个文件,主要是设置对应的IP和数据库方面的,最终打通服务端和客户端的联系
2.1 服务端要修改的文件
(1) 修改文件: 1._DataServer\DataServer.ini
下面是这个文件要修改的地方,对应注释修改,没列出的选项请保持默认
//你的服务器IP,本次搭建用的103.219.xxx.xxx
WanIP = 103.219.xxx.xxx
// -------------------------------------------
// -- DATABASE & Access SETUP
//数据库设置
// -------------------------------------------
MuOnlineDB= MuOnline
MeMuOnlineDB= MuOnline
EventDB= Events
RankingDB= Ranking
//记得修改这两项,数据库用户名和密码
User= sa
Pass= 123456 (可按自己喜欢的设置)
// --------------------------------------------------------------------------
// --数据库服务器IP或者名字或计算机名
// --默认实例用(local),不行换127.0.0.1 试试
// --------------------------------------------------------------------------
SQLServerName= (local)
(2) 修改文件: 2._DataServer_BattleCore\DataServer.ini
下面是这个文件要修改的地方,对应注释修改,没列出的选项请保持默认
//你的服务器IP,本次搭建用的103.219.xxx.xxx
WanIP = 103.219.xxx.xxx
// -------------------------------------------
// -- DATABASE & Access SETUP
//数据库设置
// -------------------------------------------
MuOnlineDB= BattleCore
MeMuOnlineDB= MuOnline
EventDB= BattleCore
RankingDB= BattleCore
//记得修改这两项,数据库用户名和密码
User= sa
Pass= 123456
// --------------------------------------------------------------------------
// --数据库服务器的ip或者名字或计算机名
// --默认实例用(local),不行换127.0.0.1 试试
// --------------------------------------------------------------------------
SQLServerName= (local)
(3) 修改文件: 3._ConnectServer\IGC_ServerList.xml
下面是这个文件要修改的地方,对应注释修改,没列出的选项请保持默认
<!-- IP换成你的对外IP,我们用的是103.219.xxx.xxx
-->
<ServerList>
<Server Code="0" IP="103.219.xxx.xxx
" Port="56900" Visible="1" Name="Regular" />
<Server Code="13" IP="103.219.xxx.xxx" Port="56913" Visible="0" Name="Arca" />
<Server Code="14" IP="103.219.xxx.xxx" Port="56914" Visible="0" Name="Siege" />
<Server Code="480" IP="103.219.xxx.xxx" Port="56120" Visible="1" Name="BattleCore" />
</ServerList>
(4) 修改文件: IGCData\IGC_MapServerInfo.xml
下面是这个文件要修改的地方,对应注释修改,没列出的选项请保持默认
<MapServer>
<ServerInfo Version="1.18.26" Serial="PoweredByDvTrong" /> <!-- Version是版本号, Serial: 是一个字符密码,这两项要跟客户端的设置对应 要不然会连接不上,请参看后面客户端文件的修改-->
<ServerList>
<!--下面的IP是外网的,直接填入你的服务器IP即可-->
<Server Code="0" Group="1" Initiation="1" IP="103.219.xxx.xxx" Port="56900" Name="Regular" />
<Server Code="13" Group="1" Initiation="0" IP="103.219.xxx.xxx" Port="56913" Name="Arca" />
<Server Code="14" Group="1" Initiation="0" IP="103.219.xxx.xxx" Port="56914" Name="Siege" />
<Server Code="480" Group="6" Initiation="1" IP="103.219.xxx.xxx" Port="56120" Name="BattleCore" />
</ServerList>
2.2 修改客户端
提供了生成ServerInfo.bmd的工具,按下面操作就行了
(1)编辑文件:zTools\Client.Editor\ServerInfo.xml
按下面注释编辑这个文件,没列出的选项请保持默认
<!--
1. 这个文件主要修改IP, Version和Serial,这三项要跟上面的IGCData\IGC_MapServerInfo.xml 中的值一一对应
2. 还有CodePage这个选项,如果你的客户端是中文的就用936,是英文的就保持原来的值,中文端不用936会乱码
-->
<ServerInfo Password="WErt$4t3">
<Connection IP="103.219.xxx.xxx" Port="44405" Version="1.18.26" Serial="PoweredByDvTrong" />
<Main GameWindowName="多多奇迹" BlockVirtualMachine="0" ExitWindowEnable="0" PerformanceMode="1" CodePage="936" />
<ScreenShot Path="ScreensShots" />
<Launcher Enabled="0" ExeName="Launcher.exe" />
<Patcher Enabled="0" ExeName="Patcher.exe" />
<BattleCore LauncherExeName="Main.exe" />
<Reconnect MaxTime="120" /> <!-- 最大等待时间(秒) -->
</ServerInfo>
(2)打开:zTools\Client.Editor\ServerInfo.exe
点击:Encode
(3)把生成的文件:zTools\Client.Editor\ServerInfo.bmd
复制到你的客户端:Data\Local\ 目录下覆盖原来的
3. 启动服务端
做好上面的修改,就可以启动服务端了。
第一次启动,最好一个个手动启动,这样如果有错误可以方便察看提示信息。
里面带有一个一键启动工具:_ServerStartUp.exe,以后可以使用它一键启动,编辑:ServerStartUp\ServerStartUp.xml,就可以定义启动的项目
4. 客户端登陆
这个端有内置的账号:admin 密码:admin
可以用来测试登陆
5. GM工具
提供了一个英文的GM工具:IGC.EssentialTool,可以用来建立账号、封号、发装备等
开始使用前要设置一下GM工具的数据库连接配置,编辑:zTools\IGC.EssentialTool\config.ini,主要是下面几项要修改
Username = sa; 数据库用户名
Password = 123456; 数据库密码
Address = 127.0.0.1; 数据库服务器地址
Port =1433; 数据库端口
搭建游戏后的修改以及设置(大家这里参考下即可更多的详情大家自己研究研究)
IGCData下所有配置文件功能说明
[D]Bots_机器人
[D]CashShop_X商店
[D]ChaosCards_宝箱配置
[D]Custom_自定义配置
[D]Events_事件控制
[D]ItemBags_掉落设置(事件、boss等)
[D]Items_物品装备
[D]Langs_语言讯息
[D]MapTerrains_地图地形
[D]Monsters_怪物属性刷新
[D]MuunSystem_宠物系统
[D]PentagramSystem_元素卷轴系统
[D]Plugins_插件
[D]Scripts_脚本
[D]Shops_NPC商店
[D]Skills_技能
[D]SocketSystem_镶嵌系统
[D]Warps_移动
CheckSum.dat
IGC_AddMonsterStats_新增怪物属性.xml
IGC_AntiHack_反黑客系统.ini
IGC_AntiHack_VIEJO_旧版反黑客系统.ini
IGC_AppointItemDrop_指定物品爆率.xml
IGC_BattleCore_强者之战配置.ini
IGC_BonusMapData_扩展地图配置.ini
IGC_BotList_假人BUFF系统.xml
IGC_BuffEffectManager_BUFF特效设置.xml
IGC_CalcCharacter_角色数据配置.ini
IGC_CashShop_X商店.ini
IGC_ChaosBox_玛雅合成.ini
IGC_ClassQuest_转职任务所需物品.xml
IGC_Common_服务器配置.ini
IGC_CommonServer.cfg
IGC_Commands_游戏命令设置.ini
IGC_DropManager_自定义物品掉落设置.xml
IGC_EvolutionMonster.xml
IGC_ExpSystem_经验系统配置.xml
IGC_FormulaData.xml
GC_GeneralDrop_一般物品掉落.xml
IGC_GensSystem_家族系统.xml
IGC_HarmonySystem_提炼系统.ini
IGC_ItemOptionRate.txt
IGC_ItemUpgradeJewel_物品升级宝石设置.xml
IGC_ItemValue_物品价格.ini
IGC_LangBase_基本语言信息.xml
IGC_MapAttribute_地图属性.xml
IGC_MapList_地图列表.xml
IGC_MapNonPK_不能PK的地图.xml
IGC_MapServerInfo_服务器线路对应地图设置.xml
IGC_MarriageSystem_结婚系统.xml
IGC_MasterSkillTree_大师技能树.xml
IGC_MiniMap_Tab小地图.xml
IGC_MiningSystem_潘多拉挖矿系统.xml
IGC_MonsterGroupRegen_美社莎怪物刷新.xml
IGC_MonsterItemDropRate_怪物掉落设置.xml
IGC_MonsterKillCount_怪物击杀配置.xml
IGC_MuHelper_内置助手设置.ini
IGC_MuRummy_卡牌游戏活动.ini
IGC_NewsSystem_新闻公告.xml
IGC_OffTrade_离线交易.xml
IGC_PartyBonus_角色赏金.xml
IGC_PetSettings_宠物配置.ini
IGC_PlayerInfo_角色升级配置.xml
IGC_PlayerKillSystem_红名系统.xml
IGC_PriceSettings_NPC商店价格.ini
IGC_ProhibitedSymbols_过滤系统配置.xml
IGC_ProhibitedWords_禁止输入的文字.xml
IGC_PVPZone_PVP地图设置.xml
IGC_ResetCommand_转生命令.ini
IGC_RuudShop.xml
IGC_SetItemDropManager.xml
IGC_ShieldGageSystem.ini
IGC_ShopList_商店NPC相关.xml
IGC_StatSpecialize_各职业特殊能力设置.xml
IGC_ZenDrop_金币掉落.xml
NPC(包括怪物)的属性、刷新时间、出现地图位置等信息的定义与修改
除玩家外,其他所有有生命的物体都是NPC,包括商店NPC、一般的NPC和怪物NPC,还有一些特殊的NPC
NPC属性的定义
在文件:zMu902\IGCData\Monsters\IGC_MonsterList.xml
此文件对每个NPC的属性作了定义,如果你要修改某个怪物的血量、刷新时间等属性时,只要找到对应的怪物进行对应的修改就可以
<?xml version="1.0" encoding="utf-8"?>
<!--
// == NPC属性定义文件
// ============================================================
Index:编号
ExpType:未知,一般取0
Name:名字
Level:等级
HP:HP值,血量
MP:魔法值
DamageMin:最低攻
DamageMax:最高攻
Defense:防御
MagicDefense:魔防
AttackRate:攻击
BlockRate:防御率
MoveRange:移动范围
AttackType:攻击类型
AttackRange:攻距离
ViewRange:视野
MoveSpeed:移动速度
AttackSpeed:攻速度
RegenTime:重生时间(秒)
Attribute:类型 未知
ItemDropRate:物品爆率
MoneyDropRate:爆钱率
MaxItemLevel:暴出物的最大等级
MonsterSkill:技能
IceRes:抗冰冻
PoisonRes:抗毒性
LightRes抗雷
FireRes抗火性
PentagramMainAttrib:主属性类型
PentagramAttribPattern:次属性
PentagramDamageMin:属性最小攻击力
PentagramDamageMax:属性最大攻击力
PentagramAttackRate:属性攻击率
PentagramDefenseRate:属性防御率
PentagramDefense:属性防御
///////////////////////////////////////////////////////////////////////////////////////////////
-->
<MonsterList>
<Monster Index="0"ExpType="0"Name="牛怪"Level="6"HP="100"MP="0"DamageMin="16"DamageMax="20"Defense="6"MagicDefense="0"AttackRate="28"BlockRate="6"MoveRange="3"AttackType="0"AttackRange="1"ViewRange="5"MoveSpeed="400"AttackSpeed="1600"RegenTime="1"Attribute="2"ItemDropRate="130"MoneyDropRate="20"MaxItemLevel="6"MonsterSkill="0"IceRes="0"PoisonRes="0"LightRes="0"FireRes="0"PentagramMainAttrib="0"PentagramAttribPattern="0"PentagramDamageMin="0"PentagramDamageMax="0"PentagramAttackRate="0"PentagramDefenseRate="0"PentagramDefense="4" />
NPC在地图中位置的定义和修改
1. 商店NPC
控制商店NPC所处地图位置的文件是:zMuServer\IGCData\IGC_ShopList.xml
NPCIndex:NPC编号
MapNumber:地图编号
PosX:X轴坐标
PosY:Y轴坐标
Dir:NPC朝向
0:中心
1:西南
2:南方
3:东南
4:东方
5:东北
6:北方
7:西北
8:西部
-1:随机
VipType: Minimum VIP Level to use the shop
//~ 0: Free and any VIP Type
//~ 1: Player with Bronze, Silver, Gold, Platinum VIP can use the shop
//~ 2: Silver, Gold, Platinum
//~ 3: Gold, Platinum
//~ 4: Platinum only
//Or other defined VIP Type according to IGC_VipSettings.xml
GMShop:是否是只有GM才能访问, 0/1
FileName:对应的商店物品定义文件,在IGCData\Shops\文件夹下
MossMerchant: defines a Moss Merchant Lottery Shop, only for NPC 492, should always be 1
BattleCore: Defines a shop located on Battle Core server, if so set to 1
-->
<ShopList>
<Shop NPCIndex="251" MapNumber="0" PosX="116" PosY="141" Dir="3" VipType="0" GMShop="0" FileName="NPC(251)_Hanzo_the_Blacksmith.xml" /> <!-- Lorencia -->
<Shop NPCIndex="251" MapNumber="34" PosX="145" PosY="14" Dir="1" VipType="0" GMShop="0" FileName="NPC(251)_Hanzo_the_Blacksmith.xml" /> <!-- CryWolf -->
2. 怪物NPC和一般NPC
普通线路怪物排位:zMuServer\IGCData\Monsters\IGC_MonsterSpawn.xml
事件怪物排位:vzMuServer\IGCData\Monsters\IGC_MonsterSpawn_Event.xml
攻城线路怪物排位:zMuServer\IGCData\Monsters\IGC_MonsterSpawnCS.xml
其定义的格式如下:
<!---
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ### MonsterSpawn::Map ###
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//Number: 地图编号 Number of map to spawn the monster on, refer to IGC_MapList.xml
//Name: 地图名称 Name of a map, used for in-file description and logging purpose
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ### MonsterSpawn::Map::Spot ###
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//Type: Type of spot:
//~ 0: NPC/Traps
//~ 1: Multiple Monsters Spawn
//~ 2: Single Monster Spawn
//~ 3: Multiple Elemental Monster Spawn
//~ 4: Single Elemental Monster Spawn
//Description: Spot description, used for in-file description and logging purpose
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~ Spot attributes description
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//Index: Index of monster or NPC to spawn, refer to IGC_MonsterList.xml ~ (Spot Type: 0-3)
//Distance: Distance to spawn the monsters/NPC from original location ~ (Spot Type: 0-3)
//StartX: StartX Coordinate of monster spawn ~ (Spot Type: 0-3)
//StartY: StartY Coordinate of monster spawn ~ (Spot Type: 1, 3)
//EndX: End X Coordinate of monster spawn ~ (Spot Type: 0-3)
//EndY: End Y Coordinate of monster spawn ~ (Spot Type: 1, 3)
//Dir: Direction the monster/NPC looks at after spawn ~ (Spot Type: 0-3)
//~ 0: Central
//~ 1: South-West
//~ 2: South
//~ 3: South-East
//~ 4: East
//~ 5: North-East
//~ 6: North
//~ 7: North-West
//~ 8: West
//~ -1: Random
//Count: Count of monsters to spawn ~ (Spot Type: 1, 3)
//Element: Element type to spawn the monster with ~ (Spot Type: 3)
//~ 0: No Elemental attribute
//~ 1: Fire
//~ 2: Water
//~ 3: Earth
//~ 4: Wind
//~ 5: Darkness
//~ 6: Random
//
//~~ IMPORTANT EXCLUSIONS
-->
NPC商店物品的修改和NPC商店编号的查询
奇迹NPC商店物品的修改,各个版本虽然大同小异,但是还是有很多细节不同,同样奇迹s12的NPC商店有他独特的定义,本文会详细介绍手动修改s12 NPC商店,修改时最好不要用win系统自带的记事本,使用Editplus、Notepad++等更专业的文本编辑器会更好更方便。
一、商店文件路径:
奇迹s12的NPC商店文件位于 zMuServer\IGCData\Shops目录下,这里面有很多以.xml为后缀的商店文件,我们可以用文本编辑器打开,每一个文件名对应一个NPC商店。
二、文件对应NPC商店名称与编号(NPC的编号,用于地图调用NPC使用):
文件名以"NPC(编号)_商店英文名称.xml"的形式命名
注:后面给出的坐标是参考别人教程给出的有可能不对
文件名中文名称(地图+坐标)
----------------------------------------------------------------------------------------
NPC(230)_Wandering_Merchant_Alex.xml 流浪商人阿莱斯(勇者大陆)
NPC(231)_Thompson_Kenel.xml
NPC(239)_Arena_Guard.xml竞技场守卫(竞技场)
NPC(242)_Elf_Lala.xml精灵安吉拉(仙踪林)
NPC(243)_Eo_the_Craftsman.xml工匠尤达(仙踪林)
NPC(244)_Caren_the_Barmaid.xml老板娘莉娜(冰风谷)
NPC(245)_Wizard_Izabel.xml魔导士露西(冰风谷)
NPC(246)_Weapons_Merchant_Zienna.xml武器商人苏菲(冰风谷)
NPC(248)_Wandering_Merchant_Martin.xml流浪商人马丁(狼魂要塞)
NPC(250)_Wandering_Merchant.xml流浪商人海罗德(勇者大陆183.136)
NPC(251)_Hanzo_the_Blacksmith.xml铁匠汉斯(勇者大陆116,142)
NPC(253)_Potion_Girl_Amy.xml少女安娜(勇者大陆114,113)
NPC(254)_Pasi_the_Mage.xml魔导士帕希(勇者大陆118.112)
NPC(255)_Lumen_the_Barmaid.xml老板娘莉雅(勇者大陆123,133)
NPC(259)_Oracle_Layla.xml蕾拉(卡利玛)
NPC(376)_Pamela_the_Supplier.xml物资管理员 帕糜拉(罗兰峡谷)
NPC(377)_Angela the Supplier.xml物资管理员 安吉拉(罗兰峡谷)
NPC(379)_Natasha_Firecracker_Merchant.xml爆竹商人罗嗒莎(冰风谷)
NPC(415)_Silvia.xml塞尔维亚(幻术园)
NPC(416)_Rhea.xml雷亚(幻术园)
NPC(417)_Marce.xml摩尔塞(幻术园)
NPC(492)_Moss.xml摩斯(传承装备NPC勇者大陆131,134)
NPC(545)_Christine_the_Merchant.xml杂货商人克里斯丁 (罗兰市场)
NPC(577)_Leina_the_Merchant.xml商人蕾娜(卡伦特)
NPC(578)_Weapons_Merchant_Bolo.xml 贝莱 (卡伦特)
NPC(583)_Jin.xml 真(阿卡伦)
NPC(604)_Jin.xml可能 是 杰 罗(幻术园)
NPC(683)_Marce_B.xml
NPC(684)_Silvia_B.xml
NPC(685)_Izabel_B.xml
NPC(686)_Sophia_(repair)_B.xml
NPC(687)_Bolo_(repair)_B.xml
NPC(688)_Christine_B.xml
三、NPC商店文件参数介绍:
打开其中一个.xml文件,里面的内容如下
注意 .xml文件的注释是放在""里面的
<!--这是注释内容-->
<Shop>
<Item Cat="3" Index="5" Level="3" Durability="0" Skill="1" Luck="1" Option="1" Exc="-1" SetItem="0" SocketCount="0" Elemental="0" Serial="0" />
<Item Cat="0" Index="51" Level="15" Durability="0" Skill="1" Luck="1" Option="1" Exc="0;1;2;3;4;5;6;7;8;9" SetItem="5" SocketCount="0" Elemental="0" Serial="0" /><!--祝福大天使之剑-->
<Item Cat="3" Index="4" Level="3" Durability="0" Skill="1" Luck="1" Option="1" Exc="4" SetItem="0" SocketCount="0" Elemental="0" Serial="0" />
</Shop>
下面具体介绍一下里面各参数的具体涵义
Cat:分类id;Index:物品id;Level:等级;Durability:耐久度(0-255);Skill:技能否;Luck:幸运否;Option:追加(0-7);Exc:卓越属性;SetItem:套装值;SocketCount:镶嵌孔数( 0-5);Elemental:元素;Serial: 生成串行否
分类id和:物品id:可以通过bmd编辑工具,打开客户端的item.bmd来获得
耐久不多说,最多255,装备类默认0就是各装备的最高耐久
等级:0-15等级
技能否:0无技能、1有技能
Luck:幸运否 0无幸运、1有幸运
Option:追加 0(追加0),1(追加4),2(追加8),3(追加12),4(追加16),5(追加20),6(追加24),7(追加28)
Exc:卓越属性
没有卓越属性:-1
有卓越属性,设置的格式是:a;b;c;d;e;f;g;h;i
a~i各代表一个卓越属性,用数字表示,最多可以添加9个,具体用什么数字,文件zMuServer\IGCData\Items\IGC_ExcellentOptions.xml中定义了哪个数字代表哪个卓越属性
如:想添加武器的6个卓越属性:0;1;2;3;4;5
添加+7速的这个卓越属性: 3
IGC_ExcellentOptions.xml定义的卓越属性具体表示什么意思,后面会作进一步讲解。
SetItem:套装值 0(非套), 5(普通套 +5体力), 9(普通套+10体力), 6(强化套 +5体力), 10(强化套+10体力)
SocketCount:镶嵌孔数 针对镶嵌的装备 0-5孔
Elemental:元素;
0是不带元素;1是火元素;2是水元素;3是土元素;4是风元素;5是暗元素,
元素物品:
火元素碎片;水元素碎片;土元素碎片;风元素碎片;暗元素碎片;昆顿的封印书;安东尼的剑;阿卡纳预言书;天空古书;帝国守卫军的壁垒;昆顿的上古卷轴;昆顿的陨落之刃;黑龙王的短剑;凶猛的圣水;梅兰的魔法书;
奇迹各地图编号、中文名称和英文名称对照表
奇迹Mu s12地图编号及中英文名称对照表
地图编号名称(中文)名称(英文)
////////////////////////////////////////////////////////////////////////////////////////////////////////////
0勇者大陆 Lorencia
1地下城(1~3)Dungeon(1~3)
2冰风谷Devias(1~4)
3仙踪林Noria
4失落之塔(1~7)LostTower(1~7)
5流放地Exile(新版本的MU默认不存在does not exist by default in newer game versions)
6古战场Arena
7亚特兰蒂斯Atlans(1~3)
8死亡沙漠Tarkan (1~2)
9恶魔广场DevilSquare(1~4)
10天空之城Icarus
11血色城堡1BloodCastle1
12血色城堡2BloodCastle2
13血色城堡3BloodCastle3
14血色城堡4BloodCastle4
15血色城堡5BloodCastle5
16血色城堡6BloodCastle6
17血色城堡7BloodCastle7
18赤色要塞1ChaosCastle1
19赤色要塞2ChaosCastle2
20赤色要塞3ChaosCastle3
21赤色要塞4ChaosCastle4
22赤色要塞5ChaosCastle5
23赤色要塞6ChaosCastle6
24卡利玛1Kalima1
25卡利玛2Kalima2
26卡利玛3Kalima3
27卡利玛4Kalima4
28卡利玛5Kalima5
29卡利玛6Kalima6
30罗兰峡谷ValleyOfLoren
31魔炼之地LandOfTrials
32恶魔广场(5~7)DevilSquare(5~7)
33幽暗森林(1~2)Aida(1~2)
34狼魂要塞(第一区)Crywolf Fortress (First Zone)
35狼魂要塞(第二区)Crywolf (Second Zone)
36卡利玛7Kalima7(Lost)
37坎特鲁废墟Kanturu Ruins
38坎特鲁遗址Kanturu 1 (Remain)
39坎特鲁提炼之塔Kanturu 2 (Refinery Tower)
40GM召唤区Silent Map
41巴卡斯兵营Barracks of Balgass
42巴卡斯休息室Balgass Refuge
-------------------------------------------------------------------------------------------------------------------
45幻影寺院1Illusion Temple (Classic/Renewal) 1
46幻影寺院2Illusion Temple (Classic/Renewal) 2
47幻影寺院3Illusion Temple (Classic/Renewal) 3
48幻影寺院4Illusion Temple (Classic/Renewal) 4
49幻影寺院5Illusion Temple (Classic/Renewal) 5
50幻影寺院6Illusion Temple (Classic/Renewal) 6
51幻术园Elbeland
52血色城堡8Blood Castle 8
53赤色要塞7Chaos Castle 7
--------------------------------------------------------------------------------------------------------------------
56安宁池Swamp of Calmness
57冰霜之城Raklion
58孵化巢Hatchery (Raklion Boss)(冰霜之城蜘蛛BOSS)
--------------------------------------------------------------------------------------------------------------------
62圣诞之地Santa Village
63囚禁之岛Vulcanus
64竞技场 Duel Arena
65未知Dopple Ganger Snow
66未知Dopple Ganger Volcan
67未知Dopple Ganger Sea
68未知Dopple Ganger Crystals
69帝国要塞1Imperial Fortress 1
70帝国要塞2Imperial Fortress 2
71帝国要塞3Imperial Fortress 3
72帝国要塞4Imperial Fortress 4
79罗兰市场Loren Market
80卡伦特1Karutan1
81卡伦特2Karutan2
82生魂广场1Doppel Ganger Renewal 1
83生魂广场2Doppel Ganger Renewal 2
84生魂广场3Doppel Ganger Renewal 3
85生魂广场4Doppel Ganger Renewal 4
86生魂广场5Doppel Ganger Renewal 5
87生魂广场6Doppel Ganger Renewal 6
88生魂广场7Doppel Ganger Renewal 7
89生魂广场8Doppel Ganger Renewal 8
90生魂广场9Doppel Ganger Renewal 9
-------------------------------------------------------------------------------------------------------------------
91阿卡伦Acheron
92阿卡伦战役Acheron (Arca Battle)
95德班泰尔Debenter
96德班泰尔(战役)Debenter (ArcaBattle)(阿卡伦战役)
97未知ChaosCastleSurvival
98未知IllusionTempleLeague
99未知IllusionTempleLeague
100未知Urk Mountain
101未知Urk Mountain Event
102未知Tormented Square Battle 1
103未知Tormented Square Battle 2
104未知Tormented Square Battle 3
105未知Tormented Square Battle 4
106未知Tormented Square Battle 5
110未知Nars
112菲利亚Ferea
113尼克西斯湖NixieLake
114任务区入口QuestZoneEntrance
115迷宫Labyrinth
116深渊地牢1DeepDungeon1
117深渊地牢2DeepDungeon2
118深渊地牢3DeepDungeon3
119深渊地牢4DeepDungeon4
120深渊地牢5DeepDungeon5
121第四转任务4thQuest
122黑暗沼泽SwampOfDarkness
角色信息:升级点数等信息的修改
文件路径:“zMuServer\IGCData\IGC_PlayerInfo.xml
;############################################################
;# -- X12 MUONLINE SERVER EMULATOR
;# -- 角色信息设置
;# -- 2018-04-29
#
;############################################################
<PlayerInfo>
<!-- 最大组队等级差 Party Requirement Max Level Dif -->
<PartyReqLevel>
<MaxPartyLevelDif>230</MaxPartyLevelDif>
</PartyReqLevel>
<!-- 大师设置 Setting Master System -->
<!-- MinReset: 大师点洗点后,变成的最小值Minimum Reset for Obtained MasterExp -->
<!-- MaxLevel: 大师最高等级Maximum Master Level -->
<!-- PointPerLevl: 每升一级获得的大师点 Point per Level Obtained -->
<!-- MonsterMinLevel: 最小多少级的怪物才会获得大师经验 Minimum Lvl Monster for Obtained MasterExp -->
<MasterLevel>
<MinReset>0</MinReset>
<MaxLevel>420</MaxLevel><!--大师最高等级-->
<PointPerLevel>1</PointPerLevel><!--每升一级获得的大师点数-->
<MonsterMinLevel>95</MonsterMinLevel><!--最小多少级的怪物才会获得大师经验-->
</MasterLevel>
<!-- 普通升级点数设置 Point received per LevelUp -->
<LevelUpPoint>
<PointNormal>35</PointNormal><!--普通角色 法师、战士等-->
<PointMGDLRFGL>45</PointMGDLRFGL><!--特殊角色 魔剑、圣道等-->
</LevelUpPoint>
<!-- 角色属性点最大值的定义,也就是各个角色的专精点设置Maximum Stats for Players -->
<!-- 法师 Stats DarkWizard -->
<StatsDW>
<MaxStrenghtDW>65000</MaxStrenghtDW>
<MaxAgilityDW>65000</MaxAgilityDW>
<MaxVitalityDW>65000</MaxVitalityDW>
<MaxEnergyDW>65000</MaxEnergyDW>
<MaxCommandDW>0</MaxCommandDW>
</StatsDW>
<!-- 战士 Stats DarkKnight -->
<StatsDK>
<MaxStrenghtDK>65000</MaxStrenghtDK>
<MaxAgilityDK>65000</MaxAgilityDK>
<MaxVitalityDK>65000</MaxVitalityDK>
<MaxEnergyDK>65000</MaxEnergyDK>
<MaxCommandDK>0</MaxCommandDK>
</StatsDK>
<!-- 箭手 Stats Elf -->
<StatsELF>
<MaxStrenghtELF>65000</MaxStrenghtELF>
<MaxAgilityELF>65000</MaxAgilityELF>
<MaxVitalityELF>65000</MaxVitalityELF>
<MaxEnergyELF>65000</MaxEnergyELF>
<MaxCommandELF>0</MaxCommandELF>
</StatsELF>
<!-- 魔剑 Stats MagicGladiator -->
<StatsMG>
<MaxStrenghtMG>65000</MaxStrenghtMG>
<MaxAgilityMG>65000</MaxAgilityMG>
<MaxVitalityMG>65000</MaxVitalityMG>
<MaxEnergyMG>65000</MaxEnergyMG>
<MaxCommandMG>0</MaxCommandMG>
</StatsMG>
<!-- 圣道 Stats DarkLord -->
<StatsDL>
<MaxStrenghtDL>65000</MaxStrenghtDL>
<MaxAgilityDL>65000</MaxAgilityDL>
<MaxVitalityDL>65000</MaxVitalityDL>
<MaxEnergyDL>65000</MaxEnergyDL>
<MaxCommandDL>65000</MaxCommandDL>
</StatsDL>
<!-- 召唤 Stats Summoner -->
<StatsSUMM>
<MaxStrenghtSUMM>65000</MaxStrenghtSUMM>
<MaxAgilitySUMM>65000</MaxAgilitySUMM>
<MaxVitalitySUMM>65000</MaxVitalitySUMM>
<MaxEnergySUMM>65000</MaxEnergySUMM>
<MaxCommandSUMM>0</MaxCommandSUMM>
</StatsSUMM>
<!-- 格斗Stats RageFighter -->
<StatsRF>
<MaxStrenghtRF>65000</MaxStrenghtRF>
<MaxAgilityRF>65000</MaxAgilityRF>
<MaxVitalityRF>65000</MaxVitalityRF>
<MaxEnergyRF>65000</MaxEnergyRF>
<MaxCommandRF>0</MaxCommandRF>
</StatsRF>
<!-- 梦幻骑士 Stats GrowLancer-->
<StatsGL>
<MaxStrenghtGL>65000</MaxStrenghtGL>
<MaxAgilityGL>65000</MaxAgilityGL>
<MaxVitalityGL>65000</MaxVitalityGL>
<MaxEnergyGL>65000</MaxEnergyGL>
<MaxCommandGL>0</MaxCommandGL>
</StatsGL>
</PlayerInfo>
地图移动等级的修改
要修改地图的移动等级,需要服务端和客户端都要进行相应的修改
一、服务端地图移动等级的修改
文件所在地址:GCData\Warps\IGC_MoveLevel.xml
Level的选项定义了各地图移动所需的等级
<?xml version="1.0" encoding="utf-8"?>
<!--
//
// ### MoveSettings::Move ###
//Level: 所需等级 Minimum required level for summoning - regular level only
//MapNumber: 地图编号 Number of Map
//StartX: Start X Coordinate of the range covered by the restriction
//StartY: Start Y Coordinate of the range covered by the restriction
//EndX: End Y Coordinate of the range covered by the restriction
//EndY: End Y Coordinate of the range covered by the restriction
//Name: 地图名称 Name of the Map (in-file description purpose only)
//
// Map Level move requirements for Summoning other Player (via spell)
// It is only possible to Summon on Maps listed below (may not apply to certain conditions)
//
// STRICTLY NO COMMENTS INSIDE TAGS
-->
<MoveSettings>
<Move Level="0" MapNumber="0" StartX="1" StartY="1" EndX="255" EndY="255" Name="Lorencia" />
<Move Level="15" MapNumber="2" StartX="1" StartY="1" EndX="255" EndY="255" Name="Devias" />
<Move Level="0" MapNumber="3" StartX="1" StartY="1" EndX="255" EndY="255" Name="Noria" />
<Move Level="50" MapNumber="6" StartX="1" StartY="1" EndX="255" EndY="255" Name="Stadium" />
<Move Level="130" MapNumber="8" StartX="1" StartY="1" EndX="255" EndY="255" Name="Tarkan" />
<Move Level="60" MapNumber="7" StartX="1" StartY="1" EndX="255" EndY="255" Name="Atlans" />
<Move Level="160" MapNumber="10" StartX="1" StartY="1" EndX="255" EndY="255" Name="Icarus" />
<Move Level="20" MapNumber="1" StartX="1" StartY="137" EndX="255" EndY="255" Name="Dungeon1" />
<Move Level="20" MapNumber="1" StartX="1" StartY="1" EndX="255" EndY="40" Name="Dungeon2" />
<Move Level="20" MapNumber="1" StartX="60" StartY="43" EndX="255" EndY="133" Name="Dungeon2" />
<Move Level="20" MapNumber="1" StartX="1" StartY="46" EndX="50" EndY="131" Name="Dungeon3" />
<Move Level="40" MapNumber="4" StartX="153" StartY="14" EndX="255" EndY="145" Name="LostTower1" />
<Move Level="40" MapNumber="4" StartX="158" StartY="159" EndX="250" EndY="249" Name="LostTower2" />
<Move Level="40" MapNumber="4" StartX="78" StartY="161" EndX="139" EndY="251" Name="LostTower3" />
<Move Level="50" MapNumber="4" StartX="78" StartY="81" EndX="139" EndY="142" Name="LostTower4" />
<Move Level="50" MapNumber="4" StartX="79" StartY="2" EndX="138" EndY="61" Name="LostTower5" />
<Move Level="50" MapNumber="4" StartX="1" StartY="2" EndX="60" EndY="61" Name="LostTower6" />
<Move Level="50" MapNumber="4" StartX="1" StartY="82" EndX="61" EndY="250" Name="LostTower7" />
<Move Level="130" MapNumber="33" StartX="72" StartY="5" EndX="245" EndY="179" Name="Aida" />
<Move Level="0" MapNumber="34" StartX="9" StartY="10" EndX="242" EndY="244" Name="CryWolf (1st Zone)" />
<Move Level="10" MapNumber="30" StartX="1" StartY="1" EndX="255" EndY="255" Name="Valley of Loren" />
<Move Level="160" MapNumber="37" StartX="1" StartY="1" EndX="255" EndY="255" Name="Kanturu" />
<Move Level="230" MapNumber="38" StartX="1" StartY="1" EndX="255" EndY="255" Name="Kanturu Remain" />
<Move Level="220" MapNumber="45" StartX="1" StartY="1" EndX="255" EndY="255" Name="Illusion Temple1" />
<Move Level="271" MapNumber="46" StartX="1" StartY="1" EndX="255" EndY="255" Name="Illusion Temple2" />
<Move Level="321" MapNumber="47" StartX="1" StartY="1" EndX="255" EndY="255" Name="Illusion Temple3" />
<Move Level="351" MapNumber="48" StartX="1" StartY="1" EndX="255" EndY="255" Name="Illusion Temple4" />
<Move Level="381" MapNumber="49" StartX="1" StartY="1" EndX="255" EndY="255" Name="Illusion Temple5" />
<Move Level="400" MapNumber="50" StartX="1" StartY="1" EndX="255" EndY="255" Name="Illusion Temple6" />
<Move Level="350" MapNumber="41" StartX="1" StartY="1" EndX="1" EndY="1" Name="Illusion Temple (waiting Area 1)" />
<Move Level="350" MapNumber="42" StartX="1" StartY="1" EndX="1" EndY="1" Name="Illusion Temple (waiting Area 2)" />
<Move Level="0" MapNumber="51" StartX="1" StartY="1" EndX="255" EndY="255" Name="Elbeland" />
<Move Level="400" MapNumber="56" StartX="1" StartY="1" EndX="255" EndY="255" Name="Swamp of Calmness" />
<Move Level="280" MapNumber="57" StartX="1" StartY="1" EndX="255" EndY="255" Name="Raklion" />
<Move Level="280" MapNumber="58" StartX="1" StartY="1" EndX="255" EndY="255" Name="Raklion Hatchery" />
<Move Level="0" MapNumber="62" StartX="1" StartY="1" EndX="255" EndY="255" Name="Santa Village" />
<Move Level="20" MapNumber="63" StartX="1" StartY="1" EndX="255" EndY="255" Name="Vulcanus (Safe Zone)" />
<Move Level="30" MapNumber="64" StartX="1" StartY="1" EndX="1" EndY="1" Name="Vulcanus (PvP Zone)" />
<Move Level="1" MapNumber="79" StartX="1" StartY="1" EndX="255" EndY="255" Name="Loren Market" />
<Move Level="160" MapNumber="80" StartX="1" StartY="1" EndX="255" EndY="255" Name="Karutan1" />
<Move Level="160" MapNumber="81" StartX="1" StartY="1" EndX="255" EndY="255" Name="Karutan2" />
</MoveSettings>
客户端地图移动等级的修改
文件所在地址:Data\Local\movereq.bmd
bmd文件要用专用的工具才能修改,下面是用MuEditor打面movereq.bmd的情况,红色圈出的地方就是所需的等级
触发器:新建人物送点和Mu币等的修改
数据库的触发器,可以帮我们完成很多事情,如人物创建后送点数、送MU币、送x店积分等等,一些保存到数据里初始化的东西,如果文件里没有控制项,是可以通过建立触发器来完成的。触发器太高深的东西,我们小白学起来费劲,下面说一些比较简单并且对我们配置奇迹非常有用的相关知识。
1. 如何知道奇迹数库里有多少个触发器?
这要用到查寻数据库所有触发器的sql语句了,一般我们只要知道MuOnline这个数据库的所有这个数据触发器。就够了,下面用sql语句查询一下MuOnline这个数据库的所有触发器。
select * from sysobjects where xtype='TR';--查询当前数据库所有的触发器
我在一个有触发器的端的MuOnline数据库里,运行上面的语句,得到下面的结果,含有10个触发器
2. 具体看某条触发器的内容
想看看某条触发器都干了什么事情,就要用到下面的语句
exec sp_helptext 触发器名;
--如查询上面的"法师送点"这个触发器
exec sp_helptext 法师送点;
--得到如下结果:
CREATE TRIGGER 法师送点 ON dbo.[Character]
AFTER INSERT
AS
SET NOCOUNT ON
UPDATE Character SET Character.LevelUpPoint=6000
FROM Inserted
Where Inserted.Class=0
and Character.name=Inserted.name
SET NOCOUNT OFF
从结果我们知道是法师一创建后就送了6000点
3. 删除触发器
drop trigger 触发器名
4. 修改触发器
alter trigger 触发器名
on {table_name | view_name}
{for | After | Instead of }
[ insert, update,delete ]
as
sql语句
例如要把上面的6000点送点,改为1000点,执行下面语句
alter TRIGGER 法师送点 ON dbo.[Character]
AFTER INSERT
AS
SET NOCOUNT ON
UPDATE Character SET Character.LevelUpPoint=1000
FROM Inserted
Where Inserted.Class=0
and Character.name=Inserted.name
SET NOCOUNT OFF
我是艾西,今天的分享就先到这里啦有兴趣的小伙伴们自己可以深入的研究下。
拥有一台服务器可以做很多有趣的事情!
(注:此教程为个人娱乐用途,请勿商用)返回搜狐,查看更多