[CS:GO] Красные модели игроков

benso

кодер-дурачок
Сообщения
85
Реакции
17
Хочу найти плагин,который меняет цвет моделек в красный(На Surf FFA серверах такой стоит)
Помогите пожалуйста,я даже название незнаю.
 

benso

кодер-дурачок
Сообщения
85
Реакции
17
У всех игроков,на сервере режим каждый сам за себя.
 

benso

кодер-дурачок
Сообщения
85
Реакции
17
Вообще не то,через несколько секунд цвет пропадает,но спасибо всё равно
--- Добавлено позже ---
Жду другие варианты
 
Последнее редактирование:

AlexPa1

Участник
Сообщения
292
Реакции
54
Держи которыми пользовался я на КСС, вдруг на КСГО пойдет проверь.
C-подобный:
static const int iColor[][] =
{
    {255, 0, 0},     // террористы
    {0, 0, 255}    // контр-террористы
};

public void OnPluginStart()
{
    HookEvent("player_spawn", Event_Spawn);
}

public void Event_Spawn(Event event, const char[] name, bool dontBroadcast)
{
    int client = GetClientOfUserId(GetEventInt(event, "userid"));
    if(!client) return;
    int team = GetClientTeam(client);
    if(team < 2) return;

    team -= 2;
    SetEntityRenderMode(client, RENDER_TRANSCOLOR);
    SetEntityRenderColor(client, iColor[team][0], iColor[team][1], iColor[team][2], 255);
}
C-подобный:
#include <sdktools>

#pragma newdecls required

#define TIME 3.5  //Ваше время для таймера

public void OnPluginStart()
{
    HookEvent("player_spawn", Event_Spawn);
}

public void Event_Spawn(Event event, const char[] name, bool dontBroadcast)
{
    CreateTimer(TIME, TIMER_CB, GetEventInt(event, "userid"), TIMER_FLAG_NO_MAPCHANGE);
}

public Action TIMER_CB(Handle hTimer, any client)
{
    client = GetClientOfUserId(client);
    if(!client || !IsClientInGame(client) || !IsPlayerAlive(client)) return Plugin_Handled;
    int team;
    if((team = GetClientTeam(client)) < 2) return Plugin_Handled;
    int r = (team == 2) ? 255 : 0;
    int b = (team == 2) ? 0 : 255;
    SetEntityRenderColor(client, r, 0, b, 255);
    return Plugin_Handled;
}
 

Tomiks

Участник
Сообщения
419
Реакции
288
#pragma semicolon 1
#pragma tabsize 0
#include <sourcemod>
#include <sdktools>

public Plugin myinfo =
{
name = "AllModelsRed",
author = "Tomiks (vk.com/tomiksofficial)",
version = "1.0"
};

int r1,g1,b1,a1;

public void OnPluginStart()
{
a1 = 255;
r1 = 255;
g1 = 0;
b1 = 0;
HookEvent("round_start", roundStart);
}

public void roundStart(Event hEvent, const char[] sEvName, bool bDontBroadcast)
{
for(int i = 1; i <= MaxClients; ++i)
{
if(IsClientInGame(i) && IsFakeClient(i))
{
SetEntityRenderColor(i, r1, g1, b1, a1);
}
}
}
 

Вложения

  • AllModelsRed.sp
    578 байт · Просмотры: 5

benso

кодер-дурачок
Сообщения
85
Реакции
17
Сейчас попробую
--- Добавлено позже ---
Почему-то через определённое время,цвет исчезает
--- Добавлено позже ---
Вероятней всего,это из-за того,Что у меня стоит SpawnProtection который перекрашивает модели в зелёный на 6 секунд
 

Tomiks

Участник
Сообщения
419
Реакции
288
Сейчас попробую
--- Добавлено позже ---
Почему-то через определённое время,цвет исчезает
--- Добавлено позже ---
Вероятней всего,это из-за того,Что у меня стоит SpawnProtection который перекрашивает модели в зелёный на 6 секунд
#pragma semicolon 1
#pragma tabsize 0
#include <sourcemod>
#include <sdktools>

public Plugin myinfo =
{
name = "AllModelsRed",
author = "Tomiks (vk.com/tomiksofficial)",
version = "1.0"
};

int r1,g1,b1,a1;

public void OnPluginStart()
{
a1 = 255;
r1 = 255;
g1 = 0;
b1 = 0;
HookEvent("round_start", roundStart);
}

public void roundStart(Event hEvent, const char[] sEvName, bool bDontBroadcast)
{
CreateTimer(7.0, ready, _, TIMER_FLAG_NO_MAPCHANGE);
}

public Action ready(Handle timer)
{
for(int i = 1; i <= MaxClients; ++i)
{
if(IsClientInGame(i) && IsFakeClient(i))
{
SetEntityRenderColor(i, r1, g1, b1, a1);
}
}
return Plugin_Continue;
}
Попробуй, тут с таймером в 7 секунд
 

Вложения

  • AllModelsRed.sp
    702 байт · Просмотры: 6

benso

кодер-дурачок
Сообщения
85
Реакции
17
Вот исходный код плагина Spawn Protection
C-подобный:
#include <sourcemod>
#include <sdktools>

#define VERSION "1.5 [CS:GO Support]"
#pragma semicolon 1

new TeamSpec;
new TeamUna;
new bool:NoTeams = false;

new Handle:SpawnProtectionEnabled;
new Handle:SpawnProtectionTime;
new Handle:SpawnProtectionNotify;
new Handle:SpawnProtectionColor;

new RenderOffs;

enum FX
{
    FxNone = 0,
    FxPulseFast,
    FxPulseSlowWide,
    FxPulseFastWide,
    FxFadeSlow,
    FxFadeFast,
    FxSolidSlow,
    FxSolidFast,
    FxStrobeSlow,
    FxStrobeFast,
    FxStrobeFaster,
    FxFlickerSlow,
    FxFlickerFast,
    FxNoDissipation,
    FxDistort,               // Distort/scale/translate flicker
    FxHologram,              // kRenderFxDistort + distance fade
    FxExplode,               // Scale up really big!
    FxGlowShell,             // Glowing Shell
    FxClampMinScale,         // Keep this sprite from getting very small (SPRITES only!)
    FxEnvRain,               // for environmental rendermode, make rain
    FxEnvSnow,               //  "        "            "    , make snow
    FxSpotlight,     
    FxRagdoll,
    FxPulseFastWider,
};

enum Render
{
    Normal = 0,         // src
    TransColor,         // c*a+dest*(1-a)
    TransTexture,        // src*a+dest*(1-a)
    Glow,                // src*a+dest -- No Z buffer checks -- Fixed size in screen space
    TransAlpha,            // src*srca+dest*(1-srca)
    TransAdd,            // src*a+dest
    Environmental,        // not drawn, used for environmental effects
    TransAddFrameBlend,    // use a fractional frame value to blend between animation frames
    TransAlphaAdd,        // src + dest*(1-a)
    WorldGlow,            // Same as kRenderGlow but not fixed size in screen space
    None,                // Don't render.
};

public Plugin:myinfo =
{
    name = "Spawn Protection [Added CS:GO Support]",
    author = "Fredd",
    description = "Adds spawn protection",
    version = VERSION,
    url = "www.sourcemod.net"
}

public OnPluginStart()
{
    CreateConVar("spawnprotection_version", VERSION, "Spawn Protection Version", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);
    
    SpawnProtectionEnabled        = CreateConVar("sp_on", "1");
    SpawnProtectionTime            = CreateConVar("sp_time", "5");
    SpawnProtectionNotify        = CreateConVar("sp_notify", "1");
    SpawnProtectionColor        = CreateConVar("sp_color", "0 255 0 120");
    
    AutoExecConfig(true, "spawn_protection");
    
    RenderOffs                    = FindSendPropOffs("CBasePlayer", "m_clrRender");
    
    decl String:ModName[21];
    GetGameFolderName(ModName, sizeof(ModName));
    
    if(StrEqual(ModName, "cstrike", false) || StrEqual(ModName, "dod", false) || StrEqual(ModName, "csgo", false) || StrEqual(ModName, "tf", false))
    {
        TeamSpec = 1;
        TeamUna = 0;
        NoTeams = false;
        
    } else if(StrEqual(ModName, "Insurgency", false))
    {
        TeamSpec = 3;
        TeamUna = 0;
        NoTeams = false;
    }
    else if(StrEqual(ModName, "hl2mp", false))
    {
        NoTeams = true;
    } else
    {
        SetFailState("%s is an unsupported mod", ModName);
    }
    HookEvent("player_spawn", OnPlayerSpawn);
}
public Action:OnPlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
    if(GetConVarInt(SpawnProtectionEnabled) == 1)
    {
        new client     = GetClientOfUserId(GetEventInt(event, "userid"));
        new Team     = GetClientTeam(client);
        
        if(NoTeams == false)
        {
            if(Team == TeamSpec || Team == TeamUna)
                return Plugin_Continue;
        }
        if(!IsPlayerAlive(client))
            return Plugin_Continue;
        
        decl String:SzColor[32];
        decl String:Colors[4][4];
        new Float:Time = float(GetConVarInt(SpawnProtectionTime));
        
        GetConVarString(SpawnProtectionColor, SzColor, sizeof(SzColor));
        ExplodeString(SzColor, " ", Colors, 4, 4);
            
        SetEntProp(client, Prop_Data, "m_takedamage", 0, 1);
        set_rendering(client, FX:FxDistort, StringToInt(Colors[0]),StringToInt(Colors[1]),StringToInt(Colors[2]), Render:RENDER_TRANSADD, StringToInt(Colors[3]));
        CreateTimer(Time, RemoveProtection, client);
        if(GetConVarInt(SpawnProtectionNotify) > 0)
            PrintToChat(client, "\x04[SpawnProtection] \x01you will be spawn protected for \x04%i \x01seconds", RoundToNearest(Time));
    }
    return Plugin_Continue;
}
public Action:RemoveProtection(Handle:timer, any:client)
{
    if(IsClientInGame(client))
    {
        SetEntProp(client, Prop_Data, "m_takedamage", 2, 1);
        set_rendering(client);
        if(GetConVarInt(SpawnProtectionNotify) > 0)
            PrintToChat(client, "\x04[SpawnProtection] \x01spawn protection is now off..");
    }
}
stock set_rendering(index, FX:fx=FxNone, r=255, g=255, b=255, Render:render=Normal, amount=255)
{
    SetEntProp(index, Prop_Send, "m_nRenderFX", _:fx, 1);
    SetEntProp(index, Prop_Send, "m_nRenderMode", _:render, 1);   
    SetEntData(index, RenderOffs, r, 1, true);
    SetEntData(index, RenderOffs + 1, g, 1, true);
    SetEntData(index, RenderOffs + 2, b, 1, true);
    SetEntData(index, RenderOffs + 3, amount, 1, true);   
}
Можно же его дописать,чтобы после исчезновения протекта с зелёного на красный перекрасился.
--- Добавлено позже ---
Это уже я сам сделаю, тему закройте.
Спасибо всем за помощь.
 
Последнее редактирование:

benso

кодер-дурачок
Сообщения
85
Реакции
17
#pragma semicolon 1
#pragma tabsize 0
#include <sourcemod>
#include <sdktools>

public Plugin myinfo =
{
name = "AllModelsRed",
author = "Tomiks (vk.com/tomiksofficial)",
version = "1.0"
};

int r1,g1,b1,a1;

public void OnPluginStart()
{
a1 = 255;
r1 = 255;
g1 = 0;
b1 = 0;
HookEvent("round_start", roundStart);
}

public void roundStart(Event hEvent, const char[] sEvName, bool bDontBroadcast)
{
CreateTimer(7.0, ready, _, TIMER_FLAG_NO_MAPCHANGE);
}

public Action ready(Handle timer)
{
for(int i = 1; i <= MaxClients; ++i)
{
if(IsClientInGame(i) && IsFakeClient(i))
{
SetEntityRenderColor(i, r1, g1, b1, a1);
}
}
return Plugin_Continue;
}
Попробуй, тут с таймером в 7 секунд
Так,не было времени написать,плагин не работает
 

benso

кодер-дурачок
Сообщения
85
Реакции
17
@Tomiks,на 35 строке ошибка,исправил и скомпилил,сейчас проверю и отпишу
--- Добавлено позже ---
@Tomiks,не работает
 

benso

кодер-дурачок
Сообщения
85
Реакции
17
И что мне делать?
--- Добавлено позже ---
Вот фикс
PHP:
#pragma semicolon 1
#pragma tabsize 0
#include <sourcemod>
#include <sdktools>

public Plugin myinfo =
{
    name = "AllModelsRed",
    author = "Tomiks (vk.com/tomiksofficial)",
    version = "1.0"
}

public void OnPluginStart()
{
    HookEvent("round_start", Event_RoundStart);
}

public void Event_RoundStart(Event event, const char[] name, bool dB)
{
    CreateTimer(7.0, ready, _, TIMER_FLAG_NO_MAPCHANGE);
}

public Action ready(Handle timer)
{
    for(int i = 1; i <= MaxClients; ++i)
    {
        if(IsClientInGame(i) && IsFakeClient(i))
        {
            SetEntityRenderColor(i, 255, 0, 0, 255);
        }
    }
}
 
Последнее редактирование:
Сверху Снизу