freewood 674 Жалоба Опубликовано 8 октября, 2014 @Barsik, откуда и куда исчез? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Zealot 94 Жалоба Опубликовано 8 октября, 2014 (изменено) Юнитпроцессор бесследно исчез, как теперь делать кастомное снаряжение игроков ? :) Можно пока пользоваться бисовским арсеналом, последовательность действий: 1) Редактируем инвентарь юнита, при этом не забываем дать ему рацию(должен быть класс ItemRadio, исправить после редактирования, если это не так), карту, компас, часы, если нужно 2) Сгружаем все в буфер и сохраняем в файл, например tpl\fighter.sqf 3) Редактируем файл а) Заменяем все this в коде на _this б) Добавляем в начало файла строчку if (not local _this) exitwith {}; в) Удаляем строчки изменения лица и голоса, которые добавляет Арсенал 4) Юниту, который будет с этим снаряжением в поле инициализации в редакторе пишем: this call compile preprocessfilelinenumbers "tpl\fighter.sqf"; Изменено 8 октября, 2014 пользователем Zealot Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
freewood 674 Жалоба Опубликовано 8 октября, 2014 @Zealot, я правильно понимаю, что таким образом можно одевать абсолютно любую форму? Т.е. допустим ксатовца в натовскую форму нарядить. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Zealot 94 Жалоба Опубликовано 8 октября, 2014 Zealot, я правильно понимаю, что таким образом можно одевать абсолютно любую форму? Т.е. допустим ксатовца в натовскую форму нарядить. Надо попробовать, вроде можно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
swatSTEAM 737 Жалоба Опубликовано 8 октября, 2014 @freewood, forceAddUniform уже давно ввели. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Spandaxe 1 133 Жалоба Опубликовано 9 октября, 2014 А вот менять вооружение техники, увеличить количество боеприпасов и дымов в ней, все еще не может. Поэтому вопрос все еще актуален. Прямо в редакторе у юнита прописывай, что нужно поменять. Я с а3 еще не работал, конечно, но не думаю, что так уж сильно от а2 отличается. Не нужны для этого ни юнитпроцессоры, ни платформы, ни что либо еще. Бисы такой арсенал картоделам дали, пили - не хочу. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nkey 321 Жалоба Опубликовано 9 октября, 2014 Прямо в редакторе у юнита прописывай,Нельзя так! :) Этот код будет выполняться при каждом перезаходе человека в игру, что приведете к куче патронов, тормозам и глюкам. 1 DmitRich отреагировал на это Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Spandaxe 1 133 Жалоба Опубликовано 9 октября, 2014 @Nkey, Странно, в ините юнита прописывал технике дополнительные дымы, все игралось на сервере, брат жив, зависимость есть. На а3 как-то по-другому все? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kurbat 199 Жалоба Опубликовано 9 октября, 2014 Нельзя так! Можно. Только осторожно. 1 ToxaSM отреагировал на это Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
swatSTEAM 737 Жалоба Опубликовано 9 октября, 2014 Этот код будет выполняться при каждом перезаходе человека в игру Нет. Инит объекта выполняется при его создании либо при обновлении инита. В A3 второе невозможно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nkey 321 Жалоба Опубликовано 9 октября, 2014 @swatSTEAM, странно. Много раз сталкивались с такой проблемой - при перезаходе кого-то из игроков, у него начинает выполняться инит и добавляет всем остальным игрокам все еще раз. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
swatSTEAM 737 Жалоба Опубликовано 10 октября, 2014 @Nkey, ну попробуй в инит юнита засунуть какое-нибудь глобальное бисовское говно (типа bis fnc mp) а в него хинт. Если при перезаходе сработает, то я сильно ошибаюсь. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
pride 89 Жалоба Опубликовано 10 октября, 2014 @swatSTEAM, было было, у нас на последних играх, после перезаходов у некоторых игроков по 100+ ракет к рпг было в инвентаре. Причем срабатывает, не побоюсь этого слова, совершенно рандомно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
IHUNTERI 22 Жалоба Опубликовано 10 октября, 2014 Вот что на вики написано (подразумевается arma2), не знаю менялось ли что в arma3 Order of InitializationScripts Server & Players (NOT JIP) While moving to Briefing Unit Init EH runs Unit Init line from editor runs After all units are initialized, init.sqf runs After Briefing if onPlayerConnected was setup in e.g. init.sqf, it will now process all the players connected in order of connectedonPlayerConnected will process new players after they are connected to their player body. So JIP player connects, world initializes, he gets control of his character, now the onPlayerConnected fires on the server. JIP PlayersSame as above, but there's no Briefing this time. init.sqf seems to run after the player gets control of his character Да касаемо скрипта выше, почему бы сделать не так? if (local this) then {this call compile preprocessfilelinenumbers "tpl\fighter.sqf";}; Самому проверить что там с инициализацией все руки не доходят Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
IHUNTERI 22 Жалоба Опубликовано 10 октября, 2014 (изменено) Вот результаты теста Выделенный сервер 2 игрока Поставил три техники: Вертолет ~300 метров от игроков Пантера ~2 км от игроков Хантер ~3 км от игроков В инициализации техники прописал вертолету var = [] spawn {sleep 5; hint "test1";}; пантере var = [] spawn {sleep 10; hint "test2";}; хантеру var = [] spawn {sleep 15; hint "test3";}; Стартуем миссию: я и второй игрок видим все три сообщения затем второй игрок перезаходит и он видит только одно долго висящее сообщение "test1", остальные сообщения не появляются Изменено 10 октября, 2014 пользователем IHUNTERI Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
swatSTEAM 737 Жалоба Опубликовано 10 октября, 2014 (изменено) @IHUNTERI, Да ладно? Это вообще жесть тогда. Раздавайте снаряжение только с серва, в момент, когда он овнер для всех играбельных юнитов. Сервак не перезаходит. :) Хотя, убери-ка из всех инитов "var =" и протести снова. Изменено 10 октября, 2014 пользователем swatSTEAM Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
IHUNTERI 22 Жалоба Опубликовано 11 октября, 2014 (изменено) Уверен ничего не поменяется, переменная - это всего лишь "ссылка/ярлык". Дело в том что большинсто команд, меняющих снаряжение юниту игрока, работать будут только на машине игрока. Но на кооп миссиях я это так решал _start_check = (player getvariable "Start_completed"); if (isnil "_start_check") then { // делаем "все что нужно" с юнитом игрока }; player setVariable ["Start_completed", true, true]; // больше "все что нужно" с юнитом игрока не случится, сколько не перезаходи При этом не занятые игроками юниты нужно обрабатывать на сервере. Раздавать снаряжение перед тем как владельцем стал игрок, проблематично будет, мне кажется. Изменено 11 октября, 2014 пользователем IHUNTERI 2 Dock и swatSTEAM отреагировали на это Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ToxaSM 3 122 Жалоба Опубликовано 11 октября, 2014 Уверен ничего не поменяется, переменная - это всего лишь "ссылка/ярлык". Дело в том что большинсто команд, меняющих снаряжение юниту игрока, работать будут только на машине игрока. Но на кооп миссиях я это так решал _start_check = (player getvariable "Start_completed"); if (isnil "_start_check") then { // делаем "все что нужно" с юнитом игрока }; player setVariable ["Start_completed", true, true]; // больше "все что нужно" с юнитом игрока не случится, сколько не перезаходи При этом не занятые игроками юниты нужно обрабатывать на сервере.Раздавать снаряжение перед тем как владельцем стал игрок, проблематично будет, мне кажется. Мы тоже были уверены, что при параметрах -mod и -beta ничего не изменится, но это же ARMA, при параметре mod, ARMA 2 не подключается, а при beta наоборот, так что полностью быть в чем-то уверенным нельзя Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
swatSTEAM 737 Жалоба Опубликовано 11 октября, 2014 @IHUNTERI, На самом деле это хороший способ. У меня так в аддоне маркеров карты заменяются на уникальные. Ну, принцип тот же, основанный на неймспейсе. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
IHUNTERI 22 Жалоба Опубликовано 11 октября, 2014 (изменено) Все еще интересней5 машин1 метров 200 от игроков2 1км3 2 кми так далеепредыдущий код изменил на call {[] spawn {sleep 10; hint "test1";};}; При старте все 5 сообщений один за другимПри перезаходе у второго игрока висит хинт сразу без задержки "test2"удаляю вторую машину, перезаход, висит "test3"удаляю третью, висит "test4"...удаляю пятую, висит "test1" :rolleyes:testMPinit.VR.pboПочему так? Есть мысль, что в missions.sqm class Vehicles { items=5; class Item0 { position[]={4013.7595,5,4347.5742}; id=2; side="EMPTY"; vehicle="B_MRAP_01_F"; skill=0.60000002; text="car2"; init="call {[] spawn {sleep 18; hint ""test2"";};};"; }; class Item1 { position[]={4009.8037,5,5344.4429}; id=3; side="EMPTY"; vehicle="B_MRAP_01_F"; skill=0.60000002; text="car3"; init="call {[] spawn {sleep 20; hint ""test3"";};};"; }; class Item2 { position[]={4007.8823,5,6355.3481}; id=4; side="EMPTY"; vehicle="B_MRAP_01_F"; skill=0.60000002; text="car4"; init="call {[] spawn {sleep 25; hint ""test4"";};};"; }; class Item3 { position[]={4016.853,5,7347.2314}; id=5; side="EMPTY"; vehicle="B_MRAP_01_F"; skill=0.60000002; text="car5"; init="call {[] spawn {sleep 30; hint ""test5"";};};"; }; class Item4 { position[]={4008.6458,5,3526.2207}; id=6; side="EMPTY"; vehicle="B_MRAP_01_F"; skill=0.60000002; text="car1"; init="call {[] spawn {sleep 14; hint ""test1"";};};"; }; }; }; Но почему не работает задержка непонятно. Изменено 11 октября, 2014 пользователем IHUNTERI Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
swatSTEAM 737 Жалоба Опубликовано 11 октября, 2014 Но почему не работает задержка непонятно. Курбат с этим сталкивался как-то давно, уже не помню разобрались или нет. uiSleep пробовал? Расстояние, кстати, здесь роли не играет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
IHUNTERI 22 Жалоба Опубликовано 11 октября, 2014 Еще раз попробовал выделенный сервер с persistent=1 5 машин в инициализацию написал call {[] spawn {sleep 4; diag_log "car1";};}; в rpt файле отображаются все 5 сообщений sleep увеличивается с шагом +1 При старте все ок "car1" "car2" "car3" "car4" "car5" При перезаходе не ок - sleep не работает "car2" "car3" "car4" "car5" "car1" uisleep работает Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
swatSTEAM 737 Жалоба Опубликовано 11 октября, 2014 @IHUNTERI, Ну, тут скорее всего в какой-то момент игра считает, что прошло бесконечно много игрового времени и пропускает любой слип. uiSleep же зависит от системного времени. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
IHUNTERI 22 Жалоба Опубликовано 11 октября, 2014 Вообщем для тех кто не понял, не знаешь - не суй свой код куда попало (во всякие инциализации). Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Jason 259 Жалоба Опубликовано 18 октября, 2014 Ошибка возникающая при выгрыше по потерям или по времени: Error in expression <Win']; _isPlayerWin = playerSide in ( [_winner] call bis_fnc_friendlysides ); > Error position: <_winner] call bis_fnc_friendlysides ); > Error Неопределенная переменная в выражении: _winner File WMT_Main\functions\fn_EndMission.sqf, line 11 Error in expression < [_enemy,format[localize "STR_WMT_HLSWinLo> Error position: <_enemy,format[localize "STR_WMT_HLSWinLo> Error Неопределенная переменная в выражении: _enemy Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты