Перейти к содержанию
Slava228_YT

Как сделать разрядку всего оружия в рюкзаке в сталкер тч?

Рекомендуемые сообщения

 

Подскажите, как сделать чтобы нажав на одну кнопку всё оружие в рюкзаке разредилось?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Slava228_YT наверное через скрипты, хотя я не уверен, есть ли сам функционал разрядки. Если же есть, тебе необходимо забиндить клавишу, после чего перебрать все предметы, которые есть у ГГ, и каким-то образом проверить, являются ли они оружием (может по классу или по наличию параметра количества патронов, а может просто заранее сделать таблицу оружия). После этого, если предмет подходит условию, вызвать для него функцию для разрядки.

К сожалению, точно сказать не могу, возможно даже такого функционала в скриптах нету и всё нужно делать, изменяя движок. Поэтому, тут лишь смотреть файлы оригинала и искать что-то такое.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Функция unload_magazine у класса game_object есть) Но я не знаю как перебирать объекты в инвентаре

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

На обычном движке, по-моему, никак. Там нельзя вязать на кнопки скрипты. Только на кнопку таб, я читал где-то, но это обманка. Да и это одна кнопка всего.

А вообще, да, это должен быть перебор инвентаря. Примерно такое. Работает точно на огср двигле. Там есть специальный калбек на нажатие клавиш

local obj
for i = 0, db.actor:ruck_count()-1 do
  obj = db.actor:item_in_ruck(i)
  if obj and isWeapon(obj) and not obj:clsid() == clsid.wpn_grenade_rgd5 and not obj:clsid() == clsid.wpn_grenade_f1 and not obj:clsid() == clsid.wpn_binocular and not obj:clsid() == clsid.wpn_knife then -- тут можно покрасивее, но мне без подсказок не построить табличку. не помню я. я бы вообще создал в _g копию isWeapon без ножа и гранат с биноклем. Хотя вроде бы ножи и бинокли не должны быть в рюкзаке, но мало ли.
db.actor:unload_magazine(obj)
   end
   end

 

Изменено пользователем ian98

76561198152189716.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

local calc = function(npc, obj)
       if obj and isWeapon(obj) and not obj:clsid() == clsid.wpn_grenade_rgd5 and not obj:clsid() == clsid.wpn_grenade_f1 and not  obj:clsid() == clsid.wpn_binocular and not obj:clsid() == clsid.wpn_knife then
db.actor:unload_magazine(obj)

end
    end
    db.actor:iterate_inventory(calc, db.actor)

Так можно перебрать все вещи из инвентаря гг.

Изменено пользователем Gnomi123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 23.06.2023 в 20:37, Slava228_YT сказал:

Подскажите, как сделать чтобы нажав на одну кнопку всё оружие в рюкзаке разредилось?

Как весь скрипт сделать ?(я скрипты не умею писать)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу