Результаты поиска
| |
Litas | Дата: Четверг, 06 Апреля 2017, 08:38 | Сообщение # 1 | Тема: Проблема массивами в функциях. |
был не раз
Сейчас нет на сайте
| Цитата YellowAfterlife ( ) запись в массив должна быть через [@] А можно немного подробнее? Что за @? Я раньше такого не встречал.
|
|
| |
Litas | Дата: Среда, 05 Апреля 2017, 16:06 | Сообщение # 2 | Тема: Проблема массивами в функциях. |
был не раз
Сейчас нет на сайте
| Я так тоже пробовал. Массив иниц в obj_hero, но обращение obj_hero.inv[i] почему-то не работает в фнкц
|
|
| |
Litas | Дата: Понедельник, 03 Апреля 2017, 22:40 | Сообщение # 3 | Тема: Проблема массивами в функциях. |
был не раз
Сейчас нет на сайте
| Здравствуйте. У меня есть инвентарь, который состоит из отдельных объектов (obj_inv), создающиеся через create персонажа и состоящий из элементов массива .(inv[i] = instance_create(x, y obj_inv);). У каждого объекта инвентаря есть переменная item , в которой содержится назв объекта в этом объекте инвентаря. Так вот, я хотел реализовать функцию, которая будет получать массив и название объекта (obj), а потом будет идти по этому массиву и искать объект obj_inv, у которого item == obj, но проблема в том, что у меня не работает все это. Это в create персонажа Код inv[0] = instance_create(obj_camera.x - 300, obj_camera.y - 160, obj_inv); inv[1] = instance_create(obj_camera.x - 300, obj_camera.y - 130, obj_inv); inv[2] = instance_create(obj_camera.x - 300, obj_camera.y - 100, obj_inv); inv[3] = instance_create(obj_camera.x - 300, obj_camera.y - 70, obj_inv); Это в функцииКод ///check_item(inv ,item) var invn = argument1; var item = argument0; for(...) if(invn[i].item == item)//проблема в передаче массива в фнкц и с последующим обращением к нему { return 1; } else { return 0; } И понятно, что передача идет вроде как только первого эл массива, но подскажите, как реализовать то, что я хочу. Надеюсь, из вышесказанного и из псевдокода желаемый результат понятен.
|
|
| |
Litas | Дата: Воскресенье, 04 Сентября 2016, 22:23 | Сообщение # 4 | Тема: Обратиться к объекту столкновения. |
был не раз
Сейчас нет на сайте
| Цитата Tymonr ( ) Litas, если он движется слишком быстро и является слишком маленьким - то будет пролетать насквозь. Используй длинные палки, длина которых равна скорости движения Не в этом дело. Для теста я сделал следование магии за мышкой. И при наведении на цель, магия просто залетает на спрайт цели
|
|
| |
Litas | Дата: Воскресенье, 04 Сентября 2016, 21:45 | Сообщение # 5 | Тема: Обратиться к объекту столкновения. |
был не раз
Сейчас нет на сайте
| Я потом исправил. Записал это в столкновение, но снаряд никак вообще не реагирует на цель. А так вообще можно?
Код if collision_point(x,y,other,0,0) { instance_destroy() other.hp -= ... }
|
|
| |
Litas | Дата: Воскресенье, 04 Сентября 2016, 17:04 | Сообщение # 6 | Тема: Обратиться к объекту столкновения. |
был не раз
Сейчас нет на сайте
| Спасибо, Леонид +. Все работает, как я хотел. Спасибо, Qvant +. Но почему не получается сделать через collision? Вроде все правильно. Other в событии столкновения. Может, я не правильно его использую? Можете примерчик написать, если не сложно. Буду очень благодарен+.
|
|
| |
Litas | Дата: Воскресенье, 04 Сентября 2016, 01:02 | Сообщение # 7 | Тема: Обратиться к объекту столкновения. |
был не раз
Сейчас нет на сайте
| В событии collision у меня только список объектов. Написал так в степе магии
Код if collision_point(x,y,other,0,0) { instance_destroy() other.hp -= ... } но это не правильно и столкновение не происходит.
|
|
| |
Litas | Дата: Воскресенье, 04 Сентября 2016, 00:15 | Сообщение # 8 | Тема: Обратиться к объекту столкновения. |
был не раз
Сейчас нет на сайте
| А можно сделать так, чтобы снаряд сам определял объект, с которым столкнулся, а потом обращался к нему. Совершенно разных существ в игре не мало, проделывать collision event для каждого не очень. Потому и создал тему. Можно ли так сделать? Ex. if collision_point(x,y,объект столкновения, который определяется,0,0) { объект столкновения, который определяется.hp -= ... } Думаю, нужно сделать переменную (target), которая будет равняться объекту с которым было столкновение, но как так сделать?
|
|
| |
Litas | Дата: Суббота, 03 Сентября 2016, 23:37 | Сообщение # 9 | Тема: Обратиться к объекту столкновения. |
был не раз
Сейчас нет на сайте
| Делал RPG. Есть разные объекты(цели). Есть объекты (fireballs, сгустки и прочая магия). Мне нужно как-нибудь обратиться к объекту, с которым будет сталкиваться магия, чтобы наносить ему урон. obj_zel.hp -= ... не катит. Т.е магия должна отнимать хп у объекта, с которым столкнулась(типа объектстолкновения.hp -= ...). Как получить название/айди этого объекта?
|
|
| |
Litas | Дата: Пятница, 19 Августа 2016, 11:25 | Сообщение # 10 | Тема: Нужна помощь с формулами вычисления стат в RPG( |
был не раз
Сейчас нет на сайте
| FATAL ERROR in action number 1 of Create Event for object obj_sold:
Push :: Execution Error - Variable Get -5.vit(100006, -2147483648) at gml_Object_obj_sold_CreateEvent_1 (line 3) - global.maxhp = 50 + global.vit * 10
Вот ошибкаДобавлено (19 августа 2016, 11:10) --------------------------------------------- Извините. Инет лагал. Тут ошибка была в моей невнимательности. Я формулы в create перса записал. Горе мне( Добавлено (19 августа 2016, 11:25) --------------------------------------------- Тогда, чтобы тема была создана не зря, если в игре два игрока, то каждому из них нужно присваивать разные глобальные переменные(например жизней), но если в игре намного больше двух игроков, то как тогда сделать им здоровье? global.hp -= global.dmg. Т.е. у всех игроков должны быть переменные дамага, который они наносят другим игрокам с переменными хпшек и у каждого эти переменные разные. Можно ли как-нибудь указать "владельца" определенной переменной или нужно каждому разные писать(global.hp1, global.hp2, global.hp3....)
|
|
| |
Litas | Дата: Пятница, 19 Августа 2016, 08:46 | Сообщение # 11 | Тема: Нужна помощь с формулами вычисления стат в RPG( |
был не раз
Сейчас нет на сайте
| FATAL ERROR in action number 1 of Create Event for object obj_sold:
Push :: Execution Error - Variable Get -5.vit(100006, -2147483648) at gml_Object_obj_sold_CreateEvent_1 (line 3) - global.maxhp = 50 + global.vit * 10
Вот ошибкаДобавлено (19 августа 2016, 08:46) --------------------------------------------- Пробовал написать просто global.maxhp = global.vit. Та же ошибка была. Все переменные принадлежат одному объекту. Подскажите, почему не получается приравнять две переменные.
|
|
| |
Litas | Дата: Четверг, 18 Августа 2016, 22:09 | Сообщение # 12 | Тема: Нужна помощь с формулами вычисления стат в RPG( |
был не раз
Сейчас нет на сайте
| Здравствуйте. Делал нормальную систему прокачки в моем RPG проекте и столкнулся с проблемой. У персонажа есть характеристики максимальные хпшки и живучесть, которая дает прибавку к хпшкам. Это все я хотел написать так Код global.maxhp = 50 + global.vit * 10 ///макс. жизни = 50(начальное значение) + значение живучести * 10 Но при запуске выдает ошибку, указывая на эту строку. Исправьте пожалуйста или помогите сделать правильно. Буду очень благодарен.
Сообщение отредактировал Litas - Пятница, 19 Августа 2016, 14:19 |
|
| |
Litas | Дата: Суббота, 06 Августа 2016, 12:47 | Сообщение # 13 | Тема: Помогите пожалуйста с управлением танком |
был не раз
Сейчас нет на сайте
| Цитата EfimovMax ( ) Чёта тут насоветовали :blink:
Делаешь у obj_solid переменную InTank=false При заходе в танк меняешь её на true, при выходе соответственно снова меняешь на false.
На весь код, который прописан у тебя для действий солдата проверяешь через иф
if InTank=false { //например тут у тебя движение солдатом } else if InTank=false { //тут можно спрятать солдата и задать ему координаты подальше чтобы не мешался visible=false x=-100 y=-100 // и собственно после передаёшь управление танку }
И почему я раньше не подумал об этом.. Надо бы поучиться находить простые решения и не придумывать всякую ересь) Спасибо большое и извините за потраченное на меня время. +++
|
|
| |
Litas | Дата: Пятница, 05 Августа 2016, 22:34 | Сообщение # 14 | Тема: Помогите пожалуйста с управлением танком |
был не раз
Сейчас нет на сайте
| Цитата PAULVIT ( ) Можно еще проще: instance_deactivate_object. Спасибо. Но как избежать ошибки Unable to find any instance for object index '7' name 'obj_sold' после деактивации объекта?
|
|
| |
Litas | Дата: Пятница, 05 Августа 2016, 21:56 | Сообщение # 15 | Тема: Помогите пожалуйста с управлением танком |
был не раз
Сейчас нет на сайте
| Цитата Granner ( ) Танкист в игре один? Как вариант-дополнение при "убить объект игрока": сделать глобальную переменную, в которую записывать хп уничтожаемого солдата. Когда надо "покинуть танк", создаешь солдата возле танка (неважно где) и присваиваешь ему количество хп из глобальной переменной.
Танкист в игре не один. И даже не 10.
Цитата JohnnyHam ( ) Попробуй так: чтобы садиться: При нажатии твоей клавиши change object (obj_sold) to (obj_tank) а спрайт персонажа сделай невидимым или спрячь куда-нибудь а так чтобы он вылезал на расстоянии не помню (давно гамаком не пользовался) Что-то не очень понял. Зачем заменять человека на танк? Солдат: Код if distance_to_object(obj_tank) < 5 && keyboard_check_pressed(ord('C')) { привязка к координатам танка до повторного нажатия кнопки(как это реализовать?) }
|
|
| |
Litas | Дата: Пятница, 05 Августа 2016, 17:40 | Сообщение # 16 | Тема: Помогите пожалуйста с управлением танком |
был не раз
Сейчас нет на сайте
| Цитата TLT ( ) Как вариант можно по нажатию кнопки убить объект игрока, а танку проиграть спрайты анимации входа в танк или как там у тебя... Не вижу смысла стыковать модуль к МКС. Но ведь при выходе из танка у человека будет полное кол-во хп, если он был ранен. Ведь при выходе нужно будет создавать нового человека.
|
|
| |
Litas | Дата: Пятница, 05 Августа 2016, 13:57 | Сообщение # 17 | Тема: Помогите пожалуйста с управлением танком |
был не раз
Сейчас нет на сайте
| Здравствуйте. Есть человек(obj_sold), есть танк(obj_tank). Не получается сделать так, чтобы при нажатии клавиши солдат садился в танк, а потом, при нажатии этой же клавиши, выходил из него. Скорость танка БОЛЬШЕ, чем скорость человека. Помогите это реализовать. Была идея, согласно которой солдат телепортировался в танк с последующим следованием за ним и увеличением скорости солдата(если point_distance(x,y,obj_tank.x,obj_tank.y) < 3), а при повторном нажатии клавиши человек телепортировался на расстояние > 3 от танка, но мне кажется, что есть метод менее упоротый. Буду очень благодарен.
|
|
| |
|