Перейти к содержимому


Фотография

Вопросы по скриптингу

Arma3 как плотформа для созда Скритпы

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 1486

#741 OFFLINE   Ego_Brain

Ego_Brain

    Ефрейтор

  • Пользователи
  • 49 сообщений
  • Откуда:Холмск

Отправлено 06 September 2017 - 05:20

Ego_Brain, хз что вы за запросы вводили... вам нужно нужно узнать, что кнопка была нажата - пишите: "Arma 3 key pressed" - это так по-английски будет "кнопка нажата"

Товарищ выше советует слово sqf в строку поиска вводить, его и вводил.

А можно перевести еще сопуствующие статьи с портала

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

, а то там тоже по английски всё, нужно знать как это по-русски будет )

 

Вообще этот армовский макроязык муторный из ряда вон выходящий. И что теперь с обычным управлением будет, если мой обработчик событий клавиатуры постоянно работает не ясно.

To remove the EventHandler and return your keyboard to normal.... use....

Мне нужно чтобы управление работало в нормальном режиме кроме сочетания двух клавишь. Сейчас попробую реализовать, может и так нормально работать будет и с моим обработчиком.


  • 0

#742 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 06 September 2017 - 05:29

Мне нужно чтобы управление работало в нормальном режиме кроме сочетания двух клавишь. Сейчас попробую реализовать, может и так нормально работать будет и с моим обработчиком.

addEventHandler добавляет обработчик ("add"), если он не возвращает true ни на что не влияет,

"Returning 

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

 in EH code will override default engine handling for keyboard events."

SQF самый удобный язык с которым я встречался, самый легко читаемый и почти вообще не требующий лишних действий

здесь уж вы извините английский штука не сложная, русские альтернативы вроде есть (поищите) но они точно менее полные


Сообщение отредактировал Ilias: 06 September 2017 - 05:39

  • 0

#743 OFFLINE   Ego_Brain

Ego_Brain

    Ефрейтор

  • Пользователи
  • 49 сообщений
  • Откуда:Холмск

Отправлено 06 September 2017 - 06:04

Спасибо за ответы, я решил задачу.

 

Про английский я пошутил, пытался ответить в той же манере что мне написали.

Проверка нажатия и отпуска второй клавиши мне действительно не понадобилась, хватило параметра передаваемого в обработчик (третий параметр сообщает был ли нажат Shift).

Единственно осталось не ясным, если бы все таки решалось через подход keyDown keyUp, нужно было бы отдельный обработчик цеплять вот так?

waituntil {!(IsNull (findDisplay 46))};
(FindDisplay 46) displayAddEventHandler ["keydown","_this call dokeyDown"];
(FindDisplay 46) displayAddEventHandler ["keyup","_this call dokeyUp"];

И если да, то можно вызывать в обоих событиях один и тот же блок, например call dokeyDown в обоих случаях?

 

P.S. Насчет языка, странно слышать самый удобный и легко читаемый (наверное скажете еще что он самый логичный). Я его сравнивал вообще с любым языком программирования, даже среди только скриптовых sqf невыгодно смотрится.


  • 0

#744 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 06 September 2017 - 08:39

 

Почему нет?,

почему нет? ("блок" здесь как я понимаю просто переменная типа "скрипт"(как я называю) (ex: dokeyDown={hint't'} ; ), на это можно смотреть как просто текст проверенный на соответствие, и по другому отмеченный,

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

)

Да, он прямой, простой, читаемо понятный,даже без изучения, и логичный, с заметными отличиями от других,


Сообщение отредактировал Ilias: 06 September 2017 - 10:19

  • 0

#745 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 06 September 2017 - 11:46

Ego_Brain, вызвать то можно, но без использования дополнительного параметра для функции не обойтись (Который бы сообщил, что функция вызвана из "Down" или "Up")
Ilias, ну пока вы пишите Hello World'ы он может и логичный и понятный, а вот когда нужно что-то сложное, да и что бы быстро работало...

Сообщение отредактировал vlad333000: 06 September 2017 - 11:53

  • 0

#746 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 06 September 2017 - 14:36

Ego_Brain, вызвать то можно, но без использования дополнительного параметра для функции не обойтись (Который бы сообщил, что функция вызвана из "Down" или "Up")
Ilias, ну пока вы пишите Hello World'ы он может и логичный и понятный, а вот когда нужно что-то сложное, да и что бы быстро работало...

Ну я с момента появления идеи взглянуть на скриптинг в арме не писал ничего простого, и проблем с языком пока не встречал (исключая отсутствия команд для асинхронного выполнения ) )


Сообщение отредактировал Ilias: 06 September 2017 - 14:38

  • 0

#747 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 06 September 2017 - 18:47

vlad333000
Вы упускаете систему подбора ответов, у меня эта ссылка далеко не первый результат поиска

Могу только гадать, что у вас там за поисковая история, что подобная тема при таком запросе ("Arma 3 key pressed") выходит далеко не на первом месте... даже на чистом (Не имевшем истории поиска) Google первые три ответа:
1. Та самая тема
2. displayAddEventHandler
3. InputAction
Исчерпывающая информацию по данной теме

PS Вам никогда не хотелось изменить какую-либо механику в игре? Мне вот хотелось, и это оказалось не возможным по ряду причин: отсутствие нужных команд и еб**ческая логика авторов, которые написали имеющиеся, которые не выполняли даже тех функции, для которых они быи написаны. Противоречивые методы оптимизации, порой встечающиеся имена команд, которые делают не то, что написано в названии (Или вообще не понятно что делают), куча функционала, реализация которого лежит на поверхности и потребность вкотором зашкаливает, а никто даже не думает реализовывать потому что бегемот...

Сообщение отредактировал vlad333000: 06 September 2017 - 19:07

  • 1

#748 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 07 September 2017 - 05:32

 

Хотел попробовать через тор ввести на google "Arma 3 key pressed", да google совсем офигел

(, я не имел ввиду что это сложно найти, просто маленькая правка)

 

Да, для изменения игровой механики SQF не предназначался, и мелкие недочёты (с названиями команд и ..) присутствуют (было бы необычно если бы их не было (вы не забыли какой это мир? ) )) большое количество не реализованного не то чтобы редкость тоже,

я говорил о структуре языка: с всегда очевидными командами,типами данных, без лишнего (как например: **** типов переменных и обязательности логически не обязательных действий), ..

Мне интересно стало, если не против: какие изменения вы хотели внести, для чего существующего не хватает ?


Сообщение отредактировал Ilias: 08 September 2017 - 19:50

  • 0

#749 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 12 September 2017 - 12:59

Кто нибудь знает почему не получается замерить скорость ?

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

*-----

(ответ: какойто из

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

 мешал)


Сообщение отредактировал Ilias: 12 September 2017 - 14:23

  • 0

#750 OFFLINE   Erepb

Erepb

    Рядовой

  • Пользователи
  • 18 сообщений
  • Откуда:Отсуда

Отправлено 16 September 2017 - 03:35

Есть ли в Арме возможность персонализировать оружие? Вроде как номер на каждый ствол в мп проекте нанести?


  • 0

#751 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 16 September 2017 - 14:34

Есть ли в Арме возможность персонализировать оружие? Вроде как номер на каждый ствол в мп проекте нанести?

Инвентарь это список класов предметов, магазины представляют собой списки из двух значений (клас и количество патронов) и оружие чуть большие


Сообщение отредактировал Ilias: 16 September 2017 - 15:37

  • 0

#752 OFFLINE   Erepb

Erepb

    Рядовой

  • Пользователи
  • 18 сообщений
  • Откуда:Отсуда

Отправлено 16 September 2017 - 19:25

А если вне инвентаря? Оружие является объектом? Нумеровать то, что на земле возможно? То что в руках - это тоже в инвентаре?


Сообщение отредактировал Erepb: 16 September 2017 - 19:27

  • 0

#753 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 16 September 2017 - 20:37

Erepb, у вас ни как не получится реализовать это без серьезной надстройки над инвентарем (Которая будет по факту полностью заменять его). Ни один предмет в Арме (Именно предмет, не объект) ни где (Ни в инвентаре, ни на земле) не имеет какого-либо уникального идентификатора, а все что ты видишь это "проекция" содержимого инвентаря/контейнера на какой-либо другой объект (groundWeaponHoled для предметов на земле)

Сообщение отредактировал vlad333000: 16 September 2017 - 20:40

  • 0

#754 OFFLINE   Erepb

Erepb

    Рядовой

  • Пользователи
  • 18 сообщений
  • Откуда:Отсуда

Отправлено 16 September 2017 - 20:56

Erepb, у вас ни как не получится реализовать это без серьезной надстройки над инвентарем (Которая будет по факту полностью заменять его). Ни один предмет в Арме (Именно предмет, не объект) ни где (Ни в инвентаре, ни на земле) не имеет какого-либо уникального идентификатора, а все что ты видишь это "проекция" содержимого инвентаря/контейнера на какой-либо другой объект (groundWeaponHoled для предметов на земле)

Спасибо! Доходчиво.

Ну, тогда закрепляющий вопрос - перевести оружие из предметов в объекты тоже нет возможности? И "глобальность" надстройки заменяющей инвентарь - это совершенно неподъёмно или сожрет много ресурсов? Я как раз хочу очень сильно урезать количество оружия, к тому же в этот "новый инвентарь" перенести только его.

Отбейте у меня, пожалуйста, желание забороть дюп обоснованными и доходчивыми для чайника аргументами.

Заранее благодарен.

 

ПС: ответы получил, всем спасибо, вариантов нет.


Сообщение отредактировал Erepb: 17 September 2017 - 01:23

  • 0

#755 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 17 September 2017 - 02:44

И "глобальность" надстройки заменяющей инвентарь - это совершенно неподъёмно или сожрет много ресурсов?

Вполне реально и не прожорливо, но делать долго и муторно

перевести оружие из предметов в объекты тоже нет возможности?

Нет юниты пользуются предметами, а не объектами
  • 0

#756 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 17 September 2017 - 12:58

Erepb, у вас ни как не получится реализовать это без серьезной надстройки над инвентарем (Которая будет по факту полностью заменять его). Ни один предмет в Арме (Именно предмет, не объект) ни где (Ни в инвентаре, ни на земле) не имеет какого-либо уникального идентификатора, а все что ты видишь это "проекция" содержимого инвентаря/контейнера на какой-либо другой объект (groundWeaponHoled для предметов на земле)

*GroundWeaponHolder;

*проекция на объекте


  • 0

#757 OFFLINE   Erepb

Erepb

    Рядовой

  • Пользователи
  • 18 сообщений
  • Откуда:Отсуда

Отправлено 17 September 2017 - 15:04

 

И "глобальность" надстройки заменяющей инвентарь - это совершенно неподъёмно или сожрет много ресурсов?

Вполне реально и не прожорливо, но делать долго и муторно

перевести оружие из предметов в объекты тоже нет возможности?

Нет юниты пользуются предметами, а не объектами

 

Ого! Свет в конце тоннеля! Рано сдаваться.

Несколько вопросов для понимания ситуации:

- можно ли какой либо объект содержащий инвентарь "привязать" к юниту? Сделать его невидимым и только доступ по колесику к инвентарю? Создать фильтр чтобы в этом инвентаре мог находиться строго конкретный предмет?

Вот как-то так, не пинайте сильно, надежда умирает последней ))


  • 0

#758 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 17 September 2017 - 15:55

 

вы понимаете что это никак не повлияет на стандартную систему ?


Сообщение отредактировал Ilias: 17 September 2017 - 15:55

  • 0

#759 OFFLINE   Erepb

Erepb

    Рядовой

  • Пользователи
  • 18 сообщений
  • Откуда:Отсуда

Отправлено 17 September 2017 - 17:10

 

 

вы понимаете что это никак не повлияет на стандартную систему ?

 

Не совсем. Я смогу отследить объект содержащий единственно возможную единицу оружия. Объектов ограниченное количество. Все остальные стволы чистятся скриптом - профит.


  • 0

#760 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 17 September 2017 - 17:19

 

 

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


  • 0




Яндекс.Метрика