Статус темы:
Закрыта.
  1. allsk Пользователь

    Регистрация:
    17.06.15
    Сообщения:
    14
    Симпатии:
    3
    Пол:
    Мужской
    Есть плагин при смене карты делает детмач на ножах например на 4 минуты, столкнулся с такой проблемой что кто успел приконектиться тот играет а, кто зашел позже не может возродиться! как можно это вылечить!?
    исходник плагина:
    Код:
    #include <amxmodx>
    #include <amxmisc>
    #include <dhudmessage>
    #include <hamsandwich>
    
    new Timer, SecondsCvar
    new bool:g_knife = true
    
    public plugin_init()
    {
        register_plugin( "Dkm" , "1.0", "Ebash" )
       
        register_event("DeathMsg", "on_death", "a")
        register_event( "CurWeapon", "EventCurWeapon", "be", "2!29" )
       
        SecondsCvar = register_cvar("auto_rr_time","240.0")
    
        Timer = get_pcvar_num(SecondsCvar)
        set_task(1.0, "start_rr_timer", _, _, _, "a", Timer)
    }
    
    public on_death()
    {
        new victim
        victim = read_data(2)
       
        if(g_knife)
            set_task(1.0, "fnRevivePlayer", victim)
    }
    
    public fnRevivePlayer(id)
    {
        if(!is_user_alive(id))
            ExecuteHamB(Ham_CS_RoundRespawn, id)
    }
    
    public EventCurWeapon(id)
    {
        if(g_knife)
            engclient_cmd(id, "weapon_knife")
    }
    
    public start_rr_timer()
    {
        Timer--
       
        set_dhudmessage(135, 206, 235, -1.0, 0.08, 0, 0.0, 0.01)
        show_dhudmessage(0, "ВНИМАНИЕ РАЗМИНКА!^nKNIFE ПРАВИЛ НЕТ!", Timer)
    
        if(Timer < 1)
        {
            server_cmd("sv_restartround 1")
            set_task(3.0, "rr_end")
            g_knife = false
        }
    }
    
    public rr_end()
    {
        set_dhudmessage( random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.38, 2, 6.0, 3.0, 0.1, 1.5, false )
        show_dhudmessage(0, "ВНИМАНИЕ РАЗМИНКА ЗАКОНЧЕНА СОБЛЮДАЙТЕ ПРАВИЛА")
        set_dhudmessage( random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.42, 2, 6.0, 3.0, 0.1, 1.5, false )
        show_dhudmessage(0, "НЕ КРЫСИТЬ, НЕ ПАРОВОЗИТЬ, AFK УБИВАТЬ ПОСЛЕДНИМ!")
    }
     
  2. HannibaL Команда форума

    Регистрация:
    28.02.15
    Сообщения:
    1.058
    Симпатии:
    218
    Пол:
    Мужской
    allsk, сделать проверку, и возрождать.
     
  3. allsk Пользователь

    Регистрация:
    17.06.15
    Сообщения:
    14
    Симпатии:
    3
    Пол:
    Мужской
    должно быть вроде этого что то наверняка
    Код:
    public logevent_team_join()
    {
        if(get_pcvar_float(cvar_enabled) == 1)
        {
            new id = get_loguser_index()
            set_task(1.0, "spawn_user", id)
        }
    }
    
    stock get_loguser_index()
    {
        static loguser[80], name[32];
        read_logargv(0,loguser,79);
        parse_loguser(loguser,name,31);
    
        return get_user_index(name);
    }
     
  4. allsk Пользователь

    Регистрация:
    17.06.15
    Сообщения:
    14
    Симпатии:
    3
    Пол:
    Мужской
    Или может как то так :
    Код:
    register_logevent("fwPlayerJoinTeam", 3, "1=joined team")
    Код:
    public fwPlayerJoinTeam()
    {
            static szLog[256], szName[32], szTeamName[12];
            read_logargv(0, szLog, charsmax( szLog ));
            read_logargv(2, szTeamName, charsmax( szTeamName ));
            parse_loguser(szLog, szName, charsmax( szName ));
          
            static intPlayer = get_user_index( szName );
          
            if(is_user_connected(intPlayer) && szTeamName[0] != 'S' && szTeamName[0] != 'U')
                ExecuteHam(Ham_CS_RoundRespawn, intPlayer);
    }
    помогите разобраться!
     
  5. allsk Пользователь

    Регистрация:
    17.06.15
    Сообщения:
    14
    Симпатии:
    3
    Пол:
    Мужской
    ВСЕМ СПАСИБО! РЕШИЛ УЖЕ! КОМУ НУЖНО ВОТ :

    Код:
    #include <amxmodx>
    #include <amxmisc>
    #include <dhudmessage>
    #include <hamsandwich>
    new Timer, SecondsCvar
    new bool:g_knife = true
    public plugin_init()
    {
        register_plugin( "Dkm" , "1.0", "Ebash" )
        
        register_event("DeathMsg", "on_death", "a")
        register_event( "CurWeapon", "EventCurWeapon", "be", "2!29" )
        
        SecondsCvar = register_cvar("auto_rr_time","240.0")
        Timer = get_pcvar_num(SecondsCvar)
        set_task(1.0, "start_rr_timer", _, _, _, "a", Timer)
        register_logevent("PlayerJoinTeam", 3, "1=joined team")
    }
    public on_death()
    {
        new victim
        victim = read_data(2)
        
        if(g_knife)
            set_task(1.0, "fnRevivePlayer", victim)
    }
    public fnRevivePlayer(id)
    {
        if(!is_user_alive(id))
            ExecuteHamB(Ham_CS_RoundRespawn, id)
    }
    public EventCurWeapon(id)
    {
        if(g_knife)
            engclient_cmd(id, "weapon_knife")
    }
    public start_rr_timer()
    {
        Timer--
        
        set_dhudmessage(135, 206, 235, -1.0, 0.08, 0, 0.0, 0.01)
        show_dhudmessage(0, "ВНИМАНИЕ РАЗМИНКА!^nKNIFE ПРАВИЛ НЕТ!", Timer)
        if(Timer < 1)
        {
            server_cmd("sv_restartround 1")
            set_task(3.0, "rr_end")
            g_knife = false
        }
    }
    public rr_end()
    {
        set_dhudmessage( random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.38, 2, 6.0, 3.0, 0.1, 1.5, false )
        show_dhudmessage(0, "ВНИМАНИЕ РАЗМИНКА ЗАКОНЧЕНА СОБЛЮДАЙТЕ ПРАВИЛА")
        set_dhudmessage( random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.42, 2, 6.0, 3.0, 0.1, 1.5, false )
        show_dhudmessage(0, "НЕ КРЫСИТЬ, НЕ ПАРОВОЗИТЬ, AFK УБИВАТЬ ПОСЛЕДНИМ!")
    }
    public PlayerJoinTeam()
    {
       if(g_knife)
       {
          new id = get_loguser_index()
          set_task(1.0, "fnRevivePlayer", id)
       }
    }
    stock get_loguser_index()
    {
       static loguser[80], name[32];
       read_logargv(0,loguser,79);
       parse_loguser(loguser,name,31);
       return get_user_index(name);
    }
     
    KoPa6JIuK нравится это.
  6. KoPa6JIuK Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    508
    Симпатии:
    34
    Пол:
    Мужской
    allsk, спасибо забрал))

    я правильно понял
    SecondsCvar = register_cvar("auto_rr_time","240.0") где 240.0 время разминки в секундах?!
     
    allsk нравится это.
  7. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.594
    Симпатии:
    4.169
    Пол:
    Мужской
    KoPa6JIuK, ога
     
    KoPa6JIuK нравится это.
Статус темы:
Закрыта.