Модератор форума: GUNNER161, Panikaha |
Форум РЕДАКТОР - ArmA 3 Скрипты реализация голода и жажды (Нужна помощь) |
реализация голода и жажды |
› Суббота
› 25.04.2015
› 16:36
› Сообщение #
объектам положенным в редакторе надонаписать в инит
- для АА3 this addAction [ "action", { deleteVehicle (_this select 0); Player addWeapon "Название" } ] для АА2 экшен this addAction [ "action", "file.sqf" ] и файл "file.sqf" deleteVehicle (_this select 0); Player addWeapon "Название" deleteVehicle (_this select 0) - это удалит взятый предмет Player addWeapon "Название" - это добавит "Указанное Название в Снаряжение" (т.е. это могут быть Разные вещи) ))) предмету созданому скриптом также добавляется экшен. предмет полученный от Продавца - можно обойтись строкой Player addWeapon "Название" |
› Суббота
› 25.04.2015
› 16:51
› Сообщение #
хорошо спасибо...))) а если поставить это на человека или курицу? то this addAction [ "action", "file.sqf" ] надо открывать в отдельном скрипте..? я имею ввиду после смерти цели а не наживую бегать и добывать с нее мясо... not alive цель - после в скрипте на трупе уже \цель addAction [ "action", "file.sqf" ] \ так? да и опять писать для каждого бота это ужас как для всего живого на карте это сделать скриптом?
|
› Суббота
› 25.04.2015
› 17:08
› Сообщение #
поставить можно и на человека и на курицу, но понятно действия там разные , по этому ИЛИ
разные файлы - с разными действиями ИЛИ один файл и ключь в Экшене - который выбирает в Файле разные действия например Ключ - число. this addAction [ "action", "file.sqf", 2] в файле выбор действия Switch (_this select 3) do { case 0: { действие если ключ 0 }; case 1: { действие если ключ 1 }; case 2: { действие если ключ 2 }; case 3: { действие если ключ 3 }; }; |
› Суббота
› 25.04.2015
› 17:18
› Сообщение #
Отлично! Ключи то что нужно... но где это писать я что то не понял... простите за навязчивость)
Добавлено (25.04.2015, 17:18) |
› Суббота
› 25.04.2015
› 21:32
› Сообщение #
Slon, подскажите ,а как открыть ваше меню после закрытия?
Добавлено (25.04.2015, 21:32) --------------------------------------------- Slon, и если можно ,давайте сначала? в ините у игрока должно быть написано :as = [] execVM "Golod.sqf";this additem "название еды";this additem "название воды"; сам скрипт голод.скф у меня выглядит так : sleep 3; Golod = 0; Zazda = 0; [] Spawn { _tmG = 20; _tmZ = 10; _tM = 0; while {true} do { if (_tmG == 0) then { _tmG = 20; Golod = Golod + 1; if (Golod == 60) then { Player setDamage 0.3; hint "Golod 60%"}; if (Golod > 99) then { Player setDamage 1}; } else {_tmG = _tmG - 1}; if (_tmZ == 0) then { _tmZ = 12; Zazda = Zazda + 1; if (Zazda == 60) then { Player setDamage 0.3; hint "Zazda 60%"}; if (Zazda > 99) then { Player setDamage 1}; } else {_tmZ = _tmZ - 1}; _tM = Time + 1; WaitUntil {_tM <= Time || commandingMenu == "RscMainMenu"}; if (commandingMenu == "RscMainMenu") then { Menu_zivot = [ ["Stol", true] ]; _a = {_x == "rhs_30Rnd_545x39_AK"} count magazin Player; for "_i" from 1 to _a do { Menu_zivot set [count Menu_zivot, [format ["EDA-%1", _i], [], "", -5, [["expression", "player sidechat ""-1"" "]], "1", "1", ""] ]; }; _a = {_x == "8Rnd_Mag_pm"} count magazin Player; for "_i" from 1 to _a do { Menu_zivot set [count Menu_zivot, [format ["Voda-%1", _i], [], "", -5, [["expression", "player sidechat ""-1"""]], "1", "1", ""] ]; }; showCommandingMenu "#USER:Menu_zivot"; sleep (_tM - Time); }; hint format ["Golod - %1 - %3\nZazda - %2 - %4", Golod, Zazda, _tmG, _tmZ]; }; }; _a = {_x == "rhs_30Rnd_545x39_AK"} count magazin Player; for "_i" from 1 to _a do { Menu_zivot set [count Menu_zivot, [format ["EDA-%1", _i], [], "", -5, [["expression", "player sidechat ""-1"" "]], "1", "1", ""] ]; }; _a = {_x == "8Rnd_Mag_pm"} count magazin Player; Menu_zivot set [count Menu_zivot, [ format ["EDA-%1", _a], [], "", -5, [["expression", "hint ""-60""; Player removeItem ""rhs_30Rnd_545x39_AK""; Golod = (Golod - 60) max 0"]], "1", "1", ""] ]; }; но почему-то не работает ,что я делаю не правильно?вчера хоть меню и hint появлялся ,а сегодня ничего не появляется. |
› Суббота
› 25.04.2015
› 21:48
› Сообщение #
_a = {_x == "rhs_30Rnd_545x39_AK"} count magazines Player;
https://community.bistudio.com/wiki/magazines после исправлений работает так это у меня 6 магазинов и 4 гранаты вариант конечно не лучший поэтому меняем эти два блока |
› Суббота
› 25.04.2015
› 22:06
› Сообщение #
Slon, а в остальном всё правильно?Я в скриптах не разбираюсь ,но меня не много смущает этот момент
Кодhint format ["Golod - %1 - %3\nZazda - %2 - %4", Golod, Zazda, _tmG, _tmZ]; }; }; _a = {_x == "rhs_30Rnd_545x39_AK"} count magazin Player; может две }} должны стоять в конце всего скрипта или их положение правильное? |
› Суббота
› 25.04.2015
› 22:11
› Сообщение #
sleep 3;
Golod = 0; Zazda = 0; [] Spawn { _tmG = 20; _tmZ = 10; _tM = 0; while {true} do { if (_tmG == 0) then { _tmG = 20; Golod = Golod + 1; if (Golod == 60) then { Player setDamage 0.3; hint "Golod 60%"}; if (Golod > 99) then { Player setDamage 1; Golod = 0}; } else {_tmG = _tmG - 1}; if (_tmZ == 0) then { _tmZ = 12; Zazda = Zazda + 1; if (Zazda == 60) then { Player setDamage 0.3; hint "Zazda 60%"}; if (Zazda > 99) then { Player setDamage 1; Zazda = 0;}; } else {_tmZ = _tmZ - 1}; _tM = Time + 1; WaitUntil {_tM <= Time || commandingMenu == "RscMainMenu"}; if (commandingMenu == "RscMainMenu") then { Menu_zivot = [ ["Stol", true] ]; _a = {_x == "rhs_30Rnd_545x39_AK"} count magazines Player; if (_a > 0) then { Menu_zivot set [count Menu_zivot, [format ["EDA-%1", _a], [], "", -5, [["expression", "player sidechat ""-1""; Player removeMagazine ""rhs_30Rnd_545x39_AK""; Golod = (Golod - 60) max 0 "]], "1", "1", ""] ];}; _a = {_x == "8Rnd_Mag_pm"} count magazines Player; if (_a > 0) then { Menu_zivot set [count Menu_zivot, [format ["Voda-%1", _a], [], "", -5, [["expression", "player sidechat ""-1""; Player removeMagazine ""8Rnd_Mag_pm""; Zazda = (Zazda - 60) max 0 "]], "1", "1", ""] ];}; showCommandingMenu "#USER:Menu_zivot"; sleep (_tM - Time); }; hint format ["Golod - %1 - %3\nZazda - %2 - %4", Golod, Zazda, _tmG, _tmZ]; }; }; |
› Суббота
› 25.04.2015
› 22:14
› Сообщение #
то что я выделил красным - непонятно вообще зачем туда попало.
последний вариант выдаёт такое меню |
› Воскресенье
› 26.04.2015
› 18:31
› Сообщение #
Slon, блин ,всё равно почему-то не работает .Что я не так делаю ,мне не понятно,но возникла у меня мысль может стоит начать сначала? я очень подробно опишу скрипт ,но "человеческим" языком ,а вы попробуете перенести это на скриптовый,если не трудно. В общем вот:
Голод=0 жажда=0 каждую минуту голод +1 каждую минуту жажда +1 если жажда больше 60 ,то игроку наносится 0.3 урона и появляется сообщение "вас мучает жажда нужно срочно попить" если голод больше 60 ,то игроку наносится 0.3 урона и появляется сообщение "вы проголодались нужно срочно поесть" если жажда больше 100 ,то игроку наносится 1 урона если голод больше 100 ,то игроку наносится 1 урона теперь как есть и пить: игроку добавляется действие(через addaction и мне кажется ,что новые меню лучше не делать) поесть и попить ,при нажатии на них проверяется есть ли у игрока вода или еда,если есть ,то голод и жажда уменьшаются ,если нету ,то появляется сообщение "нету еды" или "нету воды".Каждый приём еды должен сокращать желание поесть на 50 ,а принятие воды на 70 единиц жажды. вот в общем-то и всё.Очень надеюсь на вашу помощь!заранее спасибо! |
› Воскресенье
› 26.04.2015
› 18:35
› Сообщение #
чтобы ты не описывал, работать У Тебя не будет. судьба такой.
|
› Воскресенье
› 26.04.2015
› 21:45
› Сообщение #
|
| |||
Чат сайта |