Туториал. Как спрятать здоровье команд.
Иногда, когда команд в игре много, отображение здоровья затрудняет игру. И это лично меня раздражает. Потому решил сделать такую маленькую, но имхо полезную модификацию.
1) Рисование здоровья происходит в uWorld.pas в процедуре DrawWorld. Прямо под комментом
// Teams Healths
2) Нам нужно объявить флаг, который будет контролировать отображение здоровья и процедуру - переключатель флага.
Процедуру объявим в интерфейсе модуля uWorld, а сам флаг в переменных реализации.
3) далее берём блок кода с рисованием здоровья в if.
if flag then begin // рисование здоровья end;
4) процедура переключатель будет такая
procedure SwitchFlag; begin flag:= not flag; end;
5) далее идём в uCommandHandlers.pas и там создаём команду, чтобы нам всё забиндить на клавишу.
5.1) в uses uCommandHandlers добавим uWorld
5.2) добавим процедуру команды
procedure chSwitchFlag(var s: shortstring); begin s:= s; // avoid compiler hint SwitchFlag; end;
5.3) регистрируем команду. Это в InitModule.
RegisterVariable('switchflag',vtCommand,@chSwitchFlag,true);
6) Биндим клавишу. Кому как удобней. Тру способ сделать это в коде фронтенда (такова задумка архитектора), но мне удобней делать это в uTeams.pas. В процедуру chAddTeam в uTeams.pas добавляем следующий код
if not CurrentTeam^.ExtDriven then begin CurrentTeam^.Binds[KeyNameToCode('q')] := 'switchflag'; end;
Всё. теперь на q у нас будет возможность скрыть/показать здоровье команд.
Названия переменных и процедур подберите на свой вкус. Я обозвал схематично.
Если что не понятно, пишите. будем делать вместе.
hedgewars forever!
ах да! чуть не забыл -)) надо в uWorld.pas в InitWorld написать flag:= true;
Что будет значить, что по умолчанию мы видим здоровье команд. Написать можно прямо первой строчкой (вообще без разницы, в каком месте процедуры xD).
hedgewars forever!
почему такие удобности не добавляют в игру?
кстати, ещё хорошо что-бы запоминалось состояние подобных настроек в игре, а не каждый раз заново тыкать.
фиг знает почему, не считают это проблемой или неудобством.
hedgewars forever!
Уже это добавили))) Всем спасибо, все свободны... Кстати твоя настройка великолепная))) Помогло..
А что будет в версии 0.9.21???