Результаты поиска
| |
Reker | Дата: Четверг, 02 Августа 2018, 16:40 | Сообщение # 41 | Тема: Появление головы в диалоге. |
почетный гость
Сейчас нет на сайте
| Raven84,Чего-то я тут наделал, многовато. Код if (obj_player.isTalking and room = rm_1 and obj_agni_stats.rep = 1 and collision_circle(x, y, 32, obj_agni_rm_1, true, true) and head1 = 0 ) { with (obj_input.talk_key) { head1 = 1; draw_sprite(spr_agni_head, 0, x,y)
} } if (obj_player.isTalking and room = rm_1 and obj_agni_stats.rep = 1 and collision_circle(x, y, 32, obj_agni_rm_1, true, true) and head1 = 1 ) { with (obj_input.talk_key) { head1 = 2; draw_sprite(spr_player_head, 0, x,y) } } if (obj_player.isTalking and room = rm_1 and obj_agni_stats.rep = 2 and collision_circle(x, y, 32, obj_agni_rm_1, true, true) and head1 = 2 ) { with (obj_input.talk_key) { head1 = 0; draw_sprite(spr_agni_head, 0, x,y) } }
Добавлено (02 Августа 2018, 16:49) --------------------------------------------- это писал в отдельном объекте obj_agni_head. Работает странно
Добавлено (03 Августа 2018, 03:56) --------------------------------------------- Ладно, забыли. Брошу эту тему с головами тк даже таким способом не получиться адекватно.
Добавлено (03 Августа 2018, 04:28) --------------------------------------------- Проблема в коде диалога который я взял. Если у вас в памяти всплывёт диалоговая система где можно делать варианты ответов, где можно включать разные диалоги в зависимости от переменной(репутации) и где можно вставить головы(лица персонажей которые сейчас говорят и на каждое предложение своя голова), прошу вас скинуть её пример. Как написать самому, я понятия не имею, но всё равно пытаюсьДобавлено (05 Августа 2018, 23:38) --------------------------------------------- я нашёл нужную мне диалоговую систему. Если кому надо, вбейте DialogueSystem v120 GMS2. Надеюсь вам тоже поможет
Сообщение отредактировал Reker - Пятница, 03 Августа 2018, 04:29 |
|
| |
Reker | Дата: Четверг, 02 Августа 2018, 11:43 | Сообщение # 42 | Тема: Появление головы в диалоге. |
почетный гость
Сейчас нет на сайте
| Здравствуйте дорогие мои. Тк я плохо разбираюсь в в кодинге, я использовал чужую систему диалогов с выбором вариантов ответа, но я не знаю как поставить голову персонажа(как отдельный спрайт) в эти скрипты. Вот я и решил сделать отдельно. Помогите, чёт не выходит.
Код if (obj_player.isTalking and room = rm_1 and obj_agni_stats.rep = 1 and collision_circle(x, y, 32, obj_agni_rm_1, true, true) ) // Если игрок говорит и если комната = rm_1 и если репутация у NPC = 1 и если ты находишься с NPC в непосредственной близости { switch (obj_input.talk_key) // если нажата кнопка Z { case 0: instance_create_depth(x,y, -3000, obj_agni_head); break; // создаёт голову. case 1: instance_destroy(obj_agni_head) instance_create_depth(x,y, -3000, obj_agni_head1); break; // уничтожает прошлую голову и создаёт другую } } else { instance_destroy(obj_agni_head1) // уничтожает голову в конце }
Если, что-то не очень понятно, постараюсь объяснить
Сообщение отредактировал Reker - Суббота, 15 Сентября 2018, 16:48 |
|
| |
Reker | Дата: Вторник, 24 Июля 2018, 19:18 | Сообщение # 43 | Тема: Существует ли объект в определённой комнате(Решено) |
почетный гость
Сейчас нет на сайте
| Всё! Разобрался. Чёт тупанул и сидел думал, а всё оказалось просто
Код if(alarm_for_stand = true && room = rm_1){ path_start(path1, agnisp, 0, 0) }
Спасибо вам
Сообщение отредактировал Reker - Вторник, 24 Июля 2018, 19:19 |
|
| |
Reker | Дата: Вторник, 24 Июля 2018, 19:13 | Сообщение # 44 | Тема: Oliver's Adventures in the Fairyland [2D] |
почетный гость
Сейчас нет на сайте
| Очень красиво. Интересно, что получиться
|
|
| |
Reker | Дата: Вторник, 24 Июля 2018, 17:26 | Сообщение # 45 | Тема: Существует ли объект в определённой комнате(Решено) |
почетный гость
Сейчас нет на сайте
| Raven84, Мне надо чтобы этот if работал только в этой комнате и всё. Чтобы в других комнатах он не выполнялся вообще. Добавлено (24 Июля 2018, 17:28) --------------------------------------------- DivES, там вроде вообще in нету, но это не точно
|
|
| |
Reker | Дата: Вторник, 24 Июля 2018, 14:36 | Сообщение # 46 | Тема: Существует ли объект в определённой комнате(Решено) |
почетный гость
Сейчас нет на сайте
| Как сделать проверку, существует ли объект в определённой комнате, не во всех а только в одной. Что мне нужно
Код if (объект находиться в room1 && alarm_stand = true) { Совершает действие }
Сообщение отредактировал Reker - Вторник, 24 Июля 2018, 19:18 |
|
| |
Reker | Дата: Четверг, 19 Июля 2018, 15:02 | Сообщение # 47 | Тема: Движение NPC(спрайты) |
почетный гость
Сейчас нет на сайте
| Ещё раз спасибо
|
|
| |
Reker | Дата: Четверг, 19 Июля 2018, 07:51 | Сообщение # 48 | Тема: Движение NPC(спрайты) |
почетный гость
Сейчас нет на сайте
| Ух! Ну блин ребята! Прям спасибо вам большое. Действительно много узнал. Послушаю твой совет и вырублю я эту физику) Выручаете как только можете, я вам благодарен.
Добавлено (19 Июля 2018, 07:28) --------------------------------------------- Сейчас кофейка набубеню и постараюсь сделать в лучшем виде!
Добавлено (19 Июля 2018, 07:51) ---------------------------------------------
Цитата Reker ( ) Не иначе как себя только запутать и усложнить все до нельзя. Я иного оправдания не вижу тут. И Raven84, Иногда люди совершают действия, которые сами не понимают. У меня было несколько планов на физическую систему да и мне было интересно переписывать код который я находил под физическую систему, искать как правильно написать, было интересно, но видимо пора упростить себе жизнь)
Сообщение отредактировал Reker - Четверг, 19 Июля 2018, 07:52 |
|
| |
Reker | Дата: Четверг, 19 Июля 2018, 02:27 | Сообщение # 49 | Тема: Движение NPC(спрайты) |
почетный гость
Сейчас нет на сайте
| DivES, Он просто поменял спрайты местами, где надо spr_left использует spr_right
|
|
| |
Reker | Дата: Четверг, 19 Июля 2018, 02:04 | Сообщение # 50 | Тема: Движение NPC(спрайты) |
почетный гость
Сейчас нет на сайте
| DivES, да.
|
|
| |
Reker | Дата: Четверг, 19 Июля 2018, 01:53 | Сообщение # 51 | Тема: Движение NPC(спрайты) |
почетный гость
Сейчас нет на сайте
| DivES, Вот мы и вернулись в самое начало) Я вот тоже сидел и думал, как? Добавлено (19 Июля 2018, 01:53) --------------------------------------------- решил добавить Код direction = point_direction(phy_position_x, phy_position_y, phy_position_xprevious, phy_position_yprevious); И он начал реагировать, но только меняет с права на лево, не использует анимацию хождения вниз и вверх
|
|
| |
Reker | Дата: Четверг, 19 Июля 2018, 01:42 | Сообщение # 52 | Тема: Движение NPC(спрайты) |
почетный гость
Сейчас нет на сайте
| Хмм. Прогресс есть. Теперь он поменял спрайт, НО он использует только spr_right
|
|
| |
Reker | Дата: Четверг, 19 Июля 2018, 01:37 | Сообщение # 53 | Тема: Движение NPC(спрайты) |
почетный гость
Сейчас нет на сайте
| DivES, Код Create phy_fixed_rotation = true;//не обращай внимания var mymessage;// на это тоже
hsp = 0; vsp = 0; len = 0;
Step depth = -y;
phy_position_x += sign(obj_player.x - x); phy_position_y += sign(obj_player.y - y);
//control sprite image_speed = sign(len) *2; if (len == 0) image_index = 0; //vertical sprite if (vsp > 0) { sprite_index = spr_player_down } else if (vsp < 0) { sprite_index = spr_player_up } //hor sprites if (hsp > 0) { sprite_index = spr_player_right } else if (hsp < 0) { sprite_index = spr_player_left }
Добавлено (19 Июля 2018, 01:36) --------------------------------------------- Похоже я нашёл ошибку, надо задать xaxis и yaxix, но я не знаю что там писать. У него var xaxis = (right_key - left_key); var yaxix = (down_key - up_key), но тут для игрока. Добавлено (19 Июля 2018, 01:37) ---------------------------------------------
Код //get axis var xaxis = (right_key - left_key);// не понимаю, что писать, тк у меня не игрок а нпс var yaxix = (down_key - up_key); //get direction var dir = point_direction(0, 0, xaxis, yaxis); //нужно задать xaxis и yaxis //get length if (xaxis == 0 and yaxis = 0) { len = 0; } else { len = sp //скорость } //get hsp and vsp hsp = lengthdir_x(len, dir);// нужно задать dir vsp = lengthdir_y(len, dir);
Сообщение отредактировал Reker - Четверг, 19 Июля 2018, 01:26 |
|
| |
Reker | Дата: Четверг, 19 Июля 2018, 01:22 | Сообщение # 54 | Тема: Движение NPC(спрайты) |
почетный гость
Сейчас нет на сайте
| Опечатка, в коде её нет) Да, переменные я задал.
|
|
| |
Reker | Дата: Четверг, 19 Июля 2018, 01:19 | Сообщение # 55 | Тема: Движение NPC(спрайты) |
почетный гость
Сейчас нет на сайте
| Если ты про этот код Код //control sprite image_speed = sign(len) *2; if (len == 0) image_index = 0; //vertical sprite if (vsp > 0) { sprite_index = spr_player_down } else if (vsp < 0) { sprite_index = spr_player_up } //hor sprites if (hsp > 0) { sprite_index = spr_player_right } else if (hsp < 0) { sprite_index = spr_player_left }
то всё равно нет!
Сообщение отредактировал Reker - Четверг, 19 Июля 2018, 01:20 |
|
| |
Reker | Дата: Четверг, 19 Июля 2018, 01:12 | Сообщение # 56 | Тема: Движение NPC(спрайты) |
почетный гость
Сейчас нет на сайте
| Цитата DivES ( ) sp ранее объявлена? Ох. Моя оплошность, просто так привык уже к переменной sp. sp- скорость. У него она sp = 2;Добавлено (19 Июля 2018, 01:12) ---------------------------------------------
Цитата DivES ( ) Только с введёнными новыми переменными Да! Вот он и сказал, что hspeed и vspeed нельзя, тк физическая система, вот он и использует переменные hsp и vsp
|
|
| |
Reker | Дата: Четверг, 19 Июля 2018, 01:07 | Сообщение # 57 | Тема: Движение NPC(спрайты) |
почетный гость
Сейчас нет на сайте
| Сейчас смотрю видео и там человек для ходьбы персонажа использует как раз физическую систему и вот код
Код В Crete hsp = 0; vsp = 0; len = 0; Step //get axis var xaxis = (right_key - left_key); var yaxix = (down_key - up_key); //get direction var dir = point_direction(0, 0, xaxis, yaxis); //get length if (xaxis == 0 and yaxis = 0) { len = 0; } else { len = sp //скорость } //get hsp and vsp hsp = lengthdir_x(len, dir); vsp = lengthdir_y(len, dir); //move phy_position_x +=hsp; phy_position_y +=vsp;
Наверное тут и кроется ответ
Добавлено (19 Июля 2018, 01:04) --------------------------------------------- Да, без включенной физики он крашит игру
Добавлено (19 Июля 2018, 01:07) --------------------------------------------- ах! Вот забыл ещё написать Код //control sprite image_speed = sign(len) *2; if (len == 0) image_undex = 0; //vertical sprite if (vsp > 0) { sprite_index = spr_player_down } else if (vsp < 0) { sprite_index = spr_player_up } //hor sprites if (hsp > 0) { sprite_index = spr_player_right } else if (hsp < 0) { sprite_index = spr_player_left }
Сообщение отредактировал Reker - Четверг, 19 Июля 2018, 01:08 |
|
| |
Reker | Дата: Четверг, 19 Июля 2018, 00:53 | Сообщение # 58 | Тема: Движение NPC(спрайты) |
почетный гость
Сейчас нет на сайте
| Упс, очепятка, но в коде я её не написал. Просто в коде у меня длинное название и я просто сократил тут, но вместо удалить нажал на =. Моя ошибка
|
|
| |
Reker | Дата: Четверг, 19 Июля 2018, 00:51 | Сообщение # 59 | Тема: Движение NPC(спрайты) |
почетный гость
Сейчас нет на сайте
| Как я понял. Услышал сейчас в одном видео, мы не можем использовать hspeed и vspeed тк я использую физическую систему.
|
|
| |
Reker | Дата: Четверг, 19 Июля 2018, 00:43 | Сообщение # 60 | Тема: Движение NPC(спрайты) |
почетный гость
Сейчас нет на сайте
| Цитата DivES ( ) А потом попробуй походить главным героем и посмотри, будет ли меняться спрайт у этого нового npc Неа, не меняется. Чтоб не напутать, вот что писал Код if (obj_player.hspeed>0) { sprite_index=spr=_up; }
if (obj_player.hspeed<0) { sprite_index=spr=_right; }
if (obj_player.vspeed>0) { sprite_index=spr=_down; }
if (obj_player.vspeed<0) { sprite_index=spr=_left; }
|
|
| |
|