Суббота, 20 Апреля 2024, 08:23

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Форум игроделов » Записи участника » Reker [85]
Результаты поиска
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; }
Форум игроделов » Записи участника » Reker [85]
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг