Так и задумано, при перезаходе игрока ему выдастся этот предмет, но он будет скрыт у него пока не будет хоть один смок, и лишь тогда он сможет поменять цвет"Баг не баг, но у игрока есть уже в инвентаре выбор цвета, но самого смока нет =)"
"color_picker2" появляется без покупки в инвентаре, забираю опять появляется (думаю нужно поправить)
Только он не скрытТак и задумано, при перезаходе игрока ему выдастся этот предмет, но он будет скрыт у него пока не будет хоть один смок, и лишь тогда он сможет поменять цвет
Уменьшайте скорость появления новых частиц "rate" и увеличивайте размер одной частицы, должно помочь. Конкретней с настройком не помогу, не проводил исследований на эту темуПлагин очень хорош, но, к сожалению, fps падает с 400 до 30, когда вы находитесь в дыму. Я пробовал несколько настроек, но, к сожалению, это не работает.![]()
Если что есть мой но он на партиклях - Не поддерживается - Grenade smoke colorsПлагин очень хорош, но, к сожалению, fps падает с 400 до 30, когда вы находитесь в дыму. Я пробовал несколько настроек, но, к сожалению, это не работает.![]()
Уменьшайте скорость появления новых частиц "rate" и увеличивайте размер одной частицы, должно помочь. Конкретней с настройком не помогу, не проводил исследований на эту тему
#include <sdktools_functions>
#include <sdktools_entinput>
#pragma semicolon 1
#pragma newdecls required
public Plugin myinfo =
{
name = "Random Smoke Colors",
description = "[PRIVATE]",
author = "Someone",
version = "1.0",
url = "https://hlmod.ru/ | https://discord.gg/UfD3dSa"
};
public void OnPluginStart()
{
HookEventEx("smokegrenade_detonate", Event_SmokeDetonate, EventHookMode_Pre);
}
RenderMode g_iColor;
RenderFx g_iFX;
public Action Event_SmokeDetonate(Event hEvent, const char[] name, bool dontBroadcast)
{
int iEnt = hEvent.GetInt("entityid");
if(IsValidEdict(iEnt)) AcceptEntityInput(iEnt, "Kill");
float fPos[3];
fPos[0] = hEvent.GetFloat("x");
fPos[1] = hEvent.GetFloat("y");
fPos[2] = hEvent.GetFloat("z");
if(g_iColor > RENDER_NONE) g_iColor = RENDER_NORMAL;
if(g_iFX > RENDERFX_MAX) g_iFX = RENDERFX_NONE;
iEnt = CreateEntityByName("env_particlesmokegrenade");
DispatchKeyValue(iEnt, "speed", "800");
DispatchKeyValue(iEnt, "fadescale", "10000.0");
DispatchKeyValue(iEnt, "fademindist", "100000");
DispatchKeyValue(iEnt, "fademaxdist", "100000");
//DispatchKeyValue(iEnt, "rendercolor", "0 255 0 255");
//char sColor[24];
//FormatEx(sColor, sizeof(sColor), "%i %i %i 255", GetRandomInt(0, 255), GetRandomInt(0, 255), GetRandomInt(0, 255));
//DispatchKeyValue(iEnt, "rendercolor", "255 150 255 255");
DispatchSpawn(iEnt);
TeleportEntity(iEnt, fPos, NULL_VECTOR, NULL_VECTOR);
PrintToChatAll("Тест 2");
SetEntProp(iEnt, Prop_Send, "m_nRenderMode", g_iColor, 8);
SetEntityRenderFx(iEnt, g_iFX);
g_iColor++;
//g_iFX++;
float fVec[3];
fVec[0] = 0.0;//GetRandomFloat(0.0, 255.0);
fVec[1] = 0.0;//GetRandomFloat(0.0, 255.0);
fVec[2] = 0.0;//GetRandomFloat(0.0, 255.0);
float fVec2[3];
fVec2[0] = 255.0;//GetRandomFloat(0.0, 255.0);
fVec2[1] = 0.0;//GetRandomFloat(0.0, 255.0);
fVec2[2] = 255.0;//GetRandomFloat(0.0, 255.0);
SetEntPropVector(iEnt, Prop_Data, "m_MinColor", fVec);
SetEntPropVector(iEnt, Prop_Data, "m_MaxColor", fVec);
SetEntPropVector(iEnt, Prop_Send, "m_MinColor", fVec2);
SetEntPropVector(iEnt, Prop_Send, "m_MaxColor", fVec2);
//SetEntPropFloat(iEnt, Prop_Send, "m_flElasticity", 100.0);
//SetEntProp(iEnt, Prop_Send, "m_fEffects", 1);
//SetEntPropFloat(iEnt, Prop_Send, "m_FadeStartTime", 0.0); // Секунды до старта смока
//SetEntPropFloat(iEnt, Prop_Send, "m_FadeEndTime", 5.0); // Секунды до коцна смока
//SetEntProp(iEnt, Prop_Send, "m_clrRender", 150);
SetEntProp(iEnt, Prop_Send, "m_CurrentStage", 1);
//SetEntProp(iEnt, Prop_Send, "m_bEligibleForScreenHighlight", 1);
//PrintToChatAll("Frame index: %i", GetEntProp(iEnt, Prop_Send, "m_iTextureFrameIndex"));
ActivateEntity(iEnt);
SetEntityFlags(iEnt, 16777216);
AcceptEntityInput(iEnt, "start");
return Plugin_Continue;
}
Если что есть мой но он на партиклях - Не поддерживается - Grenade smoke colors
Сообщения автоматически склеены:
Может что-то из кода пригодиться тебе:#include <sdktools_functions> #include <sdktools_entinput> #pragma semicolon 1 #pragma newdecls required public Plugin myinfo = { name = "Random Smoke Colors", description = "[PRIVATE]", author = "Someone", version = "1.0", url = "https://hlmod.ru/ | https://discord.gg/UfD3dSa" }; public void OnPluginStart() { HookEventEx("smokegrenade_detonate", Event_SmokeDetonate, EventHookMode_Pre); } RenderMode g_iColor; RenderFx g_iFX; public Action Event_SmokeDetonate(Event hEvent, const char[] name, bool dontBroadcast) { int iEnt = hEvent.GetInt("entityid"); if(IsValidEdict(iEnt)) AcceptEntityInput(iEnt, "Kill"); float fPos[3]; fPos[0] = hEvent.GetFloat("x"); fPos[1] = hEvent.GetFloat("y"); fPos[2] = hEvent.GetFloat("z"); if(g_iColor > RENDER_NONE) g_iColor = RENDER_NORMAL; if(g_iFX > RENDERFX_MAX) g_iFX = RENDERFX_NONE; iEnt = CreateEntityByName("env_particlesmokegrenade"); DispatchKeyValue(iEnt, "speed", "800"); DispatchKeyValue(iEnt, "fadescale", "10000.0"); DispatchKeyValue(iEnt, "fademindist", "100000"); DispatchKeyValue(iEnt, "fademaxdist", "100000"); //DispatchKeyValue(iEnt, "rendercolor", "0 255 0 255"); //char sColor[24]; //FormatEx(sColor, sizeof(sColor), "%i %i %i 255", GetRandomInt(0, 255), GetRandomInt(0, 255), GetRandomInt(0, 255)); //DispatchKeyValue(iEnt, "rendercolor", "255 150 255 255"); DispatchSpawn(iEnt); TeleportEntity(iEnt, fPos, NULL_VECTOR, NULL_VECTOR); PrintToChatAll("Тест 2"); SetEntProp(iEnt, Prop_Send, "m_nRenderMode", g_iColor, 8); SetEntityRenderFx(iEnt, g_iFX); g_iColor++; //g_iFX++; float fVec[3]; fVec[0] = 0.0;//GetRandomFloat(0.0, 255.0); fVec[1] = 0.0;//GetRandomFloat(0.0, 255.0); fVec[2] = 0.0;//GetRandomFloat(0.0, 255.0); float fVec2[3]; fVec2[0] = 255.0;//GetRandomFloat(0.0, 255.0); fVec2[1] = 0.0;//GetRandomFloat(0.0, 255.0); fVec2[2] = 255.0;//GetRandomFloat(0.0, 255.0); SetEntPropVector(iEnt, Prop_Data, "m_MinColor", fVec); SetEntPropVector(iEnt, Prop_Data, "m_MaxColor", fVec); SetEntPropVector(iEnt, Prop_Send, "m_MinColor", fVec2); SetEntPropVector(iEnt, Prop_Send, "m_MaxColor", fVec2); //SetEntPropFloat(iEnt, Prop_Send, "m_flElasticity", 100.0); //SetEntProp(iEnt, Prop_Send, "m_fEffects", 1); //SetEntPropFloat(iEnt, Prop_Send, "m_FadeStartTime", 0.0); // Секунды до старта смока //SetEntPropFloat(iEnt, Prop_Send, "m_FadeEndTime", 5.0); // Секунды до коцна смока //SetEntProp(iEnt, Prop_Send, "m_clrRender", 150); SetEntProp(iEnt, Prop_Send, "m_CurrentStage", 1); //SetEntProp(iEnt, Prop_Send, "m_bEligibleForScreenHighlight", 1); //PrintToChatAll("Frame index: %i", GetEntProp(iEnt, Prop_Send, "m_iTextureFrameIndex")); ActivateEntity(iEnt); SetEntityFlags(iEnt, 16777216); AcceptEntityInput(iEnt, "start"); return Plugin_Continue; }