Понедельник, 25 Ноября 2024, 18:39

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Проблемма с With
KrososДата: Среда, 07 Августа 2013, 18:46 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Игрок , Create:
Kleymo=instance_create(x,y,KleymoOfAlied)
Kleymo.target=id
Враг , Step:
with KleymoOfAlied.target {effect_create_below(ef_explosion,x,y,2,c_red) Damage=1}

Проблема:
Объект враг сообщает сигнал игрокам , но сигнал поступает только для одного игрока.
Есть точно такой же объект , с точно такой же частью кода , и у него подобной проблемы нету.
Почему это происходит?
Красным эффектом я проверил действие кода.
Если использовать all , то все в порядке , но его думаю использовать нежелательно.(Лучше сообщить сигнал 20-10 объектам чем 4000)





Мой проект


Сообщение отредактировал Krosos - Среда, 07 Августа 2013, 18:53
USeR14Дата: Среда, 07 Августа 2013, 19:18 | Сообщение # 2
RUSOriginal Studio
Сейчас нет на сайте
А если так?
Игрок , Create:
Код
Kleymo=instance_create(x,y,KleymoOfAlied)

Враг , Step:
Код
with KleymoOfAlied
{effect_create_below(ef_explosion,x,y,2,c_red)
Damage=1}




KrososДата: Среда, 07 Августа 2013, 19:40 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Да уж , я пока тут изменял , теперь и второй также тупит.=)
Цитата
А если так?

Не, это тоже самое.

Добавлено (07.08.2013, 19:40)
---------------------------------------------
Странно , вроде тоже самое ,только это работает , а то нет.. bag wacko
with KleymoOfAlied {effect_create_below(ef_explosion,x,y,2,c_red) Damage=1}
KleymoOfAlied:
if Damage=1{target.Damage=1 Damage=0}





Мой проект


Сообщение отредактировал Krosos - Среда, 07 Августа 2013, 19:41
CreatingOverДата: Среда, 07 Августа 2013, 21:25 | Сообщение # 4
ColdGamedev
Сейчас нет на сайте
Цитата (Krosos)
with KleymoOfAlied.target {effect_create_below(ef_explosion,x,y,2,c_red) Damage=1}

Это у гамака "баг". Он KleymoOfAlied.target считает как отдельный объект, и не может его найти.


Я снова с вами:з
Возвращение легенды. (нет)
FargostДата: Среда, 07 Августа 2013, 22:46 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Попробуй по id обращаться

KrososДата: Среда, 07 Августа 2013, 23:27 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Fargost,таргет - это и есть переменная ид.По другому ее не найти.
Проверка сначала идет на метку , а потом на ее владельца.
Все метки должны сообщить своим владельцам сигнал Damage=1 - и следуя следующим условиям , некоторые из них получат урон (Тут только 1)
CreatingOver, в 8.1 проверил - тоже самое.





Мой проект
LunarPixelДата: Четверг, 08 Августа 2013, 00:16 | Сообщение # 7
старожил
Сейчас нет на сайте
Все верно, как уже написали, чтобы обратиться ко всем экземплярам объекта, нужно писать просто with KleymoOfAlied, при обращении через id ты задаешь один конкретный экземпляр. smile
Т.е. выглядит это так:
with KleymoOfAlied - ко всем объектам
with KleymoOfAlied.target = with KleymoOfAlied.id = with 100243 - один конкретный экземпляр. В таких случаях Гамак берет объект, который был создан первым (в данном случае первый KleymoOfAlied), только к нему и будет обращение. Ты не говоришь гамаку посмотреть все KleymoOfAlied, ты говоришь ему посмотреть конкретно KleymoOfAlied.id


KrososДата: Четверг, 08 Августа 2013, 01:01 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Тогда вот так:with KleymoOfAlied {with target {Damage=1}} , или так: with KleymoOfAlied {target.Damage=1 }
Теперь понятно , спасибо.
Добавлено (08.08.2013, 01:01)
---------------------------------------------
Да , подошло ,но тогда остается последний вопрос:
Почему у других объектов первый код идет нормально?
У всех игроков и у первого ИИ.Только второй так начал. wacko





Мой проект


Сообщение отредактировал Krosos - Четверг, 08 Августа 2013, 01:11
  • Страница 1 из 1
  • 1
Поиск:

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