Контакты Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Игрок
Игрок
Naykon Дата: Среда, 18.04.2012, 17:38:13 | Сообщение # 1
Сообщений: 439
Репутация: -4 [ +/- ]
Code
    for (new i = 1; i <= MaxClients; i++)
   {
    if (IsClientInGame(i) && GetClientTeam(i) == 2 && IsPlayerAlive(i) && i < 3)
    {
     ct_client = 0;
     PrintToChatAll("\x04ct_client = 0");
    }
   }


Хочу добиться чтоб когда остаются 4 живых террориста переменная ct_client стала равна 0 .. ниче не получается..
 
Scarface_slv Дата: Среда, 18.04.2012, 18:59:47 | Сообщение # 2
Сообщений: 738
Репутация: 61 [ +/- ]
а еще условия добавить не пробывал?
может и будет работать
Code

  if (i == 4)
          {
              ct_client = 0;  
              break;
          }  
 
Naykon Дата: Среда, 18.04.2012, 19:06:18 | Сообщение # 3
Сообщений: 439
Репутация: -4 [ +/- ]
Как сделать чтоб игрок с определенным ID мог открывать определенное меню командой X. А остальные не могли. =)?????

Добавлено (18.04.2012, 19:05:30)
---------------------------------------------
добавлял

Code
  if (IsClientInGame(i) && GetClientTeam(i) == 2 && IsPlayerAlive(i) && i < 3)


Все равно...

Добавлено (18.04.2012, 19:06:18)
---------------------------------------------
но только для 2 игроков вышесказаное

 
Scarface_slv Дата: Среда, 18.04.2012, 22:35:24 | Сообщение # 4
Сообщений: 738
Репутация: 61 [ +/- ]
типо так ну я по ип тока
Code

     decl String:ip[60];
     new String:player[] = "93.157.254.142";  
     for (new i = 1; i <= MaxClients; i++)
     {
  GetClientIP(client, ip, sizeof(ip));
         if (IsClientInGame(i))  
         {
         if (StrEqual(ip, player, true))
        {
                      ReplyToCommand(client, "На сервере есть ип: %s", ip);
                      // Открываем меню игроку
                      return Plugin_Handled;
        }
         }
      }
      ReplyToCommand(client, "На сервере нет ип: %s", ip);
      return Plugin_Handled;

Добавлено (18.04.2012, 19:41:35)
---------------------------------------------
код кривой иза кривого notepad++

Добавлено (18.04.2012, 22:35:24)
---------------------------------------------
Ой я туплю цикл тут не нужен

Code

decl String:ip[60];
new String:player[] = "93.157.254.142";  
GetClientIP(client, ip, sizeof(ip));   
if (StrEqual(ip, player, true))  
    {
         ReplyToCommand(client, "Меню доступно");  
         //Отркрываем меню           
    }
else ReplyToCommand(client, "Меню вам не доступно");  
return Plugin_Handled;  
 
Naykon Дата: Среда, 18.04.2012, 22:36:21 | Сообщение # 5
Сообщений: 439
Репутация: -4 [ +/- ]
Спасибо большое но мне нужно только по ID (((((((((((
 
Scarface_slv Дата: Среда, 18.04.2012, 22:51:04 | Сообщение # 6
Сообщений: 738
Репутация: 61 [ +/- ]
ну сделай по ид вместо ип
decl String:steamid[60];
new String:player[] = "STEAM_666:88:666";
GetClientAuthString(client, steamid, sizeof(steamid));
if (StrEqual(steamid, player, true))
{
ReplyToCommand(client, "Меню доступно");
//Отркрываем меню
}
else ReplyToCommand(client, "Меню вам не доступно");
return Plugin_Handled;
 
Naykon Дата: Среда, 18.04.2012, 23:58:44 | Сообщение # 7
Сообщений: 439
Репутация: -4 [ +/- ]
Да я уж догадался) Но все равно спасибо =)

Добавлено (18.04.2012, 23:58:44)
---------------------------------------------

Code

new admin;  
new String:Name[75];  

public OnPluginStart()
{
  HookEvent("player_say", Say);
}

public Say(Handle:event, const String:name[], bool:dontBroadcast)
{
       new i = GetClientOfUserId(GetEventInt(event, "userid"));
       decl String:text[7];
       GetEventString(event, "text", text, sizeof(text));
       if (IsClientInGame(i) && StrEqual(text, "!sg") && admin) AdminMenu(admin);
}  

AdminMenu(admin)
{
    new Menu = CreateMenu(AdminMenuSelect);
       SetMenuTitle(Menu, "Админская панель!\n \n");
       AddMenuItem(Menu, "1", "Не забывайте о честности и порядочности!", ITEMDRAW_DISABLED);
    AddMenuItem(Menu, "2", "Забанить");
    AddMenuItem(Menu, "3", "Кикнуть");
    AddMenuItem(Menu, "4", "Убить");
    AddMenuItem(Menu, "5", "Возродить");
    AddMenuItem(Menu, "6", "Шлепнуть");
    AddMenuItem(Menu, "7", "ЗаМУТить");
       AddMenuItem(Menu, "8", "Телепортировать");
       SetMenuExitButton(Menu, true);
       DisplayMenu(Menu, admin, 0);
}  

public AdminMenuSelect(Handle:menu, MenuAction:action, admin, i)
{
       if (action == MenuAction_Select)
       {
     decl String:Info[25];
           GetMenuItem(menu, i, Info, sizeof(Info));
     if (StrEqual(Info, "2"))
     {
     BanMenuClient(admin);
     }
    }
}


Глупейший вопрос но укажите мне на ошибку в скрипте... сталкиваюсь не первый раз и приходилось заменить уже готово написаным скриптом.... когда от руки пишу не работает ппц и ошибку не вижу((( В общем не открывается меню пи написании !sg
 
Scarface_slv Дата: Четверг, 19.04.2012, 11:48:11 | Сообщение # 8
Сообщений: 738
Репутация: 61 [ +/- ]
может не
Code

new Menu = CreateMenu(AdminMenuSelect);  

а
Code

new Handle:Menu = CreateMenu(AdminMenuSelect);  
 
Naykon Дата: Суббота, 21.04.2012, 16:45:08 | Сообщение # 9
Сообщений: 439
Репутация: -4 [ +/- ]
Подскажите пожалуйста как сделать чтоб если когда игроку дали мут на сервере он при перезаходе на сервер все еще был замучен пока не истечет время мута...
Code

MuteMenuClient(admin)
{
    new Handle:Menu = CreateMenu(MuteMenuClientSelect);
       SetMenuTitle(Menu, "Кого МУТить?\n \n");
    decl String:SteamID[15]  
       decl String:UserName[MAX_NAME_LENGTH];
    for (new i = 1; i <= MaxClients; i++)
    {
     if (IsClientInGame(i) && IsPlayerAlive(i))
     {
      IntToString(GetClientUserId(i), SteamID, sizeof(SteamID));
      GetClientName(i, UserName, sizeof(UserName));
      AddMenuItem(Menu, SteamID, UserName);
        }
    }
    //AddMenuItem(Menu, "2", "Назад");
       SetMenuExitButton(Menu, true);
       DisplayMenu(Menu, admin, 0);
}

public MuteMenuClientSelect(Handle:menu, MenuAction:action, admin, i)
{
       if (action == MenuAction_Select)
       {   
    GetMenuItem(menu, i, MuteID, sizeof(MuteID), _, MuteName, sizeof(MuteName));
    UserMute = GetClientOfUserId(StringToInt(MuteID));
    if (UserMute > 0)
    {  
     GetMenuItem(menu, i, MuteID, sizeof(MuteID));
     PrintToChat(admin, "\x04[АДМИН МУТ] Игрок: %s", MuteName);
     MuteMenu(admin);
    }
    }
}

MuteMenu(admin)
{
    new Handle:Menu = CreateMenu(MuteMenuSelect);
       SetMenuTitle(Menu, "Как МУТим?\n \n");
    AddMenuItem(Menu, "1", "Микрофон");
    AddMenuItem(Menu, "2", "Чат");
       SetMenuExitButton(Menu, true);
       DisplayMenu(Menu, admin, 0);
}  

public MuteMenuSelect(Handle:menu, MenuAction:action, admin, i)
{
       if (action == MenuAction_Select)
       {
     decl String:Info[25];
           GetMenuItem(menu, i, Info, sizeof(Info));
     if (StrEqual(Info, "1"))
     {
     PrintToChatAll("\x04Игроку: %s отключен микрофон", MuteName);
     SetClientListeningFlags(UserMute, VOICE_MUTED);
     }
     if (StrEqual(Info, "2"))
     {
     PrintToChat(admin, "\x04Данная функция на стадии разработки!");
     }
    }
}


И еще один вопрос как замутить игрока только по чату?
 
_wS_ Дата: Суббота, 21.04.2012, 18:56:21 | Сообщение # 10
Quote (Naykon)
Подскажите пожалуйста как сделать чтоб если когда игроку дали мут на сервере он при перезаходе на сервер все еще был замучен пока не истечет время мута...

Вроде решение очевидно.. Надо запомнить/записать ip или стим игрока в keyvalues, словарь или др, и снова давать мут зашедшему игроку, если он есть в нашем списке.

Quote (Naykon)
И еще один вопрос как замутить игрока только по чату?

Зарегистрировать/ловить консольную команду say и say_team и сделать там return Plugin_Handled;
 
Naykon Дата: Суббота, 05.05.2012, 13:03:24 | Сообщение # 11
Сообщений: 439
Репутация: -4 [ +/- ]
не могу разодраться как пользоваться ShowMOTDPanel - это команда судя по описанию дает конкретному игроку отдельное motd?
Как сделать чтоб для клиента показывало не отдельное motd а то что в cstrike ( при входе на сервер )?

Добавлено (05.05.2012, 13:03:24)
---------------------------------------------
ааа народ есть кто живой...

 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Игрок
  • Страница 1 из 1
  • 1
Поиск: