Сейчас 10:29:48 Воскресенье, 28 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: Bru  
Форум о Warcraft 3 » Прочее » Отвал » Вопросник
Вопросник
VedunДата: Пятница, 18 Мая 2007, 13:15:16 | Сообщение # 1
2 уровень
Группа: Проверенные
Сообщений: 39
Награды: 0
Репутация: 47
Блокировки:
Выкладывайте здесь вопросы по JASS. Постараюсь ответить на все.

Q. Что такое JASS?
A. JASS - язык программирования.


Сообщение отредактировал Vedun - Пятница, 18 Мая 2007, 13:19:10
 

P@d®eДата: Четверг, 04 Июня 2009, 11:13:10 | Сообщение # 226
6 уровень
Группа: Пользователи
Сообщений: 221
Награды: 0
Репутация: 73
Блокировки:
Кто-нибудь мне поможет или нет?! Я этот шит уже делал, но если его кидать на 2-х и более юнитов, то он взрывается у всех сразу! Мне сказали, что во время игры должны создаваться триггеры для каждого юнита с щитом, а я этого делать не умею!!!!!!!!!! Пожалуйста ПОМОГИТЕ, не будьте с...ми!

Кому помог поставьте плюсичек.
 

H1danДата: Четверг, 04 Июня 2009, 15:06:25 | Сообщение # 227
3 уровень
Группа: Заблокированные
Сообщений: 79
Награды: 0
Репутация: -9
Блокировки:
P@d®e,
globals
unit u
integer i
endglobals
function Shield takes nothing returns nothing
set u[i] = GetUnitAbilityCast() (или похожее не помню, пишу на вскидку)
set i = i + 1
call TimerStart(ИТД)

endfunction

В общем используй таймеры и массивы. думаю одного массива хватит, ведь не в каждой карте удаеться кастовать до 8192 спелла.

 

DragoNДата: Четверг, 04 Июня 2009, 15:38:58 | Сообщение # 228
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Quote (H1dan)
globals
unit u
integer i
endglobals
function Shield takes nothing returns nothing
set u[i] = GetUnitAbilityCast() (или похожее не помню, пишу на вскидку)
set i = i + 1
call TimerStart(ИТД)

endfunction

H1dan, ты не укзал объявление массивов

Code
globals
unit array u
integer i
endglobals

GetUnitAbilityCast() - если это кастер,то GetSpellAbilityUnit(),если цель GetSpellTargetUnit()(т.к в jasscraft и jnpg такой функции не нашёл о_О)

в оригинале можно было бы обойтись локалками,но по видимому таймер будет в отдельной функции(для действия с самим юнитов вроде)

если тебе сказали то может придётся создавать локальные триги и аттачить их к юнитам


El Psy Congroo


Сообщение отредактировал Dragon93 - Четверг, 04 Июня 2009, 15:39:13
 

VladislavicДата: Четверг, 04 Июня 2009, 22:15:09 | Сообщение # 229
1 уровень
Группа: Пользователи
Сообщений: 14
Награды: 0
Репутация: 2
Блокировки:
Norm, а мож то те рано знать я наверно учусь всё надп знать по немножку

yoo
 

H1danДата: Пятница, 05 Июня 2009, 12:58:25 | Сообщение # 230
3 уровень
Группа: Заблокированные
Сообщений: 79
Награды: 0
Репутация: -9
Блокировки:
Dragon93, я только принцип сказал. Чую там еще потребуется H2I для записи в кеш. А лучше вообще таймер по запуску записывать, и выуживать... Там много вариантов... А лучший не парить мозг и использовать scope xxx endscope =). Ими проще орудовать.
 

DragoNДата: Пятница, 05 Июня 2009, 13:15:03 | Сообщение # 231
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
H1dan, лучше думаю даже вместо кэша юзать XATtach,довольно неплохая альтернатива кэшу(особенно для спеллов нужная)))

El Psy Congroo
 

H1danДата: Пятница, 05 Июня 2009, 13:34:24 | Сообщение # 232
3 уровень
Группа: Заблокированные
Сообщений: 79
Награды: 0
Репутация: -9
Блокировки:
Dragon93, достаточно сложная система. Плюс большинство джассеров про, имеют свои такие системы. Удобные и настроенные для себя.)
Лично я не из своих систем пользуюсь только теми что связаны с мультибордами. Ну не выходят у меня доски нормально =(
 

DragoNДата: Пятница, 05 Июня 2009, 13:41:43 | Сообщение # 233
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Quote (H1dan)
Dragon93, достаточно сложная система. Плюс большинство джассеров про, имеют свои такие системы. Удобные и настроенные для себя.)

я смотрел системку Toadcop`a, там всё достаточно просто : один триггер с системой,на 16 массивах(что бы её перегрузить нужно загрузить значения равные 16х8191),и она довольно удобна,особенно для запоминания чисел не юзая кэш
хотя у неё возможности достаточно широки(не закачиваются записью значений) + меньше мороки с кэшэм,а имменно мне жутко надоедало когда я с ним работал (SCV и LHV),т.е вар сам по себе очищал значения и вместо нужного дамми,к примеру записывался совершенно другой юнит
конечно можно это реализовать на параллельных массивах,но имхо XATtach лучше(кроме случаем когда кэш не заменим(к примеру save/load системы)...

У мя когда то была своя система(я её ещё писал на 3с паке),но после сноса ОС её не осталось :'(


El Psy Congroo


Сообщение отредактировал Dragon93 - Суббота, 06 Июня 2009, 12:27:19
 

H1danДата: Пятница, 05 Июня 2009, 13:45:52 | Сообщение # 234
3 уровень
Группа: Заблокированные
Сообщений: 79
Награды: 0
Репутация: -9
Блокировки:
Quote (Dragon93)
16х8191

Хватает и одного массивы. даже при невероятно больших спеллах (когда чистим ячейки массива) редко на карте создается до 8000 тысяч юнитов. Да и лаговая штука бы была (даже если помимо юнитов хранились бы значения других виджетов.) мне хватает на это все одного массива, который объявляю в JNPG через глобалс.

(но боюсь скоро придется их делать много так как поговаривают что близы прикроют RB, изза вирусов.)

 

DragoNДата: Пятница, 05 Июня 2009, 13:50:10 | Сообщение # 235
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Quote (H1dan)
Хватает и одного массивы. даже при невероятно больших спеллах (когда чистим ячейки массива) редко на карте создается до 8000 тысяч юнитов. Да и лаговая штука бы была (даже если помимо юнитов хранились бы значения других виджетов.) мне хватает на это все одного массива, который объявляю в JNPG через глобалс.

это я для убедительности пример привёл ^_^
Quote (H1dan)
(но боюсь скоро придется их делать много так как поговаривают что близы прикроют RB, изза вирусов.)

у мя тоже чувство,что после выхода 1.24 перекроют системы,что держатся на RB+cache
если уж слишком громоздкий спелл,то в чём проблем будет занести его в библиотеку?


El Psy Congroo
 

H1danДата: Пятница, 05 Июня 2009, 18:37:06 | Сообщение # 236
3 уровень
Группа: Заблокированные
Сообщений: 79
Награды: 0
Репутация: -9
Блокировки:
Quote (Dragon93)
то в чём проблем будет занести его в библиотеку?

Физиологическая, лень!

Собственно патч опять затянут, и мы вдоволь попользуемся багом =)

 

DragoNДата: Пятница, 05 Июня 2009, 19:07:34 | Сообщение # 237
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Quote (H1dan)
Физиологическая, лень!

если с набором mothod`ов то да,а так если потрудиться проблем нету (=
Quote (H1dan)
Собственно патч опять затянут, и мы вдоволь попользуемся багом =)

мбмб)


El Psy Congroo
 

agentexДата: Суббота, 06 Июня 2009, 02:23:20 | Сообщение # 238
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
собсно если рб в новом патче и прикроют (в чем есть сомнения), его попросту на гарене и неофф батлах никто не будет ставить, и близы крупно обломятся. а там уже и ск2 близко, так что вообще поф на пач

Добавлено (06-06-2009, 02:23)
---------------------------------------------

Quote

но после сноса ОС она исчезла

нда невероятно! куда же она испарилась!
 

DragoNДата: Суббота, 06 Июня 2009, 12:00:49 | Сообщение # 239
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Quote (agentex)
нда невероятно! куда же она испарилась!

даже не знаю
винчестер форматнул!!)
у мя вопрос заодно..
области(scope) не могут ссылаться друг на друга,то если занести scope в library,то можно будет за счёт библиотек ссылаться на области?


El Psy Congroo
 

P@d®eДата: Суббота, 06 Июня 2009, 17:08:00 | Сообщение # 240
6 уровень
Группа: Пользователи
Сообщений: 221
Награды: 0
Репутация: 73
Блокировки:
А че за системы и как их создавать? И на сколько это удобные системы? %)

Кому помог поставьте плюсичек.
 

DragoNДата: Суббота, 06 Июня 2009, 17:12:01 | Сообщение # 241
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
P@d®e, руками писать
удобство зависит от того что тебе нужно


El Psy Congroo
 

agentexДата: Суббота, 06 Июня 2009, 19:37:27 | Сообщение # 242
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
Dragon93, принцип прост: scope - это локальный код, при обработке жнгп ставится непосредственно туда где он написан. библиотечки ставятся в самый верх после обьявления глобалок. по логике если ты запихнеш скоуп под библиотеку, он будет находится наверху, после библиотек.
 

P@d®eДата: Воскресенье, 07 Июня 2009, 07:49:33 | Сообщение # 243
6 уровень
Группа: Пользователи
Сообщений: 221
Награды: 0
Репутация: 73
Блокировки:
Ну допустим мне надо работать с числами, спеллами и юнитами. И еще что такое "библиотека" и как ею пользоваться?

Кому помог поставьте плюсичек.
 

DragoNДата: Воскресенье, 07 Июня 2009, 12:55:48 | Сообщение # 244
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
P@d®e, читай
если обладаешь хотя бы средними знаниями Jass то разберёшься


El Psy Congroo
 

agentexДата: Воскресенье, 07 Июня 2009, 23:24:24 | Сообщение # 245
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
P@d®e, библиотеки доступны токо в JNGP. библиотека - это фрагмент кода, на который можно ссылаться с любого участка кода, кроме библиотек, которые она использует. обьявляется так:
library ... initializer ... uses ...
...code...
endlibrary

первое ... - это имя библиотеки, второе - приватная функция внутри либы, которая будет вызвана при инициализации, третие - другая библиотека.

 

P@d®eДата: Понедельник, 08 Июня 2009, 03:24:36 | Сообщение # 246
6 уровень
Группа: Пользователи
Сообщений: 221
Награды: 0
Репутация: 73
Блокировки:
Dragon93, у меня не получается открыть карту, ошибку выдает: Main file couldn't open!"

Кому помог поставьте плюсичек.
 

DragoNДата: Понедельник, 08 Июня 2009, 11:24:23 | Сообщение # 247
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
agentex, + так же в библиотеках переменные с началом private должны быть(как и в областях)

El Psy Congroo
 

agentexДата: Понедельник, 08 Июня 2009, 13:45:06 | Сообщение # 248
5 уровень
Группа: Заблокированные
Сообщений: 123
Награды: 0
Репутация: 32
Блокировки:
Dragon93, не обязательно переменные и необязательно с private. просто если переменная\функция будет с приставкой привате, ее можно будет вызывать\пользоваться только внутри самой библиотеки. если же напишеш просто функцию function Lalala takes nothing returns nothing..endfunction, ее можно будет спокойно вызвать из любого места кода прямым вызовом call Lalala(). если же приставка public, то функция будет иметь вид <библиотека>_<функция> т.е. call lib_Lalala.
а initializer должна иметь приставку привате, да об этом забыл сказать.
 

H1danДата: Понедельник, 08 Июня 2009, 14:11:39 | Сообщение # 249
3 уровень
Группа: Заблокированные
Сообщений: 79
Награды: 0
Репутация: -9
Блокировки:
Собственно интересующий вопрос насчет молний. Вообще нужно ли их обнулять. Говорят что обнуление их грохзит фаталами. Где то слышал. Но сколько не тестировал фаталы лишь при очищении пустой ячейки массива типа молнии 0.о
 

DragoNДата: Понедельник, 08 Июня 2009, 14:38:02 | Сообщение # 250
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
H1dan, я уничтожал,обнулял переменные,фатала тоже не было

El Psy Congroo
 

Форум о Warcraft 3 » Прочее » Отвал » Вопросник
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz