int32_t LuaInterface::luaDoPlayerSendTextMessage(lua_State* L)
{
//doPlayerSendTextMessage(cid, MessageClasses, message[, value[, color[, position]]])
int32_t args = lua_gettop(L), value = 0, color = COLOR_WHITE;
PositionEx position;
if(args > 5)
popPosition(L, position);
if(args > 4)
color = popNumber(L);
if(args > 3)
value = popNumber(L);
std::string text = popString(L);
uint32_t messageClass = popNumber(L);
ScriptEnviroment* env = getEnv();
Player* player = env->getPlayerByUID(popNumber(L));
if(!player)
{
errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND));
lua_pushboolean(L, false);
return 1;
}
if(args > 3)
{
if(!position.x || !position.y)
position = player->getPosition();
MessageDetails* details = new MessageDetails(value, (Color_t)color);
player->sendStatsMessage((MessageClasses)messageClass, text, position, details);
delete details;
}
else
player->sendTextMessage((MessageClasses)messageClass, text);
lua_pushboolean(L, true);
return 1;
}