Тема: [MS] Руководство по командам Модульки или header_operations  (Прочитано 28499 раз)

Ответ #25 19 Мая, 2010, 14:41
0
Цитировать (выделенное)
как можно узнать бежит сейчас юнит (агент) или нет
тоже задавался этим вопросом, ответа не нашел :(
можно попробовать запустить триггер, с кажем с интервалом в 1 секунду, в котором
1) фиксируется позиция агента, заносится в слот
2) через одну сикунду эта позиция извлекается из слота и сравнивается с новой позицией объекта (получаем расстояние между позициями),на основании расстояния высчитываем скорость. Заносим новую позицию в слот вместо старой
... ну и так до бесконечности
хотел попробовать, да все руки не доходят

Хотя способ конечно не больно красивый, может есть что-то простое как все гениальное? Узнает же ланса при рыцарском ударе на какой скорости ей следует опускаться
Ответ #26 19 Мая, 2010, 15:55
0
Вы знаете в кауой пееременной хранится скорость?,если да сверяйте перменную с 0,тогда юнит будут двигаться
Ответ #27 19 Мая, 2010, 16:26
0
Цитировать (выделенное)
Вы знаете в кауой пееременной хранится скорость?
неа, не знаем... тайна сия велика есть :cry: :) если знаешь, поделись
можно вызвать позицию агента в  конкретный момент времени, но нельзя вызвать скорость

Цитировать (выделенное)
сверяйте перменную с 0,тогда юнит будут двигаться
это конечно свежая и креативная идея :thumbup:
Ответ #28 20 Мая, 2010, 06:53
0
Цитировать (выделенное)
можно попробовать запустить триггер, с кажем с интервалом в 1 секунду, в котором
1) фиксируется позиция агента, заносится в слот
2) через одну сикунду эта позиция извлекается из слота и сравнивается с новой позицией объекта (получаем расстояние между позициями),на основании расстояния высчитываем скорость. Заносим новую позицию в слот вместо старой
... ну и так до бесконечности

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

 
Вы знаете в кауой пееременной хранится скорость?,если да сверяйте перменную с 0,тогда юнит будут двигаться
Мысль конечно хорошая, но что-то мне подсказывает, что нет в модульке такой переменной "по духу" чтоли не подходит... а даже еслибы и была, то проблемы теже, что и в описанном камрадом shturmfogel-ем способе. Т.е. при реализации искуственность будет в глаза бросаться.
Ответ #29 24 Марта, 2011, 14:45
0
А кто нибудь знает, как в МС организовать двухмерный массив?  :-\
Ответ #30 24 Марта, 2011, 18:25
0
Nobody Detected
Есть кортежи, которые считаются их аналогами...
« Последнее редактирование: 24 Марта, 2011, 18:32 от proVIDec »
Ответ #31 24 Марта, 2011, 19:09
0
Во-первых, спасибо за оперативный ответ   :)

Если я правильно понял, то имеются в виду отряды (party). Можно, конечно, взять и запихнуть id нескольких отрядов в слот к другому, и тогда получится нечто двухмерное.
Но как создавать новые отряды, не прописывая их заранее module_parties? А то так размер у массива фиксированным получается(
Ответ #32 24 Марта, 2011, 19:22
0
Я говорил касательно Python в целом.
А на счет модульки, то для чего нужен массив?
Ответ #33 24 Марта, 2011, 19:27
0
Для магии :D
Хотя, пожалуй, и одномерных хватит. Просто из любопытства хочется узнать, вдруг способы есть.
Ответ #34 24 Марта, 2011, 19:53
0
А через что реализовывать собираетесь?
Ответ #35 24 Марта, 2011, 20:08
0
Через МС по аналогии с этим: http://forums.taleworlds.com/index.php/topic,68919.0.html
Ответ #36 25 Марта, 2011, 10:30
0
А зачем нужен двумерный массив?
Ответ #37 25 Марта, 2011, 11:38
0
Чтобы количество одновременно летящих фаерболлов не было ограничено. У меня сейчас стоит, что в полете могут одновременно находиться по два от каждого мага, в указанном примере только один.
Ответ #38 25 Марта, 2011, 11:50
0
Так в чем проблема?  :)
Если я правильно понял, все это происходит на МиБе?
« Последнее редактирование: 25 Марта, 2011, 11:56 от proVIDec »
Ответ #39 25 Марта, 2011, 14:43
0
Да, в МиБе.
А какой предлагаете вариант?
Ответ #40 25 Марта, 2011, 15:27
0
В МиБе я не очень силен (хотя думаю особой разницы нет)...
Можно поподробней, каким образом Вы реализовали два шара? Изменили пример, приведенный выше?
« Последнее редактирование: 25 Марта, 2011, 15:39 от proVIDec »
Ответ #41 25 Марта, 2011, 22:00
0
Грубо говоря, просто продублировал его, чтобы если один шар уже есть, то для второго использовался другой набор массивов  =)
Криво и неудобно, зато просто)

Добавлено: 25 Марта, 2011, 22:02
Но что-то это уже больше на флуд похоже.
Ответ #42 29 Марта, 2011, 16:55
0
Извиняюсь, что с задержкой...
Если честно, то у меня нет никаких идей, по созданию чего-то, вроде двумерного массива  :(
В итоге у меня получается какой-то монстр, который только затормозит систему...
Ответ #43 29 Марта, 2011, 17:25
0
Не беда) Я уже понял, как нормально обойтись без этого ;)
Ответ #44 18 Июня, 2011, 14:26
0
Промтопереводчики это тру. :) Надо будет как-нибудь заняться переводом...
Ответ #45 18 Июня, 2011, 19:12
0
Промтопереводчики это тру. :) Надо будет как-нибудь заняться переводом...

Надо, мне самому было лень, когда темку создавал.
Ответ #46 29 Июля, 2011, 16:36
0
position_set_ *
----
Устанавливает X, Y или Z координаты входной позиции на входные значения.

Что это значит?
 Конкретно интересуют следующие команды:
overlay_set_position
position_set
overlay_set_text
set_fixed_point_multiplier
str_store_string
create_text_overlay
Примерно понимаю что они делают, но хотелось бы больше инфы.
Ответ #47 29 Июля, 2011, 22:28
0
Цитировать (выделенное)
overlay_set_position

Задает позицию, даже не знаю как перевести, overlay (это то что отображается на экране в презентации: текст, меши, кнопки и т.д. - это все называется overlay, он имеет несколько типов) на экране.
Цитировать (выделенное)
position_set_ *

Задает X, Y или Z координаты позиции.
Цитировать (выделенное)
overlay_set_text

Задает текст overlay
Цитировать (выделенное)
set_fixed_point_multiplier

Используется для симуляции дробных чисел, задает точность при преобразовании в число с фиксированной запятой (на деле, при преобразовании целого числа в дробное число, оно умножается на число, заданное с помощью этой команды).
http://rusmnb.ru/index.php?topic=7910.msg283003#msg283003
Небольшое замечание, в игре нет дробных чисел, это всего лишь симуляция. Если сделать например такой код:
(assign, ":val", 150),
(set_fixed_point_multiplier, 100),
(convert_to_fixed_point, ":val"),
в надежде, что число в переменной ":val" преобразуется в 1,5, то на деле, число в этой переменной просто умножиться на 100, и мы получим 15000.
Цитировать (выделенное)
str_store_string

Записывает текст, в переменную строки.
Цитировать (выделенное)
create_text_overlay

Создает overlay с текстом.

Подозреваю что вышло не очень понятно =/ так что если что-то не очень понятно, то спрашивай.
Ответ #48 07 Сентября, 2011, 05:58
0
Если я правельно понимаю, когда подряд стоит несколько условий
Например: (eq...),
                   (eq...),  - то они должны быть все "труе", чтобы функция сработала.
А если нужно, чтобы одна из них была "труе". Или-или. Что делать в этом случае?
Если условий много, то расписывать через (else_try) получается громоздко. Может есть способ проще?
Ответ #49 07 Сентября, 2011, 07:30
0
FinGall, используй
Цитировать (выделенное)
this_or_next|

Должно выглядеть вот так:
Цитировать (выделенное)
(this_or_next|eq...),
(this_or_next|eq...),
(eq...)

this_or_next| ставится перед условием, в скобках вместе с ним. Дословно переводится как "это или следующие", действует также. Последнее условие в списке должно быть без this_or_next.

0 Пользователей и 1 Гость просматривают эту тему.

Теги: