Обязательно ли нужно удалять способность после добавления?
	function PreloadAbility takes integer abilityId returns nothing
        if ( didInit ) then
            if ( UnitAddAbility( unitPreloader, abilityId ) ) then
                call UnitRemoveAbility( unitPreloader, abilityId )
            debug else
                debug call BJDebugMsg( "PreloadAbility(...) :    Ability '" + RAW2S( abilityId ) + "' does not exist." )
            endif

        else
            debug call BJDebugMsg("PreloadAbility(...)    Attempt to prealod abilty before library initialization.")
            call Initialization( )

            if ( UnitAddAbility( unitPreloader, abilityId ) ) then
                call UnitRemoveAbility( unitPreloader, abilityId )
            debug else
                debug call BJDebugMsg( "PreloadAbility(...) :    Ability '" + RAW2S( abilityId ) + "' does not exist." )
            endif

        endif
    endfunction
	call SetUnitInvulnerable( ... )
//	или
	call UnitAddAbility( unit, 'Avul' )
	

Кривоватая подгрузка, удалять не обязательно. Лучше юзать preload без этаких костылей, темболее в JASS есть механизмы автоматического создания pld скриптов.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
23
Похожие вопросы:

ответ
Nelloy, будет но для этого данные нужно синхронизировать, для ваших сейв\лоадов есть давно проверенная система, которая не требует мемхака - Data Manager, не надо никакого мемхака. Все понятно и просто, вот неужели нельзя изучить всю мат часть по сейвам прежде чем пороть горячку?
ответ
Karp:
pro100master:
Мда слышал про GetLocalPlayer() вот и будет создавать для 1 игрока в сейв
cлыщал, но если бы знал как юзать, то не спрашивал бы)
ответ
Проблема в функции SaveLoad_EncodeVerify.
ответ
ScopteRectuS, у тебя где то перезаписывается bj_lastCreatedUnit
причём происходит это после первой итерации GroupEnumUnitsInRange
а вообще не стоит юзать стандартные бж переменные
т.к. они могут конфликтовать с другими системами
используй приватные переменные
если после перехода на приватные глобалки проблема останется то скопируй систему на отдельную карту и кинь эту карту сюда
буду тестить разные варианты

32
Кривоватая подгрузка, удалять не обязательно. Лучше юзать preload без этаких костылей, темболее в JASS есть механизмы автоматического создания pld скриптов.
Принятый ответ
21
quq_CCCP, не совсем понимаю.
	function PreloadAbility takes integer id returns boolean
		return UnitAddAbility( unitPreloader, id )
	endfunction
А что такое pld скрипты, google ничего не выдал..
а что насчёт call SetUnitInvulnerable( ... ), call UnitAddAbility( unit, 'Avul' )
25
А что за прелоад способностей? Зачем это нужно?
15
avuremybe:
А что за прелоад способностей? Зачем это нужно?
Чтобы при изучение способности героем не было лага
25
Ethernet, и в чем же он состоит?
27
avuremybe, предполагаю для того, чтобы не было лагов. Помню, давно были темы с многоуровневыми абилками (более 10 левел и до 100 левел). Можно было делать интересные фишки. Если юниту в первый раз дать эту абилку, то комп подвиснет на несколько секунд, а на более слабых компах и больше времени. А все потому, что абилка загружается в игру, при повторном добавлении лагов не замечается. Поэтому сделали такую фишку, что при инициализации подзагружают способности все многоуровневые способности. Замечали ли вы когда нибудь в некоторых картах подвисания при старте игры? например, в доте. и прочее.
32
Я про эток:
call PreloadGenClear()
call PreloadGenStart()
call TriggerSleepActions(2.00)
call PreloadGenEnd("save//mydata.pld")
Вызываем этот код пред созданием героя, чуствуем просадку фпс, побегали, покастовали спеллы (вейт нужно подольше). Идем смотреть что в текстовик сохранилось, там будет полный список того что загружал движок.
Затем Preloader("save//mydata.pld") - это вызов этого скрипта, который загрузит в память все что указанно в этом скрипте.
Это используется в кампаниях.
21
quq_CCCP, куда должен сохранится данный файл? Здесь ничего не сохранилось. Или файл не сюда сохраняется?
	...\Program Files (x86)\WarCraft 3\Save\
32
В папку save внутри варкравта
Где 2 тебя папка вара? В ней будет папка save ( там данные кампаний хранятся, типо сколько игрок пошел, че есть у героя). Ну туда сохранит, а так путь можно указать любой, который вздумается, т.к прилоду пофиг, хоть в раздел с виндой...
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.