Полная версия этой страницы:
Muddyscript
МутноСкрипт.
http://mutnosoft.ru/?page_id=136 - общая информация
http://mutnosoft.ru/?page_id=148 - структуры игроков и объектов, некоторые константы
http://mutnosoft.ru/?page_id=144 - перечень функций
Nirael
18 Jun 2010, 21:55
мама мия!
птичко, ты крут!
Добавлено ([mergetime]1276887303[/mergetime]):
я ничего не понимаю)
gamecreator
18 Jun 2010, 22:48
а приоритет команд?
приоритет = приоритету написания, чтобы изменить, нужно ставить скобки. Не очень удобно конечно, но не хочу городить.
tolich
19 Jun 2010, 07:08
Цитата(FBX @ 18 Jun 2010, 22:52)
приоритет = приоритету написания
Цитата(перевод)
уровень приоритета у операций одинаковый, ассоциативность левая
gamecreator
19 Jun 2010, 14:12
Цитата(tolich @ 19 Jun 2010, 08:08)
уровень приоритета у операций одинаковый, ассоциативность левая
Цитата(перевод)
приоритет = приоритету написания
Haart of the Abyss
19 Jun 2010, 14:18
Цитата(tolich @ 19 Jun 2010, 08:08)
Цитата(FBX @ 18 Jun 2010, 22:52)
приоритет = приоритету написания
Цитата(перевод)
уровень приоритета у операций одинаковый, ассоциативность левая
Цитата(перевод)
2+2*2=8
Цитата
2+2*2=8
2+2*2=8 даст в результате 1 кстати
tolich
19 Jun 2010, 23:47
А 8=2+2*2 - нет

, это 4.
gamecreator
21 Jun 2010, 16:14
а кто мешает сделать целый результат?
Открывая if-конструкцию, интерпретатор ждет целого числа, и синтаксис ожидает соответственно целочисленный.
Функция round наоборот ожидает вещественный...
gamecreator
21 Jun 2010, 16:55
а почему синтаксис операций сравнения не может быть общий?
надо бы добавить функции сравнения..
хотя все равно будет что-то вроде:
if [cmp a,b]|[cmp c,d], {...
только первый параметр - идентификатор, а 2-й - выражение, с которым сравнивают
Berserker
21 Jun 2010, 17:13
А я знаю. Знаю, сколько человек будет писать на мутноскрипте. Но не скажу.
Я буду

а больше не особо-то надо..
gamecreator
21 Jun 2010, 17:24
у меня возникла бредовая идея... написать мегамейз на своем языке
Berserker
21 Jun 2010, 18:45
Напишите ваши языки на ваших языках!
gamecreator
21 Jun 2010, 20:22
мда, нужно допилить операцию ввода
Убрал isnull за ненадобностью.
Добавил create_obj команду. Также, свойство next можно изменять.
Код
Эта супер-кровать вычисляет факториал с помощью длинной арифметики!
60! = 83209871127413901442763411832233643807541726063612459524492776964096000000000000
00
gamecreator
24 Jun 2010, 18:52
ты маньяк
Добавлено ([mergetime]1277394635[/mergetime]):
хотя...
Код
[60!] 83209871127413901442763411832233643807541726063612459524492776964096000000000000
00 :=
Добавлено ([mergetime]1277394740[/mergetime]):
хотя оно никогда не будет правильно вычислено в самой проге и вы не сможете его использовать, но сможете вывести на экран
почему маньяк, я просто тестировал возможности скрипта
ChASnock
28 Jun 2010, 15:56
а как сделать так, чтобы при подходе к двери Морда останавливалась (как перед стенкой)?
(P. S.:
Owner.act <- act_none - пробовал, не пашет;
Owner.X <- Owner.X - 1 - пробовал, отбрасывает в сторону,
Owner.X <- Owner.X - тоже пробовал - ...)
ставишь в месте, где должна остановиться, невидимый объект (см. тип препятствия, самый нижний), и на него скрипт:
mov owner.wait,20;
P.S. Странно, разве интерпретатор понимает Owner, написанный с большой буквы?
ChASnock
28 Jun 2010, 16:02
Цитата(FBX @ 28 Jun 2010, 18:00)
Странно, разве интерпретатор понимает Owner, написанный с большой буквы?
да нет, эт я просто в посте написал так.
Добавлено ([mergetime]1277730139[/mergetime]):
Кстати:: я так и не въехал что значит поле wait
wait - это например когда после выстрела из рельсотрона или установки динамита не можешь сразу отскочить.
ChASnock
28 Jun 2010, 16:11

ну и чо, морду парализует на нек. время, а потом снова делай что хошь, в том числе и через дверь проходит
можно поставить стену позади двери (тип препятствие). И убирать/ставить ее
ChASnock
28 Jun 2010, 16:36
дверь никак не ставится впереди стены
Добавлено ([mergetime]1277732181[/mergetime]):
и стена видна позади двери
Удалить дверь, и создать ее снова поверх стены, если нужно чтобы дверь была на переднем плане
ChASnock
28 Jun 2010, 16:43
Цитата(ChASnock @ 28 Jun 2010, 17:56)
а как сделать так, чтобы при подходе к двери Морда останавливалась (как перед стенкой)?
Да нет, блин, FBX, не понял наверно...
короче чтобы с помощью скрипта сделать чтобы морда осталась на своем месте при посещении объекта
Может и не понял, опиши более полно ситуацию. Почему в одних случаях морда должна остаться на месте, а в других нет.
ChASnock
28 Jun 2010, 16:49
Представь, что стоит объект-стена с картинкой "дверь". Это мне и надо.
Добавлено ([mergetime]1277732973[/mergetime]):
(БАГРЕПОРТ)
когда жмешь space, выезжает аж 3 ошибки
(/БАГРЕПОРТ)
по-моему можно поставить скрытую (v3=1) яму, которая ведет на этот же уровень в эти же координаты. Если координаты зависят от стороны, с которой подходят, можно перезаписать их скриптом на яме (так даже не надо настраивать яму):
mov target.v0,owner.lv; mov target.v1,owner.x; mov target.v2,owner.y;
ChASnock
28 Jun 2010, 16:55

ух ты
какое оригинальное решение
thanx
Цитата(ChASnock @ 28 Jun 2010, 17:49)
(БАГРЕПОРТ)
когда жмешь space, выезжает аж 3 ошибки
(/БАГРЕПОРТ)
Очень хреновый багрепорт. Не указано, при каких обстоятельствах вылезает баг.
gamecreator
28 Jun 2010, 17:11
ФБХ, а почему вариант с ямой не зациклится?
скрипт-то 1 раз выполняется, яма тоже 1 раз срабатывает, далее игрок получает небольшой вейт за перемещение
gamecreator
28 Jun 2010, 17:28
а почему яма 1 раз срабатывает?
ChASnock
28 Jun 2010, 17:43
Цитата(FBX @ 28 Jun 2010, 18:55)
Цитата(ChASnock @ 28 Jun 2010, 17:49)
(БАГРЕПОРТ)
когда жмешь space, выезжает аж 3 ошибки
(/БАГРЕПОРТ)
Очень хреновый багрепорт. Не указано, при каких обстоятельствах вылезает баг.
и правда хреновый
Добавлено ([mergetime]1277736185[/mergetime]):
Короче, если загружаешь кампанию, производишь какие-то действия и жмешь space (чтоб перезагрузиться), то выезжают сразу два одинаковых msgboxerr'a "Соединение разорвано", а потом
Windows socket error: Нельзя выполнить операцию на объекте, не являющемся сокетом (10053), on API 'closesocket'
Добавлено :
Ошибка не происходит если ты не делал никаких действий или если ты умер от монстра.
Цитата(gamecreator @ 28 Jun 2010, 18:28)
а почему яма 1 раз срабатывает?
Что за странный допрос, если на нее наступили 1 раз, она срабатывает 1 раз. Если на нее наступили много раз, она сработает столько раз, сколько на нее наступили.
ChASnock
28 Jun 2010, 17:57
FBX, чето я подзабыл формат файла objects.txt, напомни, please
Лучше не надо трогать этот файл. Лучше прислать графику мне, я ее добавлю в релиз. Или что ты хочешь там поменять?
ха-ха.
100 200 0 1 2 3
Первые 2 - диапазон времени в тиках (выбирается случайное число в этом диапазоне), которое анимация будет стоять на 1-м кадре. 0 0 - непрерывная анимация.
Остальные 4 - индексы поворота изображения при движении объекта соответственно вверх, вправо, вниз, влево.
Они могут принимать значения от 0 до 3 (поворот картинки по часовой стрелке на 0, 90, 180 и 270 градусов соответственно).
Т.е. 0 0 0 0 - изображение не поворачивается.
ChASnock
28 Jun 2010, 20:04
FBX, сделай так, чтобы при переходе на следующую карту все глобальные переменные удалялись. Или сделай команду delete_globals; .
А зачем? Перезаписать их и все.
ChASnock
28 Jun 2010, 20:17
просто у меня в картах проверяется факт их наличия.
а когда переменные из предыдущей карты сохраняются, неудообно...
Не понял. Как это проверяется, через try чтоли? Иначе вроде невозможно
ChASnock
28 Jun 2010, 20:36
Внимание, люди! Не нарвитесь на проблемы!!!
При использовании act_destroy при (пере)загрузке любой карты генерится exception Invalid Pointer Operation, а в последствии и различного вида Access Violations!
Добавлено ([mergetime]1277746523[/mergetime]):
Цитата(FBX @ 28 Jun 2010, 22:31)
Не понял. Как это проверяется, через try чтоли? Иначе вроде невозможно
именно

Воттак:
try mov start, start; else {global int, 'start'; msg 'Start!';};
Таким образом, сообщение выводится только один раз.
Добавлено ([mergetime]1277746589[/mergetime]):
Ну я уже сделал первую карту, основанную на этих проверках, она так ими и пропитана... Неохота все переделывать...
Цитата
Внимание, люди! Не нарвитесь на проблемы!!!
При использовании act_destroy при (пере)загрузке любой карты генерится exception Invalid Pointer Operation, а в последствии и различного вида Access Violations!
Так вот откуда та "бага с пробелом". Нафиг тебе act_destroy? Попробуй заменить на act_hide - безопасно.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.