Пятница, 12 Августа 2022, 11:13

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » Krosos [407]
Результаты поиска
KrososДата: Суббота, 22 Июня 2013, 21:44 | Сообщение # 381 | Тема: Переход из одной комнаты в другую
постоянный участник
Сейчас нет на сайте
game_restart()




Мой проект
KrososДата: Суббота, 22 Июня 2013, 21:17 | Сообщение # 382 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Anthem, ну прежде чем , что-то спросить я сначала поищу в инете , и если не нахожу или не понимаю то начинаю спрашивать.
mp_grid_clear_all(id) - вполне действует ,но он очищает уж совсем все , а очистить определенную клетку не получается.

Добавлено (22.06.2013, 21:17)
---------------------------------------------
mp_grid_clear_rectangle(global.cmbt_mpgrid,id.x-32,id.y-32,id.x+32,id.y+32)
Чего-то я ступил , теперь все работает.





Мой проект


Сообщение отредактировал Krosos - Суббота, 22 Июня 2013, 21:28
KrososДата: Суббота, 22 Июня 2013, 20:56 | Сообщение # 383 | Тема: Списки
постоянный участник
Сейчас нет на сайте
Есть 4 объекта и есть у них 4 числа и 4 переменные равные нулю.
1)Создается список
2)4 объекта добавляют в список эти 4 числа (3 от первого , 6 от второго ,12 от третьего , 2 от четвертого )
3)Список сортируется по убыванию
Как сделать так ,чтобы у объекта , чье число(12) стоит первым, изменил свою переменную с нуля на 1?





Мой проект


Сообщение отредактировал Krosos - Суббота, 22 Июня 2013, 20:56
KrososДата: Суббота, 22 Июня 2013, 20:27 | Сообщение # 384 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Anthem, я ее уже пробовал- нифига не получилось=(
А можно по конкретнее , как ее использовать?





Мой проект
KrososДата: Суббота, 22 Июня 2013, 17:10 | Сообщение # 385 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Anthem, тогда он утратит свои значения
Враг находится на сетке , а сетка там еще и с ячейками ,и когда враг стоит на сетке он занимает ячейку , ячейка не должна загораться если на ней стоит враг , вот если он содержит такой код mp_grid_add_instances(global.cmbt_mpgrid,id,1) ячейка не горит , но тогда враг не может сделать никакого движения так , как он является препятствием для самого себя.
Вот как теперь убрать препятствие, когда мне это будет нужно?

Добавлено (22.06.2013, 17:10)
---------------------------------------------
Наверное опять нифига не понятно , вот картинка!
После нажатия клавиши Z синий объект становится препятствием для красного ,при помощи этой строки:
mp_grid_add_instances(global.cmbt_mpgrid,id,1)
Вот как теперь сделать чтобы он перестал быть препятствием?
.bmp_File.BMP





Мой проект


Сообщение отредактировал Krosos - Суббота, 22 Июня 2013, 17:13
KrososДата: Суббота, 22 Июня 2013, 16:05 | Сообщение # 386 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
mp_grid_add_instances(global.cmbt_mpgrid,id,1) - создал препятствие на месте объекта у которого находится эта запись , а как его убрать используя скрипт?(Сделать врагов препятствиями пока они не ходят , а потом сделать их активными)




Мой проект


Сообщение отредактировал Krosos - Суббота, 22 Июня 2013, 16:08
KrososДата: Четверг, 20 Июня 2013, 20:54 | Сообщение # 387 | Тема: TBS
постоянный участник
Сейчас нет на сайте
Препятствия:
Они очень простые
Объект может иметь любой размер и находится там , где захотите и ячейки под собой удалять необязательно(хотя удалить их стоит , чтобы они не светились , когда на них наводите мышкой).

Create:
Код
mp_grid_add_instances(global.cmbt_mpgrid,id,1)   





Мой проект


Сообщение отредактировал Krosos - Четверг, 20 Июня 2013, 20:55
KrososДата: Четверг, 20 Июня 2013, 20:19 | Сообщение # 388 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
GameMix,
То есть for не нужен.
Спасибо.=)





Мой проект
KrososДата: Четверг, 20 Июня 2013, 19:20 | Сообщение # 389 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
GameMix,
А как же объект 0 или он не учитывается?
Я пока не очень понимаю массивы , поэтому написал примерный скрипт , как он должен выглядеть
Не хватает только ожидания между переходами .
Массив ,как я понял ,перебирает все сразу по очереди без ожидания.
(Опс, выше, немного не так написал)





Мой проект


Сообщение отредактировал Krosos - Четверг, 20 Июня 2013, 19:23
KrososДата: Четверг, 20 Июня 2013, 18:18 | Сообщение # 390 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Путаюсь с массивом(Не до конца понимаю)

for(i=0; i<=1; i+=1){ //(Пока 2 объекта)
global.U[i]=1
}
Объект1:

if global.U[0]=1{
}
Объект2:

if global.U[1]=1{}

Как сделать переход к следующему U после получения некой команды от игрока или таймера?
(Исправлено)





Мой проект


Сообщение отредактировал Krosos - Четверг, 20 Июня 2013, 19:23
KrososДата: Среда, 19 Июня 2013, 19:47 | Сообщение # 391 | Тема: TBS
постоянный участник
Сейчас нет на сайте


Добавлено (19.06.2013, 19:47)
---------------------------------------------
Теперь убрал все лишнее и осталось самое главное:
Скрипт отвечает за отображение сетки вокруг игрока и перемещение по ней
Создаем 2 объекта и 2 спрайта
1)Ячейка (64х64 с центром 32х32)
2)Игрок(64х64 с центром 32х32)

Игрок:

Create:
Код

global.cmbt_mpgrid= mp_grid_create(0,0,floor((room_width)/64),floor((room_height)/64),64,64);
      //Создаем сетку 64 на 64 по всей комнате
move= true      
//Разрешаем игроку двигаться


Glob Left Button:
Код
if move= true {if global.currenttile.show= true and distance_to_object(global.currenttile)>10    
//Если можно двигаться и если ячейка (Curenttile) отображена , а также мы не кликаем по самому игроку , то..  
{
          if mp_grid_path(global.cmbt_mpgrid,path_combat,x+0,y+0,global.currenttile.x,global.currenttile.y,false)= true
      //Не очень понимаю эту строку
          {
              path_start(path_combat,10,0,false)  //Начать путь
              move= false   //Двигаться нельзя(Во время пути)
              intention=1 //Переменная (Можно ввести другую)
              global.Moving=1 //Глобальная переменная (Она отвечает за отображение ячеек во время хода - они будут скрыты)
          }
}
}


End Patg:
Код
if  intention= 1 //Если наша переменная 1
{   intention= 0 //То эта переменная становится 0
          move= true //Можно опять двигаться
          global.Moving=0 //И снова показать все ячейки
}


Ячейка: (Любое имя)

Step:
Код
show= false
      //Все ячейки скрыты всегда
              if mp_grid_path(global.cmbt_mpgrid,path_combat_check,x,y,Player.x,Player.y,true)=true and path_get_length(path_combat_check)< 250{
//Не понимаю эту строку , но число 250 отвечает за дальность отображаемых клеток , можно свободно его изменять
show= true      
//Все ячейки на расстоянии 250 от игрока(Player) отображаются
              }

Draw:
Код
if global.Moving=1 {exit;}      
//Скрыть все ячейки(Не выполнять этот скрипт пока двигается игрок)
if point_distance(x,y,mouse_x,mouse_y)<32 and show= true       
      //При наведении на ячейку(Одну любую) , которая видна       
         {draw_sprite_ext(sprite_index,1,x,y,1,1,0,c_white,0.5) global.currenttile= id}
      //Переходит  на спрайт под номером 1  (Засвечивается)       
if point_distance(x,y,mouse_x,mouse_y)<32 and show= false      
      //При наведении на ячейку(Одну любую) , которая не видна
         {draw_sprite_ext(sprite_index,2,x,y,1,1,0,c_white,0.5) global.currenttile= id}
      //Переходит на спрайт под номером 2 (Показывает наличие ячейки)
if show= false  {exit;}
      //Если ячейка скрыта , то ничего не происходит
if point_distance(x,y,Player.x,Player.y)<32
      //Если игрок в ячейке
         {image_index= 1}else{image_index= 0}      
//Переходит на спрайт под номером 1(Засвечивается) иначе на нулевой (Обычная ячейка)
draw_sprite_ext(sprite_index,-1,x,y,1,1,0,c_white,image_alpha)
      //Отобразить спрайт       


Сетка получилась неточная - например у нас 2 шага , но мы можем сделать 3 если например пойти вправо , вверх и вверх.
Все неопознанные переменные равны 0 (Настройки GM)
Все ячейки должны быть расставлены по комнате вплотную друг к другу , а игрок размещен на любой ячейке.
Пример:heroescombat.gmk





Мой проект


Сообщение отредактировал Krosos - Четверг, 20 Июня 2013, 20:42
KrososДата: Суббота, 15 Июня 2013, 14:21 | Сообщение # 392 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Fade,
O_1
Step;
.....
global.x=1
if global.hod=1 {
То он начинает ходить , а если экземпляров 10 ,то ходят все сразу 10 , а хотелось бы ,чтобы получилась очередь, используя один объект в нескольких экземплярах.}
.......
O_2
Step:
.......
if global.x=1 {
global.hod=1
}
..........





Мой проект
KrososДата: Пятница, 14 Июня 2013, 18:18 | Сообщение # 393 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Fade,
Объясню понятнее:
Есть объект , и он один , но на карте он находится в 10 экземплярах
, и каждый одновременно выдает одну и ту же переменную(Так и должо быть),а дальше все действуют одновременно
Как сделать так ,чтобы они ходили по очереди ,а не одновременно?
Или
Можно тогда делать разные объекты , но как сделать так:
global.Enemy_Hod=1
global.Enemy_Phase_1=1
И другие...
Стали:
global.Enemy1_Hod=1
global.Enemy1_Phase_1=1
Enemy и Enemy1- это имена , и они сами вставлялись в переменные
global.Имя_Hod=1
global.Имя_Phase_=1
(Наверное это фигня , а возможно невозможное)
Просто изменять каждую переменную для каждого объекта - это просто писец какой труд....
Особенно если этих объектов 10-20-100-200






Мой проект


Сообщение отредактировал Krosos - Суббота, 15 Июня 2013, 12:58
KrososДата: Пятница, 14 Июня 2013, 00:09 | Сообщение # 394 | Тема: Вопрос - Ответ (Game Maker)
постоянный участник
Сейчас нет на сайте
Как решить проблему:?
Одинаковые объекты выкидывают одинаковые переменные и совершают одинаковые действия одновременно, а должно быть так:
одинаковые объекты выкидывают одинаковые переменные и совершают свои действия по очереди.
Одинаковых объектов 10





Мой проект


Сообщение отредактировал Krosos - Пятница, 14 Июня 2013, 00:11
KrososДата: Четверг, 13 Июня 2013, 21:42 | Сообщение # 395 | Тема: Сравнение чисел
постоянный участник
Сейчас нет на сайте
2 персонажа набивают инициативу (Их может быть и больше)
1 персонаж набил 100
Курсор(Квадрат) сам направляется на персонажа , который сейчас будет ходить , ну потом он исчезает и персонаж ходит , а потом снова появляется и идет на следующего персонажа.
Не удается его перемещение
Сначала он идет по оси х потом по оси у (как бы по сетке,углом или напрямую)
Получалось используя стандартные эти фигни справа , но потом я решил все переделать в скрипт и курсор начал тупо вылетать , ну по оси х он двигался а на ось у не переходил и не понятно почему...
if (Cursor.x == Enemy.x) {} вот эта штука , мне показалось ,не срабатывает
Это конечная точка движения , потом начинается движение вниз или вверх к объекту "Enemy"
И потом срабатывает переменная , но это уже другая история

Добавлено (13.06.2013, 21:42)
---------------------------------------------
Короче , я поставил авто-путь и все проблемы исчезли=)
Чуть сложнее ,но фиг с ним..





Мой проект


Сообщение отредактировал Krosos - Среда, 12 Июня 2013, 00:20
KrososДата: Четверг, 13 Июня 2013, 20:46 | Сообщение # 396 | Тема: Случайность
постоянный участник
Сейчас нет на сайте
спасиб !
У меня пока не очень прокатило , но у меня есть идея.
Думаю :она прокатит=)





Мой проект
KrososДата: Среда, 12 Июня 2013, 21:55 | Сообщение # 397 | Тема: Случайность
постоянный участник
Сейчас нет на сайте
Один объект(O_3) получает две одинаковых команды к нему от других объектов
other.X от O_1
и
other.X от O_2

К одному их них нужно отправить от O_3 сигнал (типа other.Y) к O_1 или к O_2 (По случайности)
Потом O_1 (Пусть выпал O_1) отправляет сигнал other.Z к O_3
Потом O_3 отправляет сигнал other.Y к O_2 (Если бы выпал O_2 ,то тогда к O_1)
(Это пример двух , а может получиться от 2 до бесконечности)
Как это сделать?
Не знаю ,как вбить такое в поиске , а то что вбил результатов не дало...





Мой проект


Сообщение отредактировал Krosos - Среда, 12 Июня 2013, 21:57
KrososДата: Вторник, 11 Июня 2013, 23:44 | Сообщение # 398 | Тема: Сравнение чисел
постоянный участник
Сейчас нет на сайте
Да не хотелось бы использовать мышь , там курсор особой роли не играет , он просто указывает.




Мой проект
KrososДата: Вторник, 11 Июня 2013, 23:40 | Сообщение # 399 | Тема: Сравнение чисел
постоянный участник
Сейчас нет на сайте
Не не, курсор это такой квадратик ,который автоматически наводится на врага или союзника , который сейчас будет ходить , а потом он исчезает и начинается ход.Курсор нужен для того , чтобы за ним следовала камера , а то будет какой-нибудь хаотичный бред , а так с ним должно получиться все очень слаженно и спокойно.




Мой проект
KrososДата: Вторник, 11 Июня 2013, 17:08 | Сообщение # 400 | Тема: Создание стратегий
постоянный участник
Сейчас нет на сайте
Нету гайдов по созданию TBS (Пошаговые стратегии (англ. Turn-Based strategy, TBS))
Поисковик сказал даже ,что я ошибся и возможно имел ввиду TDS





Мой проект


Сообщение отредактировал Krosos - Вторник, 11 Июня 2013, 17:09
Форум игроделов » Записи участника » Krosos [407]
Поиск:

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