feat: Added onPlayerChange** events

This commit is contained in:
AURUMVORXX
2024-11-04 12:57:17 +03:00
parent 6d2508784a
commit 5dc063fff1
4 changed files with 149 additions and 1 deletions

View File

@@ -126,4 +126,13 @@ addEvent('onExit')
addEvent('onTick') addEvent('onTick')
addEvent('onTime') addEvent('onTime')
addEvent('onBan') addEvent('onBan')
addEvent('onUnban') addEvent('onUnban')
addEvent('onPlayerChangeColor')
addEvent('onPlayerChangeFocus')
addEvent('onPlayerChangeHealth')
addEvent('onPlayerChangeMana')
addEvent('onPlayerChangeMaxHealth')
addEvent('onPlayerChangeMaxMana')
addEvent('onPlayerChangeWeaponMode')
addEvent('onPlayerChangeWorld')

View File

@@ -36,4 +36,13 @@ void registerSquirrelEvents()
addEventHandler("onTime", sq_onTime, 0); addEventHandler("onTime", sq_onTime, 0);
addEventHandler("onBan", sq_onBan, 0); addEventHandler("onBan", sq_onBan, 0);
addEventHandler("onUnban", sq_onUnban, 0); addEventHandler("onUnban", sq_onUnban, 0);
addEventHandler("onPlayerChangeColor", sq_onPlayerChangeColor, 0);
addEventHandler("onPlayerChangeFocus", sq_onPlayerChangeFocus, 0);
addEventHandler("onPlayerChangeHealth", sq_onPlayerChangeHealth, 0);
addEventHandler("onPlayerChangeMana", sq_onPlayerChangeMana, 0);
addEventHandler("onPlayerChangeMaxHealth", sq_onPlayerChangeMaxHealth, 0);
addEventHandler("onPlayerChangeMaxMana", sq_onPlayerChangeMaxMana, 0);
addEventHandler("onPlayerChangeWeaponMode", sq_onPlayerChangeWeaponMode, 0);
addEventHandler("onPlayerChangeWorld", sq_onPlayerChangeWorld, 0);
} }

View File

@@ -8,6 +8,15 @@ SQInteger sq_onTime(HSQUIRRELVM);
SQInteger sq_onBan(HSQUIRRELVM); SQInteger sq_onBan(HSQUIRRELVM);
SQInteger sq_onUnban(HSQUIRRELVM); SQInteger sq_onUnban(HSQUIRRELVM);
SQInteger sq_onPlayerChangeColor(HSQUIRRELVM);
SQInteger sq_onPlayerChangeFocus(HSQUIRRELVM);
SQInteger sq_onPlayerChangeHealth(HSQUIRRELVM);
SQInteger sq_onPlayerChangeMana(HSQUIRRELVM);
SQInteger sq_onPlayerChangeMaxHealth(HSQUIRRELVM);
SQInteger sq_onPlayerChangeMaxMana(HSQUIRRELVM);
SQInteger sq_onPlayerChangeWeaponMode(HSQUIRRELVM);
SQInteger sq_onPlayerChangeWorld(HSQUIRRELVM);
void registerSquirrelEvents(); void registerSquirrelEvents();
#endif #endif

View File

@@ -0,0 +1,121 @@
#include <sqapi.h>
#include <pybind11/embed.h>
#include "sqevents.h"
namespace py = pybind11;
using namespace pybind11::literals;
extern py::module_ g2o;
SQInteger sq_onPlayerChangeColor(HSQUIRRELVM vm)
{
SQInteger playerid, r, g, b;
sq_getinteger(vm, 2, &playerid);
sq_getinteger(vm, 3, &r);
sq_getinteger(vm, 4, &g);
sq_getinteger(vm, 5, &b);
py::dict kwargs = py::dict("playerid"_a=playerid, "r"_a=r, "g"_a=g, "b"_a=b);
g2o.attr("callEvent")("onPlayerChangeColor", **kwargs);
return 0;
}
SQInteger sq_onPlayerChangeFocus(HSQUIRRELVM vm)
{
SQInteger playerid, oldFocusId, newFocusId;
sq_getinteger(vm, 2, &playerid);
sq_getinteger(vm, 3, &oldFocusId);
sq_getinteger(vm, 4, &newFocusId);
py::dict kwargs = py::dict("playerid"_a=playerid, "oldFocusId"_a=oldFocusId, "newFocusId"_a=newFocusId);
g2o.attr("callEvent")("onPlayerChangeFocus", **kwargs);
return 0;
}
SQInteger sq_onPlayerChangeHealth(HSQUIRRELVM vm)
{
SQInteger playerid, oldHP, newHP;
sq_getinteger(vm, 2, &playerid);
sq_getinteger(vm, 3, &oldHP);
sq_getinteger(vm, 4, &newHP);
py::dict kwargs = py::dict("playerid"_a=playerid, "oldHP"_a=oldHP, "newHP"_a=newHP);
g2o.attr("callEvent")("onPlayerChangeHealth", **kwargs);
return 0;
}
SQInteger sq_onPlayerChangeMana(HSQUIRRELVM vm)
{
SQInteger playerid, oldMP, newMP;
sq_getinteger(vm, 2, &playerid);
sq_getinteger(vm, 3, &oldMP);
sq_getinteger(vm, 4, &newMP);
py::dict kwargs = py::dict("playerid"_a=playerid, "oldMP"_a=oldMP, "newMP"_a=newMP);
g2o.attr("callEvent")("onPlayerChangeMana", **kwargs);
return 0;
}
SQInteger sq_onPlayerChangeMaxHealth(HSQUIRRELVM vm)
{
SQInteger playerid, oldMaxHP, newMaxHP;
sq_getinteger(vm, 2, &playerid);
sq_getinteger(vm, 3, &oldMaxHP);
sq_getinteger(vm, 4, &newMaxHP);
py::dict kwargs = py::dict("playerid"_a=playerid, "oldMaxHP"_a=oldMaxHP, "newMaxHP"_a=newMaxHP);
g2o.attr("callEvent")("onPlayerChangeMaxHealth", **kwargs);
return 0;
}
SQInteger sq_onPlayerChangeMaxMana(HSQUIRRELVM vm)
{
SQInteger playerid, oldMaxMP, newMaxMP;
sq_getinteger(vm, 2, &playerid);
sq_getinteger(vm, 3, &oldMaxMP);
sq_getinteger(vm, 4, &newMaxMP);
py::dict kwargs = py::dict("playerid"_a=playerid, "oldMaxMP"_a=oldMaxMP, "newMaxMP"_a=newMaxMP);
g2o.attr("callEvent")("onPlayerChangeMaxMana", **kwargs);
return 0;
}
SQInteger sq_onPlayerChangeWeaponMode(HSQUIRRELVM vm)
{
SQInteger playerid, oldWeaponMode, newWeaponMode;
sq_getinteger(vm, 2, &playerid);
sq_getinteger(vm, 3, &oldWeaponMode);
sq_getinteger(vm, 4, &newWeaponMode);
py::dict kwargs = py::dict("playerid"_a=playerid, "oldWeaponMode"_a=oldWeaponMode, "newWeaponMode"_a=newWeaponMode);
g2o.attr("callEvent")("onPlayerChangeWeaponMode", **kwargs);
return 0;
}
SQInteger sq_onPlayerChangeWorld(HSQUIRRELVM vm)
{
SQInteger playerid, world, waypoint;
sq_getinteger(vm, 2, &playerid);
sq_getinteger(vm, 3, &world);
sq_getinteger(vm, 4, &waypoint);
py::dict kwargs = py::dict("playerid"_a=playerid, "world"_a=world, "waypoint"_a=waypoint);
g2o.attr("callEvent")("onPlayerChangeWorld", **kwargs);
return 0;
}