BrightSpot, ты, наверное, используешь mp_potential_step() и пули у тебя твердые или последний аргумент у тебя true (или 0). Поставь false Новый пример инвентаря! /20.06.2012/
Он, наверное, имеет ввиду не воду которая течет, а просто воду, в которой игрок плавает. Т.е. объект, при пересечении с которым гравитация почти равна нулю, и можно передвигаться по всем четырем направлениям. Новый пример инвентаря! /20.06.2012/
1. Много раз обсуждалось. ответ есть здесь: http://forum.hellroom.ru/index.php/topic,2035.0.html пункт II.1.7. Как сделать паузу между выстрелами? 2. room_goto_next() - переход в следующую комнату room_goto(numb) - Совершает переход в комнату с идентификатором numb. Новый пример инвентаря! /20.06.2012/
draw_text(x,y,string) Рисует строку в позиции (x,y), используя текущий цвет и прозрачность. Символ # или возврат карретки chr(13) или перевод строки chr(10) интерпретируется как окончание строки символов. Таким образом Вы можете сделать многострочный текст. (Используйте \#, чтобы получить сам # символ.)
Для цветного текста используется функция
Quote
draw_text_color(x,y,string,c1,c2,c3,c4,alpha) Рисует строку в позиции (x,y) подобно вышеупомянутой функции. Четыре цвета определяют цвета левого верхнего, верхнего-правого, нижнего-правого, и нижнего-левого угла текста. alpha прозрачность, используйте (0-1).
Забыл написать: этот код можно поставить в событие нажатия кнопки мыши на каком-то объекте (ну как бы кнопку сделать), или сделать это через контекстное меню
Quote (Из справки)
show_menu(str,def) Показывает всплывающее меню. str указывает текст меню. Текст состоит из различных пунктов меню с вертикальной чертой между ними. Например, str = 'menu0|menu1|menu2'. Когда выбран первый пункт, возвращается 0, и т.д. Когда игрок не выбирает никакого пункта, возвращается значение по умолчанию.
Добавлено (30.12.2010, 10:50) --------------------------------------------- Вместо 'PNG|*.png' напиши 'Фоновое изображение|*.bmp;*.png;*.jpg'
То что стоит до вертикальной черты будет написано в строке выбора типов файлов, после вертикальной черты - маски файлов, которые можно открывать. Можешь туда еще форматы дописать, если нужно.
new_back_file=get_open_filename('PNG|*.png','');//вызываем окно для выбора файла (здесь я написал только формат png, можно добавить и другие форматы if (new_back_file=''){exit}//Если нажата отмена (никакой файл не выбран) пропускаем следующий код (чтобы не было ошибки "обращение к не существующему фону") background_delete(background_index);//удаляем используемый в данный момент фон (чтобы освободить память). В комнате обязательно должен стоять какой-то фон по умолчанию, иначе будет ошибка "попытка удалить не существующий фон" background_index=background_add(new_back_file,false,false);//Устанавливаем загруженное фоновое изображение как текущий фон.
На сколько я понимаю, здесь больше важен сам процесс создания чем результат. И это очень даже полезно.
Quote (pretty_mouse)
Проект создан с целью перейти на более высокий уровень в ГМ и научится делать меню и вообще очень много полезного!
p.s.: я эту цитату уже приводил выше, но, наверное, не все читают всю тему, по этому и задают вопросы "Зачем это вообще нужно". Работать эта РС все равно будет медленно (если будет много всяких фишек), но сам процесс создания даст не плохой опыт. Эти знания пригодятся в других проектах.
keyboard_check(key) Возвращает истину, если нажата клавиша с конкретным клавиатурным кодом.
2.
Quote (Из справки)
view_object[0..7] Объект, за экземпляром которого должен следовать вид. Если существуют несколько экземпляров этого объекта, то сопровождается только первый. Вы можете также назначить идентификатор экземпляра в эту переменную. В этом случае - сопровождается указанный экземпляр.
Slavec, Вообще GM для создания игр, но на нем можно делать не только игры. p.s.:я не говорю что GM - лучший вариант для создания программ). Новый пример инвентаря! /20.06.2012/
execute_program(prog,arg,wait) Запуск программы prog с параметрами командной строки arg. Параметр wait указывает ждать завершения работы программы (wait=true) или нет (wait=false).
там где у тебя смерть объекта (я так и не понял при каких обстоятельствах наступать смерть должна) поставь код:
Code
x=10; y=10;//координаты точки. в которой оп должен появиться после смерти
if (i <= 10) //здесь количество спрайтов, на которые нужно менять { i+=1; } else { i=1; }
switch i { case 1: sprite_index = первый спрайт; break; case 2: sprite_index = второй спрайт; break; и так для каждого спрайта, на которые нужер менять. }