RS Game Maker Community
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

 
Расширенный поиск
  Главная  Форум   Вики Блоги FAQ Игры Статьи Примеры Войти Регистрация  
Вики
Все желающие приглашаются редактировать вики. Можете писать о своих (или чужих) играх, размещать туториалы, постить статьи - главное навесить категорию.
Страниц: 1 ... 348 349 350 351 352 353 354 355 356 ... 361   Вниз
  Печать  
Ответы@Gmakers.ru — все вопросы сюда
0 Пользователей и 5 Гостей смотрят эту тему.
deathsoul
дезсоул
Ветеран форума
*****

Репутация: 548
Offline Offline

Награды:
Легенда сайта
Сообщений: 1 853


21 Апрель 2011 в 01:14
Чтобы не было тем с вопросами, которые содержат всего два-три сообщения, все свои вопросы задавайтесь здесь. Если вопрос окажется слишком сложным для общей темы, модераторы всегда могут вынести обсуждение в отдельную тему.
Для этой темы действуют те же правила, что и для всего раздела, так что перед тем, как задать вопрос, обязательно ознакомьтесь с этой темой: «Ознакомьтесь, прежде чем задать вопрос». И не забудьте проверить, нет ли ответа на ваш вопрос в FAQ по Game Maker.
Последнее редактирование: 13 Октябрь 2013 в 19:01 от Огион
 
Arsen96
Активный участник
**

Репутация: 4
Offline Offline

Сообщений: 137


Чем кривее руки, тем прикольней глюки

Ответ № 7021 15 Декабрь 2016 в 19:02
Второй вопрос. Подскажите код для создания таймера. Например персонаж погиб, через 10 минут он восстановится.  Нужно чтобы шёл обратный отсчёт.  Спасибо
alarm[0]=room_speed*600
Vovan1802
Активный участник
**

Репутация: 2
Offline Offline

Сообщений: 135

Ответ № 7022 17 Декабрь 2016 в 01:17
Как быстро написать противоположное условие? Например есть условие "если yspeed равно 0..."
if yspeed=0...
Как написать "если yspeed не равно 0..."? На сколько я знаю, вроде можно в том же условии просто куда то добавить восклицательный знак, или я что то путаю... Вариант с else в моем случае не прокатит
ГоК
Начинающий
Старожил
******

Репутация: 365
Offline Offline

Награды:
Легенда сайтаЗа интересные проекты
Сообщений: 2 038


Ответ № 7023 17 Декабрь 2016 в 03:01
if yspeed!=0
Vovan1802
Активный участник
**

Репутация: 2
Offline Offline

Сообщений: 135

Ответ № 7024 17 Декабрь 2016 в 03:02
Спасибо)
Doctor_Hummer
Подозрительно
Активный участник
**

Репутация: 11
Offline Offline

Сообщений: 165


Боль

Ответ № 7025 17 Декабрь 2016 в 09:29
Возникла проблема, с которой я мучался довольно долго...
Написал код для смены маг.оружия на кнопку - если оружие первое и открыто второе - оно меняется на второе, если выбрано второе и открыто первое - меняется на первое.

Но в любом случае сменить магию удаётся только со вторую на первую, но никак не обратно. Я тестировал без проверки разблокированных вещей, пытался поменять два кода местами(выходило тоже самое, только наоборот),пробовал с разными кнопками, проверял при нажатии, отпускании клавиши.. Почему работает только нижний фрагмент, а верхний не работает совсем?

Да, я знаю, что для смены оружия мог использовать менее громоздкий код, но мне ещё надо проверять открыто ли оно. Если ли способ как-то это починить?
if global.magicstyle=1
{
if global.unlockedmagicaxe>0
{
ini_open('data.necro');
ini_write_real('items','choosedmagic', 2);
ini_close();
global.magicstyle=2
}
}

if global.magicstyle=2
{
if global.unlockedfirestaff>0
{
ini_open('data.necro');
ini_write_real('items','choosedmagic', 1);
ini_close();
global.magicstyle=1
}
}

P.S. Самое забавное то, что когда я добавил проигрывание звука в верхний код, звук всё таки проигрывался, а переменные не менялись. Какая-то не смешная шутка.

if global.magicstyle=1
{
if global.unlockedmagicaxe>0
{
sound_play(blablabla)
ini_open('data.necro');
ini_write_real('items','choosedmagic', 2);
ini_close();
global.magicstyle=2
}
}

Однако
tolich
to ne lich
Ветеран форума
*****

Репутация: 215
Offline Offline

Сообщений: 1 494


moonlite

Ответ № 7026 17 Декабрь 2016 в 10:07
if global.magicstyle=1
{
if global.unlockedmagicaxe>0
{
ini_open('data.necro');
ini_write_real('items','choosedmagic', 2);
ini_close();
global.magicstyle=2
}
}
else
if global.magicstyle=2
{
if global.unlockedfirestaff>0
{
ini_open('data.necro');
ini_write_real('items','choosedmagic', 1);
ini_close();
global.magicstyle=1
}
}

Doctor_Hummer
Подозрительно
Активный участник
**

Репутация: 11
Offline Offline

Сообщений: 165


Боль

Ответ № 7027 17 Декабрь 2016 в 10:12
if global.magicstyle=1
{
if global.unlockedmagicaxe>0
{
ini_open('data.necro');
ini_write_real('items','choosedmagic', 2);
ini_close();
global.magicstyle=2
}
}
else
if global.magicstyle=2
{
if global.unlockedfirestaff>0
{
ini_open('data.necro');
ini_write_real('items','choosedmagic', 1);
ini_close();
global.magicstyle=1
}
}

А ларчик просто открывался..

Однако
Doctor_Hummer
Подозрительно
Активный участник
**

Репутация: 11
Offline Offline

Сообщений: 165


Боль

Ответ № 7028 17 Декабрь 2016 в 20:37
И очередной вопрос.. я уверен, что он звучал здесь и не раз, но боюсь ответа я так и не нашёл.

Как определить координаты точки между двумя объектами? Именно посередине между объектами, а не в произвольном месте...

Однако
ГоК
Начинающий
Старожил
******

Репутация: 365
Offline Offline

Награды:
Легенда сайтаЗа интересные проекты
Сообщений: 2 038


Ответ № 7029 17 Декабрь 2016 в 20:43
Не уверен, что правильно понял вопрос, но...
midX = ( obj1.x+obj2.x )/2;
midY = ( obj1.y+obj2.y )/2;
Огион
Завсегдатай
****

Репутация: 132
Offline Offline

Сообщений: 968


Ответ № 7030 18 Декабрь 2016 в 00:30
Или так:
midX = lerp(obj1.x, obj2.x, 0.5);
midY = lerp(obj1.y, obj2.y, 0.5);
input.txt
Не очень
Активный участник
**

Репутация: 17
Offline Offline

Сообщений: 120


12.8 Gb

Ответ № 7031 18 Декабрь 2016 в 11:14
midX = mean(obj1.x, obj2.x);
midY = mean(obj1.y, obj2.y);
ГоК
Начинающий
Старожил
******

Репутация: 365
Offline Offline

Награды:
Легенда сайтаЗа интересные проекты
Сообщений: 2 038


Ответ № 7032 18 Декабрь 2016 в 13:59
Просто шведский стол.
Arsen96
Активный участник
**

Репутация: 4
Offline Offline

Сообщений: 137


Чем кривее руки, тем прикольней глюки

Ответ № 7033 24 Декабрь 2016 в 11:02
При открытии проэкта появляется окно "Invalid XML in RSS file", а уже потом открывается 
ELGReeN
Активный участник
**

Репутация: 8
Offline Offline

Сообщений: 122


Ответ № 7034 24 Декабрь 2016 в 17:41
При открытии проэкта появляется окно "Invalid XML in RSS file", а уже потом открывается 
У меня тоже это вылезает.

Как работает ds_map_add_map? из справки не понятно зачем оно надо.

tolich
to ne lich
Ветеран форума
*****

Репутация: 215
Offline Offline

Сообщений: 1 494


moonlite

Ответ № 7035 24 Декабрь 2016 в 19:36
Из справки не понятно зачем оно надо.
Оно нужно для JSON, больше ни для чего. И, да, про это написано в справке.
This function is designed for creating JSON compatible maps which you would then encode using json_encode and should only be used in conjunction with that functionality.
Вкратце: ds_map_add_map добавляет в качестве атрибута объект, а ds_map_add_list - массив.

ELGReeN
Активный участник
**

Репутация: 8
Offline Offline

Сообщений: 122


Ответ № 7036 24 Декабрь 2016 в 23:16
Про это в справке очень мало.

Это не точно, но опытным путем кажется работает оно так:
ds_map_add_map создает ключ key, с id-шником другой map, при этом значение скрыто помечается как вложенное map в map.
Там получается ссылка.
Если добавляемый map удалить, то доступа к нему из добавляющего не будет, так как ссылка.
Корректно сработает json_encode json_decode, при этом все сохраняется, после этого, доступ к ключам вложенного map так как будто это его id(в верхнем map), хотя на самом деле там json(как будто еще одна метка).

Похоже на правду?

Arsen96
Активный участник
**

Репутация: 4
Offline Offline

Сообщений: 137


Чем кривее руки, тем прикольней глюки

Ответ № 7037 27 Декабрь 2016 в 22:27
Как из двоичного файла  (4 кб) перезаписать нескольколько байт в середине.
В справке об этом ничего не написано (или я не вижу)
ГоК
Начинающий
Старожил
******

Репутация: 365
Offline Offline

Награды:
Легенда сайтаЗа интересные проекты
Сообщений: 2 038


Ответ № 7038 27 Декабрь 2016 в 22:38
file_bin_open(fname,mod) Открывает файл с заданным именем fname. Параметр mode указывает режим работы с файлом (0 – чтение, 1 – запись, 2 – чтение и запись). Если файла не существует, то он создаётся. Функция возвращает индекс файла, который должен быть указан при использовании нижеследующих функций. Можно открывать несколько файлов одновременно (до 32 максимум). И не забывайте закрывать файл после того, как сделали с ним все операции.
file_bin_seek(fileid,pos) Передвигается в позицию pos в файле с индексом fileid. Чтобы добавить информацию в конец файла, Вы можете перед записью переместиться в позицию равную размеру файла (то есть в конец файла).
file_bin_write_byte(fileid,byte) Записывает байт информации byte в файл с индеком fileid.
Arsen96
Активный участник
**

Репутация: 4
Offline Offline

Сообщений: 137


Чем кривее руки, тем прикольней глюки

Ответ № 7039 28 Декабрь 2016 в 11:46
Если я буду на позиции 64 записывать байт, то старый байт на позиции 64 удалится?

(Мне нужно чтоб удалялся)
ГоК
Начинающий
Старожил
******

Репутация: 365
Offline Offline

Награды:
Легенда сайтаЗа интересные проекты
Сообщений: 2 038


Ответ № 7040 28 Декабрь 2016 в 11:52
Вроде да, должен перезаписать. Сделай тестовый файл и попробуй на нём.
Страниц: 1 ... 348 349 350 351 352 353 354 355 356 ... 361   Вверх
  Печать  
 
Перейти в:  

RSGMC (gmakers.ru) © 2007—2017
Счётчик–@Mail.ru