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

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

Закрытая тема
 
HolyMoon
Hly shit!
offline
Опыт: 6,986
Активность:
все зависит от контекста. В данном случае он пишет, будучи полным уверенности, что перевод триггера в текст скажется на работе этого самого триггера.
Старый 09.01.2011, 23:41
Icy
Это Я!
offline
Опыт: 1,785
Активность:
Эта идея бред!
Тригер как был тригером так он им и останется и перевод в текст не решает, либо выкиньте свой редактор и установите жнджп!
Старый 09.01.2011, 23:52
Stolen

offline
Опыт: 165
Активность:
Кароче Stolen, попробуй сначала вариант с глобалкой и таймером(попробуй через лес), а потом со слипом и локалкой
я не понял
Старый 09.01.2011, 23:57
Doc

offline
Опыт: 63,163
Активность:
akaJoker, почему у меня за все годы практики таких случаев не было? Вероятно между тем как вас осенило что НАДО перевести в текст и самим действием вы сделали что-то еще, что повлияло на ход событий.
Старый 10.01.2011, 00:00
Icy
Это Я!
offline
Опыт: 1,785
Активность:
1 - создаешь глобалку типом эффект, заполняешь эту переменную, создаешь таймер с периодом например 0.05 и в дейсвиях таймера удаляешь эффект и сам таймер, и чистишь глобалку
2 - варианты которые тебе предлагали с локалкой(установил локалке свой эффекта, подождал вейтом сколько то времени и убираешь эффект)
Старый 10.01.2011, 00:32
Stolen

offline
Опыт: 165
Активность:
Icy, плз объясни что такое глобалка, и где она в редакторе?
Старый 10.01.2011, 14:46
spellwerk

offline
Опыт: 4,869
Активность:
Старый 10.01.2011, 14:55
Forsaken
has left the game
offline
Опыт: 3,404
Активность:
Stolen, глобалка это обычная переменная (с зелененьким значком таким).
Старый 10.01.2011, 14:56
Stolen

offline
Опыт: 165
Активность:
Forsaken, а я массивом ( 10 игроков ) сделал переменную, или мне 10 отдельных делать?
Старый 10.01.2011, 14:58
Forsaken
has left the game
offline
Опыт: 3,404
Активность:
Stolen, зачем? Просто создай глобалку типа "спецэффект".
Forsaken добавил:
Stolen, и дальше как Icy сказал.
Forsaken добавил:
Stolen, да сделай ты локалкой, так быстрее будет.
local effect E
создаешь свой эффект
set E = GetLastCreatedEffectBJ()
call TriggerSleepAction(0.10)
call DestroyEffectBJ(E)
Старый 10.01.2011, 15:09
Stolen

offline
Опыт: 165
Активность:
Forsaken, а если они одновременно атаковать будут?у меня на каждого игрока такой триггер (а их 10) переменная задается на last created effect.
Старый 10.01.2011, 15:16
Forsaken
has left the game
offline
Опыт: 3,404
Активность:
Stolen, если через локалку, то не должно эффекта оставаться.
Старый 10.01.2011, 15:21
Klop
Папа римский
offline
Опыт: 13,006
Активность:
function RemoveEffect takes nothing returns nothing
 local timer t = GetExpiredTimer()
 local effect e = LoadEffectHandle(h,GetHandleId(t),1)
 call DestroyEffect(e)
 set e = null
 call FlushChildHashtable(h,GetHandleId(t))
 call DestroyTimer(t)
 set t = null
endfunction

function CreateEffect takes nothing returns nothing
 local timer t = CreateTimer()
 local effect e = AddSpecialEffect(...)
 call SaveEffectHandle(h,GetHandleId(t),1,e)
 set e = null
 call TimerStart(t,.5,false,function RemoveEffect)
 set t = null
endfunction
Старый 10.01.2011, 15:26
Stolen

offline
Опыт: 165
Активность:
Klop, спс, я создал переменные e и t , поставил там эффект но мне пишет (ничего не понимаю в жассе)
Stolen добавил:
у меня вопрос еще есть: способность (пассив, предмет). Орб эффекты отображаются и на том кто бьет (например вампиризм) можно ли как-то сделать что бы этот эффект отображался именно на левой руке , а не на origin? (этим заменив триггер)
Миниатюры
Кликните на картинку для увеличения
Название:  1lumber.JPG
Просмотров: 19
Размер:  82.5 Кбайт  
Старый 10.01.2011, 15:53
16GB
GhostOne User
offline
Опыт: 60,317
Активность:
Stolen,
а глобалку h ты создал с типом хэш таблица?
Старый 10.01.2011, 15:53
Stolen

offline
Опыт: 165
Активность:
16GB, нет, сейчас создам. Пожалуйста, кому не сложно напишите правильный код, если мне нужно что бы при атаке юнита ждать 0.01 секунд до исчезновения эффекта, и эффектом - Abilities\\Spells\\Other\\Incinerate\\IncinerateBuff.mdl
Старый 10.01.2011, 16:04
akaJoker

offline
Опыт: 589
Активность:
Event:
Unit is atacked
Condition:
Atacking unit = ...
Action:
Create special effect attached to left hand of ...
(GUI действие)Set Effect = Last created special effect
Custom script: local effect e = udg_Effect
Wait 0.01 seconds
Custom script: set udg_Effect = e
Destroy Effect
Перед тем как ждать 0.01 секунду заносим наш эффект в локальную переменную, которая создается каждый раз, при запуске этого триггера. То есть в локальной переменной будет храниться тот эффект, который нам нужен а не какой-то другой. Это будет раюотать с любым количеством юнитов.
Старый 10.01.2011, 16:17
Doc

offline
Опыт: 63,163
Активность:
globals
hashtable h = InitHashtable()
endglobals

function RemoveEffect takes nothing returns nothing
 local timer t = GetExpiredTimer()
 local effect e = LoadEffectHandle(h,GetHandleId(t),1)
 call DestroyEffect(e)
 set e = null
 call FlushChildHashtable(h,GetHandleId(t))
 call DestroyTimer(t)
 set t = null
endfunction

function CreateEffect takes nothing returns nothing
 local timer t = CreateTimer()
 local effect e = AddSpecialEffectTarget("Abilities\\Spells\\Other\\Incinerate\\IncinerateBuff.mdl", GetTriggerUnit(), "origin")
 call SaveEffectHandle(h,GetHandleId(t),1,e)
 set e = null
 call TimerStart(t,.1,false,function RemoveEffect)
 set t = null
endfunction
Doc добавил:
akaJoker, АХАХАХХАХАХА
Старый 10.01.2011, 16:22
Stolen

offline
Опыт: 165
Активность:
Doc, спасибо огромноеее!!!!!!!
Старый 10.01.2011, 16:30
Закрытая тема

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

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

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

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



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