Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

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

  • Страница 1 из 1
  • 1
Оружие в руках
rasav Дата: Воскресенье, 30.06.2013, 12:08:53 | Сообщение # 1
Сообщений: 58
Репутация: 0 [ +/- ]
Здравствуйте !
У меня назрел еще один вопрос . Как заставить игрока выкинуть оружие , все оружие кроме ножа ! Если не получается выкинуть то пусть оно удалится . Я видел много подобий на eventscript , но мне нужна эта функция именно в sourcemod .
Если у кого-нибудь есть такая функция , ну или знаете как это реализовать то помогите пожалуйста ...
(Все примеры функций которые я находил на форуме работают только если узнать какое оружие в руках . А если у него M4A1 в руках и пистолет , получится что автомат он выкинет а пистолет останется ?!)
Спасибо !


Сообщение отредактировал rasav - Воскресенье, 30.06.2013, 12:10:30
 
Scarface_slv Дата: Воскресенье, 30.06.2013, 12:27:14 | Сообщение # 2
Сообщений: 737
Репутация: 61 [ +/- ]
Про получения индекса оружия по номеру слота, выкидывание или удаления оружия есть тут
И пример удаления всего кроме гранат, тут
 
rasav Дата: Воскресенье, 30.06.2013, 12:29:08 | Сообщение # 3
Сообщений: 58
Репутация: 0 [ +/- ]
Цитата (Scarface_slv)
Про получения индекса оружия по номеру слота, выкидывание или удаления оружия есть тут
И пример удаления всего кроме гранат, тут

Спасибо большое !
 
panorama Дата: Понедельник, 01.07.2013, 20:40:39 | Сообщение # 4
Сообщений: 203
Репутация: 2 [ +/- ]
Помогите с циклом
Код

  decl index;   
  for (new slot = 0; slot < 5; slot++)   
  {   
     if ((index = GetPlayerWeaponSlot(client, slot)) > 0)   
     {   
  CS_DropWeapon(client, index, true, false);
  /// RemovePlayerItem(client, index);   
     }
  }  

Он выкидывает все оружее кроме 3 гранат !
Как можно исправить ?
 
Scarface_slv Дата: Понедельник, 01.07.2013, 21:40:14 | Сообщение # 5
Сообщений: 737
Репутация: 61 [ +/- ]
Так попробуй
Код

decl index;         
for (new slot = 0; slot < 5; slot++)         
{         
      if ((index = GetPlayerWeaponSlot(client, slot)) > 0)         
      {         
            if(slot == 3)       
            {
                  for (new i = 0; i < 4; i++)        
                  {
                       if((index = GetPlayerWeaponSlot(client, slot)) > 0) CS_DropWeapon(client, index, true, false);
                       else break;
                  }
             }        
             else CS_DropWeapon(client, index, true, false);
       }
}


Сообщение отредактировал Scarface_slv - Понедельник, 01.07.2013, 21:43:19
 
_wS_ Дата: Вторник, 02.07.2013, 00:39:32 | Сообщение # 6
Нет, Scarface_slv, это неправильно:

Код
if (slot == 3)
{
     for (new i = 0; i < 4; i++)
     {

Нужно использовать G/SetEntProp и m_iAmmo.
 
  • Страница 1 из 1
  • 1
Поиск: