Функция с игроками

Тема в разделе "Программирование / Скриптинг", создана пользователем /_Parlament_\, 8 июл 2015.

  1. /_Parlament_\

    /_Parlament_\

    Сообщения:
    135
    Симпатии:
    7
    Добрый день, как сделать скрипт, чтобы при выборе игрока, его убивало..
    PHP:
    ShowMyMenu33(client

          new 
    Handle:menu CreateMenu(Select_Menu); 
          
    SetMenuTitle(menu"Выберите Игрока:\n \n"); 
          
    decl String:userid[15], String:name[32]; 
          for (new 
    1<= MaxClientsi++) 
          { 
              if (
    IsClientInGame(i)) 
              { 
                  
    IntToString(GetClientUserId(i), userid15); 
                  
    GetClientName(iname32); 
                  
    AddMenuItem(menuuseridname); 
              } 
          } 
          
    DisplayMenu(menuclient0); 
    }

    public 
    Select_Menu(Handle:menuMenuAction:actionclientoption

        if (
    action == MenuAction_End
        {
        
    CloseHandle(menu); 
        return; 
        } 
        if (
    action != MenuAction_Select) return; 
        
    decl String:userid[15]; 
        
    GetMenuItem(menuoptionuserid15); 
        
    ForcePlayerSuicide(client);
        
    giveplayer(client); 
    }
     
  2. SenatoR

    SenatoR Модератор

    Сообщения:
    714
    Симпатии:
    270
    Посмотри исходники админки в см.
     
  3. /_Parlament_\

    /_Parlament_\

    Сообщения:
    135
    Симпатии:
    7
    Поискал ничего не понял:(

    Мне бы мини скрипт чтобы с этим разобраться


    PHP:
    public Select_Menu(Handle:menu, MenuAction:action, client, option)  
    {  
        if 
    (action == MenuAction_End)  
        

        CloseHandle(menu);  
        return
    ;  
        
    }  
        if 
    (action != MenuAction_Select) return;  
        decl String
    :userid[15];  
        GetMenuItem
    (menu, option, userid, 15);  
        ForcePlayerSuicide
    (client); 
        giveplayer(client);  
    }
     
    Последнее редактирование: 8 июл 2015
  4. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.540
    Симпатии:
    1.984
    В твоём стиле:
    PHP:
    public Select_Menu(Handle:menuMenuAction:actionclientoption

        if (
    action == MenuAction_End
        {
            
    CloseHandle(menu); 
            return; 
        } 
        if (
    action != MenuAction_Select) return; 
        
    decl String:userid[15]; 
        
    GetMenuItem(menuoptionuserid15); 
        new 
    target GetClientOfUserId(StringToInt(userid));
        if (
    target == 0){
            
    PrintToChat(client"Игрок недоступен.");
            return;
        }
        
    ForcePlayerSuicide(target);
        
    giveplayer(target); 
     
    /_Parlament_\ нравится это.
  5. /_Parlament_\

    /_Parlament_\

    Сообщения:
    135
    Симпатии:
    7
    Нит:(
    PHP:
    public Select_Menu(Handle:menu, MenuAction:action, client, option) 
    { 
        if 
    (action == MenuAction_End) 
        
    {
            CloseHandle(menu); 
            return
    ; 
        
    } 
        if 
    (action != MenuAction_Select) return; 
        decl String
    :userid[15]; 
        GetMenuItem
    (menu, option, userid, 15); 
        new target 
    = GetClientOfUserId(StringToInt(userid));
        if (target == 0){
            PrintToChat(client, "Игрок недоступен.");
            return;
        }
        ForcePlayerSuicide(target);
        giveplayer(target); 
    }
     
  6. R1KO

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

    Сообщения:
    5.994
    Симпатии:
    2.990
    Пишу алгоритм:
    1. Добавляешь игроков в меню. При этом записываешь их юзер ид как строки в описание пункотв. Это ты сделал.
    2. При выборе пункта получаешь в строку юзер ид.
    3. Преобразуешь его в int и сразу получаешь из него индекс (GetClientOfUserId)
    4. Проверяешь не равен ли 0 индекс. Если нет - игрок на сервере и доступен. Делаешь что нужно
     
  7. /_Parlament_\

    /_Parlament_\

    Сообщения:
    135
    Симпатии:
    7
    AlmazON, Ошибка кривых рук) все ок спасибо

    Добавлено через 33 минуты
    А как выключить если я включил
    PHP:
    if (GetEntityMoveType(client) == MOVETYPE_NOCLIP//Проверка на то что игрок использует NoClip
    {
    //Как отключить при помощи true & false?
    }
    Добавлено через 1 час 13 минут
    Ау:|
     
    Последнее редактирование: 8 июл 2015
  8. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.540
    Симпатии:
    1.984
    SetEntityMoveType(client, НовыйТипДвижения);
     
  9. /_Parlament_\

    /_Parlament_\

    Сообщения:
    135
    Симпатии:
    7
    AlmazON, пример можно?
     
  10. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.540
    Симпатии:
    1.984
    Тот же NoClip, но уже даём игроку:
    PHP:
    SetEntityMoveType(clientMOVETYPE_NOCLIP);
     
  11. /_Parlament_\

    /_Parlament_\

    Сообщения:
    135
    Симпатии:
    7
    AlmazON, я его активировал а вырубить не могу) как делать
     
  12. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.540
    Симпатии:
    1.984
    Список значений:
    Код:
    enum MoveType
    {
    	MOVETYPE_NONE = 0,			/**< never moves */
    	MOVETYPE_ISOMETRIC,			/**< For players */
    	MOVETYPE_WALK,				/**< Player only - moving on the ground */
    	MOVETYPE_STEP,				/**< gravity, special edge handling -- monsters use this */
    	MOVETYPE_FLY,				/**< No gravity, but still collides with stuff */
    	MOVETYPE_FLYGRAVITY,		/**< flies through the air + is affected by gravity */
    	MOVETYPE_VPHYSICS,			/**< uses VPHYSICS for simulation */
    	MOVETYPE_PUSH,				/**< no clip to world, push and crush */
    	MOVETYPE_NOCLIP,			/**< No gravity, no collisions, still do velocity/avelocity */
    	MOVETYPE_LADDER,			/**< Used by players only when going onto a ladder */
    	MOVETYPE_OBSERVER,			/**< Observer movement, depends on player's observer mode */
    	MOVETYPE_CUSTOM,			/**< Allows the entity to describe its own physics */
    };
    3 тип вставляй: MOVETYPE_WALK.
     
  13. /_Parlament_\

    /_Parlament_\

    Сообщения:
    135
    Симпатии:
    7
    AlmazON, да куда ты торопишся...
    Смотри я в меню активировал noclip но при нажатие ещё раз он не отключается
     
  14. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.540
    Симпатии:
    1.984
    Автоопределение:
    PHP:
    SetEntityMoveType(clientGetEntityMoveType(client) == MOVETYPE_NOCLIP MOVETYPE_WALK:MOVETYPE_NOCLIP);
    Если у игрока NoClip, то через меню ты его отключишь игроку, а если нет - включишь.
     
    /_Parlament_\ нравится это.