Написание плагинов

Тема в разделе "Программирование / Скриптинг", создана пользователем The End Is Near..., 12 июн 2013.

  1. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    В этой теме можете оставлять свои заявки по написанию различных плагинов:
    P.S. Некоторые плагины могу пропустить

    P.S.S. Буду рад, если кто-то из скриптеров сюда будет заглядывать

     
    Последнее редактирование: 16 июн 2013
    8Ahnenerbe8, zig_ro, ★$$StOk$$★ и 6 другим нравится это.
  2. Ваня Олейник

    Ваня Олейник

    Сообщения:
    74
    Симпатии:
    14
    Бесплатно?:-D
     
  3. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
  4. Ваня Олейник

    Ваня Олейник

    Сообщения:
    74
    Симпатии:
    14
  5. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    В этом плагине фактически нет ничего, что может давать действительно заметные лаги. Да, не совсем оптимизирован, но до лагов явно не может дойти
     
    R1KO нравится это.
  6. Ваня Олейник

    Ваня Олейник

    Сообщения:
    74
    Симпатии:
    14
    Может все таки оптимизируете?Можно будет убрать настройку конфига ("sm_md_mode "1,2,3" и " "sm_md_lines "1,2,3") а сделать сделать что бы сразу было sm_md_mode "0" и sm_md_lines "3" и убрать plugin.mdest.txt.
     
  7. CTe6eJIeK_vRn

    CTe6eJIeK_vRn Супер-модератор

    Сообщения:
    2.014
    Симпатии:
    1.797
    Я думаю человек ясно написал. Где тут написано принимаю заявки на переделывание плагинов?
     
  8. pokypka20

    pokypka20

    Сообщения:
    250
    Симпатии:
    30
    Новые Скиллы на THC_RPG сделаеш даже заплочю)
     
  9. SenatoR

    SenatoR Модератор

    Сообщения:
    714
    Симпатии:
    270
    Оффтоп
     
  10. Константин Князев

    Константин Князев

    Сообщения:
    0
    Симпатии:
    0
    Слушай, а ты можешь сделать плагин, что бы когда на сервере игрок использует скрипты, тобишь Alies, его кикало с сервера. Если не бесплатно, то надеюсь стоимость будет умеренная.
    Связь со мной
    Skype: kostochka1994
    Email: [email protected]
     
  11. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.975
    Симпатии:
    2.982
  12. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    PHP:
    // Если по времени, то
    bool:CheckMapEnd()
    {
        
    // Начнем с того, 

        // Создаем логические переменные

        // True - Последний раунд
        // False - Не последний раунд
        
    new bool:lastround false;

        
    // True - Нет конца карта по времени (0)
        // False - Есть конец карты по времени (Идет отсчет)
        
    new bool:notimelimit false;

        
    // Создаем переменную, которая будет хранить в себе время карты
        
    new timelimit 0;

        
    // Получаем время карты и если оно меньше единицы (0 вообщем-то)
        
    if (GetMapTimeLimit(timelimit) && timelimit 1)
        {
            
    // Ставим значение переменной в значении True
            // То есть теперь мы знаем, что конца карты по времени нет
            // Или тут можно использовать return false
            
    notimelimit true;
        }
        
        
    // Иначе, если отсчет все-таки идет
        
    else
        {
            
    // Создаем переменную, которя будет содержать в себе оставшееся время до конца карты
            
    new timeleft 0

            
    // Получаем количество секунд
            
    if (GetMapTimeLeft(timeleft)) 
            {
                
    // Если время до конца карты больше нуля
                
    if (timeleft 0)
                {
                    
    // Возвращаем False
                    
    return false;
                }

                
    // Иначе, если отсчет есть, и время оставшееся время равно нулю
                
    else
                {
                    
    // Ставим значение переменной в значении True
                    // Или тут можно использовать return true
                    
    lastround true;
                }
            }
        }
    }
    // Учитывай, что это касается времени

    PHP:
    // То, что касается побед команд
    bool:CheckMapEnd()
    {
        
    // Нам известно, что g_hWinLimit = FindConVar("mp_winlimit")

        // Проверяем, существует ли переменная g_hWinLimit    
        
    if (g_hWinLimit != INVALID_HANDLE
        {
            
    // Получаем значение переменной g_hWinLimit
            
    new winlimit GetConVarInt(g_hWinLimit);

            
    // Если значение больше нуля
            
    if (winlimit 0)
            {
                
    // Получаем количество побед команд
                // 2 - Террористы
                // 3 - Спецназовцы
                
    if (GetTeamScore(2) >= winlimit || GetTeamScore(3) >= winlimit)
                {
                    
    // Последний раунд
                    
    return true;
                }

                
    // Ни одна из команд не набрала такое количество побед, которое равно значению переменной => Не последний раунд
                
    return false;
            }

            
    // Предыдущее условие не прошло, то есть значение переменной не больше нуля => Не последний раунд
            
    return false;
        }

        
    // Предыдущее условие не прошло, то есть переменной не существует => Не последний раунд
        
    return false;
    }

    PHP:
    bool:CheckMapEnd()
    {
        
    // Нам известно, что g_hMaxRounds = FindConVar("mp_maxrounds")

        // Проверяем, существует ли переменная g_hMaxRounds
        
    if (g_hMaxRounds != INVALID_HANDLE)
        {
            
    // Получаем значение переменной
            
    new maxrounds GetConVarInt(g_hMaxRounds);

            
    // Если значение больше нуля
            
    if (maxrounds 0)
            {
                
    // Значение переменной - Количество раундов, прошедших на карте
                // Где мы возьмем значение раундов? Все очень просто.
                // Создаем глобальную переменную (g_TotalRounds)
                // При старте карты (OnMapStart) приравниваем переменную нулю, чтобы счетчик на каждой карте сбрасывался
                // Ловим конец раунда (HookEvent) и прибавляем к переменной g_TotalRounds единицу
                
    new remaining maxrounds g_TotalRounds;

                
    // Если разность равна нулю
                
    if (remaining <= 0)
                {
                    
    // Последний раунд
                    
    return true;
                }

                
    // Предыдущее условие не прошло, то есть разность не равна нулю => Не последний раунд
                
    return false;
            }

            
    // Предыдующее условие не прошло, то есть значение не больше нуля => Не последний раунд
            
    return false;
        }

        
    // Предыдущее условие не прошло, то есть переменной не существует => Не последний раунд
        
    return false;
    }

    Теперь, зачем же нам были нужны переменные? Дело в том, что мы точно не знаем, как настроена смена карты у каждого человека. Поэтому сделать универсальный вариант было бы более рациональным решением
     
    R1KO нравится это.
  13. gravestal

    gravestal

    Сообщения:
    34
    Симпатии:
    4
    1)Join server admin
    2)При заходе админа(прописывается в конфиге) пишется в чате "[Главный админ]-Ник админа- зашел в игру." И проигрывается музыка для всех игроков.
    P.S Есть такой плагин на ES, но там он корявый и музыка не играет.
     
  14. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    Можешь попробовать.
    v4. Вообщем, забыл убрать лишнюю строку
     

    Вложения:

    Последнее редактирование: 13 июн 2013
    KorDen, byxue и hellgu нравится это.
  15. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    The End Is Near..., не будет работать вообще.
    1) при player_connect нельзя получить Client. С этой проблемой я уже сталкивался в аналоге Connect Announce...
    2) Даже если использовать OnClientConnected, админские права ведь назначаются OnCLientPostAdminCheck, То есть когда уже игрок практически вошел, и поэтому GetUserFlagBits вернет 0 в любом случае
     
    The End Is Near... нравится это.
  16. gravestal

    gravestal

    Сообщения:
    34
    Симпатии:
    4
    Нет, музыка не проигрывается.
     
  17. ☆★☆БАТЯ☆★☆™

    ☆★☆БАТЯ☆★☆™

    Сообщения:
    2.585
    Симпатии:
    1.341
    gravestal, http://hlmod.ru/forum/showthread.php?t=13105 здесь есть возможность проигрывания звука при заходе админа и текст, который сам настраиваешь.
     
  18. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
  19. SenatoR

    SenatoR Модератор

    Сообщения:
    714
    Симпатии:
    270
    Сделанные в шапку отправляй.
     
    KorDen, byxue, gravestal и ещё 1-му нравится это.
  20. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    Можешь попробовать.
     

    Вложения:

    • mdest.sp
      Размер файла:
      2,3 КБ
      Просмотров:
      27
    Ваня Олейник нравится это.