NECros88
offline
Опыт:
16,351Активность: |
Помогите сделать JASS тригер
Очень нужно сделать жасс тригер, так как на ГУИ очень много утечек получается и я не знаю жасс =) Хотя щас уже начну упорно его изучать.
Итак... каждые 5 секунд в любой точке карты появляется спецэффект (а можно и несколько одновременно) молнии и после проигрывания анимации (примерно секунда) удалять из памяти.
В общем-то всё просто, но нужно чтобы небыло никаких утечек. С аналогом на ГУИ очень их много получается и через буквально пол часа игровой процесс превращается в слайд-шоу... Пожалуйста помогите, буду очень благодерен. |
18.12.2006, 00:50 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
давай код на гуи я уберу утечки... |
18.12.2006, 10:32 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
Вставляешь в код карты (над категориями тригеров)
function Et takes string s,real t, real x, real y returns nothing
local effect e = AddSpecialEffect (s, x, y) call PolledWait (t) call DestroyEffect (e) set e = null endfunction и потом где надо пишешь через SustomScript
call Et ("<строка модели эффекта>", <Время действия>, x, y)
к примеру Abilities\\Spells\\Human\\FlakCannons\\FlakTarget.mdl, x и y координаты, для их определения можешь юзать рандом реал... |
18.12.2006, 11:38 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
simon
offline
Опыт:
1,709Активность: |
хм... дай данные тригеров. может сделаю что нибудь если время будет. скинь тригеры в личку так как по форумам редко лазаю, кроме своих... |
18.12.2006, 12:31 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NECros88
offline
Опыт:
16,351Активность: |
ADOLF спасибо, щас попробую =)
NECros 88 добавил: Ашипка =( ЗЫ: Не ругайтесь, аттач потом уберу =) Отредактировано NECros 88, 19.12.2006 в 01:02. |
18.12.2006, 19:53 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
локальные переменные не объявлены |
18.12.2006, 20:08 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NECros88
offline
Опыт:
16,351Активность: |
DioD напиши пожалуйста как надо =)
|
18.12.2006, 21:16 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
OmUT
offline
Опыт:
416Активность: |
добавь в функцию перед "call Et (...." :
local real x = GetRandomReal(<меньший размер карты по х в точках>,<больший размер карты по х в точках>) local real y = GetRandomReal(<меньший размер карты по х в точках>,<больший размер карты по х в точках>) например:
local real x = GetRandomReal(-2048,2048) local real y = GetRandomReal(-4096,4096) размеры карты в точках можно посмотреть в Сценарий/Размеры карты и граници обзора |
18.12.2006, 21:44 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
OmUT, неправильно(
NECros 88: Код:
|
19.12.2006, 00:06 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NECros88
offline
Опыт:
16,351Активность: |
ADOLF минуту)
NECros 88 добавил: Хм... я что-то вообще невижу никакого эффекта в игре... Молнии просто не появляются! Засунул с цикл, если ненужно было этого делать, то извиняюсь =) |
19.12.2006, 01:02 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
каждые 0.3 секунды и без цикла....
цикл вообще наиущербнейшая конструкция для таких назначений |
19.12.2006, 06:19 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
NECros 88, оно каждый раз в цикле будей вэйтовать 1 сек(...
DioD правильно сказал, малый период поставь... NECros 88, если хочешь проверить, появляются ли молнии замени Гетранодмреал на 0 и посмотри в центр карты))) |
19.12.2006, 10:27 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
nic666
offline
Опыт:
5,612Активность: |
Вот пример использования FIFO буфера, для вашего случая надо:
|
19.12.2006, 14:21 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NECros88
offline
Опыт:
16,351Активность: |
DioD, ADOLF, nic666, спасибо парни, всё сделал =) Тему можно close.
|
19.12.2006, 17:52 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|