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

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

Ответ
 
strayker

offline
Опыт: 83
Активность:
Проблемы с джасовым заклинанием
Проблемы с джасовым заклинанием
Создал спел для карты, но он по каким то причинам отказывается работать, т.е. после его активации ничего не происходит. Даже юнит-снаряд не создается! может ктонибудь помоч разобраться в чем дело?
P.S. Как функция будет быстрее работать: если отдельно объявить все переменные а потом их сетать, или если сетать их при объявлении?
Прикрепленные файлы
Тип файла: txt fire.txt (10.3 Кбайт, 19 просмотров )
Старый 07.12.2007, 23:10
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
Цитата:
сетать их при объявлении

имхо
Старый 07.12.2007, 23:26
ZLOBICH
Kicked by XimikS
offline
Опыт: 4,727
Активность:
1) зачем два топика создовать, думаешь один не заметят?
2) юзай [ code ] [ /code ]
3)
Код:
function CreateSecondaryFireballTargetUnit takes unit SecondaryTargetUnitD returns unit
    set SecondaryTargetUnitD = GetEnumUnit( )
    return SecondaryTargetUnitD
endfunction

что за set SecondaryTargetUnitD = GetEnumUnit( )!?(остальное не проверял т.к. времени нет, но переменых море... юзай гуи и живи счастливо)
Старый 07.12.2007, 23:26
strayker

offline
Опыт: 83
Активность:
1) я с мобилы писал, там лагнуло
2) код то большой, незнал че получится :)
3)
Код:
call ForGroupBJ(GetRandomSubGroup(1, GetUnitsInRangeOfLocAll(SecondaryCreateRange, PositionPrimaryTargetUnit)), function CreateSecondaryFireballTargetUnit)
set SecondaryTargetUnit[SecondaryLoopVariable] = SecondaryTargetUnitD
set SecondaryTargetUnitD = null

код неработал, если присвоение юнита переменной массива шло внутри этой функции, для этого пришлось создать отдельную функцию присвоения
4)В гуи код лагал очень, темболее учусь в джасе писать

Отредактировано strayker, 08.12.2007 в 21:20.
Старый 08.12.2007, 20:59
PlayerDark
Coraline
offline
Опыт: 10,569
Активность:
Ну и скажите зачем это нужно ? Спелл длинный а можно было бы сделать гораздо короче.

PlayerDark добавил:
ИМХО пока учше не начинать делать такие спеллы. Изучи получше JASS.

PlayerDark добавил:
Если делаешь такие длинные спеллы очень легко допустить где нибудь ошибку.
Старый 09.12.2007, 09:19
strayker

offline
Опыт: 83
Активность:
А найти ошибку можешь помочь? Как корче сделать я незнаю =( У меня не создается сам юнит-снаряд, хотя поидее до этого момента идет только присвоение переменных...
Старый 09.12.2007, 10:46
PlayerDark
Coraline
offline
Опыт: 10,569
Активность:
Ты скажи что тебе надо сделать я тебе сделаю скрипт, посмотришь как устроено. В твоем скрипте я пока разбираться не хочу.
Старый 09.12.2007, 10:57
ArchWorm
Матрица незалежности
offline
Опыт: 4,675
Активность:
А серьёзно, какая логика в функции CreateSecondaryFireballTargetUnit?
Если ты ищешь помощи, объясни свою логику.

Отредактировано ArchWorm, 09.12.2007 в 11:36.
Старый 09.12.2007, 11:20
strayker

offline
Опыт: 83
Активность:
Логика в том, что в функцию ForGroupBJ() в качестве второго параметра можно записать как я понял только функцию. Занесение юнита в массив туда не записать путем присвоения его переменной. Поэтому мне пришлось создать функцию, которая его занесет в переменную и потом приравнять эл-т массива этой переменной.
function ForGroupBJ takes group whichGroup, code callback returns nothing
Старый 09.12.2007, 14:41
ArchWorm
Матрица незалежности
offline
Опыт: 4,675
Активность:
А, понял, кажется. Насколько я понимаю, аргумент ForGroup - "голая" процедура, то бишь функция без параметров или результата. И в этом может быть неполадка.
"По-моему, так" © Винни-пух =)
Хи-хи, это вововский файербол?
Старый 09.12.2007, 14:56
Лось

offline
Опыт: 7,223
Активность:
ОМГ нехрена не понятно название переменных дленнее чем названия функций, сначало 20 local потом ещё 20 set. Читать как расказ. Какойто странный вообше код. Напиши лучше что доложно получитсо.
Старый 09.12.2007, 15:09
ArchWorm
Матрица незалежности
offline
Опыт: 4,675
Активность:
Цитата:
Сообщение от strayker
P.S. Как функция будет быстрее работать: если отдельно объявить все переменные а потом их сетать, или если сетать их при объявлении?

Абсолютно без разницы.
_____________________
Ещё одно "но": для перемещения шарика лучше использовать процедуры SetUnitX и SetUnitY, ибо быстрее и этичнее. И локация не нужна.

Отредактировано ArchWorm, 09.12.2007 в 15:24.
Старый 09.12.2007, 15:12
strayker

offline
Опыт: 83
Активность:
Лось я просто когда писал код, не знал будет ли разница в порядке объявления-сетанья. А переменные такие длинные чтоб мне самому было понятнее, учусь еще пока =)
Получиться должно примерно следующее: юнит кастует фаербол на цель, после попадания проверяется шанс на мультиэффект, при true создастся еще n фаерболов по соседним целям. Ну еще плюс проверка на критическую атаку и зависимость всех параметров от уровня героя и спела.

ArchWorm Не подскажешь на что ее можно помянять, чтоб эфект был тотже? Кстати фаербол не вововский, во всяком случае я там такого не видел! (Потому что почти и неиграл )
Старый 10.12.2007, 00:08
Ответ

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

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

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

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



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