[ post] Mangos服务器配置文件中文说明
#Mangosd.conf, 适用于芒果服务器 2600+版本
# MaNGOS Configuration file
ConfVersion=2006082301
# 国度ID 必须和国度列表里面的相符
RealmID = 1
# 0 NORMAL 1 PVP 4 NORMAL 6 RP 8 RPPVP
GameType = 8
# 数据目录设置。
# 重要说明:数据目录需要放在引号里面,因为字符串可能包含空格
# DataDir = "@MANGOSD_DATA@" //这个是默认目录
DataDir = "MANGOSD_DATA"
# 世界服务器的数据库连接设置。
# 格式:主机地址(域名或IP);端口;用户名;密码;数据库名称
LoginDatabaseInfo = "127.0.0.1;3306;mangos;mangos;realmd"
WorldDatabaseInfo = "127.0.0.1;3306;mangos;mangos;mangos"
# 日志文件
# 默认: "Server.log"
LogFile = "Server.log"
# 服务器控制台日志显示级别
# 0 = 最小日志; 1 = 基本信息和错误信息; 2 = 详细; 3 = 完整/调试信息
# 默认: 0
# 推荐: 1
LogLevel = 3
# 保存世界服务器的数据包记录
# 默认: 0 (不保存)
# 1 (保存)
LogWorld = 0
# 日志的显示颜色 (格式: "正常信息颜色 详细信息颜色 调试信息颜色 错误信息颜色")
# 颜色值: 0 - 黑, 1 - 红, 2 - 绿, 3 - 棕, 4 - 蓝, 5 - 洋红, 6 - 青, 7 - 灰,
# 8 - 黄, 9 - 浅红, 10 - 浅绿, 11 - 浅蓝, 12 - 粉红, 13 - 浅青, 14 - 白
# 默认: "" - 不使用颜色设置
# "13 7 11 9" - 举例 :)
LogColors = ""
# 记录 GM 命令的文件(该文件可以记录一切被执行的GM命令)
# 默认: "" (不记录)(如果你写上一个文件名,就代表记录)
GmLogFile = ""
# 为多处理器所作的设置(仅限Windows服务器)(具体这玩意儿怎么用我也不清楚。。。。)
# 默认: 0 (由操作系统分配CPU)
# 数字 (如果输入数字,则该数字代表选定处理器的位掩码值)(不懂。。)
UseProcessors = 0
# 进程优先级设置 (仅限 Windows)
# 0 (正常)
# 默认: 1 (高优先级)
ProcessPriority = 1
# 发送给客户端的更新包的压缩比 (1..9)
# Default: 1 (最快速)
# 9 (最高压缩比)
Compression = 4
# 服务器所能容纳的最多玩家数。不限GM
# 默认: 100
PlayerLimit = 100
# 允许使用插件的默认值, Allow then Deny or Deny then Allow(??虾米??)
# Default: 1 (true)
# 0 (false)
AddonDefault = 1
# 玩家通过经验升级可达到的最大等级 (1 到 255).
# 不建议修改
# 默认: 60
MaxPlayerLevel = 100
# 玩家所能学会的最多主要交易技能数目。
# 默认: 2
# 最大: 9
MaxPrimaryTradeSkill = 2
# 成立公会所需的最少签名数 (0..9).
# 默认: 9
MinPetitionSigns = 9
# 当你杀死怪物后,队员所能获得经验值的最大与你距离。
# 如果队员和你的距离超过了这个范围,当你杀死怪物时,他将无法获得经验值。
# Default: 74
MaxGroupXPDistance = 74
# 杀死怪物后,队员所能获得经验值的最大与怪等级差。
# 当队员和怪物之间的等级差超过了这个数值,杀死怪物后他将无法获得经验。
# 默认: 10
MaxGroupXPLevelDiff = 10
# 是/否允许同一个帐号创建不同阵营的人物。
# 默认: 0 (不允许)
# 1 (允许)
AllowTwoSide.Accounts = 0
# 是否允许不同阵营的玩家进行如下活动:chat(say,yell);channel(chat)group(join)guild(join);trade
# 默认: 0 (不允许)
# 1 (允许)
AllowTwoSide.Interaction = 0
# 是否允许在/who列表内显示不同阵营的玩家。
# 默认: 0 (不允许)
# 1 (允许)
AllowTwoSide.WhoList = 0
# 默认是否允许GM接受玩家的悄悄话。
# 默认: 0 (否)
# 1 (是)
GM.WhisperingTo = 0
# 每日消息。当玩家进入游戏的时候显示在聊天窗口的信息。
Motd = "Welcome to the Massive Network Game Object Server."
# 生命值和能量值得恢复速度。
Rate.Health = 1;
Rate.Power1 = 1;
Rate.Power2 = 1;
Rate.Power3 = 1;
# 物品掉落倍率
# Default: 1
Rate.Drop.Items = 10
Rate.Drop.Money = 1
# 经验倍率 Rate.XP.Kill = 杀怪经验; Rate.XP.Quest = 任务经验; Rate.XP.Explore = 探索经验
# Default: 1
Rate.XP.Kill = 30
Rate.XP.Quest = 50
Rate.XP.Explore = 10
# 怪物伤害倍率
# 例如: 2 - 怪物将造成 2x(2倍)伤害, 1.7 - 1.7x.
Rate.Creature.Normal.Damage = 1
Rate.Creature.Elite.Elite.Damage = 1
Rate.Creature.Elite.RAREELITE.Damage = 1
Rate.Creature.Elite.WORLDBOSS.Damage = 1
Rate.Creature.Elite.RARE.Damage = 1
# 怪物生命值倍率
# 例如:: 2 - 怪物将拥有 2x 的生命值, 1.7 - 1.7x.
Rate.Creature.Normal.HP = 1
Rate.Creature.Elite.Elite.HP = 1
Rate.Creature.Elite.RAREELITE.HP = 1
Rate.Creature.Elite.WORLDBOSS.HP = 1
Rate.Creature.Elite.RARE.HP = 1
#Aggro radius percent or off. --> 这个不懂。。。
# 0 - off (0%)
# Default: 1 - 100%
# 1.5 - 150%
Rate.Creature.Aggro = 1
# 默认远程控制台端口
Ra.Port = 3443
# 记录远程控制台的连接信息
Ra.Log = 1
# 远程控制台连接到服务器所需要的GM等级,默认为3(管理员)
Ra.MinLevel = 3
# 踢出用户,如果他输入了错误的密码 (仅限远程控制台)
Ra.Secure = 1
# Unload grids (if you have lot memory you can disbale it to speed up player move to new grids second time)
# 0 (not unload grids)
# Default: 1 (unload grids)
GridUnload = 1;
# 以下所有的时间设置都以毫秒为单位。
# 默认端口选择时间
SocketSelectTime = 10000
# 默认地图网格清理延迟
GridCleanUpDelay = 300000
# 默认地图更新间隔
MapUpdateInterval = 100
# 默认天气更新间隔
ChangeWeatherInterval = 600000
# 默认玩家数据保存间隔
PlayerSaveInterval = 900000
# 默认世界服务器端口 (mangosd.exe 的端口)
WorldServerPort = 8085
#Realmd.conf, 适用于芒果服务器 2600+版本
# MaNGOS realmd configuration file
ConfVersion=2006060401
# 国度服务器的数据库连接设置
# 格式:主机地址(域名或IP);端口;用户名;密码;数据库名称
LoginDatabaseInfo = "127.0.0.1;3306;mangos;mangos;realmd"
# 默认的国度服务器端口 (realmd.exe 的端口)
RealmServerPort = 3724
# 日志文件名称
# 默认: "Server.log" - 不推荐。不要和国度服务器用同样的文件名
LogFile = "Realmd.log"
# 日志的显示颜色 (格式: "正常信息颜色 详细信息颜色 调试信息颜色 错误信息颜色")
# 颜色值: 0 - 黑, 1 - 红, 2 - 绿, 3 - 棕, 4 - 蓝, 5 - 洋红, 6 - 青, 7 - 灰,
# 8 - 黄, 9 - 浅红, 10 - 浅绿, 11 - 浅蓝, 12 - 粉红, 13 - 浅青, 14 - 白
# 默认: "" - 不使用颜色设置
# "13 7 11 9" - 举例 :)
LogColors = ""
# 为多处理器所作的设置(仅限Windows服务器)(具体这玩意儿怎么用我也不清楚。。。。)
# 默认: 0 (由操作系统分配CPU)
# 数字 (如果输入数字,则该数字代表选定处理器的位掩码值)(不懂。。)
UseProcessors = 0
# 进程优先级设置 (仅限 Windows)
# 0 (正常)
# 默认: 1 (高优先级)
ProcessPriority = 1[/post]
-----------------------------------------------
#设置文件的版本
ConfVersion=2006082301
# RealmID 要对应 realmlist
RealmID = 1
#服务器类型 0 普通 , 1 PVP, 4 普通 6 RP 8 RPPVP
GameType = 1
# dbc和maps的路径, 如果在mangos根目录 请用 "."
DataDir = "."
# 数据库连接设置:
# 默认: 主机名;端口;用户名;密码;数据库名
LoginDatabaseInfo = "127.0.0.1;3306;root;mangos;realmd"
WorldDatabaseInfo = "127.0.0.1;3306;root;mangos;sdb053306"
#会员设置VIPlevel > 0 数据库需要添加VIPlevel
#Rate.XP.Kill.VIP = 10
#Rate.XP.Quest.VIP = 10
#Rate.XP.Explore.VIP = 10
#Rate.Drop.Money.VIP = 10
# 设置最高ping数据库的时间间隔(分钟)
MaxPingTime = 30
# 服务器控制台记录显示的级别
# 0 = 最小; 1 = 基础和错误; 2 = 详细; 3 = 完全或侦错
# 默认: 0
# 推荐: 1
LogLevel = 3
# 记录文件 的名字
# 文件名为空 则不创建记录文件,如: LogFile =
# 默认: "Server.log"
LogFile = "Server.log"
# 记录文件的记录级别
# 0 = 最小; 1 = 基础和错误; 2 = 详细; 3 = 完全或侦错
# 默认: 0
LogFileLevel = 3
# 游戏服务器的封包记录
# 默认: 0 (false)
# 1 (true)
LogWorld = 1
# 记录过滤
# 0 (默认) - 如果记录等级允许,则包含, 1 - 任何记录等级都 不包含
LogFilter_TransportMoves = 0
LogFilter_CreatureMoves = 0
# 控制台信息的颜色 (格式: "正常颜色 详情颜色 debug颜色 错误颜色)
# 颜色: 0-黑色, 1-红, 2-绿, 3-棕, 4-蓝, 5-品红, 6-青绿, 7-灰色,
# 8-黄, 9-淡红, 10-淡绿, 11-淡蓝, 12-淡品红, 13-淡青绿, 14-白色
# 默认: "" 无颜色(白色)
# 例如: "13 7 11 9"
LogColors = "13 7 11 9"
# 记录GM命令使用情况的 记录文件名
# 默认: "" (禁止) 允许时:例如: "GMcommand.log"
GmLogFile = ""
# 在多线程系统 使用线程MASK(只在Windows系统下使用)
# 默认: 0 (操作系统来选择)
# 举例: 数字
UseProcessors = 0
# 进程优先权设置(只在Windows系统下使用)
# 0 (正常优先权)
# 默认: 1 (高优先)
ProcessPriority = 1
#发送到客户端的更新数据包的压缩级别(1到9)
# 默认: 1 (速度快,不压缩)
# 9 (最好的压缩)
Compression = 1
# 除GM之外 游戏最大在线玩家数限制
# 默认: 100
PlayerLimit = 100
# 玩家获得经验能升到的最高等级(必须在 1 到 255).
# 不建议修改 建议用默认的 60 超过60 可能影响游戏平衡
# 默认: 60
MaxPlayerLevel = 60
# 玩家最多可以学的 商业技能
# 默认: 2
# 最大: 9
MaxPrimaryTradeSkill = 9
# 建立公会所需的最少玩家签名个数 (0..9).
# 默认: 9
MinPetitionSigns = 9
# 小队成员在生物死亡 获得经验的 最大距离(同怪物的距离)
# 默认: 74
MaxGroupXPDistance = 74
# 小队成员在生物死亡 获得经验的 最大等级差(同怪物的等级)
# 默认: 10
MaxGroupXPLevelDiff = 10
# 是否运行同1个帐号 建立不2个不同阵营的角色 GM号为始终为 允许
# 默认: 0 (不允许)
# 1 (允许)
AllowTwoSide.Accounts = 0
# 是否允许 不同阵营间的 聊天 频道聊天 组队 交易
# 默认: 0 (不允许)
# 1 (允许)
AllowTwoSide.Interaction = 0
# 是否在 在线玩家列表 里显示敌对阵营玩家
# 默认: 0 (不允许)
# 1 (允许)
AllowTwoSide.WhoList = 0
# GM默认是否接受玩家的悄悄话.
# Default: 0 (false)
# 1 (true)
GM.WhisperingTo = 0
# 当GM设置为可见时 是否在玩家列表显示GM.
# Default: 0 (false)
# 1 (true)
GM.InWhoList = 0
# 玩家登陆时候服务器显示的 登陆信息(请设置偶数个汉字)
Motd = "欢迎来到芒果中文服务器."
# 血 pw1=蓝,pw2=怒气,pw3=能量 恢复的速度乘以的倍数
Rate.Health = 1;
Rate.Power1 = 1;
Rate.Power2 = 1;
Rate.Power3 = 1;
# 物品,钱 的掉率乘以的倍数
# 默认: 1
Rate.Drop.Items = 1
Rate.Drop.Money = 1
# 杀怪,任务,探索地图 获得经验 乘以的倍数
# 默认: 1
Rate.XP.Kill = 1
Rate.XP.Quest = 1
Rate.XP.Explore = 1
# 普通,精英,稀有精英,BOSS,稀有普通怪 的伤害 乘以的倍数
# 例如: 1.4 就是 增加0.4倍攻击伤害
Rate.Creature.Normal.Damage = 1
Rate.Creature.Elite.Elite.Damage = 1
Rate.Creature.Elite.RAREELITE.Damage = 1
Rate.Creature.Elite.WORLDBOSS.Damage = 1
Rate.Creature.Elite.RARE.Damage = 1
# 普通,精英,稀有精英,BOSS,稀有普通怪 的血量 乘以的倍数
# 例如: 1.4 就是 增加0.4倍攻击血量
Rate.Creature.Normal.HP = 1
Rate.Creature.Elite.Elite.HP = 1
Rate.Creature.Elite.RAREELITE.HP = 1
Rate.Creature.Elite.WORLDBOSS.HP = 1
Rate.Creature.Elite.RARE.HP = 1
# 精力条增长倍数 (1 - normal, 2 - double rate, 0.5 - half rate, etc)
Rate.Rest.InGame = 1
Rate.Rest.Offline.InTavernOrCity = 1
Rate.Rest.Offline.InWilderness = 1
# 技能熟练度提升几率(0..100)
# default: 100-75-25-0
SkillChance.Orange = 100
SkillChance.Yellow = 75
SkillChance.Green = 25
SkillChance.Grey = 0
# 怪物自动攻击的范围乘以的倍数 或者 关闭自动攻击
# 0 - 关闭(0%)
# 默认: 1 - 乘以100%
# 1.5 - 乘以150%
Rate.Creature.Aggro = 1
# 默认远程控制台的端口
Ra.Port = 3443
# 记录远程控制台连接
Ra.Log = 1
# 要求登陆的最小级别,默认: 3
Ra.MinLevel = 3
# 当客户端登陆时候输入密码错误是,是否端口客户端连接
Ra.Secure = 1
# 卸载Grids (如果里的内存够大,可以禁用,提高玩家第二次经过新Grids时候的速度)
# P.S: Grids就是地图上刷出来的东西,玩家经过一个地方 就会加载该地方的环境,离开的时候 就卸载该地方的环境
# 默认: 1 ( 卸载 grids) 0 ( 不卸载 grids)
GridUnload = 1;
############# 以下时间单位都为毫秒 #############
# 默认 socket选择时间
SocketSelectTime = 10000
# 默认 grid 清除延时
GridCleanUpDelay = 300000
# 默认 地图更新的间隔
MapUpdateInterval = 100
# 默认 天气改变的间隔
ChangeWeatherInterval = 600000
# 默认 玩家资料保存的间隔
PlayerSaveInterval = 900000
# 默认 默认世界服务器的端口(mangos.exe为世界服务器worldserver)
WorldServerPort = 8085
# 在mangos启动完毕后蜂鸣一声(通常只在Unix/Linux系统下工作)
# 默认: 1
BeepAtStart = 1
################# 以下反外挂补丁设置 AntiCheat Patch 1.5################
#外挂判断
# 1 启用, 0 关闭
Cheat.EnableProtection = 1
# 向服务器广播. 如:[CHEAT]: Player "hax0r" tried to spoof spell #5
# 设置为0 则不广播~!
Cheat.Broadcast = 1
# 封帐号 (根据作弊情况最后先不要封帐号 推荐0 防止误封).
Cheat.Ban = 0
# 踢出玩家 结合封帐号 玩家就再也进不来了
Cheat.Kick = 1
# 打开,来防外挂,不完全支持任务
# 默认是 开启
Cheat.Prevent = 1
# 记录加速 (只是记录 请GM查看记录文件)
Cheat.AntiSpeedHack = 1
#记录加速查不多 检测方式不同 (只是记录 请GM查看记录文件)
Cheat.CheckPing = 1
#检测spell 数据库 判断非法技能是否被使用 开启有点卡 默认关闭!不影响 防技能作弊功能!
Cheat.CheckSpellDB = 0
#记录文件cheatlog.txt保存在mangos根目录
#会员设置VIPlevel > 0 数据库需要添加VIPlevel
#Rate.XP.Kill.VIP = 10
#Rate.XP.Quest.VIP = 10
#Rate.XP.Explore.VIP = 10
#Rate.Drop.Money.VIP = 10
-----------------------------------------------------
Mangos开飞行点的函数
bool ChatHandler::HandleTaxiCheatCommand(const char* args)
{
WorldPacket data;
if (!*args)
return false;
int flag = atoi((char*)args);
Player *chr = getSelectedPlayer();
if (chr == NULL)
{
SendSysMessage(LANG_NO_CHAR_SELECTED);
return true;
}
if (flag != 0)
PSendSysMessage(LANG_YOU_GIVE_TAXIS, chr->GetName());
else
PSendSysMessage(LANG_YOU_REMOVE_TAXIS, chr->GetName());
char buf[256];
if (flag != 0)
{
sprintf((char*)buf,LANG_YOURS_TAXIS_ADDED,
m_session->GetPlayer()->GetName());
}
else
{
sprintf((char*)buf,LANG_YOURS_TAXIS_REMOVED,
m_session->GetPlayer()->GetName());
}
FillSystemMessageData(&data, m_session, buf);
chr->GetSession()->SendPacket(&data);
for (uint8 i=0; i<8; i++)
{
if (flag != 0)
{
m_session->GetPlayer()->SetTaximask(i, 0xFFFFFFFF);
}
else
{
m_session->GetPlayer()->SetTaximask(i, 0);
}
}
return true;
}
----------------------------------------------------------
使用SQL命令快速汉化芒果(傻瓜教程)
使用说明:
代码:
UPDATE [LOW_PRIORITY] tbl_name SET col_name1=expr1,col_name2=expr2,...
[WHERE where_definition] [LIMIT #]
UPDATE用新值更新现存表中行的列,SET子句指出哪个列要修改和他们应该被给定的值,WHERE子句,如果给出,指定哪个行应该被更新,否则所有行被更新。
此语句可用于汉化表中的值,比如你要汉化creature_template表里面entry=3的怪物.格式如下:
代码:
UPDATE creature_template SET name='食腐者' WHERE entry=3
此方法比从scp中导入数据要简单.有效,稳定得多~!!
不过有个缺点就是,当原始的英文数据不存在时,无法自动往里添加.
还有,发现有时候会出现物品全部为唯一的情况,此情况下所有装备都无法使用,物品无法重叠,解决的办法是输入一下查询
代码:
UPDATE item_template SET stackable=CONCAT(1,0);
changedone 写道:
首先,你需要wowemu汉化的数据库,比如UWC的,然后找到mangos scp2sql这个工具,先将这些scp转成sql,然后在mangos数据里创建和这些结构一样的表,表名不要和mangos本身的重复,比如任务叫quest_templatecn,然后再创建和mangos结构一样的表比如叫quest_template1
然后执行一条sql,我只写简单的,后面的自己想
insert into quest_template1 select a.title,a.details,a.objectives,b.x,b.x
from quest_templatecn a,quest_template b where a.entry=b.entry
然后
alter table item_template1 rename item_template
所有的都照这个汉化做,10 分钟搞定
-----------------------------------------------
下面是傻瓜教程
-----------------------------------------------
有些初次接触SQL的人可能不太明白,简单说一下将英文的数据库汉化的方法,
首先需要中文的数据库
然后将中文数据库的creature_template等每个表所分别对应的三个文件都改名为creature_templateGB,
然后拷贝到英文数据库中,再SQL Script中执行SQL文,就可以。
拷贝时请保证你要拷贝的数据没有人在使用,重要。
SQL文如下:
[Copy to clipboard]CODE:
/*
MySQL Data Transfer
Source Host: localhost
Source Database: mangos
Target Host: localhost
Target Database: mangos
Date: 2006-9-11 10:18:22
- npc_option
- areatrigger_template
- npc_text
- creature_template
- gameobject_template
- item_template
- quest_template
*/
- --------------------------
- 怪物/NPC 信息
- --------------------------
UPDATE LOW_PRIORITY `creature_template`, `creature_templategb`
SET `creature_template`.`name` = `creature_templategb`.name,
`creature_template`.`subname` = `creature_templategb`.`subname`
WHERE `creature_template`.`entry` = `creature_templategb`.`entry`
AND `creature_template`.`modelid` = `creature_templategb`.`modelid`;
- --------------------------
- 物品 信息
- --------------------------
UPDATE LOW_PRIORITY `gameobject_template`, `gameobject_templategb`
SET `gameobject_template`.`name` = `gameobject_templategb`.`name`
WHERE `gameobject_template`.`entry` = `gameobject_templategb`.`entry`
AND `gameobject_template`.`type` = `gameobject_templategb`.`type`
AND `gameobject_template`.`displayId` = `gameobject_templategb`.`displayId`;
- --------------------------
- 道具/任务信息
- --------------------------
UPDATE LOW_PRIORITY `item_template`, `item_templategb`
SET `item_template`.`name`=`item_templategb`.`name`,
`item_template`.`name2`=`item_templategb`.`name2`,
`item_template`.`name3`=`item_templategb`.`name3`,
`item_template`.`name4`=`item_templategb`.`name4`
WHERE `item_template`.`entry` = `item_templategb`.`entry`
AND `item_template`.`class` = `item_templategb`.`class`
AND `item_template`.`subclass` = `item_templategb`.`subclass`;
- --------------------------
- 任务 信息
- --------------------------
UPDATE LOW_PRIORITY `quest_template`, `quest_templategb`
SET `quest_template`.`Title` = `quest_templategb`.`Title`,
`quest_template`.`Details` = `quest_templategb`.`Details`,
`quest_template`.`Objectives` = `quest_templategb`.`Objectives`
WHERE `quest_template`.`entry` = `quest_templategb`.`entry`
AND `quest_template`.`Type` = `quest_templategb`.`Type`
AND `quest_template`.`ZoneId` = `quest_templategb`.`ZoneId`;
- --------------------------
- NPC 信息
- --------------------------
UPDATE LOW_PRIORITY `npc_option`, `npc_optiongb`
SET `npc_option`.`option` = `npc_optiongb`.`option`,
WHERE `npc_option`.`id` = `npc_optiongb`.`id`
AND `npc_option`.`gossip_id` = `npc_optiongb`.`gossip_id`
AND `npc_option`.`npcflag` = `npc_optiongb`.`npcflag`;
- --------------------------
- NPC/对话 信息
- --------------------------
UPDATE LOW_PRIORITY `npc_text`, `npc_textgb`
SET `npc_text`.`text0_0` = `npc_textgb`.`text0_0`,
WHERE `npc_text`.`id` = `npc_textgb`.`id`
AND `npc_text`.`text0_1` = `npc_textgb`.`text0_1`
AND `npc_text`.`lang0` = `npc_textgb`.`lang0`;
- --------------------------
- 传送 信息
- --------------------------
UPDATE LOW_PRIORITY `areatrigger_template`, `areatrigger_templategb`
SET `areatrigger_template`.`name` = `areatrigger_templategb`.`name`,
WHERE `areatrigger_template`.`id` = `areatrigger_templategb`.`id`
AND `areatrigger_template`.`target_orientation` = `areatrigger_templategb`.`target_orientation`
AND `areatrigger_template`.`target_map` = `areatrigger_templategb`.`target_map`;
-----------------------------------------------------------------------------
mangos任务系统详解
mangos任务系统包括:
areatrigger_involvedrelation 探险完成任务触发点.
creature_involvedrelation 完成任务NPC.
creature_questrelation 开始任务NPC.
gameobject_involvedrelation 完成任务的物品.
gameobject_questrelation 触发任务的物品.
item_template表中的startquest系物品触发任务序号.
quest_templatege表
entry 任务编号,同官方questcache.wdb的序号一样.
ZoneId 任务区域,在AreaTable.dbc中第一项ZoneId定义.
QuestSort 任务类型.在QuestSort.dbc定义.
1 史诗 21 哀嚎洞穴 22 季节性 23 幽暗城 24 草药学 25 修道院 41 奥达曼 61 术士 81 战士 82 萨满祭司
101 钓鱼 121 锻造 141 圣骑士 161 法师 162 盗贼 181 炼金术 182 制皮 201 工程学 221 藏宝图
241 沉没的神庙 261 猎人 262 牧师 263 德鲁伊 264 裁缝 284 特殊 304 烹饪 324 急救 344 传说
364 暗月马戏团 365 安其拉战争 366 新年 367 声望 368 天灾入侵 369 仲夏
MinLevel 可以接任务最少等级.
QuestLevel 任务等级.
Type 任务种类.在QuestInfo.dbc定义
1 精英 21 传记 41 PVP 62 团队 82 世界事件 83 传说
RequiredRaces 任务需要种族.
1 人类 2 兽人 4 矮人 8 暗夜精灵 16 亡灵 32 牛头人 64 侏儒 128 巨魔
例:如果任务人类.矮人.暗夜精灵和侏儒都可以接.这个值为1+4+8+64=77.
RequiredClass 任务需要职业.
1 战士 2 圣骑士 4 猎人 8 盗贼 16 牧师 64 萨满 128 法师 256 术士 1024 德鲁依
同种族一样.值系相加的.
RequiredSkill 任务需要技能.在SkillLine.dbc定义.
182 采集356 钓鱼171 炼金393 剥皮197 裁缝165 制皮186 采矿202 工程164 锻造 129 急救 333 附魔 185 烹饪
RequiredSkillValue 任务需要技能值.
RequiredRepFaction 任务需要阵营声望.
阵营在http://bbs.lanlong.net/viewthrea ... &extra=page%3D3有详细说明.
RequiredRepValue 任务需要阵营声望值.
LimitTime 任务限时.(秒)
SpecialFlags 任务标记.
0 普通 1 传递 2 探险 4 交谈 8 杀怪 16 限时 32 重复 64 声望
PrevQuestId 前一个任务编号.
NextQuestId 后续任务编号.
srcItem 接任务给的物品.
srcItemCount 接任务给的物品数量.
Title 任务标题.
Details 任务介绍.
Objectives 任务目标.
CompletionText 完成任务的NPC对话.
IncompleteText 未完成任务的NPC对话.
EndText 任务完成时的信息.
ObjectiveText1-4 任务目标标题.
ReqItemId1-4 任务需要装备,在item_template表的Entry.
ReqItemCount1-4 任务需要装备数量.
ReqSourceId1-4 能获得ReqItem的物品,在item_template表的Entry.
ReqSourceRef1-4 能获得ReqItem的物品的数量.
ReqCreatureOrGOId1-4 完成任务需要杀死怪物,在creature_template表的Entry.或是要使用物品gameobject ID
ReqCreatureOrGOCount1-4 完成任务需要杀死怪物数量或gameobject的数量.
ReqSpellCast1-4 完成任务需要施放的技能.
RewChoiceItemId1-6 完成任务选择奖励装备.
RewChoiceItemCount1 完成任务选择奖励装备数量.
RewItemId1-4 完成任务奖励装备.
RewItemCount1-4 完成任务奖励装备数量.
RewRepFaction1/2 完成任务获得阵营声望
RewRepValue1/2 完成任务获得阵营声望值.
RewOrReqMoney 值为正时为完成任务奖励金币.值为负时为完成任务需要金币.
RewXP 完成任务奖励经验.
RewSpell 完成任务施放的法术.
PointMapId
PointX
PointY
PointOpt
DetailsEmote 接任务时NPC表情.
IncompleteEmote 未完成任务NPC表情.
CompleteEmote 完成任务NPC表情.
-------------------------------------------------------
添加职业任务技能.txt
四个关键字:
npc_trainer/creature_template/技能代码/技能训练师NPC代码
npc_trainer表中存放有技能训练师NPC代码、技能代码、学习该技能所需金钱(单位铜)、上接技能、学习该技能所需角色等级
creature_template中存放着技能训练师NPC代码
技能代码指的是学习该技能的技能代码,并非使用该技能的技能代码!!!
-----------------------------------------------------------
让Mangos 支持 1.12.3 修正方法
**********
DBCfmt.cpp
**********
// const char AreaTableEntryfmt[]="ixinxxxxxxixxxxxxxxxx";
const char AreaTableEntryfmt[]="ixinxxxxxxixxxxxxxxxxxxxx"; // 1.12.3 new structure
[...]
// const char ItemSetEntryfmt[]=& quot;dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiiiiiiiii
iiiiiiiii";
const char ItemSetEntryfmt[]="dxxxxxxxxxxxxxxxxxxxxxxxxxxiiiiiiiiiiiiiiiiii"; // 1.12.3 new structure
***************
WorldSocket.cpp
***************
//Create Addon Packet
// sAddOnHandler.BuildAddonPacket(&recvPacket, &SendAddonPacked, recvPacket.rpos());
SendAddonPacked.Initialize(SMSG_ADDON_INFO); // fix banned addon
SendAddonPacked << uint8( 0x41 ); // fix banned addon
SendAddonPacked << uint8( 0x64 ); // fix banned addon
SendAddonPacked << uint8( 0x64 ); // fix banned addon
SendAddonPacked << uint8( 0x6f ); // fix banned addon
SendAddonPacked << uint8( 0x6e ); // fix banned addon
SendAddonPacked << uint8( 0x00 ); // fix banned addon
SendPacket(&SendAddonPacked);
**********
Master.cpp
**********
sLog.outTitle( " MMMMMM");
sLog.outTitle( " Inofficial MaNGOS modification for 1.12.3.");
sLog.outTitle( " It can have additional problems and unstability.");
sLog.outTitle( " For this version there is NO support.\n\n");
********************
CharacterHandler.cpp
********************
data.Initialize(SMSG_CHAR_CREATE);
// data << (uint8)0x34;
data << (uint8)0x39; // fix for 1.12.3
[...]
std::string motd_1 = std::string(sWorld.GetMotd()) + "\n|cffff6060Inofficial MaNGOS modification for 1.11.x.\nIt can have additional problems and unstability.\nFor this version there is no support.|r";
sChatHandler.FillSystemMessageData(&data, NULL, motd_1.c_str());
// sChatHandler.FillSystemMessageData(&data, this, sWorld.GetMotd());
SendPacket( &data );
**************
UpdateFields.h
**************
PLAYER_FARSIGHT = 0x1CE + UNIT_END + 64,
...
PLAYER_END = 0x3F4 + PLAYER_SELECTION + 64,
************