Vitaliy_55rus

Пользователь
  • Публикации

    4
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные пользователем Vitaliy_55rus


  1. Эта тема, давно закрыта, спасибо  dr_lex

    #include <sourcemod>
    #pragma newdecls required
    
    public Plugin myinfo = 
    {name = "Round start bonus",author = "dr lex",description = "",version = "0.1",url = ""
    }
    
    public void OnPluginStart()
    {
    	HookEvent("round_start", Event_RoundStart);
    }
    
    public void OnClientPostAdminCheck(int client)
    {
    	if (client > 0)
    	{
    		CreateTimer(5.0, TimerRetryRestore, client, TIMER_FLAG_NO_MAPCHANGE);
    	}
    }
    
    public Action Event_RoundStart(Event event, const char[] name, bool dontBroadcast)
    {
    	int i = 1;
    	while (i <= MaxClients)
    	{
    		if (IsValidEntity(i))
    		{
    			if (IsClientInGame(i))
    			{
    				if (GetClientTeam(i) == 2)
    				{
    					CreateTimer(1.0, TimerRetryRestore, i);
    				}
    			}
    		}i += 1;
    	}
    }
    
    public Action TimerRetryRestore(Handle timer, any client)
    {
    	AdminId AId = GetUserAdmin(client);
    	int flags = GetAdminFlags(AId, Access_Effective);
    	if (flags & ADMFLAG_KICK)
    	{
    		Ec17CHEAT(client, "give", "first_aid_kit");
    		Ec17CHEAT(client, "give", "pain_pills");
    		Ec17CHEAT(client, "give", "molotov");
    		Ec17CHEAT(client, "give", "katana");
    		Ec17CHEAT(client, "give", "rifle_ak47");
    	}
    }
    
    public void Ec17CHEAT(int client, char[] sCmd, char[] sArg)
    {
    	int iFlags = GetCommandFlags(sCmd);
    	SetCommandFlags(sCmd, iFlags & ~FCVAR_CHEAT);
    	FakeClientCommand(client, "%s %s", sCmd, sArg);
    	SetCommandFlags(sCmd, iFlags);
    }

  2. #pragma semicolon 1
    #include <sourcemod>
    #pragma newdecls required

    bool block_give;

    public void OnPluginStart()
    {
        HookEvent("player_spawn", EventPlayerSpawn);
        HookEvent("round_start",  Event_Round);
        HookEvent("round_end",    Event_Round);
    }
    public void Event_Round(Event event, const char[] name, bool dontBroadcast)
    {
        block_give = false;
    }
    public void EventPlayerSpawn(Event event, const char[] name, bool dontBroadcast)
    {
        if(block_give)return;
        {
            int client = GetClientOfUserId(event.GetInt("userid"));
            {
                if (IsClientInGame(client) && !IsFakeClient(client))
                {
                    CreateTimer(2.0, Hmmmm, TIMER_FLAG_NO_MAPCHANGE);
                    block_give = true;
                }
            }
        }
    }
    public Action Hmmmm(Handle timer)
    {
        for(int i = 1; i <= MaxClients; i++) if (IsClientInGame(i) && GetClientTeam(i) == 2)
        {
            int flagsgive = GetCommandFlags("give");
            SetCommandFlags("give", flagsgive & ~FCVAR_CHEAT);
            FakeClientCommand(i, "give molotov");
            FakeClientCommand(i, "give first_aid_kit");
            FakeClientCommand(i, "give pain_pills");
            FakeClientCommand(i, "give sniper_awp");
            FakeClientCommand(i, "give katana");
            SetCommandFlags("give", flagsgive);
        }
        return Plugin_Stop;
    }