Дата: Пятница, 08.04.2022, 21:14:35 | Сообщение # 17
v1.1
Исправлен баг, при котором работала быстрая перезарядка у игроков, у которых не было к ней доступа (fast_weapon_reload), или если быстрая перезарядка была отключена.
Это работало, если у игрока включена функция ammo1_percent или ammo2_percent. Нужно было нажать R (перезарядка) и быстро сменить оружие туда обратно (2 раза Q или колесом).
Теперь этот трюк работает лишь у игроков, у которых включена функция быстрой перезарядки (fast_weapon_reload), т.к. она работает по такому же принципу.
Дата: Пятница, 06.05.2022, 02:22:47 | Сообщение # 19
v1.2
- Переписан на новый синтез.
- Теперь в группах нужно писать не fast_weapon_reload, а: fast_weapon_reload : значение // Скорость перезарядки оружия в процентах от 120 до 500.
- Теперь быстрая перезарядка работает по другому принципу (меняется скорость анимации). - Раньше требовалось, чтобы у игрока было хотя бы ещё одно другое оружие/граната/c4 и т.д., теперь не требуется.
- Удалён cfg/vip/modules/ammo/settings.txt
- Добавлен cfg/vip/modules/ammo/no_vip_ammo.txt Если прописать оружие, то VIP патроны устанавливаться не будут.
- Добавлен cfg/vip/modules/ammo/no_vip_fast_reload.txt Если прописать оружие, то VIP перезарядка работать не будет.
- Добавлен cfg/vip/modules/ammo/set_ammo.txt Изменить патроны по умолчанию в любом оружии для ВСЕХ игроков (VIP патроны продолжают работать).
- Событие item_pickup не вызывается после EquipPlayerWeapon =) Из-за этого вы могли раньше наблюдать, что патроны иногда не устанавливаются. Заменено на SDKHook_WeaponEquipPost.
- Изменён принцип, по которому устанавливаются патроны из set_ammo.txt/VIP групп. Установка происходит только в оружие, которое ещё никто не поднимал в текущем раунде, и в нём есть хотя бы 1 патрон (обойма + запас > 0).
- Если игрок поднимает оружие, которое уже поднимали в этом раунде, и оказалось, что в обойме патронов больше, чем положено, то будут перемещены в запас.
Дата: Среда, 11.05.2022, 18:27:53 | Сообщение # 21
v1.2.2
Исправлен недочёт (глитч), из-за которого в обойме могло быть неверное кол-во патронов:
Цитата
Например, в deagle (кольт) патроны изменены на 1/10 (в set_ammo.txt). Игрок мог нажать R (перезарядка), затем дождаться, когда установится 7 патронов (стандартные), и быстро сменить оружие. И теперь у него в обойме 7 патронов.
v1.2.3
Исправлен недочёт: - После быстрой перезарядки, прицел у снайперских винтовок начинал работать только после истечения времени стандартной перезарядки.
v1.2.4
- Исправлен недочёт, когда игрок выживал и в начале следующего раунда патроны сбивались. - Теперь при перезарядке/поднятии (не первом) контролируются и патроны в запасе: если их больше, чем положено, изменятся на нужный максимум.
Сообщение отредактировал _wS_ - Четверг, 12.05.2022, 22:28:30
_wS_, Добрый день. Не могли вы помочь с проверкой клиента?)
L 08/19/2023 - 08:22:45: [SM] Exception reported: Client 1 is not in game L 08/19/2023 - 08:22:45: [SM] Blaming: ws_vip/ammo.smx L 08/19/2023 - 08:22:45: [SM] Call stack trace: L 08/19/2023 - 08:22:45: [SM] [0] IsPlayerAlive L 08/19/2023 - 08:22:45: [SM] [1] Line 967, a..o.sp::oooooooooooooooooooooooOoooooooooooooooo
L 08/18/2023 - 08:47:12: [SM] Exception reported: Client 2 is not in game L 08/18/2023 - 08:47:12: [SM] Blaming: vip.smx L 08/18/2023 - 08:47:12: [SM] Call stack trace: L 08/18/2023 - 08:47:12: [SM] [0] IsPlayerAlive L 08/18/2023 - 08:47:12: [SM] [1] Line 21, <unknown>::<unknown function> L 08/18/2023 - 08:47:12: [SM] Exception reported: Client 2 is not in game L 08/18/2023 - 08:47:12: [SM] Blaming: ws_vip/ammo.smx L 08/18/2023 - 08:47:12: [SM] Call stack trace: L 08/18/2023 - 08:47:12: [SM] [0] IsPlayerAlive L 08/18/2023 - 08:47:12: [SM] [1] Line 967, a..o.sp::oooooooooooooooooooooooOoooooooooooooooo L 08/18/2023 - 11:42:44: Error log file session closed.
Сообщение отредактировал Taras_andery - Суббота, 19.08.2023, 08:06:49
Дата: Суббота, 19.08.2023, 15:34:57 | Сообщение # 26
Не вижу проблем в коде. В OnClientPutInServer выдается флаг FL_IsClientInGame, в OnClientDisconnect отбирается. IsPlayerAlive выполняется, только если есть FL_IsClientInGame флаг, т.е. если игрок вошел OnClientPutInServer и ещё не вышел OnClientDisconnect.
-----
v1.2.5
Заменил проверку FL_IsClientInGame флага на обычную IsClientInGame проверку. По логике с FL_IsClientInGame не должно было быть проблем, странно.