|
奇迹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 血色城堡1 BloodCastle1
12 血色城堡2 BloodCastle2
13 血色城堡3 BloodCastle3
14 血色城堡4 BloodCastle4
15 血色城堡5 BloodCastle5
16 血色城堡6 BloodCastle6
17 血色城堡7 BloodCastle7
18 赤色要塞1 ChaosCastle1
19 赤色要塞2 ChaosCastle2
20 赤色要塞3 ChaosCastle3
21 赤色要塞4 ChaosCastle4
22 赤色要塞5 ChaosCastle5
23 赤色要塞6 ChaosCastle6
24 卡利玛1 Kalima1
25 卡利玛2 Kalima2
26 卡利玛3 Kalima3
27 卡利玛4 Kalima4
28 卡利玛5 Kalima5
29 卡利玛6 Kalima6
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 卡利玛7 Kalima7(Lost)
37 坎特鲁废墟 Kanturu Ruins
38 坎特鲁遗址 Kanturu 1 (Remain)
39 坎特鲁提炼之塔 Kanturu 2 (Refinery Tower)
40 GM召唤区 Silent Map
41 巴卡斯兵营 Barracks of Balgass
42 巴卡斯休息室 Balgass Refuge
-------------------------------------------------------------------------------------------------------------------
45 幻影寺院1 Illusion Temple (Classic/Renewal) 1
46 幻影寺院2 Illusion Temple (Classic/Renewal) 2
47 幻影寺院3 Illusion Temple (Classic/Renewal) 3
48 幻影寺院4 Illusion Temple (Classic/Renewal) 4
49 幻影寺院5 Illusion Temple (Classic/Renewal) 5
50 幻影寺院6 Illusion Temple (Classic/Renewal) 6
51 幻术园 Elbeland
52 血色城堡8 Blood Castle 8
53 赤色要塞7 Chaos 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 帝国要塞1 Imperial Fortress 1
70 帝国要塞2 Imperial Fortress 2
71 帝国要塞3 Imperial Fortress 3
72 帝国要塞4 Imperial Fortress 4
79 罗兰市场 Loren Market
80 卡伦特1 Karutan1
81 卡伦特2 Karutan2
82 生魂广场1 Doppel Ganger Renewal 1
83 生魂广场2 Doppel Ganger Renewal 2
84 生魂广场3 Doppel Ganger Renewal 3
85 生魂广场4 Doppel Ganger Renewal 4
86 生魂广场5 Doppel Ganger Renewal 5
87 生魂广场6 Doppel Ganger Renewal 6
88 生魂广场7 Doppel Ganger Renewal 7
89 生魂广场8 Doppel Ganger Renewal 8
90 生魂广场9 Doppel 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 深渊地牢1 DeepDungeon1
117 深渊地牢2 DeepDungeon2
118 深渊地牢3 DeepDungeon3
119 深渊地牢4 DeepDungeon4
120 深渊地牢5 DeepDungeon5
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
感兴趣的小伙伴可以百UD搜@艾西服务器@驰网艾西一起讨论交流,拥有一台服务器可以做很多有趣的事情
(注:本教程仅为个人娱乐参考使用,切勿用于商业用途)
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|