LUA Function RemoveCharacterProperty(Player, "somevar") to remove any set into the info struct dynamically
This commit is contained in:
parent
fae7cf7773
commit
a117d6c3fd
@ -14893,3 +14893,24 @@ int EQ2Emu_lua_AdjustHatePosition(lua_State* state) {
|
|||||||
lua_interface->ResetFunctionStack(state);
|
lua_interface->ResetFunctionStack(state);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int EQ2Emu_lua_RemoveCharacterProperty(lua_State* state) {
|
||||||
|
Spawn* player = lua_interface->GetSpawn(state);
|
||||||
|
string propname = lua_interface->GetStringValue(state, 2);
|
||||||
|
lua_interface->ResetFunctionStack(state);
|
||||||
|
|
||||||
|
if(!player || !player->IsPlayer()) {
|
||||||
|
lua_interface->LogError("%s: LUA RemoveCharacterProperty command error: player is not valid", lua_interface->GetScriptName(state));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(((Player*)player)->GetCharacterID() == 0) {
|
||||||
|
lua_interface->LogError("%s: LUA RemoveCharacterProperty player has no character id.", lua_interface->GetScriptName(state));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
Query query;
|
||||||
|
query.AddQueryAsync(((Player*)player)->GetCharacterID(), &database, Q_DELETE, "delete from character_properties where charid = %u and propname='%s'", ((Player*)player)->GetCharacterID(), propname.c_str());
|
||||||
|
return 0;
|
||||||
|
}
|
@ -698,4 +698,5 @@ int EQ2Emu_lua_IsInRaid(lua_State* state);
|
|||||||
int EQ2Emu_lua_InSameRaid(lua_State* state);
|
int EQ2Emu_lua_InSameRaid(lua_State* state);
|
||||||
int EQ2Emu_lua_GetRaid(lua_State* state);
|
int EQ2Emu_lua_GetRaid(lua_State* state);
|
||||||
int EQ2Emu_lua_AdjustHatePosition(lua_State* state);
|
int EQ2Emu_lua_AdjustHatePosition(lua_State* state);
|
||||||
|
int EQ2Emu_lua_RemoveCharacterProperty(lua_State* state);
|
||||||
#endif
|
#endif
|
@ -1838,6 +1838,7 @@ void LuaInterface::RegisterFunctions(lua_State* state) {
|
|||||||
lua_register(state,"InSameRaid", EQ2Emu_lua_InSameRaid);
|
lua_register(state,"InSameRaid", EQ2Emu_lua_InSameRaid);
|
||||||
lua_register(state,"GetRaid", EQ2Emu_lua_GetRaid);
|
lua_register(state,"GetRaid", EQ2Emu_lua_GetRaid);
|
||||||
lua_register(state,"AdjustHatePosition", EQ2Emu_lua_AdjustHatePosition);
|
lua_register(state,"AdjustHatePosition", EQ2Emu_lua_AdjustHatePosition);
|
||||||
|
lua_register(state,"RemoveCharacterProperty", EQ2Emu_lua_RemoveCharacterProperty);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LuaInterface::LogError(const char* error, ...) {
|
void LuaInterface::LogError(const char* error, ...) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user