Добавлен scopterectus
Обязательно ли нужно удалять способность после добавления?
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 скриптов.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован scopterectus
Отредактирован MpW
Затем Preloader("save//mydata.pld") - это вызов этого скрипта, который загрузит в память все что указанно в этом скрипте.
Это используется в кампаниях.
Где 2 тебя папка вара? В ней будет папка save ( там данные кампаний хранятся, типо сколько игрок пошел, че есть у героя). Ну туда сохранит, а так путь можно указать любой, который вздумается, т.к прилоду пофиг, хоть в раздел с виндой...
Отредактирован scopterectus
Отредактирован PT153
PlealoadGen() сохраняет абсолютно всё: модельки звуки, текстуры.
local integer l = StringLength(s)
local string sub = SubString(s, l - 3, l - 1)
call Preload(s)
if sub == "md" or sub == "MD" then
call DestroyEffect(AddSpecialEffect(s, 0, 0))
endif
endfunction
Можно схитрить, сделать по pld скрипту для каждого героя, а в таверне продавать пустышки - при выборе героя, вызываем pld скрипт, после подгрузки - секунды 3, создаем героя для игрока.
Отредактирован PT153
Но важно чтобы юнита видели игроки - иначе модели и звуки с иконками и текстом не подгрузятся...
При пике подгружайте все данные этого героя.
Тем более сделать через preloader скрипт ничего не стоит автоматически, все сделает для вас движок.
Имея файла задаете исходя из id героя (или даммика который продается в таверне), так не понадобится делать базу данных...