Модератор форума: GUNNER161, Panikaha |
Форум РЕДАКТОР - ArmA 3 Скрипты реализация голода и жажды (Нужна помощь) |
реализация голода и жажды |
› Пятница
› 24.04.2015
› 19:04
› Сообщение #
Здравствуйте.Как понятно из названия темы ,я хочу реализовать голод и жажду в арме 3,но как это сделать не знаю.Я уже создавал тему с подобным вопросом и там мы добились некоторых успехов,получилось у нас не достаточно реалистично(есть можно было только в определённых местах,персонаж ни как не сообщал о том что голоден,ну и по мелочи).И я подумал ,что на этом сайте достаточно опытных скриптописцев что бы сделать что-то наподобие системы dayz.В общем нужно что бы:
1)можно было в любой момент узнать на сколько персонаж голоден(ну допустим диапазон от1 до 100) 2)нужно создать консерву и бутылку воды,и что б они были в инвентаре как патроны или аптечка ,и при использовании они пропадали ,а голод переходил на значение 0. 3)нужно что бы проголодаться мог только игрок. Очень надеюсь на вашу помощь!заранее спасибо! |
› Пятница
› 24.04.2015
› 19:29
› Сообщение #
1: а как это должно выглядеть?
2: в АА3 вроде уже есть эти вещи. 3 3: естесвенно. |
› Пятница
› 24.04.2015
› 20:02
› Сообщение #
Slon, привет!
1.ну допустим каждые 2 минуты прибавляется одна единица голода(по скрипту в прошлой теме это было golod=golod+1)и когда значение достигает ста ,то делается команда player setDamage 1 ,а когда ,опять же к примеру,значение 50 ,то команда player setDamage 0.3 и hint'ом сообщение ,о том что персонаж очень голоден. 2.Да такие предметы есть,но их нельзя брать,то есть из можно поставить на карту ,но что-либо сделать с ними нельзя. |
› Пятница
› 24.04.2015
› 20:07
› Сообщение #
1 ну вот ты всё и придумал.
2 даже Экшен на них не повесть? |
› Пятница
› 24.04.2015
› 20:14
› Сообщение #
Slon, 1.я то может и придумал,но как это записать в скрипт не знаю и очень надеюсь на вашу помощь.
2.как? |
› Пятница
› 24.04.2015
› 20:18
› Сообщение #
2
для пробы. положи предмет, текст в инит this addAction [ "action", { hint str _this } ] |
› Пятница
› 24.04.2015
› 20:25
› Сообщение #
Slon, пробу провёл ,работает ,но как такой предмет добавить в инвентарь?и как заставить исчезнуть из инвенторя при использовании?
|
› Пятница
› 24.04.2015
› 20:36
› Сообщение #
из инветаря ? запрсто. как магазины, оружие итд
|
› Пятница
› 24.04.2015
› 20:40
› Сообщение #
Slon, можно подробней?я в скриптах практически 0 поэтому прошу что бы вы очень подробно описывали что делать.если вы уже поняли как голод реализовать,то можете написать ,если не трудно,как это сделать.Только очень подробно куда и что писать?Заранее спасибо!
|
› Пятница
› 24.04.2015
› 20:44
› Сообщение #
неужели ниразу не менял (добавлял) оружие-магазины?
гы. это самый первый вопрос который интересует новичков |
› Пятница
› 24.04.2015
› 20:46
› Сообщение #
Slon, нашёл вот что:
Код { _x setVariable ["Satiety", 100]; while {alive _x} do { if ((_x getVariable "Satiety") > 0) then {_x setVariable ["Satiety", (_x getVariable "Satiety") - 0.1]}; if ((_x getVariable "Satiety") == 0) then {_x setDamage (damage _x) + 0.01}; sleep 5; }; } forEach playableUnits; ещё вот что написано что это делает ,то что я хотел ,ну добавляет предмет в инвентарь который можно использовать ,но опять таки не пойму что за что отвечает Кодthis addAction ["Поесть", "Eat.sqf", [], 6, false, true, "", "((_target getVariable 'Satiety') < 100 && ((magazines _target) find 'Название предмета') > -1)"];Если выдаёт ошибку "Local variable in global space", то пиши в скрипт Init.sqf. Скрипт Eat.sqf:Кодplayer removeMagazine "Название предмета"; player setVariable ["Satiety", (player getVariable "Satiety") + 20]; // +20 - прибавляемая сытость. if ((player getVariable "Satiety") > 100) then {player setVariable ["Satiety", 100]}; вот, может вам это поможет помочь мне:) Добавлено (24.04.2015, 20:46) |
› Пятница
› 24.04.2015
› 20:48
› Сообщение #
класс предмета положенного на карте можно посмотреть в файле mission.sqm - т.е.файл карты.
вот тебе пример учёта голода и жажды Код sleep 3; Golod = 0; Zazda = 0; [] Spawn { _tmG = 20; _tmZ = 10; 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}; sleep 1; hint format ["Golod - %1 - %3\nZazda - %2 - %4", Golod, Zazda, _tmG, _tmZ]; }; }; сделай файл и запусти его из файла init.sqf |
› Пятница
› 24.04.2015
› 20:57
› Сообщение #
Slon, спасибо,а как сделать так что бы голод и жажда убавлялись после использования определённого предмета из инвентаря?Я так подозреваю ,что нужно создать новый магазин,но как?
|
› Пятница
› 24.04.2015
› 21:03
› Сообщение #
можно на клавишу навесить или сделать доп меню.
суть - поднимая предмет - сам предмет исчезает - добавляясь в снаряжение если есть в снаряжении, появляется в меню при клике меню - исчезает из снаряжения - уменьшается показатель допустим потреблённый предмет уменьшает голод(жажду на 60 - но не меньше 0) Golod = (Golod - 60) max 0 ; - еда Zazda = (Zazda - 60) max 0; - вода |
› Пятница
› 24.04.2015
› 21:05
› Сообщение #
Slon, хорошо ,а как эту суть про поднятие и доп.меню сделать?
|
| |||
Чат сайта |