Есть ли вариант запретить глушители на оружии на 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 ( ) ты курсе что на земле автоматом глугак не одеть. Поставь плагин автоглушака и везде на эмках будет глушак.
|
|
| |