[VIP] Free SWAP

Тема в разделе "Модули", создана пользователем TolikCorp, 6 янв 2015.

  1. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    [VIP] Free SWAP

    Версия: 1.0.0


    Описание:
    Беспрепятственная смена команды при помощи команды .

    Команда в консоли: sm_swap
    В чат: !swap

    История изменений:
    PHP:
    1.0.0 Релиз

    Код:
    PHP:
    #include <sdktools>
    #include <cstrike>
    #include <vip_core>
    #pragma semicolon 1

    public Plugin:myinfo 
    {
        
    name "[TolikCorporation][VIP] SwapTeam"
    };
    public 
    OnPluginStart()
        
    RegConsoleCmd("sm_swap"Command_Swap);
    public 
    Action:Command_Swap(clientargs)
        if (
    client && IsClientInGame(client)) 
            if((
    GetUserFlagBits(client) & ADMFLAG_ROOT) || VIP_IsClientVIP(client))
            {
                if(
    IsPlayerAlive(client))
                    
    ForcePlayerSuicide(client);
                new 
    playerTeam GetClientTeam(client);
                if(
    playerTeam == CS_TEAM_T)
                {
                    
    CS_SwitchTeam(clientCS_TEAM_CT);
                    
    PrintToChat(client,"[VIP] [Смена команды] Вы успешно сменили команду! [T > CT]");
                }
                else if(
    playerTeam == CS_TEAM_CT)
                {
                    
    CS_SwitchTeam(clientCS_TEAM_T);
                    
    PrintToChat(client,"[VIP] [Смена команды] Вы успешно сменили команду! [CT > T]");
                }
            }
        else
            
    PrintToChat(client,"[VIP] [Смена команды] Недостаточно полномочий!");
     

    Вложения:

    Последнее редактирование: 6 янв 2015
    AlmazON, KorDen и Sam_Fisher нравится это.
  2. R1KO

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

    Сообщения:
    5.970
    Симпатии:
    2.976
    TolikCorp, Оформи тему подобно остальным.
     
  3. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    1. Проверка IsClientInGame не нужна

    2. return Plugin_Handled;

    3. Проверять каждый раз на админа не вариант (с випом тоже самое - но тут, я так понимаю нету события в инклюде)

    4. Оптимизируй
     
    Последнее редактирование: 6 янв 2015
  4. R1KO

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

    Сообщения:
    5.970
    Симпатии:
    2.976
    Тоесть? Есть там всё.
     
  5. Саша Шеин

    Саша Шеин

    Сообщения:
    1.254
    Симпатии:
    191
    TolikCorp, а зачем это здесь? ADMFLAG_ROOT
     
  6. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    для того, чтобы главный админ даже без прав випа мог переходить из команды
     
  7. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    R1KO
    IsClientVip - Это просто bool функция или она проверяет каждый раз игрока?
     
  8. R1KO

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

    Сообщения:
    5.970
    Симпатии:
    2.976
    The End Is Near..., нет, она только возвращает bool значение из массива.
    PHP:
    new bool:g_bIsClientVIP[MAXPLAYERS+1] = {false, ...};


    public 
    Native_IsClientVIP(Handle:hPluginiNumParams)
    {
        new 
    iClient GetNativeCell(1);
        
    CheckValidClient(iClientfalse); // проверка индекса на валидность.
        
    return g_bIsClientVIP[iClient];
    }
     
  9. Саша Шеин

    Саша Шеин

    Сообщения:
    1.254
    Симпатии:
    191
    TolikCorp, Ты сделал модуль для вип плагина, а не для Гл. Админа без випки. А коли так то хоть в описании напиши, что этот плагин и для swap'инга Гл. Админов.
     
  10. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Саша Шеин, Тебе от этого стало хуже как-то?
    if(VIP_IsClientVIP(client)) сделай так
     
  11. Саша Шеин

    Саша Шеин

    Сообщения:
    1.254
    Симпатии:
    191
    TolikCorp, мне нет но, плагин для випов и если его поставит человек который в сп 0! то ..... ему будет сложно это исправить и ещё пожелание: добавь в меню
     
  12. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Зачем исправлять? Это баг?
    Чем тебе главный админ не супер вип, у которого должно быть всё?))) Над меню завтра почирикаю.
     
  13. Саша Шеин

    Саша Шеин

    Сообщения:
    1.254
    Симпатии:
    191
    TolikCorp, нуууу, а если я создатель сервера и продаю гл админ за 1090000р а вип за 4674р. И установив данный плагин для вип я не хочу чтобы он робил для гл админов ведь у них есть для этого админка.

    Добавлено через 2 минуты
    TolikCorp, тем более раз ты зальёшь это.дело в меню.... То гладмин без вип его не откроет => и проверку не надо.
     
    Последнее редактирование: 6 янв 2015
  14. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Мне одному кажется холивар по этому поводу бредом? Если на то пошло, ты посмотри другие плагины, ты знаешь сколько там всякого ненужного, мб даже тебе еще неизвестного? Там это все занимает килостроки, а ты тут на одну доп проверку на рут админа наговариваешь.
     
  15. Саша Шеин

    Саша Шеин

    Сообщения:
    1.254
    Симпатии:
    191
    TolikCorp, раз ты зальёшь это.дело
    в меню.... То гладмин без вип его не откроет => и
    проверку не надо.
     
  16. R1KO

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

    Сообщения:
    5.970
    Симпатии:
    2.976
    TolikCorp, если так рассуждать - вынеси проверку на вход игрока и сохраняй значение в переменной. А то не оптимально выходит.

    Подсказка

    PHP:
    new bool:g_bIsAdmin[MAXPLAYERS+1];

    public 
    OnClientPostAdminCheck(clientg_bIsAdmin[client] = (!IsFakeClient()client && GetUserFlagBits(client) & ADMFLAG_ROOT);

    // ...
     
    if(g_bIsAdmin[client] || VIP_IsClientVIP(client))
     
    TolikCorp нравится это.
  17. Саша Шеин

    Саша Шеин

    Сообщения:
    1.254
    Симпатии:
    191
    Я не про оптимальность, а про то что зачем? Ведь если будет в меню то и так понятно что игрок вип и вообще пофиг гл админ или просто карто меняльщик.
     
  18. T1MOXA

    T1MOXA

    Сообщения:
    468
    Симпатии:
    32
    Апдейт будет?
     
  19. R1KO

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

    Сообщения:
    5.970
    Симпатии:
    2.976
    _Timoxa_, а нужно?
     
  20. hanson

    hanson

    Сообщения:
    303
    Симпатии:
    15
    Предлагаю добавить такую опцию, при написании в чат !tm-перекидывает за противоположную команду. При написании в чат !sp-перекидывает за наблюдателей.