- 精华
- 阅读权限
- 100
- 好友
- 相册
- 分享
- 听众
- 收听
- 注册时间
- 2012-3-23
- 在线时间
- 小时
- 最后登录
- 1970-1-1
|
本帖最后由 游兰 于 2012-3-30 11:13 编辑
在gameserver.log有这些记录:
=============
[14:09:33]Program Start At : 2010-5-3 14:09:33
[01:54:20]Program Start At : 2012-3-29 1:54:20
[01:54:54]排行数据库查询失败
[01:55:18]Program Start At : 2012-3-29 1:55:18
[01:55:25]物品数据库查询失败
[01:55:36]排行数据库查询失败
[01:55:54]物品数据库查询失败
[01:55:54]KmTcpServer::bind(1000) Failed
[02:00:16]Program Start At : 2012-3-29 2:00:16
[02:00:34]排行数据库查询失败
[02:00:52]物品数据库查询失败
[03:01:01]排行数据库查询失败
[04:45:42]Program Start At : 2012-3-29 4:45:42
[07:06:20]Program Start At : 2012-3-29 7:06:20
[07:19:46]缺少物品, 名称=草帽
[17:42:36]Program Start At : 2012-3-29 17:42:36
[17:52:55]缺少物品, 名称=包子
1. 对应的猜测:在gameserver代码中有这么一段
=====================
//---------------------------------------------------------------------------
// 读取参数设定文件
void __fastcall TMainForm::LoadIniFile()
{
char Buf[400];
char Server[200];
char Catalog[200];
// 读取设定文件
if (!m_IniFile.Load("\\GameServer.ini"))
{
ShowMessage("Can't Open GameServer.ini");
Close();
}
// 数据服务器
m_IniFile.GetString("DataServer", "Server", "", Server);
m_IniFile.GetString("DataServer", "Catalog", "", Catalog);
sprintf(Buf, "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=%s;Data Source=%s",
Catalog, Server);
PlayerQuery->ConnectionString = Buf;
MsgLogQuery->ConnectionString = Buf;
ItemQuery->ConnectionString = Buf;
ItemLogQuery->ConnectionString = Buf;
GoldLogQuery->ConnectionString = Buf;
QuestionQuery->ConnectionString = Buf;
// 游戏服务器
m_IniFile.GetInteger("GameServer", "Port", 0, &m_GamePort);
m_IniFile.GetInteger("GameServer", "Version", 0, &m_Version);
m_IniFile.GetInteger("GameServer", "FreePlay", 0, &m_FreePlay);
m_IniFile.GetInteger("GameServer", "LoginLimit", 500, &m_LoginLimit);
m_IniFile.GetInteger("GameServer", "AutoSaveTime", 3600, &m_AutoSaveTime);
// 问题服务器
m_IniFile.GetInteger("Question", "AnswerTime", 20, &m_AnswerTime);
m_IniFile.GetInteger("Question", "QuestionMin", 3, &m_QuestionMin);
m_IniFile.GetInteger("Question", "QuestionMax", 20, &m_QuestionMax);
// 奖励
m_IniFile.GetInteger("Award", "问答奖励题数", 10, &m_QuestionNum);
m_IniFile.GetInteger("Award", "问答奖励经验", 10, &m_QuestionExp);
m_IniFile.GetInteger("Award", "问答奖励金钱", 100, &m_QuestionGold);
m_IniFile.GetInteger("Award", "变身奖励类型", 0, &m_ChangeKind);
m_IniFile.GetInteger("Award", "变身奖励索引", 0, &m_ChangeIndex);
// 记录
m_IniFile.GetInteger("Log", "保存聊天记录", 1, &m_SaveChatLog);
m_IniFile.GetInteger("Log", "保存物品记录", 10000, &m_SaveItemLog);
m_IniFile.GetInteger("Log", "保存金钱记录", 10000, &m_SaveGoldLog);
// 作弊
m_IniFile.GetInteger("Cheat", "变速检测时间", 0, &m_SpeedCheck);
m_IniFile.GetInteger("Cheat", "屏蔽作弊帐号", 0, &m_BlockCheat);
// 伤害
m_IniFile.GetInteger("Hit", "物理伤害倍数", 100, &m_AttackLife);
m_IniFile.GetInteger("Hit", "法术伤害倍数", 100, &m_MagicLife);
m_IniFile.GetInteger("Hit", "诅咒伤害倍数", 100, &m_CurseLife);
m_IniFile.GetInteger("Hit", "击中受伤频率", 10, &m_BehitRate);
// 任务
m_IniFile.GetInteger("Task", "最大任务经验", 80000, &m_MaxTaskExp);
m_IniFile.GetInteger("Task", "最大任务道德", 100, &m_MaxTaskMoral);
m_IniFile.GetInteger("Task", "最大任务元神", 900, &m_MaxTaskNumen);
m_IniFile.GetInteger("Task", "最大任务金钱", 80000, &m_MaxTaskGold);
m_IniFile.GetInteger("Task", "申请转区费用", 10000000, &m_ChangeAreaCost);
// 物品
m_IniFile.GetInteger("Item", "卖出物品折价", 4, &m_ItemCost);
m_IniFile.GetInteger("Item", "物品消失时间", 30, &m_VanishTime);
m_IniFile.GetInteger("Item", "物品保护时间", 10, &m_ProtectTime);
m_IniFile.GetInteger("Item", "物品掉落概率", 10, &m_ItemDropNum);
m_IniFile.GetInteger("Item", "金钱掉落数量", 10, &m_GoldDropNum);
m_IniFile.GetInteger("Item", "金钱掉落概率", 10, &m_NpcDropGold);
// 经验倍数
m_IniFile.GetInteger("Exp", "战斗经验倍数", 10, &m_FightExp);
m_IniFile.GetInteger("Exp", "技能经验倍数", 2, &m_SkillExp);
m_IniFile.GetInteger("Exp", "组队经验倍数", 20, &m_TeamExp);
m_IniFile.GetInteger("Exp", "得到元神倍数", 1, &m_NumenExp);
m_IniFile.GetInteger("Exp", "减少经验倍数", 4, &m_ExpLevel);
// 死亡惩罚
m_IniFile.GetInteger("Die", "死亡惩罚开关", 1, &m_DiePunish);
m_IniFile.GetInteger("Die", "死亡丢失金钱", 1, &m_DieGold);
m_IniFile.GetInteger("Die", "死亡丢失经验", 1, &m_DieExp);
m_IniFile.GetInteger("Die", "死亡丢失元神", 1, &m_DieNumen);
m_IniFile.GetInteger("Die", "死亡丢失PK值", 1, &m_DiePkValue);
m_IniFile.GetInteger("Die", "死亡丢失物品", 1, &m_DieDropItem);
// 怪物设定
m_IniFile.GetInteger("Monster", "怪物视野范围", 50000, &m_LookRange);
m_IniFile.GetInteger("Monster", "怪物复活时间", 100, &m_ReliveTime);
m_IniFile.GetInteger("Monster", "怪物生命倍数", 100, &m_LifePercent);
m_IniFile.GetInteger("Monster", "怪物攻击倍数", 100, &m_AttackPercent);
m_IniFile.GetInteger("Monster", "怪物防御倍数", 100, &m_DefendPercent);
m_IniFile.GetInteger("Monster", "怪物命中倍数", 100, &m_AccuracyPercent);
m_IniFile.GetInteger("Monster", "怪物闪避倍数", 100, &m_DodgePercent);
m_IniFile.GetInteger("Monster", "怪物法攻倍数", 100, &m_MagicAttackPercent);
m_IniFile.GetInteger("Monster", "怪物法防倍数", 100, &m_MagicDefendPercent);
m_IniFile.GetInteger("Monster", "怪物走动频率", 10, &m_NpcWalkTime);
// 读取排行榜
QueryTopTen();
// 读取物品列表
ReadItemTable();
// 读取掉宝设定
m_ItemFile.Load("\\DropItem.txt");
// 读取任务物品
m_TaskItem.Load("\\TaskItem.txt");
// 词汇过滤
LoadAbuseFile("\\Abuse.txt");
}
=======================
就是SQLServer数据库没有相应的数据!而且很明显,打怪掉宝文件DropItem.txt、任务物品文件TaskItem.txt都没有读取!
大家有兴趣可以讨论一下不。 |
|