Проблемма с 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) --------------------------------------------- Странно , вроде тоже самое ,только это работает , а то нет.. 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 считает как отдельный объект, и не может его найти.
Я снова с вами:з Возвращение легенды. (нет)
|
|
| |
|
Krosos | Дата: Среда, 07 Августа 2013, 23:27 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| Fargost,таргет - это и есть переменная ид.По другому ее не найти. Проверка сначала идет на метку , а потом на ее владельца. Все метки должны сообщить своим владельцам сигнал Damage=1 - и следуя следующим условиям , некоторые из них получат урон (Тут только 1) CreatingOver, в 8.1 проверил - тоже самое.
Мой проект
|
|
| |
LunarPixel | Дата: Четверг, 08 Августа 2013, 00:16 | Сообщение # 7 |
старожил
Сейчас нет на сайте
| Все верно, как уже написали, чтобы обратиться ко всем экземплярам объекта, нужно писать просто with KleymoOfAlied, при обращении через id ты задаешь один конкретный экземпляр. Т.е. выглядит это так: 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) --------------------------------------------- Да , подошло ,но тогда остается последний вопрос: Почему у других объектов первый код идет нормально? У всех игроков и у первого ИИ.Только второй так начал.
Мой проект
Сообщение отредактировал Krosos - Четверг, 08 Августа 2013, 01:11 |
|
| |