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

Айболит

Участник
Сообщения
17
Реакции
0
Всем привет! Ну если кто-то хочет испытать свое мастерство в написании плагинов, то вот вам заказ!
ТФ2 . Карты с вагонеткой и с асиметричным захватом точек. Не все игроки настолько скиловые, чтоб доползти до последней точки. Поэтому я иногда помогаю слабым игрокам.
За 1-2 минуты до конца раунда я запускаю голосование: СделатьРобота? Да Нет.
Если Да, то самого слабого игрока в синей команде я делаю Хеви-гигантом. Это дает последний шанс захватить точку и немного уравнивает скилы команд.
Есть проблемы. Хеви-гигант иногда застревает в текстуре. Сложно всё вводить вручную.
Но это производит настоящий фурор!
Так что, если кто напишет такой плагин - будет очень круто!
 

☠ ÄйӃи ☠

Добрая душа
Сообщения
220
Реакции
86
Всем привет! Ну если кто-то хочет испытать свое мастерство в написании плагинов, то вот вам заказ!
ТФ2 . Карты с вагонеткой и с асиметричным захватом точек. Не все игроки настолько скиловые, чтоб доползти до последней точки. Поэтому я иногда помогаю слабым игрокам.
За 1-2 минуты до конца раунда я запускаю голосование: СделатьРобота? Да Нет.
Если Да, то самого слабого игрока в синей команде я делаю Хеви-гигантом. Это дает последний шанс захватить точку и немного уравнивает скилы команд.
Есть проблемы. Хеви-гигант иногда застревает в текстуре. Сложно всё вводить вручную.
Но это производит настоящий фурор!
Так что, если кто напишет такой плагин - будет очень круто!
Я уверен на HLmod куча фанатов TF с бонусом (Программист или скриптер) и вам они могут написать такой плагин ТУТ за вознаграждение их трудов. А может и бесплатно тут. Ждите.
 

☠ ÄйӃи ☠

Добрая душа
Сообщения
220
Реакции
86
Проверьте, в конфиге можно изменить на любой встроенный звук
Боже я дал тоже самое. Генерирует конфиг и всё впиши туда свой любой звук, стандарт - не стандарт, вообще без разницы !
 

rokfestr

Участник
Сообщения
340
Реакции
63
Может кто-то написать Rules menu Accept Csgo
Когда игрок заходит на сервер, ему показывает правила и чтобы начать играть ему нужно с ними согласиться. Подобные плагины искал, все не рабочие.
 

☠ ÄйӃи ☠

Добрая душа
Сообщения
220
Реакции
86
Может кто-то написать Rules menu Accept Csgo
Когда игрок заходит на сервер, ему показывает правила и чтобы начать играть ему нужно с ними согласиться. Подобные плагины искал, все не рабочие.
@rokfestr, Могу сделать.
 

Someone

Участник
Сообщения
1,933
Реакции
1,653
Может кто-то написать Rules menu Accept Csgo
Когда игрок заходит на сервер, ему показывает правила и чтобы начать играть ему нужно с ними согласиться. Подобные плагины искал, все не рабочие.
PHP:
#pragma semicolon 1
#pragma newdecls required

Panel hPanel;

public void OnPluginStart()
{
    hPanel = new Panel();
    hPanel.SetTitle("Правила");
   
    hPanel.DrawText("Правило 1");
    hPanel.DrawText("Правило 2");
    hPanel.DrawItem("Да");
    hPanel.DrawItem("Нет");
    HookEvent("player_activate", Event_PlayerActivate);
}

public void Event_PlayerActivate(Event hEvent, const char[] sName, bool bDontBroadcast)
{
    static int iClient;
    iClient= GetClientOfUserId(hEvent.GetInt("userid"));
    if(!IsFakeClient(iClient))
    {
        hPanel.Send(iClient, MenuHandler, 0);
    }
}

public int MenuHandler(Menu hMenu, MenuAction action, int iClient, int iItem)
{
    switch(action)
    {
        case MenuAction_Cancel:
        {
            KickClient(iClient, "Вы должны согласиться с правилами!");
        }
        case MenuAction_Select: if(!iItem)   KickClient(iClient, "Вы должны согласиться с правилами!");
    }
    return 0;
}
 

rokfestr

Участник
Сообщения
340
Реакции
63
PHP:
#pragma semicolon 1
#pragma newdecls required

Panel hPanel;

public void OnPluginStart()
{
    hPanel = new Panel();
    hPanel.SetTitle("Правила");
  
    hPanel.DrawText("Правило 1");
    hPanel.DrawText("Правило 2");
    hPanel.DrawItem("Да");
    hPanel.DrawItem("Нет");
    HookEvent("player_activate", Event_PlayerActivate);
}

public void Event_PlayerActivate(Event hEvent, const char[] sName, bool bDontBroadcast)
{
    static int iClient;
    iClient= GetClientOfUserId(hEvent.GetInt("userid"));
    if(!IsFakeClient(iClient))
    {
        hPanel.Send(iClient, MenuHandler, 0);
    }
}

public int MenuHandler(Menu hMenu, MenuAction action, int iClient, int iItem)
{
    switch(action)
    {
        case MenuAction_Cancel:
        {
            KickClient(iClient, "Вы должны согласиться с правилами!");
        }
        case MenuAction_Select: if(!iItem)   KickClient(iClient, "Вы должны согласиться с правилами!");
    }
    return 0;
}
Спасибо, а можно куки добавить чтобы сохраняло игроков которые согласились с правилами, чтобы при перезаходе им снова правила не высвечивались
 

Someone

Участник
Сообщения
1,933
Реакции
1,653
Спасибо, а можно куки добавить чтобы сохраняло игроков которые согласились с правилами, чтобы при перезаходе им снова правила не высвечивались
PHP:
#include <clientprefs>

#pragma semicolon 1
#pragma newdecls required


Panel hPanel;
Handle g_hCookie;

public void OnPluginStart()
{
    g_hCookie = RegClientCookie("RulesCookie", "RulesCookie", CookieAccess_Private);
    
    hPanel = new Panel();
    hPanel.SetTitle("Правила");
  
    hPanel.DrawText("Правило 1");
    hPanel.DrawText("Правило 2");
    
    hPanel.DrawItem("Да");
    hPanel.DrawItem("Нет");
    
    HookEvent("player_activate", Event_PlayerActivate);
}

public void Event_PlayerActivate(Event hEvent, const char[] sName, bool bDontBroadcast)
{
    static int iClient;
    iClient = GetClientOfUserId(hEvent.GetInt("userid"));
    if(!IsFakeClient(iClient))
    {
        static char szValue[2];
        GetClientCookie(iClient, g_hCookie, szValue, sizeof(szValue));
        if(!szValue[0])    hPanel.Send(iClient, MenuHandler, 0);
    }
}

public int MenuHandler(Menu hMenu, MenuAction action, int iClient, int iItem)
{
    switch(action)
    {
       case MenuAction_Cancel: KickClient(iClient, "Вы должны согласиться с правилами!");
       case MenuAction_Select:
        {
            if(iItem)        SetClientCookie(iClient, g_hCookie, "1");
            else            KickClient(iClient, "Вы должны согласиться с правилами!");
        }
    }
    return 0;
}
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
@Someone, не факт что в player_activate уже будут загружены куки
 

rokfestr

Участник
Сообщения
340
Реакции
63
PHP:
#include <clientprefs>

#pragma semicolon 1
#pragma newdecls required


Panel hPanel;
Handle g_hCookie;

public void OnPluginStart()
{
    g_hCookie = RegClientCookie("RulesCookie", "RulesCookie", CookieAccess_Private);
   
    hPanel = new Panel();
    hPanel.SetTitle("Правила");
 
    hPanel.DrawText("Правило 1");
    hPanel.DrawText("Правило 2");
   
    hPanel.DrawItem("Да");
    hPanel.DrawItem("Нет");
   
    HookEvent("player_activate", Event_PlayerActivate);
}

public void Event_PlayerActivate(Event hEvent, const char[] sName, bool bDontBroadcast)
{
    static int iClient;
    iClient = GetClientOfUserId(hEvent.GetInt("userid"));
    if(!IsFakeClient(iClient))
    {
        static char szValue[2];
        GetClientCookie(iClient, g_hCookie, szValue, sizeof(szValue));
        if(!szValue[0])    hPanel.Send(iClient, MenuHandler, 0);
    }
}

public int MenuHandler(Menu hMenu, MenuAction action, int iClient, int iItem)
{
    switch(action)
    {
       case MenuAction_Cancel: KickClient(iClient, "Вы должны согласиться с правилами!");
       case MenuAction_Select:
        {
            if(iItem)        SetClientCookie(iClient, g_hCookie, "1");
            else            KickClient(iClient, "Вы должны согласиться с правилами!");
        }
    }
    return 0;
}
Всё работает, мог бы еще добавить таймер, чтобы правила появлялись через 1 сек.
 
F

FBI

Люди кто может запилить кое-что интересное))
Судя по данному видосу есть возможность ставить золотой ник в стиме, а что если собрать такое для сервера???
 

Cryengine

Участник
Сообщения
8
Реакции
2
Привет! Кто сможет подправить плагин extendedcomm.
Нужно сделать, что бы он работал отдельно от Админского меню и, что бы менюшка вызывалась отдельной командой к примеру !mute
Что бы выдача данной опции происходила по админскому флагу и муты заносились в sourcebans.
Наверное загрузил рассказом ))))), но все же хотелось бы знать возможно ли такое реализовать.
Заранее благодарствую, ребята. :)

p.s. чуть не забыл уточнить, что нужно все это под sourcemod 1.6.3
 

Вложения

  • sm_extendedcomm_3.0.8b.zip
    55.2 КБ · Просмотры: 3

Черная вдова

Участник
Сообщения
2,795
Реакции
670
Привет! Кто сможет подправить плагин extendedcomm.
Нужно сделать, что бы он работал отдельно от Админского меню и, что бы менюшка вызывалась отдельной командой к примеру !mute
Что бы выдача данной опции происходила по админскому флагу и муты заносились в sourcebans.
Наверное загрузил рассказом ))))), но все же хотелось бы знать возможно ли такое реализовать.
Заранее благодарствую, ребята. :)

p.s. чуть не забыл уточнить, что нужно все это под sourcemod 1.6.3
Sourcebans++ уже имеет встроенные эти функции
 
Сверху Снизу