|
|
|
|
Вопросник
|
|
Vedun | Дата: Пятница, 18 Мая 2007, 13:15:16 | Сообщение # 1 |
2 уровень
Группа: Проверенные
Сообщений: 39
Награды: 0
Репутация: 47
Блокировки:
| Выкладывайте здесь вопросы по JASS. Постараюсь ответить на все. Q. Что такое JASS? A. JASS - язык программирования.
Сообщение отредактировал Vedun - Пятница, 18 Мая 2007, 13:19:10 |
|
|
|
Gam_Over | Дата: Воскресенье, 26 Июля 2009, 16:39:44 | Сообщение # 351 |
9 уровень
Группа: Проверенные
Сообщений: 1107
Награды: 0
Репутация: 175
Блокировки:
| Как изменить динамически крен камеры?
|
|
|
|
-Castro- | Дата: Суббота, 08 Августа 2009, 16:53:31 | Сообщение # 352 |
УГ продюсер
Группа: Ветераны
Сообщений: 2099
Награды: 3
Репутация: 1213
Блокировки:
| Вот вопросики: Бывают ли локальные таймеры? Как сделать чтобы триггер срабатывал на локальный таймер (если они есть ваще)?
|
|
|
|
windrunner | Дата: Суббота, 08 Августа 2009, 16:57:48 | Сообщение # 353 |
10 уровень
Группа: Проверенные
Сообщений: 1259
Награды: 0
Репутация: 218
Блокировки:
| есть канечно чтобы тригер срабатывал на локальный таймер можно с помощью таблиц(не уверен) А чтобы внутри тригера можно с помощью нативки запуска таймера native TimerStart takes timer whichTimer, real timeout, boolean periodic, code handlerFunc returns nothing Вот пользуйся)
И в правду мир сошел с ума... И до тех пор пока нас не обесточат Пока не догорит аварийных фонарей заряд Мы будем жечь тут электричество что есть мочи Русский мапмейкинг - бессмысленный и беспощадный.xD
|
|
|
|
Gam_Over | Дата: Воскресенье, 09 Августа 2009, 07:13:55 | Сообщение # 354 |
9 уровень
Группа: Проверенные
Сообщений: 1107
Награды: 0
Репутация: 175
Блокировки:
| Quote (-Castro-) Бывают ли локальные таймеры? бывают Code local timer <имя таймера> Quote (-Castro-) Как сделать чтобы триггер срабатывал на локальный таймер это я не понял. что конкретно нужно?
|
|
|
|
BuHHu-nyX | Дата: Воскресенье, 09 Августа 2009, 10:54:23 | Сообщение # 355 |
50 уровень Превед медвед
Группа: Ветераны
Сообщений: 1941
Награды: 2
Репутация: 437
Блокировки:
| То есть. Есть действие: Ждать условия. Есть ли такое условие, что таймер закончился?
|
|
|
|
-Castro- | Дата: Воскресенье, 09 Августа 2009, 13:09:40 | Сообщение # 356 |
УГ продюсер
Группа: Ветераны
Сообщений: 2099
Награды: 3
Репутация: 1213
Блокировки:
| Ладно, я уже бросил эту затею, знаний пока не хватает)) по логике понимаю как можно сделать, а вот с функциями и прочим пока сложно
|
|
|
|
Kartoha | Дата: Воскресенье, 09 Августа 2009, 15:37:33 | Сообщение # 357 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| Quote (Эллесар) Меня интересую только спелы; ну вот короче - как зделать так, что например используеш магию у варедна раскидать ножи, ну как зделать дополнительный эфект, что бы те самые нажи отровляли и замедляли (как спел отравленный нож Немонимаю,причём тут джасс. События:Приводит спелл в действие Условия: Скастованный спелл = веерный бросок (тут твой спелл пишеш) Действия:Выбираеш всех юнитов-врагов кастеру,создаёш рядом с ними дамми и дамми кидают отравленные ножи на врагов,после чего исчезают.)
|
|
|
|
windrunner | Дата: Воскресенье, 09 Августа 2009, 15:44:00 | Сообщение # 358 |
10 уровень
Группа: Проверенные
Сообщений: 1259
Награды: 0
Репутация: 218
Блокировки:
| Kartoha, поздновато ты ответил))
И в правду мир сошел с ума... И до тех пор пока нас не обесточат Пока не догорит аварийных фонарей заряд Мы будем жечь тут электричество что есть мочи Русский мапмейкинг - бессмысленный и беспощадный.xD
|
|
|
|
BuHHu-nyX | Дата: Воскресенье, 09 Августа 2009, 17:08:56 | Сообщение # 359 |
50 уровень Превед медвед
Группа: Ветераны
Сообщений: 1941
Награды: 2
Репутация: 437
Блокировки:
| Quote (Kartoha) Немонимаю,причём тут джасс. Пойми.
|
|
|
|
Kartoha | Дата: Воскресенье, 09 Августа 2009, 20:49:20 | Сообщение # 360 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| Ахахаха лол BuHHu-nyX, рулит))Добавлено (09-08-2009, 20:49) --------------------------------------------- Отличный совет!
|
|
|
|
sergeevmore | Дата: Четверг, 13 Августа 2009, 12:58:05 | Сообщение # 361 |
6 уровень
Группа: Заблокированные
Сообщений: 198
Награды: 0
Репутация: 21
Блокировки:
| с помощью JASS можно сделать типо такого: событие: юнит погибает действие:отнять первый скилл у героя который убил юнита кароче мне надо чтоб когда определённый юнит погибал и отнимал скилл у того кто его убил
<b>Alice</b>, из за тебя пропадает смысл в паролях, а так же постоянно будет требоваться пинать админа...(Enforcer)
|
|
|
|
kan2009 | Дата: Суббота, 15 Августа 2009, 10:34:25 | Сообщение # 362 |
6 уровень
Группа: Пользователи
Сообщений: 180
Награды: 0
Репутация: 3
Блокировки:
| Люди подскажите а как правильно из опэн доты 6.41 копировать умения.А то чот у меня не получаеться нифига. (я ток начал заниматься карто строительством)
|
|
|
|
Эллесар | Дата: Воскресенье, 23 Августа 2009, 02:01:17 | Сообщение # 363 |
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
| Quote (kan2009) Люди подскажите а как правильно из опэн доты 6.41 копировать умения.А то чот у меня не получаеться нифига. (я ток начал заниматься карто строительством) Освой для начало jass)
база паролей: https://yadi.sk/d/mdDhWuvPcTSKw бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
|
|
|
|
MaSer | Дата: Воскресенье, 23 Августа 2009, 19:07:53 | Сообщение # 364 |
Котобог
Группа: Стримеры
Сообщений: 3574
Награды: 13
Блокировки:
| Quote (sergeevmore) кароче мне надо чтоб когда определённый юнит погибал и отнимал скилл у того кто его убил Напрямую никак. Только если делать для юнитов табличку, у кого какой скилл какой, но лучше забить
|
|
|
|
BuHHu-nyX | Дата: Воскресенье, 23 Августа 2009, 19:23:48 | Сообщение # 365 |
50 уровень Превед медвед
Группа: Ветераны
Сообщений: 1941
Награды: 2
Репутация: 437
Блокировки:
| Напишите, пожалуйста, альтернативу - call TriggerSleepAction(2) в таймерах?
|
|
|
|
MaSer | Дата: Воскресенье, 23 Августа 2009, 19:30:55 | Сообщение # 366 |
Котобог
Группа: Стримеры
Сообщений: 3574
Награды: 13
Блокировки:
| PolledWait xd Он прямо на таймерах и даже прямо в том же потоке, а так попробуй разбивать функцию на две, учитывая наличие хештаблей ничего проще не будет наверное
|
|
|
|
BuHHu-nyX | Дата: Воскресенье, 23 Августа 2009, 19:52:09 | Сообщение # 367 |
50 уровень Превед медвед
Группа: Ветераны
Сообщений: 1941
Награды: 2
Репутация: 437
Блокировки:
| То есть, call PolledWait(2) и все? Или я что то не догоняю.
|
|
|
|
MaSer | Дата: Воскресенье, 23 Августа 2009, 19:58:05 | Сообщение # 368 |
Котобог
Группа: Стримеры
Сообщений: 3574
Награды: 13
Блокировки:
| BuHHu-nyX, понимаешь ли, полледвейт реализован криво, так что выбери лучше второй вариант -)
|
|
|
|
windrunner | Дата: Понедельник, 24 Августа 2009, 00:10:39 | Сообщение # 369 |
10 уровень
Группа: Проверенные
Сообщений: 1259
Награды: 0
Репутация: 218
Блокировки:
| MaSer, Приведи пример как ето сделать?(тоесть с помощью хешь таблей рабить поток на две?)
И в правду мир сошел с ума... И до тех пор пока нас не обесточат Пока не догорит аварийных фонарей заряд Мы будем жечь тут электричество что есть мочи Русский мапмейкинг - бессмысленный и беспощадный.xD
|
|
|
|
MaSer | Дата: Понедельник, 24 Августа 2009, 01:04:49 | Сообщение # 370 |
Котобог
Группа: Стримеры
Сообщений: 3574
Награды: 13
Блокировки:
| windrunner, хД хештабли чтобы переменные переносить из функции в функции без проблем. Не более того
|
|
|
|
Эллесар | Дата: Понедельник, 24 Августа 2009, 13:30:03 | Сообщение # 371 |
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
| То есть сохроняйем переменные в хеш таблицу, включаем таймер, и загружаем эти переменные. =/
база паролей: https://yadi.sk/d/mdDhWuvPcTSKw бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
|
|
|
|
Leshii | Дата: Понедельник, 24 Августа 2009, 17:50:31 | Сообщение # 372 |
6 уровень
Группа: Заблокированные
Сообщений: 228
Награды: 1
Репутация: 23
Блокировки:
| Можете сделать мне карту с примером где есть скилл граната когда она попадает на землю из неё выходят ещё 6 мелких гранат которые разлетаются по кругу.В кого попала граната наносится повреждение он глушится и он горит какоето время и у него отнимается 5 HP/сек и бегает куда попало.А в кого попала маленькая того прсто отнимается жизнь и глушится.Просто я в Jass'е полный 0
Он где-то тут углядел Порядок и присматривал за ним.
|
|
|
|
BuHHu-nyX | Дата: Понедельник, 24 Августа 2009, 18:20:45 | Сообщение # 373 |
50 уровень Превед медвед
Группа: Ветераны
Сообщений: 1941
Награды: 2
Репутация: 437
Блокировки:
| Эллесар, если не влом, подробнее, я не знаю вообще, что за хештабли.
|
|
|
|
Эллесар | Дата: Понедельник, 24 Августа 2009, 20:11:25 | Сообщение # 374 |
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
| BuHHu-nyX, Хеш таблица, это объект, оснавная задача его - хранить данные. Это какбы двух мерный массив. в нем можно хранить данные по каждому объекту (handle) например: call SaveInteger(HASHTABLE,GetHandleId(h),1, 200) мы сохранили в таблицу число 200. а теперь загружаем его. set i = LoadInteger(HASHTABLE,GetHandleId(h),1) h - это переменная, за место неё можно вставить героя, предмет, декорацию, таймер и тд. например надо для реализации спела, к примеру после 5 атак, герой лечит себя на 50 хп Событие: Боевая единица получает урон. Условие: Урон не равен 0 Дейстиве: set i = LoadInteger(HASHTABLE,GetHandleId(Юнит Который получил урон),1) если i = 5 то лечим юнита иначе call SaveInteger(HASHTABLE,GetHandleId(h),1,i+1) Добавлено (24-08-2009, 20:11) --------------------------------------------- BuHHu-nyX, http://ru.wikipedia.org/wiki....6%D0%B0
база паролей: https://yadi.sk/d/mdDhWuvPcTSKw бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
|
|
|
|
[DUОS] | Дата: Понедельник, 24 Августа 2009, 21:57:54 | Сообщение # 375 |
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
| Возникла небольшая проблема с кодом мультиборда. Вот он сам: Code function PickBoolean1 takes nothing returns boolean return (GetPlayerController(GetFilterPlayer()) == MAP_CONTROL_USER) endfunction
function PickBoolean2 takes nothing returns boolean return (GetPlayerSlotState(GetFilterPlayer()) == PLAYER_SLOT_STATE_PLAYING) endfunction
function PickCondition takes nothing returns boolean //Условия для отбора игроков. return GetBooleanAnd(PickBoolean1(), PickBoolean2()) endfunction
function FillMultiboard takes nothing returns nothing set udg_Multiboard_Spots[GetConvertedPlayerId(GetEnumPlayer())] = udg_List call MultiboardSetItemValue(MultiboardGetItem(udg_Multiboard, 0, 1), "Имя игрока") call MultiboardSetItemValue(MultiboardGetItem(udg_Multiboard, 0, 2), "Убийств") call MultiboardSetItemValue(MultiboardGetItem(udg_Multiboard, udg_List, 1), (udg_Player_Colors[GetConvertedPlayerId(GetEnumPlayer())] + (GetPlayerName(GetEnumPlayer()) + "|r"))) call MultiboardSetItemValue(MultiboardGetItem(udg_Multiboard, udg_List, 2), "0") call MultiboardSetItemIcon(MultiboardGetItem(udg_Multiboard, udg_List, 0), "ReplaceableTextures\\CommandButtons\\BTNArcaniteRanged.blp") set udg_List = udg_List + 1 endfunction
function Trig_Multiboard_Actions takes nothing returns nothing //Локалки. local integer LoopAIndex = 0 local integer LoopAEnd = 0 //Задаю переменные строки цветов игрока. set udg_Player_Colors[1] = "|cFFFF0303" set udg_Player_Colors[2] = "|cFF0042FF" set udg_Player_Colors[3] = "|cFF1CE6B9" set udg_Player_Colors[4] = "|cFF540081" set udg_Player_Colors[5] = "|cFFFFFC01" set udg_Player_Colors[6] = "|cFFFE8A0E" set udg_Player_Colors[7] = "|cFF20C000" set udg_Player_Colors[8] = "|cFFE55BB0" //Задаю целочисленные. set udg_Players = CountPlayersInForceBJ(GetPlayersMatching(Condition(function PickCondition))) //Создаю мультиборд, попутно занося его в глобалку. set udg_Multiboard = CreateMultiboard() call MultiboardSetColumnCount(udg_Multiboard, 3) call MultiboardSetRowCount(udg_Multiboard, 1 + udg_Players) call MultiboardSetTitleText(udg_Multiboard, "Oasis and Desert v.1.0") //Создаю цикл. set LoopAStart = 1 set LoopAEnd = 1 + udg_Players loop exitwhen LoopAStart > LoopAEnd //Здесь я задаю стиль - показывать ли иконку или текст. call MultiboardSetItemStyle(MultiboardGetItem(udg_Multiboard, 0, 0), true, false) call MultiboardSetItemStyle(MultiboardGetItem(udg_Multiboard, 0, 1), true, false) call MultiboardSetItemStyle(MultiboardGetItem(udg_Multiboard, 0, 2), true, false) call MultiboardSetItemStyle(MultiboardGetItem(udg_Multiboard, LoopAStart, 0), true, true) call MultiboardSetItemStyle(MultiboardGetItem(udg_Multiboard, LoopAStart, 1), true, false) call MultiboardSetItemStyle(MultiboardGetItem(udg_Multiboard, LoopAStart, 2), true, false) //Теперь задаю ширину каждой колонки. call MultiboardSetItemWidth(MultiboardGetItem(udg_Multiboard, LoopAStart, 0), 2.00) call MultiboardSetItemWidth(MultiboardGetItem(udg_Multiboard, LoopAStart, 1), 8.00) call MultiboardSetItemWidth(MultiboardGetItem(udg_Multiboard, LoopAStart, 2), 4.00) set LoopAStart = LoopAStart + 1 endloop set udg_List = 1 //Следующим действием отбираю только играющих и контролируемых человеком игроков. call ForForce(GetPlayersMatching(Condition(function PickCondition)), function FillMultiboard) //Показываю мультиборд. call MultiboardDisplay(udg_Multiboard, true) endfunction
//=========================================================================== function InitTrig_Multiboard takes nothing returns nothing set gg_trg_Multiboard = CreateTrigger() call TriggerRegisterTimerEvent(gg_trg_Multiboard, 1.00, false) call TriggerAddAction( gg_trg_Multiboard, function Trig_Multiboard_Actions ) endfunction После выполнения кода получается вот такой результат - http://i014.radikal.ru/0908/e3/2b166e03c7a8.jpg Когда я попытался отрегулировать ширину ячеек, мультиборд растянулся на весь экран! А когда я вообще снёс регулировку ширины, получилось так - http://pic.ipicture.ru/uploads/090824/CvL7adwh06.jpg Вопрос: Как нормализовать мультибоард?
|
|
|
|
|
|
|
|
|
|
|