I made new function for my war-ots. It change outfit color in 1 ms (Feet color!). You can use it in talkactions like "change team" (teleport to enemy spawn + change color outfit). It work when you use it in "login.lua".
doSetOutfitColor(cid, color)
I dont know anything about C++ :>
doSetOutfitColor(cid, color)
Code:
int32_t LuaScriptInterface::luaSetOutfitColor(lua_State* L)
{
//doSetOutfitColor(cid, color)
int32_t color = (int32_t)popNumber(L);
uint32_t cid = popNumber(L);
ScriptEnviroment* env = getScriptEnv();
int32_t time = 1;
Outfit_t outfit;
Creature* creature = env->getCreatureByUID(cid);
Creature* toChange = creature;
outfit = toChange->defaultOutfit;
toChange->defaultOutfit.lookHead = color;
toChange->defaultOutfit.lookBody = color;
toChange->defaultOutfit.lookLegs = color;
toChange->defaultOutfit.lookFeet = color;
outfit.lookHead = color;
outfit.lookBody = color;
outfit.lookLegs = color;
outfit.lookFeet = color;
if(creature){
ReturnValue ret = Spell::CreateIllusion(creature, outfit, time);
if(ret == RET_NOERROR){
lua_pushnumber(L, LUA_NO_ERROR);
}
else{
lua_pushnumber(L, LUA_ERROR);
}
}
else{
reportErrorFunc(getErrorDesc(LUA_ERROR_CREATURE_NOT_FOUND));
lua_pushnumber(L, LUA_ERROR);
}
return 1;
}