1
0
forked from metin2/server
server/game/src/questlua_mgmt.cpp
2022-03-05 12:44:06 +02:00

63 lines
1.2 KiB
C++

#include "stdafx.h"
#include "constants.h"
#include "questmanager.h"
#include "monarch.h"
#include "desc_client.h"
namespace quest
{
int mgmt_monarch_state(lua_State* L)
{
if ( lua_isnumber(L, 1) == false )
{
return 0;
}
int idx = (int)lua_tonumber(L, 1);
if ( idx < 1 || idx > 3 )
{
return 0;
}
TMonarchInfo* info = CMonarch::instance().GetMonarch();
lua_pushstring(L, info->name[idx]);
lua_pushnumber(L, info->pid[idx]);
lua_pushstring(L, info->date[idx]);
lua_pushnumber(L, info->money[idx]);
return 4;
}
int mgmt_monarch_change_lord(lua_State* L)
{
if ( lua_isnumber(L, 1) == false || lua_isnumber(L, 2) == false )
{
return 0;
}
TPacketChangeMonarchLord info;
info.bEmpire = (BYTE)lua_tonumber(L, 1);
info.dwPID = (DWORD)lua_tonumber(L, 2);
db_clientdesc->DBPacket(HEADER_GD_CHANGE_MONARCH_LORD, 0, &info, sizeof(info));
return 0;
}
void RegisterMgmtFunctionTable()
{
luaL_reg mgmt_functions[] =
{
{ "monarch_state", mgmt_monarch_state },
{ "monarch_change_lord", mgmt_monarch_change_lord },
{ NULL, NULL}
};
CQuestManager::instance().AddLuaFunctionTable("mgmt", mgmt_functions);
}
}