Полная версия этой страницы: 
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])
Добавлено ([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])
Добавлено ([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
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])
Добавлено ([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 - безопасно.
 
 
 
   
  Для просмотра полной версии этой страницы, пожалуйста, 
пройдите по ссылке.