Воскресенье, 28 Апреля 2024, 14:05

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Записи участника » Litas [17]
Результаты поиска
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 от танка, но мне кажется, что есть метод менее упоротый. Буду очень благодарен.
Форум игроделов » Записи участника » Litas [17]
  • Страница 1 из 1
  • 1
Поиск:

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