Скрипт для ограничения переодевания
|
|
Zealot
|
Среда, 18.02.2015, 16:55
|
|
Скрипт для ограничения переодевания игроков. Запрещает снимать каску, бронежилет, униформу. Если игрок одевает каску, бронежилет, униформу с трупа другого игрока, то ему возвращается тот элемент обмундирования, который был на момент начала миссии, инвентарь сохраняется последний.
Вставить в init.sqf: Код zlt_checkGear = { [] spawn { zlt_ch_run = true; sleep 5; zlt_ch_uniform = uniform player; zlt_ch_headgear = headgear player; zlt_ch_vest = vest player; while {alive player} do { if (zlt_ch_run) then { if (uniform player != zlt_ch_uniform) then { _items = uniformItems player; removeUniform player; player addUniform zlt_ch_uniform; {player addItemToUniform _x} foreach _items; }; if (headgear player != zlt_ch_headgear) then { removeHeadgear player; player addHeadgear zlt_ch_headgear; }; if (vest player != zlt_ch_vest) then { _items = vestItems player; removeVest player; player addVest zlt_ch_vest; {player addItemToVest _x} foreach _items; }; }; sleep 1.5; };
}; };
zlt_lockInvSlots = { waitUntil {!(isNull (findDisplay 602))}; while {!(isNull (findDisplay 602))} do {// Keep the "uniform slot" control on lockdown. Else there are loop holes. No pun intended. ctrlEnable [6331, false]; ctrlEnable [6381, false]; // vest ctrlEnable [6240, false]; // headgear sleep 0.001; }; };
if (!isDedicated && hasInterface) then { [] spawn { waitUntil {!(isNull player)}; player addEventHandler ["inventoryOpened", {_this spawn zlt_lockInvSlots;}]; [] spawn zlt_checkGear; }; };
|
|
Автор темы
|
|
|
|
|
DrSl1m
|
Среда, 18.02.2015, 17:18
|
|
Можно скрипт упаковать в .sqf и вызывать в ините через Код [] execVM "zlt_checkGear.sqf"; ?
Сообщение отредактировал DrSl1m - Среда, 18.02.2015, 17:18
|
|
|
|
Zealot
|
Среда, 18.02.2015, 17:34
|
|
Цитата DrSl1m ( ) Можно скрипт упаковать в .sqf и вызывать в ините через Код [] execVM "zlt_checkGear.sqf"; ? Да.
|
|
Автор темы
|
|
|
|
|
Chief
|
Пятница, 20.02.2015, 09:22
|
|
Тесты скрипта выявили следующие глюки:
1) Можно задюпить разгрузки с патронами. тем самым увеличить кол-во патронов. 2) Нельзя снять свои вещи. Например нельзя снять шапку для обозначения себя для отделения. 3) Если попробовать снять чужую вещь. то она одевается и тут же снимается, но твоя снятая одежда больше не надевается.
|
|
|
|
DrSl1m
|
Пятница, 20.02.2015, 10:14
|
|
Если миссии с внедрением этого скрипта попадут в ротацию, то имеет смысл убрать его до появления фикса.
|
|
|
|
freewood
|
Пятница, 20.02.2015, 14:20
|
|
Большая просьба, когда скрипт будет готов, оставьте его картоделам, не включайте в сборку и в обязательные условия для миссий.
|
|
|
|
Zealot
|
Пятница, 20.02.2015, 22:10
|
|
Цитата freewood ( ) Большая просьба, когда скрипт будет готов, оставьте его картоделам, не включайте в сборку и в обязательные условия для миссий. Наверно сделаем по-другому, скрипт будет не ограничивать переодевание, а писать в логи если кто-то переодел униформу или бронежилет.
|
|
Автор темы
|
|
|
|
|
Zealot
|
Пятница, 20.02.2015, 22:11
|
|
Цитата DrSl1m ( ) Если миссии с внедрением этого скрипта попадут в ротацию, то имеет смысл убрать его до появления фикса. Да, лучше пока не использовать. Скрипт чисто экспериментальный.
|
|
Автор темы
|
|
|
|
|
DrSl1m
|
Суббота, 21.02.2015, 20:27
|
|
Может его слегка переделать? Например, оставить невозможным снимать/менять шлем, а с разгрузкой/формой поступить иначе. Снял форму/разгрузку - она удаляется, выходит как наказание. Пытаешься снять разгрузку/форму с трупа - аналогично. Я не знаю таких ситуаций, чтобы случайно можно было снять форму или разгрузку.
|
|
|
|
Zealot
|
Пятница, 20.03.2015, 12:23
|
|
Цитата DrSl1m ( ) Я не знаю таких ситуаций, чтобы случайно можно было снять форму или разгрузку. Можно случайно мискликнуть правой клавишей и тогда разгрузка/форма поменяется с трупом. Но я подумаю, что тут еще можно сделать.
|
|
Автор темы
|
|
|
|
|
DrSl1m
|
Пятница, 20.03.2015, 12:51
|
|
Цитата Zealot ( ) Можно случайно мискликнуть правой клавишей и тогда разгрузка/форма поменяется с трупом. Но я подумаю, что тут еще можно сделать. Дюп может произойти, если одежда будет "прыгать", т.е. сниматься/одеваться (как это происходило со старым скриптом, игрок снимал одежду, а скрипт мгновенно возвращал её обратно, отсюда и дюп), значит, если избегать запрета на раздевание, то другие варианты должны работать вполне годно и без проблем.
|
|
|
|