Интерфейс отображение хп таргета

WangYi

Постоялец
Местный
Сообщения
698
Розыгрыши
0
Решения
2
Репутация
148
Реакции
251
Баллы
1 028
Гайс подкиньте пару идей или примеров реализации, чтобы в интерфейсе показывалось текущее хп таргета. В целом пофиг где и вместо чего, важно именно чтобы отображало в реальном времени. Лучше поверх всего остального, т.к. числа могут достигать миллиарда.
HP.png
 
Решение
Добавить это в функцию UpdateHPBar
C#:
barHP.SetTooltipCustomType(MakeTooltipSimpleText(MakeCostString(string(HP)) $" / "$ MakeCostString(string(MaxHP))));


самому barHP выдать тип тултипа Text, в xdat, или можешь в коде, как хочешь

1630754424696.png
Добавить это в функцию UpdateHPBar
C#:
barHP.SetTooltipCustomType(MakeTooltipSimpleText(MakeCostString(string(HP)) $" / "$ MakeCostString(string(MaxHP))));


самому barHP выдать тип тултипа Text, в xdat, или можешь в коде, как хочешь

1630754424696.png
 
Решение
Гайс подкиньте пару идей или примеров реализации, чтобы в интерфейсе показывалось текущее хп таргета. В целом пофиг где и вместо чего, важно именно чтобы отображало в реальном времени. Лучше поверх всего остального, т.к. числа могут достигать миллиарда.
Посмотреть вложение 38726
Могу подкинуть идею сделать это в %. У нас на сервере так.

1630755290799.webp
 
Хотел бы спросить те кто реализовали кол-во МП. Это делается без серверной части? Конкретнее. Сервер при взятии моба в таргет оправляет в пакете кол-во мп? Просто у меня МП начинает отображаться только после того как моб был атакован. Хотел уточнить этот момент. Спасибо.
 
Хотел бы спросить те кто реализовали кол-во МП. Это делается без серверной части? Конкретнее. Сервер при взятии моба в таргет оправляет в пакете кол-во мп? Просто у меня МП начинает отображаться только после того как моб был атакован. Хотел уточнить этот момент. Спасибо.
на птсе вообще никак не обновляется, даже если принудительно его открыть и убрать все заглушки
1632893923770.png

сама причина в том, что структура userinfo не содержит данные о cur\max MP в отношении таргетов (кроме своего кажется и пета\саммона)
если докидывать данные в структуру - шкалу тоже можно завести
 
Гайс подкиньте пару идей или примеров реализации, чтобы в интерфейсе показывалось текущее хп таргета. В целом пофиг где и вместо чего, важно именно чтобы отображало в реальном времени. Лучше поверх всего остального, т.к. числа могут достигать миллиарда.
Посмотреть вложение 38726
Не знаю правильно ли тебя понял, и код писал в браузере надеюсь нет ошибок)
По идеи должно работать начиная с HF хроник.

C++:
function OnLoad()
{ 
RegisterEvent(EV_TargetUpdate);//Подпишись на событие
}

function OnEvent(int Event_ID, string param)//Произошло событие
{   
    
local UserInfo a_UserInfo;//Структура UserInfo
    
    if (Event_ID == EV_TargetUpdate)//Если наше событие тогда выполним
    {
    
GetTargetInfo( a_UserInfo ); //Получим инфу из таргета

Выводим куда хотим  = TargetInfo("HP", a_UserInfo); //Получим HP в данный момен (Меняем на CP, HP, MP)
        
    }
    
//Чужое CP HP MP
function int TargetInfo(String name, UserInfo TargetInfo){ //Своя функция

    switch( name )
    {
    case "CP":
    return TargetInfo.nCurCP;
    break;
    case "HP":
    return TargetInfo.nCurHP;
    break;
    case "MP":
    return TargetInfo.nCurMP;
    break;
    }
 
Не знаю правильно ли тебя понял, и код писал в браузере надеюсь нет ошибок)
По идеи должно работать начиная с HF хроник.

C++:
function OnLoad()
{
RegisterEvent(EV_TargetUpdate);//Подпишись на событие
}

function OnEvent(int Event_ID, string param)//Произошло событие
{  
   
local UserInfo a_UserInfo;//Структура UserInfo
   
    if (Event_ID == EV_TargetUpdate)//Если наше событие тогда выполним
    {
   
GetTargetInfo( a_UserInfo ); //Получим инфу из таргета

Выводим куда хотим  = TargetInfo("HP", a_UserInfo); //Получим HP в данный момен (Меняем на CP, HP, MP)
       
    }
   
//Чужое CP HP MP
function int TargetInfo(String name, UserInfo TargetInfo){ //Своя функция

    switch( name )
    {
    case "CP":
    return TargetInfo.nCurCP;
    break;
    case "HP":
    return TargetInfo.nCurHP;
    break;
    case "MP":
    return TargetInfo.nCurMP;
    break;
    }
сама причина в том, что структура userinfo не содержит данные о cur\max MP в отношении таргетов (кроме своего кажется и пета\саммона)
 
Я отказался от затеи с мп и сделал так:
target_status.png
Сделал возможность выбирать какой режим использовать.
 
  • Мне нравится
Реакции: Rolo

    Rolo

    Баллов: 8
    Крутая идея, пожалуй, подрежу ее себе. )))
Скорей всего автор про слои спрашивал (слои, *z-index)
1638688845694.webp
 
Возможно так будет работать - по стандарту.

C++:
    RegisterEvent( EV_UpdateHP );
    RegisterEvent( EV_UpdateMP );
    RegisterEvent( EV_UpdateMaxHP );
    RegisterEvent( EV_UpdateMaxMP );

    //////////////////////////////////////

    RegisterEvent( EV_UpdateMyHP );
    RegisterEvent( EV_UpdateMyMP );
    RegisterEvent( EV_UpdateMyMaxHP );
    RegisterEvent( EV_UpdateMyMaxMP )
 
сама причина в том, что структура userinfo не содержит данные о cur\max MP в отношении таргетов (кроме своего кажется и пета\саммона)
Вот точно не помню, но когда-то давно тоже пытался на рпг клабе сделать вывод мп таргета моба: он всегда показывал вроде 0, но кода моб юзал какой-то скилл или еще при каком-то условии (непомню) приходило вроде бы адекватное значение мп, но мб это было давно и я что-то путаю)
 
Вот точно не помню, но когда-то давно тоже пытался на рпг клабе сделать вывод мп таргета моба: он всегда показывал вроде 0, но кода моб юзал какой-то скилл или еще при каком-то условии (непомню) приходило вроде бы адекватное значение мп, но мб это было давно и я что-то путаю)
Это 2 разных пакета вроде как. Тот же эффект был.
 
Назад
Сверху Снизу