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

/_Parlament_\

Участник
Сообщения
134
Реакции
9
Добрый день, как сделать скрипт, чтобы при выборе игрока, его убивало..
PHP:
ShowMyMenu33(client) 
{ 
      new Handle:menu = CreateMenu(Select_Menu); 
      SetMenuTitle(menu, "Выберите Игрока:\n \n"); 
      decl String:userid[15], String:name[32]; 
      for (new i = 1; i <= MaxClients; i++) 
      { 
          if (IsClientInGame(i)) 
          { 
              IntToString(GetClientUserId(i), userid, 15); 
              GetClientName(i, name, 32); 
              AddMenuItem(menu, userid, name); 
          } 
      } 
      DisplayMenu(menu, client, 0); 
}

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); 
}
 

SenatoR

Участник
Сообщения
773
Реакции
344
Добрый день, как сделать скрипт, чтобы при выборе игрока, его убивало..
PHP:
ShowMyMenu33(client) 
{ 
      new Handle:menu = CreateMenu(Select_Menu); 
      SetMenuTitle(menu, "Выберите Игрока:\n \n"); 
      decl String:userid[15], String:name[32]; 
      for (new i = 1; i <= MaxClients; i++) 
      { 
          if (IsClientInGame(i)) 
          { 
              IntToString(GetClientUserId(i), userid, 15); 
              GetClientName(i, name, 32); 
              AddMenuItem(menu, userid, name); 
          } 
      } 
      DisplayMenu(menu, client, 0); 
}

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); 
}

Посмотри исходники админки в см.
 

/_Parlament_\

Участник
Сообщения
134
Реакции
9
Поискал ничего не понял:(

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


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);  
}
 
Последнее редактирование:

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
чтобы при выборе игрока, его убивало
В твоём стиле:
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); 
}
 

/_Parlament_\

Участник
Сообщения
134
Реакции
9
Нит:(
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); 
}
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #6
Пишу алгоритм:
1. Добавляешь игроков в меню. При этом записываешь их юзер ид как строки в описание пункотв. Это ты сделал.
2. При выборе пункта получаешь в строку юзер ид.
3. Преобразуешь его в int и сразу получаешь из него индекс (GetClientOfUserId)
4. Проверяешь не равен ли 0 индекс. Если нет - игрок на сервере и доступен. Делаешь что нужно
 

/_Parlament_\

Участник
Сообщения
134
Реакции
9
AlmazON, Ошибка кривых рук) все ок спасибо

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

Добавлено через 1 час 13 минут
Ау:|
 
Последнее редактирование:

/_Parlament_\

Участник
Сообщения
134
Реакции
9
AlmazON, я его активировал а вырубить не могу) как делать
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Список значений:
C-подобный:
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.
 

/_Parlament_\

Участник
Сообщения
134
Реакции
9
AlmazON, да куда ты торопишся...
Смотри я в меню активировал noclip но при нажатие ещё раз он не отключается
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
в меню активировал noclip но при нажатие ещё раз он не отключается
Автоопределение:
PHP:
SetEntityMoveType(client, GetEntityMoveType(client) == MOVETYPE_NOCLIP ? MOVETYPE_WALK:MOVETYPE_NOCLIP);
Если у игрока NoClip, то через меню ты его отключишь игроку, а если нет - включишь.
 
Сверху Снизу