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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » Destroy Sound (Как удалять звуки(утечки)?)
Destroy Sound
FatalBladeДата: Суббота, 11 Июня 2011, 14:08:42 | Сообщение # 1
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Для Special Effect есть Destroy Special Effect, для Sound - Destroy Sound. Но оно работает по равзному. Если написать Destroy Special Effect сразу после Special Effect, то эффект будет проигран. Если же взять Sound и написать сразу Destroy Sound, то звук удаляется сразу и не будет проигран. И тогда нужно задать между ними паузу, заносить звук в переменную итд... Есть какая нибудь функция на джассе которая удаляет звук, но позволяет перед этим его проиграть?

 

SirNikolasДата: Суббота, 11 Июня 2011, 14:34:58 | Сообщение # 2
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
KillSoundWhenDone.

 

FatalBladeДата: Суббота, 11 Июня 2011, 14:43:04 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
А не надо указывать какой саунд? Как например DestroyGroup(GetLastCreatedGroup())

 

SirNikolasДата: Суббота, 11 Июня 2011, 14:48:31 | Сообщение # 4
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Конечно, надо. Я тебе название функции сказал, а ты смотри в JNGP/JassCraft/common.j/еще где-нибудь, какие у нее аргументы.

 

FatalBladeДата: Суббота, 11 Июня 2011, 15:00:46 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (SirNikolas)
а ты смотри в JNGP/JassCraft/common.j/

И чем мне common.j открывать?


 

SirNikolasДата: Суббота, 11 Июня 2011, 15:05:05 | Сообщение # 6
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Самый простой вариант - "Блокнотом".

 

FatalBladeДата: Суббота, 11 Июня 2011, 15:25:38 | Сообщение # 7
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
native KillSoundWhenDone takes sound soundHandle returns nothing

Вот что там написано. И всё.

Я так понял это выглядит вот так: KillSoundWhenDone(udg_Sound) или KillSoundWhenDone (GetLastPlayedSound())

Добавлено (11-06-2011, 15:25)
---------------------------------------------
Не работает. Шаблон плз. Синтакс какой?




Сообщение отредактировал FatalBlade - Суббота, 11 Июня 2011, 15:13:48
 

SirNikolasДата: Суббота, 11 Июня 2011, 15:34:17 | Сообщение # 8
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Может быть, call KillSoundWhenDone(udg_Sound)?

 

FatalBladeДата: Суббота, 11 Июня 2011, 15:40:54 | Сообщение # 9
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Да действительно :p Спс

call RemoveUnit(udg_UnitHandle)
call DestroyTimer(udg_TimerHandle)

Вот эти тоже так пишутся? Или для юнитов надо DestroyWidget(udg_UnitHandle) ?


 

DeadJassДата: Суббота, 11 Июня 2011, 15:41:34 | Сообщение # 10
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
Quote (FatalBlade)
takes sound soundHandle

ф-ия принимает значение sound
где sound вроде бы нужно писать gg_snd_firstblood



^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

FatalBladeДата: Воскресенье, 12 Июня 2011, 11:17:12 | Сообщение # 11
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (DeadJass)
gg_snd_firstblood

чё?? :) это прикол?)

Добавлено (12-06-2011, 11:17)
---------------------------------------------
Всё равно функция KillSoundWhenDone работает как Destroy Sound. Она даже не даёт звуку начаться. Я попробовал поставил интервал между проигрыванием звука и удалением утечки. В результате первый раз сработало как надо, а дальше опять как и до этого, звук не поигрывается.




Сообщение отредактировал FatalBlade - Воскресенье, 12 Июня 2011, 11:18:05
 

SirNikolasДата: Понедельник, 13 Июня 2011, 09:42:31 | Сообщение # 12
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (FatalBlade)
Всё равно функция KillSoundWhenDone работает как Destroy Sound.
Сначала надо запускать звук, а потом удалять.
Quote (FatalBlade)
В результате первый раз сработало как надо, а дальше опять, как и до этого, звук не поигрывается.
Ты что, пытаешься удалить глобальный звук? Это только для локальных, либо для тех, которые больше не понадобятся.


 

FatalBladeДата: Понедельник, 13 Июня 2011, 14:46:08 | Сообщение # 13
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (SirNikolas)
Сначала надо запускать звук, а потом удалять.

Ну само собой

Quote (SirNikolas)
Ты что, пытаешься удалить глобальный звук? Это только для локальных, либо для тех, которые больше не понадобятся.

Я создаю переменную Sound, даю ей значение, например SuccubusYesAttack2. Потом юзаю функцию Play Sound, и вставляю туда переменную Sound. Он проигрывает этот звук. А если после этой функции я напишу KillSoundWhenDone, то звук НЕ проигрывается. Если же я поставлю интервал (Wait) то первый раз звук проигрывается, а потом когда этот триггер вызывается опять, звук уже не проигрывается. Неужто KillSoundWhenDone уничтожает не утечку, а сам звук?


 

Deadly-manДата: Понедельник, 13 Июня 2011, 14:48:18 | Сообщение # 14
7 уровень
Группа: Заблокированные
Сообщений: 279
Награды: 0
Репутация: 26
Блокировки:
FatalBlade, удалять можно только тот глобальный звук который БОЛЬШЕ НИКОГДА В ИГРЕ ПРОИГРЫВАТЬСЯ НЕ БУДЕТ. Ну или локальный звук тоже можно удалять. Понял?

Добавлено (13-06-2011, 14:48)
---------------------------------------------

Quote (FatalBlade)
не утечку, а сам звук?

удаление звука == удаление утечки


Я ПОРВАЛ ФОРУМ!
 

SirNikolasДата: Понедельник, 13 Июня 2011, 15:04:00 | Сообщение # 15
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
FatalBlade, просто проигрывание звука из переменной не вызывает утечку, так что ничего удалять не надо. Данная команда нужна, если ты создаешь локальный звук внутри функции.

Добавлено (13-06-2011, 15:04)
---------------------------------------------

Quote (FatalBlade)
А если после этой функции я напишу KillSoundWhenDone, то звук НЕ проигрывается.
У меня все нормально.


 

FatalBladeДата: Понедельник, 13 Июня 2011, 15:08:55 | Сообщение # 16
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (Deadly-man)
БОЛЬШЕ НИКОГДА В ИГРЕ ПРОИГРЫВАТЬСЯ НЕ БУДЕТ

Надо было раньше говорить :)

Quote (SirNikolas)
FatalBlade, просто проигрывание звука из переменной не вызывает утечку, так что ничего удалять не надо

Не вызывает?... У меня изза звуков которые проигрываются триггером, бывает что другие функции не срабатывают. Было дело что у меня Дамми то не наносил урон, то не станил, то вообще не создавался. Я конечно решил эту проблему по другому, я поставил функцию Play Sound после всех манипуляций с Дамми, но всё равно хотелось бы что бы звук не мешал вообще.


 

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » Destroy Sound (Как удалять звуки(утечки)?)
  • Страница 1 из 1
  • 1
Поиск:

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