Skip to content

Commit 4aaed86

Browse files
committed
Added more missing functions
1 parent 414ffb7 commit 4aaed86

File tree

6 files changed

+67
-4
lines changed

6 files changed

+67
-4
lines changed

VCMP-LUA/Core.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ extern "C" EXPORT unsigned int VcmpPluginInit(PluginFuncs * pluginFuncs, PluginC
3333
g_Calls = pluginCalls;
3434
g_Info = pluginInfo;
3535

36-
pluginInfo->pluginVersion = 0x1001;
36+
pluginInfo->pluginVersion = 0x2401;
3737
pluginInfo->apiMajorVersion = PLUGIN_API_MAJOR;
3838
pluginInfo->apiMinorVersion = PLUGIN_API_MINOR;
3939

VCMP-LUA/include/vcmp.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@ typedef struct {
3939
uint32_t flags;
4040
} ServerSettings;
4141

42-
#define PLUGIN_API_MAJOR 2
43-
#define PLUGIN_API_MINOR 0
44-
4542
typedef struct {
4643
uint32_t structSize;
4744
uint32_t pluginId;

VCMP-LUA/vcmpWrap/Classes/Player.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@ void Player::msgAll(const std::string& msg, sol::variadic_args args)
4545
player.msg(msg, args);
4646
}
4747

48+
void Player::announceAll(const std::string& msg, sol::variadic_args args)
49+
{
50+
for(auto& player : s_Players)
51+
player.announce(msg, args);
52+
}
53+
4854
Player::Player(int32_t id)
4955
: m_ID(id), m_LuaData(Lua.create_table()) {
5056

@@ -57,6 +63,12 @@ void Player::msg(const std::string& msg, sol::variadic_args args) {
5763
g_Funcs->SendClientMessage(m_ID, color, msg.c_str());
5864
}
5965

66+
void Player::announce(const std::string& msg, sol::variadic_args args)
67+
{
68+
int32_t type = args.size() > 0 ? args[0] : 0;
69+
g_Funcs->SendGameMessage(m_ID, type, msg.c_str());
70+
}
71+
6072
bool Player::getOption(vcmpPlayerOption option) const {
6173
return g_Funcs->GetPlayerOption(m_ID, option);
6274
}
@@ -489,9 +501,11 @@ void Player::Init(sol::state* L) {
489501
userdata["count"] = []() { return s_Players.size(); };
490502
userdata["getActive"] = sol::overload([]() -> sol::table { return Player::getActive(false); }, &Player::getActive);
491503
userdata["msgAll"] = &Player::msgAll;
504+
userdata["announceAll"] = &Player::announceAll;
492505

493506
/*** METHODS ***/
494507
userdata["msg"] = &Player::msg;
508+
userdata["announce"] = &Player::announce;
495509
userdata["getOption"] = &Player::getOption;
496510
userdata["setOption"] = &Player::setOption;
497511
userdata["isPlayerStreamed"] = &Player::isPlayerStreamed;

VCMP-LUA/vcmpWrap/Classes/Player.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class Player {
1717
static inline const char* getStaticType() { return "Player"; }
1818
static sol::table getActive(bool spawned = false);
1919
static void msgAll(const std::string& msg, sol::variadic_args args);
20+
static void announceAll(const std::string& msg, sol::variadic_args args);
2021

2122
/*** @Lua meta-functions & extra ***/
2223
bool operator==(const Player& other) { return this->m_ID == other.m_ID; }
@@ -27,6 +28,8 @@ class Player {
2728

2829
/*** METHODS ***/
2930
void msg(const std::string&, sol::variadic_args);
31+
void announce
32+
(const std::string&, sol::variadic_args);
3033
bool getOption(vcmpPlayerOption) const;
3134
void setOption(vcmpPlayerOption, bool);
3235
bool isPlayerStreamed(Player*) const;

VCMP-LUA/vcmpWrap/Classes/Server.cpp

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,30 @@ float Server::getVehicleRespawnHeight()
157157
return g_Funcs->GetVehiclesForcedRespawnHeight();
158158
}
159159

160+
sol::object Server::getWastedSettings()
161+
{
162+
sol::table settings = Lua.create_table();
163+
164+
uint32_t deathTimer, fadeTimer, fadeColour, corpseFadeStart, corpseFadeTime;
165+
float fadeInSpeed, fadeOutSpeed;
166+
167+
g_Funcs->GetWastedSettings(&deathTimer, &fadeTimer, &fadeInSpeed, &fadeOutSpeed, &fadeColour, &corpseFadeStart, &corpseFadeTime);
168+
settings["deathTimer"] = deathTimer;
169+
settings["fadeTimer"] = fadeTimer;
170+
settings["fadeInSpeed"] = fadeInSpeed;
171+
settings["fadeOutSpeed"] = fadeOutSpeed;
172+
settings["fadeColour"] = fadeColour;
173+
settings["corpseFadeStart"] = corpseFadeStart;
174+
settings["corpseFadeTime"] = corpseFadeTime;
175+
176+
return settings;
177+
}
178+
179+
int32_t Server::getKillDelay()
180+
{
181+
return g_Funcs->GetKillCommandDelay();
182+
}
183+
160184
void Server::setFallTimer(uint16_t value)
161185
{
162186
g_Funcs->SetFallTimer(value);
@@ -207,6 +231,24 @@ void Server::setVehicleRespawnHeight(float value)
207231
g_Funcs->SetVehiclesForcedRespawnHeight(value);
208232
}
209233

234+
void Server::setWastedSettings(sol::table settings)
235+
{
236+
g_Funcs->SetWastedSettings(
237+
settings.get_or("deathTimer", 0),
238+
settings.get_or("fadeTimer", 0),
239+
settings.get_or("fadeInSpeed", .0f),
240+
settings.get_or("fadeOutSpeed", .0f),
241+
settings.get_or("fadeColour", 0),
242+
settings.get_or("corpseFadeStart", 0),
243+
settings.get_or("corpseFadeTime", 0)
244+
);
245+
}
246+
247+
void Server::setKillDelay(int32_t delay)
248+
{
249+
g_Funcs->SetKillCommandDelay(delay);
250+
}
251+
210252
bool Server::banIP(char* ip)
211253
{
212254
if (isIPBanned(ip))
@@ -1182,6 +1224,8 @@ void Server::Init(sol::state* L) {
11821224
usertype["gameSpeed"] = sol::property(&Server::getGameSpeed, &Server::setGameSpeed);
11831225
usertype["flightAltitude"] = sol::property(&Server::getFlightAltitude, &Server::setFlightAltitude);
11841226
usertype["vehicleRespawnHeight"] = sol::property(&Server::getVehicleRespawnHeight, &Server::setVehicleRespawnHeight);
1227+
usertype["wastedSettings"] = sol::property(&Server::getWastedSettings, &Server::setWastedSettings);
1228+
usertype["killDelay"] = sol::property(&Server::getKillDelay, &Server::setKillDelay);
11851229

11861230
usertype["getSkinID"] = [](std::string name) -> int {
11871231
return GetSkinID(name.c_str());
@@ -1412,6 +1456,7 @@ void Server::Init(sol::state* L) {
14121456
}
14131457

14141458
/*****************************************************************************************************/
1459+
14151460
std::string Map::GetDistrictName(float x, float y) {
14161461
if (x > -1613.03f && y > 413.218f && x < -213.73f && y < 1677.32f)
14171462
return "Downtown Vice City";

VCMP-LUA/vcmpWrap/Classes/Server.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ class Server {
4545
static float getGameSpeed();
4646
static float getFlightAltitude();
4747
static float getVehicleRespawnHeight();
48+
static sol::object getWastedSettings();
49+
static int32_t getKillDelay();
4850

4951
static void setFallTimer(uint16_t);
5052
static void setTimeRate(int32_t);
@@ -56,6 +58,8 @@ class Server {
5658
static void setGameSpeed(float);
5759
static void setFlightAltitude(float);
5860
static void setVehicleRespawnHeight(float);
61+
static void setWastedSettings(sol::table);
62+
static void setKillDelay(int32_t);
5963

6064
/*** PLAYER ***/
6165
static bool banIP(char*);

0 commit comments

Comments
 (0)