| Есть ли вариант запретить глушители на оружии на css v34? | 
|  | 
| 
| WOW_NAMES | Дата: Вторник, 10.03.2015, 15:10:46 | Сообщение # 1 |  |   
|  |  | Сообщений: 170 Репутация: -1 [ +/- ]
 |  | Видел плагин автоглушак на M4A1 - а мне наоборот надо запретить надевать глушитель на всех видах оружия. Что можете посоветовать?
 |  |  |  |  | 
| 
| Nahal | Дата: Вторник, 10.03.2015, 15:13:15 | Сообщение # 2 |  |   
|  |  | Сообщений: 205 Репутация: 8 [ +/- ]
 |  | WOW_NAMES, возьми этот плагин и переделай, в чем проблема??? |  |  |  |  | 
| 
| BarD | Дата: Вторник, 10.03.2015, 16:37:01 | Сообщение # 3 |  |   
|  |  | Сообщений: 943 Репутация: 137 [ +/- ]
 |  | Код public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)  {
 if (client && (buttons & IN_ATTACK2))
 {
 decl String:w[20];
 GetClientWeapon(client, w, 20);
 if (StrEqual(w, "weapon_m4a1") || StrEqual(w, "weapon_usp")) return Plugin_Handled;
 }
 return Plugin_Continue;
 }
 Пробуй так. Суть проста: Когда игрок нажимает ПКМ, то сверяется оружие. Если это М4А1 или USP, то запрещаем. Иначе, пропускаем.
 |  |  |  |  | 
| 
| iEx | Дата: Вторник, 10.03.2015, 16:46:19 | Сообщение # 4 |  |   
|  |  | Сообщений: 304 Репутация: 23 [ +/- ]
 |  | Есть способ легче думаю еще,можно значение глушителя менять(былж плаг авто надевание глушака,изменить его да и все) |  |  |  |  | 
| 
| WOW_NAMES | Дата: Вторник, 10.03.2015, 17:44:29 | Сообщение # 5 |  |   
|  |  | Сообщений: 170 Репутация: -1 [ +/- ]
 |  | BarD, Нет твой способ не подходит ((( он запретит нажимать мышь но не уберет глушак на оружие которое уже с глушаком лежит((( Спасибо за старания но надо что-то другое.
 Переделать плагин автоглушителя так же не вариант.
 Надо просто отрубить полностью возможность установки глушителя.
 |  |  |  |  | 
| 
| BarD | Дата: Вторник, 10.03.2015, 17:59:30 | Сообщение # 6 |  |   
|  |  | Сообщений: 943 Репутация: 137 [ +/- ]
 |  | Оффсет m_bSilencerOn отвечает за глушитель. 1 - есть, 0 - нет. Можно менять его у М4А1 и USP. Только событие нужное подбери. |  |  |  |  | 
| 
| WOW_NAMES | Дата: Вторник, 10.03.2015, 18:04:59 | Сообщение # 7 |  |   
|  |  | Сообщений: 170 Репутация: -1 [ +/- ]
 |  | Вот кода плагина аутоглушак. Как видно он делает проверку на оружие и если оно эмка то ставит глушитель. Это не решает мою задачу. Мне нужно не автоснимать глушак, не запрещать нажимать кнопку мыши - запретить саму возможность оружия устанавливать глушитель. 
 
 Код  #include <sourcemod>
 #include <sdktools>
 
 new g_SilencerOn;
 
 public OnPluginStart()
 {
 g_SilencerOn = FindSendPropOffs("CWeaponM4A1", "m_bSilencerOn");
 HookEvent("item_pickup", EventItemPickup);
 }
 
 public EventItemPickup(Handle:event, const String:name[],bool:dontBroadcast)
 {
 decl String:item[32]; GetEventString(event, "item", item, sizeof(item));
 if (StrEqual(item, "m4a1")){
 new client = GetClientOfUserId(GetEventInt(event, "userid"));
 new m4 = GetPlayerWeaponSlot(client, 0);
 SetEntData(m4, g_SilencerOn, 1);
 }
 }
 
 |  |  |  |  | 
| 
| Nahal | Дата: Вторник, 10.03.2015, 18:26:07 | Сообщение # 8 |  |   
|  |  | Сообщений: 205 Репутация: 8 [ +/- ]
 |  | #include <sourcemod> #include <sdktools>
 
 new g_SilencerOn;
 
 public OnPluginStart()
 {
 g_SilencerOn = FindSendPropOffs("CWeaponM4A1", "m_bSilencerOff");
 HookEvent("item_pickup", EventItemPickup);
 }
 
 public EventItemPickup(Handle:event, const String:name[],bool:dontBroadcast)
 {
 decl String:item[32]; GetEventString(event, "item", item, sizeof(item));
 if (StrEqual(item, "m4a1")){
 new client = GetClientOfUserId(GetEventInt(event, "userid"));
 new m4 = GetPlayerWeaponSlot(client, 0);
 SetEntData(m4, g_SilencerOn, 0);
 }
 }
 Незнаб наверно я кривой сделал попробуй
 
 
 Сообщение отредактировал Nahal - Вторник, 10.03.2015, 18:29:25 |  |  |  |  | 
| 
| WOW_NAMES | Дата: Вторник, 10.03.2015, 18:32:30 | Сообщение # 9 |  |   
|  |  | Сообщений: 170 Репутация: -1 [ +/- ]
 |  | Nahal, уахаха ))))) сменить 1 на 0 - не решит проблему. можно вообще не ставить то что ты тут сделал,по дефолту у эмки нет глушителя зачем проверять ее и все остальное ))) повеселил спасибо. |  |  |  |  | 
| 
| Sallcom | Дата: Вторник, 10.03.2015, 20:25:57 | Сообщение # 10 |  |   
|  |  | Сообщений: 205 Репутация: 31 [ +/- ]
 |  | Цитата WOW_NAMES (  ) Nahal, уахаха ))))) сменить 1 на 0 - не решит проблему. можно вообще не ставить то что ты тут сделал,по дефолту у эмки нет глушителя зачем проверять ее и все остальное ))) повеселил спасибо.
 Цитата BarD (  ) Оффсет m_bSilencerOn отвечает за глушитель. 1 - есть, 0 - нет.Что не так?
 |  |  |  |  | 
| 
| Nahal | Дата: Вторник, 10.03.2015, 20:31:33 | Сообщение # 11 |  |   
|  |  | Сообщений: 205 Репутация: 8 [ +/- ]
 |  | Sallcom, вот, умный человек! ДогодалсяДобавлено (10.03.2015, 20:31:33)---------------------------------------------
 Это ничего неизменит то что поставил? Если да то скажите что "m_bSilencerOff");
 |  |  |  |  | 
| 
| iEx | Дата: Вторник, 10.03.2015, 22:59:58 | Сообщение # 12 |  |   
|  |  | Сообщений: 304 Репутация: 23 [ +/- ]
 |  | Надо просто хукать каждое оружие и на think менять глушак на 0 |  |  |  |  | 
| 
| WOW_NAMES | Дата: Среда, 11.03.2015, 02:44:40 | Сообщение # 13 |  |   
|  |  | Сообщений: 170 Репутация: -1 [ +/- ]
 |  | Цитата Sallcom (  ) Что не так?Не так то, что мне не нужно проверять есть ли у игрока глушитель на оружии или нет, мне нужно убрать саму возможность оружия ставить глушитель. Все примеры, которые были выше проверяют если глушитель стоит то снять - это я и без советчиков мог сделать без труда. Если ставить код примеров на сервер , то происходит следущее игрок берет оружие плагин проверяет если это оружие с глушителем то снимает его, если нет то пропускает и ведет проверки дальше или останавливается. Но тогда как быть с оружием которое лежит на земле уже с глушителем ? Как быть с тем что движок игры все равно проиграет анимацию установки глушителя? (это несколько секунд торможения игрока)
 Надеюсь я понятно объяснил, мне нужно убрать глушитель у оружия вовсе еще до того как его подберет игрок.
 
 Вот на пример на ZM зараженный игрок не может брать оружие, он просто пробегает его, а не поднимает и бросает или еще чтото. Тоесть само собитие убрано и не тратит время игрока.
 Добавлено (11.03.2015, 02:44:40)---------------------------------------------
 
 Цитата iEx (  ) Надо просто хукать каждое оружие и на think менять глушак на 0Дайте пример, кусок кода, пожалуйста. А такого рода проверка не будет ли нагружать сервер.
 
 Сообщение отредактировал WOW_NAMES - Среда, 11.03.2015, 02:42:48 |  |  |  |  | 
| 
| Nahal | Дата: Среда, 11.03.2015, 07:23:47 | Сообщение # 14 |  |   
|  |  | Сообщений: 205 Репутация: 8 [ +/- ]
 |  | WOW_NAMES,  ты курсе что на земле автоматом глугак не одеть. Ты проверку сделал что глушаканет и все и не будет у игроков глушителя |  |  |  |  | 
| 
| WOW_NAMES | Дата: Среда, 11.03.2015, 11:28:07 | Сообщение # 15 |  |   
|  |  | Сообщений: 170 Репутация: -1 [ +/- ]
 |  | Nahal, Да оружие на земле с глушаком это я просто в коде не убрал. =) Но не в этом суть все ранво ты предлагаешь проверять и снимать глушак!!!! А МНЕ НУЖНО УБРАТЬ ВОЗМОЖНОСТЬ ОРУЖИЯ УСТАНАВЛИВАТЬ ГЛУШИТЕЛЬ.
 Что толку от твоего кода? Если глушак все равно ставиться и на эмке все равно в w виде одет глушитель. И стрельба все равно идет с глушителем прост она в V виде его нет на модели, но все равно он все свои назначения выполняет и анимация и стрельба остается.
 Не веришь проверь сам - посмотри на игрока с эмкой в руках и от него и ты увидишь сам.
 Так что код и твой и барта к сожалению не выполняют моей задачи.
 
 Добавлено (11.03.2015, 11:28:07)---------------------------------------------
 
 Цитата Nahal (  )  ты курсе что на земле автоматом глугак не одеть.
       Поставь плагин автоглушака и везде на эмках будет глушак.
 |  |  |  |  |