******************************************************************************** На карте периодически появляются камни силы и сундуки сокровищ"
******************************************************************************** !#TM43:S2/999/1/255; !?TM43; !!FU19022:P?y-1/?y-2/?y-3;Вызываем функцию генерации координат случайной свободной клетки. !!VRy-10:R10;y1-случайное число (0..10) !!UN&y-10=0:Iy-1/y-2/y-3/101/0/101/0/0/1;Ставим приз на клетку. сундук !!UN&y-10=1:Iy-1/y-2/y-3/101/1/101/1/0/1;Ставим приз на клетку. сундук !!UN&y-10=2:Iy-1/y-2/y-3/101/5/101/5/0/1;Ставим приз на клетку. сундук !!UN&y-10=3:Iy-1/y-2/y-3/81/0/81/0/0/1;Ставим приз на клетку. ученый !!UN&y-10=4:Iy-1/y-2/y-3/76/0/76/0/0/1;Ставим приз на клетку. случайный рессурс !!UN&y-10=5:Iy-1/y-2/y-3/12/0/12/0/0/1;Ставим приз на клетку. костер !!UN&y-10=6:Iy-1/y-2/y-3/62/0/62/0/0/1;Ставим приз на клетку. тюрьма !!UN&y-10=7:Iy-1/y-2/y-3/101/7/101/7/0/1;Ставим приз на клетку. сундук !!UN&y-10=8:Iy-1/y-2/y-3/101/8/101/8/0/1;Ставим приз на клетку. сундук !!UN&y-10=9:Iy-1/y-2/y-3/101/9/101/9/0/1;Ставим приз на клетку. сундук !!UN&y-10=10:Iy-1/y-2/y-3/101/10/101/10/0/1;Ставим приз на клетку. сундук
;Функции генерации случайной свободной клетки карты. !?FU19022;Функция генерации случайной свободной клетки карты. !!UN:X?y1/?y2;Считываем размеры карты. !!VRy2:+1;Вычисляем количество уровней на карте. !!VRy3:Sy1*y1*y2;Вычисляем количество клеток карты. !!VRy3:-1;Вычисляем номер последней клетки карты. !!VRy4:Sv2;Сохраняем значение глобальной переменной. !!VRv2:S0;Обнуляем переменную счёта свободных клеток. !!DO19023/0/y3/1:Py1/y2;Запускаем цикл, проходящийся по всем клеткам карты и считающий число свободных клеток на ней. !!FU&v2<=0:E;Если свободных клеток нет, завершаем функцию. !!VRy5:Sv2-1;Вычисляем условный номер последней свободной клетки. !!VRv2:S0 Ry5;Генерируем случайный условный номер свободной клетки. !!DO19024/0/y3/1:Py1/y2;Запускаем цикл, проходящийся по клеткам карты и вычисляющий реальный номер клетки. !!VRx1:Sv2%y1;Вычисляем и возвращаем x-координату клетки. !!VRx2:Sv2:y1%y1;Вычисляем и возвращаем y-координату клетки. !!VRx3:Sv2:y1:y1%y2;Вычисляем и возвращаем z-координату клетки. !!VRv2:Sy4;Восстанавливаем значение глобальной переменной. !?FU19023;Функция проверки свободности клетки. !!VRy1:Sx16%x1;Вычисляем x-координату клетки. !!VRy2:Sx16:x1%x1;Вычисляем y-координату клетки. !!VRy3:Sx16:x1:x1%x2;Вычисляем z-координату клетки. !!TRy1/y2/y3:E?y4;Считываем проходимость клетки. !!TRy1/y2/y3:P?y5;Считываем посещаемость клетки. !!TRy1/y2/y3:T?y6/d/d/d/d/d/d/d;Считываем тип территории клетки. !!FU&y4=0|y5=0/y6=8/y6=9:E;Если клетка недоступна, завершаем тфункцию. !!OBy1/y2/y3:T?y7;Считываем тип объекта на клетке. !!VRv2&y7<>34:+1;Если на клетке стоит не герой, добавляем 1 в переменную свободных клеток. !?FU19024;Функция проверки свободности клетки. !!VRy1:Sx16%x1;Вычисляем x-координату клетки. !!VRy2:Sx16:x1%x1;Вычисляем y-координату клетки. !!VRy3:Sx16:x1:x1%x2;Вычисляем z-координату клетки. !!TRy1/y2/y3:E?y4;Считываем проходимость клетки. !!TRy1/y2/y3:P?y5;Считываем посещаемость клетки. !!TRy1/y2/y3:T?y6/d/d/d/d/d/d/d;Считываем тип территории клетки. !!OBy1/y2/y3&y4=1/y5=1/y6<>8/y6<>9:T?y7;Если клетка свободна, считываем тип объекта на клетке. !!VRv2&y4=0|y5=0/y6=8/y6=9/y7=34:+1;Если клетка несвободна или на ней есть герой, добавляем 1 в переменную реального номера клетки. !!VRx16&x16=v2:Sx1*x1*x2;Если реальный номер клетки вычислен, завершаем цикл. **
****************************************************************************
********************************************************************************
На море периодически появляются няшки и морские сундуки "
******************************************************************************** !#TM44:S3/999/3/255; !?TM44; !!FU28450:P?y-1/?y-2/?y-3;Вызываем функцию генерации координат случайной свободной клетки. !!VRy-10:R4;y1-случайное число (0..5) !!UN&y-10=0:Iy-1/y-2/y-3/29/0/29/0/8/1;Ставим приз на клетку. !!UN&y-10=1:Iy-1/y-2/y-3/82/0/82/0/8/1;Ставим приз на клетку. !!UN&y-10=2:Iy-1/y-2/y-3/86/0/86/0/8/1;Ставим приз на клетку. !!UN&y-10=3:Iy-1/y-2/y-3/59/0/59/0/8/1;Ставим приз на клетку. !!UN&y-10=4:Iy-1/y-2/y-3/125/0/125/0/8/1;Ставим приз на клетку. ;Функции генерации случайной свободной клетки карты. !?FU28450;Функция генерации случайной свободной клетки карты. !!UN:X?y1/?y2;Считываем размеры карты. !!VRy2:+1;Вычисляем количество уровней на карте. !!VRy3:Sy1*y1*y2;Вычисляем количество клеток карты. !!VRy3:-1;Вычисляем номер последней клетки карты. !!VRy4:Sv2;Сохраняем значение глобальной переменной. !!VRv2:S0;Обнуляем переменную счёта свободных клеток. !!DO28451/0/y3/1:Py1/y2;Запускаем цикл, проходящийся по всем клеткам карты и считающий число свободных клеток на ней. !!FU&v2<=0:E;Если свободных клеток нет, завершаем функцию. !!VRy5:Sv2-1;Вычисляем условный номер последней свободной клетки. !!VRv2:S0 Ry5;Генерируем случайный условный номер свободной клетки. !!DO28452/0/y3/1:Py1/y2;Запускаем цикл, проходящийся по клеткам карты и вычисляющий реальный номер клетки. !!VRx1:Sv2%y1;Вычисляем и возвращаем x-координату клетки. !!VRx2:Sv2:y1%y1;Вычисляем и возвращаем y-координату клетки. !!VRx3:Sv2:y1:y1%y2;Вычисляем и возвращаем z-координату клетки. !!VRv2:Sy4;Восстанавливаем значение глобальной переменной. !?FU28451;Функция проверки свободности клетки. !!VRy1:Sx16%x1;Вычисляем x-координату клетки. !!VRy2:Sx16:x1%x1;Вычисляем y-координату клетки. !!VRy3:Sx16:x1:x1%x2;Вычисляем z-координату клетки. !!TRy1/y2/y3:E?y4;Считываем проходимость клетки. !!TRy1/y2/y3:P?y5;Считываем посещаемость клетки. !!TRy1/y2/y3:T?y6/d/d/d/d/d/d/d;Считываем тип территории клетки. !!FU&y4=8|y5=8/y6<8/y6=9:E;Если клетка недоступна, завершаем тфункцию. !!OBy1/y2/y3:T?y7;Считываем тип объекта на клетке. !!VRv2&y7<>34:+1;Если на клетке стоит не герой, добавляем 1 в переменную свободных клеток. !?FU28452;Функция проверки свободности клетки. !!VRy1:Sx16%x1;Вычисляем x-координату клетки. !!VRy2:Sx16:x1%x1;Вычисляем y-координату клетки. !!VRy3:Sx16:x1:x1%x2;Вычисляем z-координату клетки. !!TRy1/y2/y3:E?y4;Считываем проходимость клетки. !!TRy1/y2/y3:P?y5;Считываем посещаемость клетки. !!TRy1/y2/y3:T?y6/d/d/d/d/d/d/d;Считываем тип территории клетки. !!OBy1/y2/y3&y4=1/y5=1/y6<>0/y6<>9:T?y7;Если клетка свободна, считываем тип объекта на клетке. !!VRv2&y4=8|y5=8/y6<8/y6=9/y7=34:+1;Если клетка несвободна или на ней есть герой, добавляем 1 в переменную реального номера клетки. !!VRx16&x16=v2:Sx1*x1*x2;Если реальный номер клетки вычислен, завершаем цикл. **
Эти два скрипта оживляют игру, как добиться генерации случайных монстров?
Да, ERM SCRIPM MASTER нет новее 1.1.2.7?
в МОР вместе с его версией модификации шел редактор, позволяющий поставить монстрам способности, заклинания, стрельбу, такого отдельно нет?
Все свежие обновления я выкладываю на своем сайте здесь.