Сейчас 20:42:03 Понедельник, 28 ноября, 2022 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] Teleport System (Система телепорта как в доте.)
[Вопрос] Teleport System
CapralДата: Вторник, 10 Января 2012, 00:27:17 | Сообщение # 1
3 уровень
Группа: Пользователи
Сообщений: 49
Награды: 0
Репутация: 6
Блокировки:
Всем привет вот уже больше недели мучаюсь с системой телепорта как в доте.Система которую сделал Дуос не правильная,совсем не похожа на то что в доте.Мне удалось сделать систему на основе масс телепорта (стандартный скилл) и тригирно на Гуи подстроил,но проблема в том что когда я кастую на какой дом или юнита телепорт то это сооружение или здание перестает двигатса.Так было в предыдущих версиях(DOTA), сейчас в доте можно кастfвать на дома на юнитов и они дальше двигаются и ничего их не Блочит! мб Фрог с нуля написал телепорт возможно как-то снимает этот блок ..... помогите мне буду очень благодарен, еще одно из Гуи командой wait 3 sec (а потом move instansly unit to ....) как этот э в системе Дуос это не выход, в идеале как в доте герой может отменять каст телепорта и если его сбивают то он тоже сбивается .... это надо также считать ...

ищу креативных людей которые достаточно знают Джасс и которые хотят творить то во что будут играть все ... в ЛС
 

wetalqДата: Вторник, 10 Января 2012, 00:42:58 | Сообщение # 2
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
Quote (Capral)
мб Фрог с нуля написал телепорт возможно как-то снимает этот блок


ты прав, он так сделал
 

CapralДата: Вторник, 10 Января 2012, 00:51:17 | Сообщение # 3
3 уровень
Группа: Пользователи
Сообщений: 49
Награды: 0
Репутация: 6
Блокировки:
Quote (wetalq)
Quote (Capral)
мб Фрог с нуля написал телепорт возможно как-то снимает этот блок

ты прав, он так сделал


а возможно как-то снять тот блок что на юните?и можно увидеть код стандартных спеллов? мне нужно снять етот блок и будет как у фрога...и всетаки я думаю он сделал через стандартный скпел, ибо после завершения заклинания появляются маленькие кубики едва заметно которые потом исчезают ..... так же как у меня просто он такой блок снял и все (


ищу креативных людей которые достаточно знают Джасс и которые хотят творить то во что будут играть все ... в ЛС
 

ImpregnableДата: Вторник, 10 Января 2012, 03:15:25 | Сообщение # 4
6 уровень
Группа: Проверенные
Сообщений: 231
Награды: 0
Репутация: 92
Блокировки:
Снятие каких-то "блоков" тут не поможет. Все делается очень просто. В РО создаешь нестандартную способность на основе "Канал" и выбираешь нужный приказ. Далее в РТ после применения способности каждые .05 секунды проверяешь текущий order, если отличается от указанного то удаляешь эффект(созданный триггерно), естественно если прошло 3 секунды, то move instansly unit to ....
 

Ty3uKДата: Вторник, 10 Января 2012, 07:36:47 | Сообщение # 5
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Можно чекать координаты с допуском на 10. Хотя о чем я, мы же про гуи

Добавлено (10 Январь 2012, 07:36:47)
---------------------------------------------
Бтв, периодичности в .25 будет за глаза


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

CapralДата: Вторник, 10 Января 2012, 12:28:51 | Сообщение # 6
3 уровень
Группа: Пользователи
Сообщений: 49
Награды: 0
Репутация: 6
Блокировки:
Quote (Impregnable)
естественно если прошло 3 секунды, то move instansly unit to ....

если прошло то ты усложняешь весь процес и механику...я уже по другому сделал скажу всем....делаешь с нуля свою способность тотже канал- точка на основе chaneling вот и все...ставишь на 3 секи каставальню делаешь 1 триггир когда юнит применяет способность чтоб искать точку телепорта а 2-й триггир делаешь когда юнит заканчивает применять способность вот тогда без всяких вейт и прошло времени просто мгновенно переносишь в точку.


ищу креативных людей которые достаточно знают Джасс и которые хотят творить то во что будут играть все ... в ЛС
 

Ty3uKДата: Вторник, 10 Января 2012, 13:17:28 | Сообщение # 7
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Надо чекать позицию, ибо его могут оттолкнуть

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

CapralДата: Вторник, 10 Января 2012, 13:37:03 | Сообщение # 8
3 уровень
Группа: Пользователи
Сообщений: 49
Награды: 0
Репутация: 6
Блокировки:
Quote (Ty3uK)
Надо чекать позицию, ибо его могут оттолкнуть


в том и суть он кастует Спел 3 секунды (Спел прерывающий) если его сбивают (станят там отталкивают) то заклинания прерывается и в триггирах не выполняется условия так как его телепортует только тогда когда он закончит применять способность .... условия - юнит завершает приминение способности. Все логично ?


ищу креативных людей которые достаточно знают Джасс и которые хотят творить то во что будут играть все ... в ЛС
 

DiabfallДата: Вторник, 10 Января 2012, 13:47:30 | Сообщение # 9
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
Я так понял, проблема в том, что юнит, к которому ТПешимся стандартным телепортом, теряет приказ двигаться? Если да, то всё решается элементарно.
Code
function Trig_TP_Conditions takes nothing returns boolean
     return GetSpellAbilityId() == 'A05Z'
endfunction

function Trig_TP_Actions_Timer takes nothing returns nothing    
     local timer t=GetExpiredTimer()
     local unit target=LoadUnitHandle(udg_Hash, GetHandleId(t),1)
     call FlushChildHashtable(udg_Hash, GetHandleId(t))
     call PauseTimer(t)
     call DestroyTimer(t)
     call PauseUnit(target, false)
     set target=null
     set t=null
endfunction

function Trig_TP_Actions takes nothing returns nothing    
     local unit target=GetSpellTargetUnit()
     local timer t=CreateTimer()
     call PauseUnit(target, true)
     call SaveUnitHandle(udg_Hash, GetHandleId(t), 1, target)
     call TimerStart(t, 3.1, false, function Trig_TP_Actions_Timer)
     set target=null
     set t=null
endfunction

//===========================================================================
function InitTrig_TP takes nothing returns nothing
     set gg_trg_TP = CreateTrigger(  )
     call TriggerRegisterAnyUnitEventBJ( gg_trg_TP, EVENT_PLAYER_UNIT_SPELL_CAST )
     call TriggerAddCondition( gg_trg_TP, Condition( function Trig_TP_Conditions ) )
     call TriggerAddAction( gg_trg_TP, function Trig_TP_Actions )
endfunction


Сообщение отредактировал Diabfall - Вторник, 10 Января 2012, 13:58:42
 

CapralДата: Вторник, 10 Января 2012, 14:16:25 | Сообщение # 10
3 уровень
Группа: Пользователи
Сообщений: 49
Награды: 0
Репутация: 6
Блокировки:
Quote (Diabfall)
то всё решается элементарно.

спасибо щас розберусь )


ищу креативных людей которые достаточно знают Джасс и которые хотят творить то во что будут играть все ... в ЛС
 

Ty3uKДата: Вторник, 10 Января 2012, 14:35:11 | Сообщение # 11
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Ид хэндла лучше заносить в переменную- минус несколько вызовов

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

DiabfallДата: Вторник, 10 Января 2012, 14:37:16 | Сообщение # 12
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
Quote (Ty3uK)
Ид хэндла лучше заносить в переменную- минус несколько вызовов

Пусть каждый делает, как ему удобнее. nate
 

Ty3uKДата: Вторник, 10 Января 2012, 14:40:53 | Сообщение # 13
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Дело не в удобстве, а в разумности использования памяти и процессора. К Николасу обратись- он много расскажет

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

[DUОS]Дата: Вторник, 10 Января 2012, 14:47:17 | Сообщение # 14
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Quote (Capral)
Всем привет вот уже больше недели мучаюсь с системой телепорта как в доте.Система которую сделал Дуос не правильная,совсем не похожа на то что в доте.Мне удалось сделать систему на основе масс телепорта (стандартный скилл) и тригирно на Гуи подстроил,но проблема в том что когда я кастую на какой дом или юнита телепорт то это сооружение или здание перестает двигатса.Так было в предыдущих версиях(DOTA), сейчас в доте можно кастfвать на дома на юнитов и они дальше двигаются и ничего их не Блочит! мб Фрог с нуля написал телепорт возможно как-то снимает этот блок ..... помогите мне буду очень благодарен, еще одно из Гуи командой wait 3 sec (а потом move instansly unit to ....) как этот э в системе Дуос это не выход, в идеале как в доте герой может отменять каст телепорта и если его сбивают то он тоже сбивается .... это надо также считать ...

Ну насчёт моей системы - она стара, как мир уже. Там вообще надо делать всё триггерно. Фрог писал телепортацию с нуля.


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

lawsonДата: Вторник, 10 Января 2012, 18:10:43 | Сообщение # 15
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (Ty3uK)
Дело не в удобстве, а в разумности использования памяти и процессора. К Николасу обратись- он много расскажет

На сколько не был бы большой триг, главное чтобы не было проблем его прочитать. Например можешь сделать: через цикл вивести 100 раз какой нибудь текст через БЖ или 100 раз написать DisplayTextToPlayer(), конечно зависит от характеристик компа как долго будет тормозить, у меня проходит мгновенно, но все таки заметно - имеется ввиду цикл.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

DreiiДата: Вторник, 10 Января 2012, 18:12:47 | Сообщение # 16
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Ty3uK, Если GetHandleId(handle) используется менее 2-3 раз то заносить не нужно,также как и GetTriggerUnit()

 

lawsonДата: Вторник, 10 Января 2012, 18:24:09 | Сообщение # 17
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (Dreii)
Если GetHandleId(handle) используется менее 2-3 раз то заносить не нужно,также как и GetTriggerUnit()

Пфф Дрюша, меня нубом обозвали когда я в коде не использовал локалки со ссылками на ТриггерЮнита или HandleId.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

Ty3uKДата: Вторник, 10 Января 2012, 18:24:55 | Сообщение # 18
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Ссылка на юнита != получению ид хэндла

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

DreiiДата: Вторник, 10 Января 2012, 18:30:23 | Сообщение # 19
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
lawson, Прости их, и да пусть СирНиколас прояснит ситуацию!
Code
call SirNikolas(code,true)


 

Ty3uKДата: Вторник, 10 Января 2012, 18:50:31 | Сообщение # 20
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Я и не отрицаю, что так нельзя делать- сам не всегда юзаю локалки (в основном когда триггерюнитов меньше 4 раз надо взять)

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

CapralДата: Пятница, 20 Января 2012, 18:23:32 | Сообщение # 21
3 уровень
Группа: Пользователи
Сообщений: 49
Награды: 0
Репутация: 6
Блокировки:
Как сделаю 2 системы, выложу сюда - думаю, будет интересно.

Добавлено (11 Январь 2012, 16:58:22)
---------------------------------------------
вот моя наработка....работает та часть ( где цель способности меньше 550 радиуса от здания ) оптимизировал коечто ,работает без веит на основе ченелинг...

не работает если кастуем спел дальше 550 радиуса от выбраного здания, не работает если 2 и больше зданий вместе возле радиуса 550 хз что делать телепортирует вроде от 2 раз и больше в тоже место и анимация создается 2 раза и больше в том же месте ,сейчас создаются больше 100 анимаций телепорта если цель способности меньше 550 от здания хз почему раньше все работало ...( ещо куча всего не работает хз даже что делать....не могу придумать нормальное условия бред какойто вот как мне отмерять радиус от точки - цель способности к ближнему зданию и зафиксировать этот радиус потом сместить точку на тот фиксированый радиус как мне сделать такое ????? скачайте посмотрите может чтото не так сделал ???

http://rghost.ru/35851421

Добавлено (11 Январь 2012, 21:15:39)
---------------------------------------------
ну кто скажет как через ГУИ узнать макс реально число ????

Добавлено (11 Январь 2012, 21:39:46)
---------------------------------------------
СВЕРШИЛОСЬ ВСЕ РАБОТАЕТ КРОМЕ ЧАСТИ (где цель способности больше 550 радиуса от заданой точки ) кто может подскажите как узнать макс. реальное число в ГУИ если их например 10 штук.....тоесть какое число А Б В Г Д больше всех....макс могу проверить А и Б а как проверить ещо 5 реальных данных *? Срочно помогите и будет рабочая система точно как в доте без лагов ! ;)

Добавлено (20 Январь 2012, 18:23:32)
---------------------------------------------
можна закрывать тему.


ищу креативных людей которые достаточно знают Джасс и которые хотят творить то во что будут играть все ... в ЛС
 

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] Teleport System (Система телепорта как в доте.)
  • Страница 1 из 1
  • 1
Поиск:

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