Как сделать так что бы появление обновления квеста стало видно игроку без знания методики "зайти в задания и посмотреть что там изменилось"
Так можно же показать отлетающее сообщение "Квест такой-то обновился" или что-нибудь более подробное.
Неа все анимации есть. Полней комплект плюс три вида разговора и много еще чего
Ну, я на самом деле в свой редактор заглянул, и конкретно у героя Аларика видел только 2 анимации, так что не знаю, может это от версии игры зависит.
Кстати, оцените сам скрипт
Если нужна критика, я бы:
- избегал "магических" чисел (4 вместо названия ресурса).
- вынес повторяющиеся строковые константы в переменные, чтобы в случае изменения достаточно было поменять в одном месте (если игрок всегда под номером 1 и имеет одного главного героя)
player_id = PLAYER_1;
player_hero = 'Markel2';
- заменил некрасивую конструкцию с выдачей ресурсов на функцию
function SetRes(res, num)
local curr_num = GetPlayerResource(player_id, res);
SetPlayerResource(player_id, res, curr_num + num, player_hero);
end
- если планируется много эффектов, вынес бы их неудобоваримые названия в отдельную таблицу, вот кусочек из "Пути героя" (реально там забито гораздо больше эффектов):
-- список эффектов для PlayVisualEffect
effects_table =
{
['Haste'] = 'Spells/Haste', -- ветерок
['StoneSkin'] = 'Spells/StoneSkin', -- каменная стена вокруг
['Bless'] = 'Spells/Bless', -- свет с небес
['DeflectArrows'] = 'Spells/DeflectArrows', -- что-то вроде щита сбоку
['Dispel'] = 'Spells/Dispel', -- магический туман, заканчивающийся взрывом
['Dispel_fail'] = 'Spells/Dispel_fail', -- магический туман без взрыва
};
function GetEffectName(id)
return '/Effects/_(Effect)/'..effects_table[id]..'.xdb#xpointer(/Effect)'
end
PlayVisualEffect(GetEffectName('Dispel'), ...);