//GameServer 1.00.77 JPN - Completed
//GameServer 1.00.90 JPN - Completed -> All hidden functions and registers fixed *-* but initial .cpp classes(objectstruct, bill etc) wrong position :(
#include "stdafx.h"
#include "user.h"
#include "logproc.h"
#include "GameServer.h"
#include "GameMain.h"
#include "MapServerManager.h"
#include "gObjMonster.h"
#include "ObjCalCharacter.h"
#include "ObjUseSkill.h"
#include "DarkSpirit.h"
#include "DSProtocol.h"
#include "DevilSquare.h"
#include "protocol.h"
#include "AcceptIp.h"
#include "BattleGround.h"
#include "MonsterAttr.h"
#include "MixSystem.h"
#include "PacketChecksum.h"
#include "QuestInfo.h"
#include "EledoradoEvent.h"
#include "TNotice.h"
#include "GMMng.h"
#include "zzzmathlib.h"
#include "Gate.h"
#include "ObjAttack.h"
#include "SProtocol.h"
#include "MultiAttackHAckCheck.h"
#include "BattleSoccer.h"
#include "BattleSoccerManager.h"
#include "TUnion.h"
#include "TMonsterAIElement.h"
#include "..\common\winutil.h"
#include "Weapon.h"
#include "CrywolfSync.h"
#include "Kanturu.h"
#include "CashShop.h"
#include "Mercenary.h"
#include "KalimaGate.h"
#include "KanturuBattleUserMng.h"
#include "Guardian.h"
#include "SProtocol.h"
//#include "GameServerAuth.h"
#include "MoveCommand.h"
#include "ItemAddOption.h"
#include "StatMng.h"
#include "..\common\SetItemOption.h"
#include "SkillAdditionInfo.h"
#include "CashItemPeriodSystem.h"
#include "TMonsterSkillManager.h"
//#if(_GSCS==1)
#include "CrywolfAltar.h"
#include "CrywolfStatue.h"
#include "LifeStone.h"
#include "GuardianStatue.h"
#include "CannonTower.h"
#include "CastleCrown.h"
#include "CastleCrownSwitch.h"
//#endif
#include "QuestUtil.h"
#include "IllusionTempleEvent.h"
#include "BuffEffectSlot.h"
#include "MasterLevelSkillTreeSystem.h"
#include "MasterLevelSystem.h"
#include "Raklion.h"
#include "RaklionUtil.h"
#include "RaklionBattleUserMng.h"
#include "PcBangPointSystem.h"
#include "CastleSiegeSync.h"
#include "TemporaryUserManager.h"
#ifdef NPVP
#include "NewPVP.h"
#endif
#ifdef GENS
#include "GensSystem.h"
#endif
#ifdef IMPERIAL
#include "ImperialGuardian.h"
#endif
#ifdef PERIOD
#include "PeriodItemEx.h"
#endif
#ifdef GAMESHOP
#include "GameShop.h"
#endif
#ifdef DP
#include "Doppelganger.h"
#endif
#ifdef WZQUEST
#include "QuestExpProgMng.h"
#endif
#ifdef __MAKELO__
#include "OfflineAttack.h"
#endif
#ifdef __CUSTOMS__
#include "ResetSystem.h"
#include "PVPZone.h"
#include "ClassCalc.h"
#include "ShopPointEx.h"
#ifdef QUESTSYSTEM
#include "QuestSystem.h"
#endif
#endif
#include "LuckyItem.h"
#include "MUHelper.h"
#include "OfflineTrade.h"
#include "LogToFile.h"
#ifdef OFFEXP
#include "OffExp.h"
#endif
int ChangeCount;
int lOfsChange;
int GuildUserCount;
int GuildUserOfs;
int GuildInfoCount;
int GuildInfoOfs;
int skillSuccess;
int gCurConnectUser;
int gDisconnect;
int gObjTotalUser;
int gItemLoopMax;
int gItemLoop;
int gItemLoop2;
int gObjCSFlag;
#include "ChaosCastle.h"
#include "..\include\readscript.h"
CViewportGuild ViewGuildMng;
int gObjCount;
int gObjMonCount;
int gObjCallMonCount;
MessageStateMachine gSMMsg[OBJMAX][MAX_MONSTER_SEND_MSG];
ExMessageStateMachine gSMAttackProcMsg[OBJMAX][MAX_MONSTER_SEND_ATTACK_MSG];
OBJECTSTRUCT* ObjectStruct = NULL; // pointer changed to 0
OBJECTSTRUCT* gObj;
#pragma init_seg(".CRT$XCB")
OBJECTSTRUCT_CLASS::OBJECTSTRUCT_CLASS() // (0050F940 -> classes related)
{
ObjectStruct = new OBJECTSTRUCT[OBJMAX+1]; // memory dynamically allocated
gObj = &ObjectStruct[1]; //Move Data -> Start from 1 (It's like the 0 position doesn't exist)
}
OBJECTSTRUCT_CLASS::~OBJECTSTRUCT_CLASS() // (0050FA10 -> classes related)
{
delete [] ObjectStruct; // memory freed up
ObjectStruct = NULL; // pointer changed to 0
}
OBJECTSTRUCT_CLASS g_OBJECTSTRUCT_CLASS; //extern
HANDLE hThread_gObjMove;
BYTE gObjMonsterInventoryInsertItem(LPOBJ lpObj, int type, int index, int level, int op1=0, int op2=0, int op3=0);
#ifdef PCBANG
CPCBangPointTimer g_PCBangPointTimer;
#endif
struct PWMSG_COUNT
{
struct PWMSG_HEAD h;
BYTE count;
};
struct PBMSG_COUNT
{
struct PBMSG_HEAD h;
BYTE count;
};
struct PMSG_ITEMVIEWPORTCREATE
{
BYTE NumberH;
BYTE NumberL;
BYTE px;
BYTE py;
BYTE ItemInfo[MAX_ITEM_INFO];
};
struct PMSG_VIEWPORTCREATE
{
BYTE NumberH;
BYTE NumberL;
BYTE X;
BYTE Y;
BYTE CharSet[18];
char Id[10];
BYTE TX;
BYTE TY;
BYTE DirAndPkLevel;
BYTE btViewSkillStateCount;
BYTE btViewSkillState[MAX_STATE_COUNT];
};
struct PMSG_VIEWPORTCREATE_CHANGE
{
BYTE NumberH;
BYTE NumberL;
BYTE X;
BYTE Y;
BYTE SkinH;
BYTE SkinL;
char Id[10];
BYTE TX;
BYTE TY;
BYTE DirAndPkLevel;
BYTE CharSet[18]; //Season 2.5 add-on
BYTE btViewSkillStateCount;
BYTE btViewSkillState[MAX_STATE_COUNT];
};
struct PMSG_VIEWPORTDESTROY
{
BYTE NumberH;
BYTE NumberL;
};
struct PMSG_MONSTER_VIEWPORTCREATE
{
BYTE NumberH;
BYTE NumberL;
BYTE Type_HI;
BYTE Type_LO;
BYTE X;
BYTE Y;
BYTE TX;
BYTE TY;
BYTE Path;
BYTE btViewSkillStateCount;
BYTE btViewSkillState[MAX_STATE_COUNT];
};
struct PMSG_CALLMONSTER_VIEWPORTCREATE
{
BYTE NumberH;
BYTE NumberL;
BYTE Type_HI;
BYTE Type_LO;
BYTE X;
BYTE Y;
BYTE TX;
BYTE TY;
BYTE Path;
BYTE Id[10];
BYTE btViewSkillStateCount;
BYTE btViewSkillState[MAX_STATE_COUNT];
};
struct PMSG_GUILDVIEWPORT_USER
{
BYTE NumberH;
BYTE NumberL;
BYTE GNumberH;
BYTE GNumberL;
};
struct PMSG_GUILDVIEWPORT
{
BYTE NumberH;
BYTE NumberL;
char GuildName[8];
BYTE Mark[32];
};
BYTE GuildInfoBuf[10000];
BYTE GuildUserBuf[10000];
BYTE SendGBufChange[5000];
PMSG_VIEWPORTCREATE pViewportCreate;
PMSG_VIEWPORTCREATE_CHANGE pViewportCreateChange;
PMSG_VIEWPORTDESTROY pViewportDestroy;
PMSG_MONSTER_VIEWPORTCREATE pMonsterViewportCreate;
PMSG_CALLMONSTER_VIEWPORTCREATE pCallMonsterViewportCreate;
#pragma pack(1)
PWMSG_COUNT pItemCount;
PMSG_ITEMVIEWPORTCREATE pItemViewportCreate;
PMSG_VIEWPORTDESTROY pItemViewportDestroy;
#pragma pack()
short RoadPathTable[MAX_ROAD_PATH_TABLE] = { -1, -1, 0, -1, 1, -1, 1, 0, 1, 1, 0, 1, -1, 1, -1, 0 };
//#if(_GSCS==0)
int gServerMaxUser=1000; //500
//#else
//int gServerMaxUser=1500;
//#endif
BOOL g_EnergyCheckOff=1;
struct PMSG_EX_SKILL_COUNT
{
struct PBMSG_HEAD h;
BYTE NumberH;
BYTE NumberL;
BYTE Type;
BYTE Count;
};
#define OBJECT_POINTER(aIndex) ((aIndex * OBJECT_SIZE) + OBJECT_BASE)
void gObjSkillUseProcTime500(LPOBJ lpObj) //
{
if ( lpObj->SkillHellFire2State != 0 )
{
DWORD dwCurrentTick = GetTickCount(); //2
lpObj->SkillHellFire2Count = (dwCurrentTick - lpObj->SkillHellFire2Time) / 500;
if ( lpObj->SkillHellFire2Count > 12 )
{
lpObj->SkillHellFire2Count = 12;
}
if(dwCurrentTick >= (lpObj->SkillHellFire2Time + 6000))
{
CMagicInf * lpMagic = gObjGetMagicSearch(lpObj,0x28);
if(lpMagic != 0)
{
gObjUseSkill.RunningSkill(lpObj->m_Index,0,lpMagic,0);
}
}
else
{
int mana = MagicDamageC.SkillGetMana(40); //3
mana = mana * 20 / 100;
mana -= mana * lpObj->m_MPSkillOpt.MpsDecreaseMana / 100; //season4 add-on
if(mana < 1) //s4 add-on
{
mana = 1;
}
BOOL bSuccess = TRUE;
if ( mana > lpObj->Mana )
{
bSuccess = FALSE;
int count = 0;
while ( true )
{
count++;
if ( gObjIsConnected(lpObj) == FALSE )
{
LogAdd("??[CHECK_LOG_INFINITY] gObjIsConnected() error %s %d", __FILE__, __LINE__);
break;
}
if ( count > 100 )
{
LogAdd("??[CHECK_LOG_INFINITY] ( _count > 100 ) error %s %d", __FILE__, __LINE__);
break;
}
int pos = gObjGetManaItemPos(lpObj->m_Index);
if ( pos == -1 )
{
break;
}
PMSG_USEITEM pMsg;
pMsg.inventoryPos = pos;
pMsg.invenrotyTarget = 0;
CGUseItemRecv(&pMsg, lpObj->m_Index);
if ( mana <= lpObj->Mana )
{
bSuccess = TRUE;
break;
}
}
}
if ( bSuccess == FALSE )
{
CMagicInf * lpMagic = gObjGetMagicSearch(lpObj, 40);
if (lpMagic != NULL )
{
gObjUseSkill.RunningSkill(lpObj->m_Index, 0, lpMagic, 0
没有合适的资源?快使用搜索试试~ 我知道了~
muOnline-season6.zip_MU源码_Y7ZW_muonline server_poolzts_season6
共794个文件
h:393个
cpp:346个
ico:7个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 2 下载量 19 浏览量
2022-07-14
19:21:16
上传
评论
收藏 1.97MB ZIP 举报
温馨提示
奇迹MU season6 仿真服务器, C++ 完整源码
资源详情
资源评论
资源推荐
收起资源包目录
muOnline-season6.zip_MU源码_Y7ZW_muonline server_poolzts_season6 (794个子文件)
zDataServer.aps 35KB
Resource.aps 19KB
GameServer.aps 16KB
user.cpp 572KB
protocol.cpp 505KB
GameMain.cpp 182KB
MasterLevelSkillTreeSystem.cpp 173KB
zzzitem.cpp 163KB
CastleSiege.cpp 159KB
ObjUseSkill.cpp 149KB
MixSystem.cpp 149KB
DSProtocol.cpp 140KB
BloodCastle.cpp 120KB
gObjMonster.cpp 119KB
ChaosCastle.cpp 95KB
ObjAttack.cpp 94KB
protocol.cpp 93KB
Doppelganger.cpp 84KB
IllusionTempleProcess.cpp 71KB
GMMng.cpp 69KB
EDSProtocol.cpp 68KB
ObjCalCharacter.cpp 68KB
zzzitem.cpp 67KB
QuestExpProgMng.cpp 66KB
Event.cpp 61KB
ImperialGuardian.cpp 59KB
NpcTalk.cpp 58KB
GensSystem.cpp 58KB
Interface.cpp 57KB
ItemSocketOptionSystem.cpp 55KB
ItemBagEx.cpp 48KB
QuestExpUserMng.cpp 44KB
ProbabilityItemBag.cpp 43KB
CashShop.cpp 42KB
JewelOfHarmonySystem.cpp 41KB
DarkSpirit.cpp 41KB
QuestInfo.cpp 40KB
QuestSystem.cpp 40KB
GameShop.cpp 37KB
NewPVP.cpp 37KB
NewCashShop.cpp 36KB
DevilSquare.cpp 36KB
IllusionTempleEvent.cpp 35KB
Crywolf.cpp 34KB
QuestExpLuaBind.cpp 33KB
MagicDamage.cpp 31KB
PCBangPointSystem.cpp 30KB
PeriodItemEx.cpp 30KB
giocp.cpp 27KB
LuckyItem.cpp 27KB
KanturuBattleOfMaya.cpp 26KB
CastleDBSet.cpp 26KB
giocp.cpp 26KB
TMonsterSkillElement.cpp 25KB
BuffEffectSlot.cpp 25KB
ObjBaseAttack.cpp 24KB
MonsterItemMng.cpp 24KB
CashItemPeriodSystem.cpp 24KB
giocp.cpp 22KB
GameServer.cpp 22KB
Item.cpp 21KB
TMonsterAIElement.cpp 21KB
ResetSystem.cpp 21KB
SetItemOption.cpp 21KB
SProtocol.cpp 21KB
Kanturu.cpp 20KB
EledoradoEvent.cpp 20KB
MapClass.cpp 20KB
WinConsole.cpp 20KB
SkillAdditionInfo.cpp 19KB
OffExp.cpp 19KB
KalimaGate.cpp 19KB
ItemAddOption.cpp 18KB
Raklion.cpp 18KB
XMasAttackEvent.cpp 17KB
PartyClass.cpp 17KB
MasterLevelSystem.cpp 17KB
OfflineTrade.cpp 16KB
TemporaryUserManager.cpp 16KB
CharDBSet.cpp 16KB
RingAttackEvent.cpp 16KB
OfflineAttack.cpp 15KB
RaklionBattleOfSelupan.cpp 15KB
BuffEffect.cpp 15KB
MonsterHerd.cpp 15KB
MoveCommand.cpp 15KB
AccountCharDBSet.cpp 15KB
DevilSquareGround.cpp 15KB
CraftSystem.cpp 15KB
MapServerManager.cpp 15KB
QuestExpInfo.cpp 15KB
TMonsterSkillManager.cpp 14KB
HacktoolBlockEx.cpp 14KB
JewelsEx.cpp 13KB
RaklionSelupan.cpp 13KB
User.cpp 13KB
MonsterAttr.cpp 13KB
TMonsterAIGroup.cpp 13KB
CastleDeepEvent.cpp 13KB
JewelMixSystem.cpp 13KB
共 794 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
weixin_42651887
- 粉丝: 75
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2