XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
J
expert
offline
Опыт: 48,447
Активность:
Цитата:
set a.n = Nova_CopyGroup(a.g)

а зачем ты это делаеш?
Старый 18.09.2007, 18:20
adic3x

offline
Опыт: 108,439
Активность:
Kel_TuZaD, твой код мне определенно что то напоминает;)

скоро выйду из отпуска и продолжу перевод, ждите=)
Старый 18.09.2007, 18:20
Kel_TuZaD

offline
Опыт: 1,630
Активность:
ADOLF ага я твои спелл 10 раз матрел и нифига
ЗЫ ща я пайду бится башкой ап стену
Старый 18.09.2007, 18:22
J
expert
offline
Опыт: 48,447
Активность:
Kel_TuZaD ну значит можно, но эту переменую вынеси в глобалки всеравно ибо без разницы и не прийдется в каждую структуру ее сувать

Jon добавил:
памари мой спел: http://xgm.guru/forum/showthread.php?t=13221
там также через структуры но без XAT
Старый 18.09.2007, 18:23
adic3x

offline
Опыт: 108,439
Активность:
Kel_TuZaD, есть замечательная функция BJDebugMsg (единственная наверное тру бж;) )

вобщем ставишь ее в алгоритм и проверяшь переменные, потом доходит ли вообще до данного отрезка кода и находишь ашипку.
Старый 18.09.2007, 18:29
J
expert
offline
Опыт: 48,447
Активность:
call echo пишется проще.. любая карта не обходется без нее:)
Старый 18.09.2007, 18:32
adic3x

offline
Опыт: 108,439
Активность:
а кста на пред странице обнаружил утечку в коде. смотри, все обьекты, которые создаются в структуре (особенно подструктуры) нужно обнулять, т.е. скажем если ты создаешь группу в структуре или просто помещаешь в переменную структуры группу то по окончанию ее использования ее стоит удалить.

ADOLF добавил:
Цитата:
echo
, ну хз=) принцип тот же, кто к чему привык=)
Старый 18.09.2007, 18:33
J
expert
offline
Опыт: 48,447
Активность:
ADOLF дело даже не в этом (потомучто лихко исправляется если это было бы обычная глобалка).. а в этом:
set a.n = Nova_CopyGroup(a.g)
это уже считае 2-е группы утекают
Старый 18.09.2007, 18:33
adic3x

offline
Опыт: 108,439
Активность:
ну хз, а когда делал спел про солмира юзал вообще одну глобальную группу... и был счаслив=)

НО ! если надо сохранить юнитов, которые были добавленны в момент каста т.е. произвести с ними отсроченные действия без динамческой группы необойтись т.е. все правильно, а копирование группы описавал еще експлодер в своем переводе, т.к. в форГруп геморно передавать аргументы, а так через копир группы в другую "рабочую" группу, которая мб глобальной. и через цикл по ней можно проходиться по нашей группе сколько угодно раз... вобщем вы поняли=)

и это еще не все !

ADOLF добавил:
Цитата:
function Nova_CopyGroup takes group g returns group
set bj_groupAddGroupDest = CreateGroup()
call ForGroup(g, function GroupAddGroupEnum)
return bj_groupAddGroupDest
endfunction


я тоже так делал О_о ?)

Код:
globals
 group gr=CreateGroup()
endglobals

function CopyGroup takes nothing returns nothing
 call GroupAddUnit(gr, GetEnumUnit())
endfunction

...
 call ForGroup(YourGroup, function CopyGroup)
...


ADOLF добавил:
в группу поместит всех юнитов...
Старый 18.09.2007, 18:45
Kel_TuZaD

offline
Опыт: 1,630
Активность:
ADOLF,

Цитата:
function Nova_CopyGroup takes group g returns group
set bj_groupAddGroupDest = CreateGroup()
call ForGroup(g, function GroupAddGroupEnum)
return bj_groupAddGroupDest
endfunction


^^ это уже Эксплодер точнее его перевод
Старый 18.09.2007, 18:47
adic3x

offline
Опыт: 108,439
Активность:
дык, у него то стоит
Код:
local group g = Stomp_CopyGroup(I2G(GetStoredInteger(gc, s, "group")))
...
    call DestroyGroup(g)

хотя оно мб и у тебя стоит, просто я мог незаметить ^_^

хотя имхо лучше чем постоянно создавать группы использовать одну постоянную.
Старый 18.09.2007, 18:51
Kel_TuZaD

offline
Опыт: 1,630
Активность:
Лана с уроном постораюсь разобратся поже ;) . Я через BJDebugMsg чекал граффический эффект не создается изза того что значение R не изменяется

Код:
set a.R = a.R+50


как мона его изменить подругому?
Старый 18.09.2007, 19:02
J
expert
offline
Опыт: 48,447
Активность:
ADOLF а у него то не отсроченое действие, а мгновенное - это во первых...
во вторых он создает группу автомотически при начале структуры и не удаляет ее
в третих:
потом он берет автоматически созданую группу сует в нее юнитов
в функции что я указал он этих юнитов перекидывает в еще одну созданую группу которую тоже не удаляет
и ее уже юзает..
какой смысл?

Отредактировано Jon, 18.09.2007 в 19:09.
Старый 18.09.2007, 19:04
adic3x

offline
Опыт: 108,439
Активность:
я и сам непонял в чем смысл... ведь группа используется раз, можно юзать одну глобальную...
Цитата:
не отсроченое действие
а я что сказал?)
Цитата:
он создает группу автомотически при начале структуры и не удаляет ее
ну правда, просветил...
Цитата:
какой смысл
ты у мну спрашиваешь?)

ADOLF добавил:
я писал пример того, если надо именно производить отсроченные действия с какой либо группой не через ФорГруп, а внутри функции...

ADOLF добавил:
Цитата:
set a.R = a.R+50
как оно может не меняцца ?!
Старый 18.09.2007, 21:41
Kel_TuZaD

offline
Опыт: 1,630
Активность:
Цитата:
какой смысл

^^ ибо я нуб до мозга костей

Я BJDebugMsg'oм проверял значение не меняется я незнаю пачему.
Старый 19.09.2007, 09:39
adic3x

offline
Опыт: 108,439
Активность:
либо кинь еще раз весь код, а лучше кинь спел в отдельной карте... будет легче.
Старый 19.09.2007, 11:35
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
Цитата:
Сообщение от ADOLF
why not?

ADOLF добавил:
Код:
vJass:

struct B
 group g=CreateGroup()
endstruct

function MF takes nothing returns nothing
 local B b=B.create()
 set b.g=null
endfunction

Jass:

function s__B__allocate takes nothing returns integer
 local integer this=si__B_F
    if (this!=0) then
        set si__B_F=si__B_V[this]
    else
        set si__B_I=si__B_I+1
        set this=si__B_I
    endif
    if (this>8190) then
        return 0
    endif

    set s__B_g[this]=CreateGroup()
    set si__B_V[this]=-1

а, точно там же свои функции создаются

df Hunter добавил:
ADOLF ты мне сейчас помог решить проблему с лайтингами , я это не юзал, так как у меня раньше парсер выдавал ошибки(хз почему), сейчас на код глянул, понял что это то, что мне нужно было
Старый 19.09.2007, 12:35
adic3x

offline
Опыт: 108,439
Активность:
df Hunter, это ты про то, что при создании структуры создаються обьекты или про солмира?)

усегда рад=)
Старый 19.09.2007, 15:12
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
да я неправильно функцию фрислота написал :):, а тут она есть, её проще юзать даже )
делал SafeLightningAPI )
Старый 19.09.2007, 16:47
Medivx

offline
Опыт: 375
Активность:
Народ пожалуста ответьте по этапно как добавить герою не видимую пасвную способность и как её потом убрать пожалуста
Старый 20.09.2007, 20:55
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 20:20.