NIKITOZZ
|
Дата: Четверг, 17.03.2016, 19:11:45 | Сообщение # 1 |
|
Сообщений: 6
Репутация: 0 [ +/- ]
|
|
Всем привет, сделал свечение игроков только для одной команды для моего мода на CS:GO
Код #define EF_BONEMERGE (1 << 0) #define EF_NOSHADOW (1 << 4) #define EF_NORECEIVESHADOW (1 << 6) #define EF_PARENT_ANIMATES (1 << 9)
#define CPS_RENDER (1 << 0) #define CPS_NOATTACHMENT (1 << 1) #define CPS_IGNOREDEATH (1 << 2) void SetGlowing(int clientIndex) { char model[PLATFORM_MAX_PATH]; GetClientModel(clientIndex, model, sizeof(model)); int skin = CreatePlayerModelProp(clientIndex, model); SetEntProp(skin, Prop_Send, "m_bShouldGlow", true, true); SetEntProp(skin, Prop_Send, "m_nGlowStyle", 0); SetEntPropFloat(skin, Prop_Send, "m_flGlowMaxDist", 10000000.0); // So now setup given glow colors for the skin SetEntData(skin, GetEntSendPropOffs(skin, "m_clrGlow"), 192, _, true); // Red SetEntData(skin, GetEntSendPropOffs(skin, "m_clrGlow") + 1, 160, _, true); // Green SetEntData(skin, GetEntSendPropOffs(skin, "m_clrGlow") + 2, 96, _, true); // Blue SetEntData(skin, GetEntSendPropOffs(skin, "m_clrGlow") + 3, 64, _, true); // Alpha }
int CreatePlayerModelProp(int client, char[] sModel) { RemoveSkin(client); int Ent = CreateEntityByName("prop_dynamic_override"); DispatchKeyValue(Ent, "model", sModel); DispatchKeyValue(Ent, "disablereceiveshadows", "1"); DispatchKeyValue(Ent, "disableshadows", "1"); DispatchKeyValue(Ent, "solid", "0"); DispatchKeyValue(Ent, "spawnflags", "256"); SetEntProp(Ent, Prop_Send, "m_CollisionGroup", 11); DispatchSpawn(Ent); SetEntProp(Ent, Prop_Send, "m_fEffects", EF_BONEMERGE|EF_NOSHADOW|EF_NORECEIVESHADOW|EF_PARENT_ANIMATES); SetVariantString("!activator"); AcceptEntityInput(Ent, "SetParent", client, Ent, 0); SetVariantString("primary"); AcceptEntityInput(Ent, "SetParentAttachment", Ent, Ent, 0); gPlayerModels[client] = EntIndexToEntRef(Ent);
SDKHook(Ent, SDKHook_SetTransmit, OnShouldDisplay); return Ent; }
void RemoveSkin(int client) { if(IsValidEntity(gPlayerModels[client])) { AcceptEntityInput(gPlayerModels[client], "Kill"); } SetEntityRenderMode(client, RENDER_NORMAL); gPlayerModels[client] = INVALID_ENT_REFERENCE; }
public Action OnShouldDisplay(int Ent, int Client) { return (GetClientTeam(Client) == CS_TEAM_CT) ? Plugin_Handled : Plugin_Continue; }
Но есть проблема Когда играю за зомби http://s8.hostingkartinok.com/uploads/images/2016/03/ba9a16082508bd07b8a1af0a7c81b464.jpg
Когда за людей http://s8.hostingkartinok.com/uploads/images/2016/03/57d00b6dd23a007c1f54d4b8ec909f21.jpg
Но когда использую антидот, тоесть меняю команду на CT (и респавнюсь на спавне) то начинаю видеть свечение в местах где оно было создано у людей http://s8.hostingkartinok.com/uploads/images/2016/03/5e25270ca23a09503fccdd0bc14124e8.jpg
Но когда я сворачиваю игру и обратно открываю то все энтити исчезают
Сообщение отредактировал NIKITOZZ - Четверг, 17.03.2016, 20:31:21 |
|
| |
Meow_1337
|
Дата: Суббота, 19.03.2016, 16:35:13 | Сообщение # 2 |
|
Сообщений: 207
Репутация: 11 [ +/- ]
|
|
Не знаю. Попробуй удалять свечение или устанавливать значения на 0. Т.е Alpha 255-0
|
|
| |