Damage

byEvanthe

Пляшущий с бубном
Пользователь
Сообщения
65
Розыгрыши
0
Репутация
0
Реакции
4
Баллы
210
Hello everyone, it is possible to display damage on screen on H5? And if it's possible, i can find a tutorial about how to make it done
?Thank you !
 
I saw this, but there isn't a start & end of the tutorial. Idk how to add/modify etc. I dont know the package where i should write etc etc
 
I saw this, but there isn't a start & end of the tutorial. Idk how to add/modify etc. I dont know the package where i should write etc etc
well, for tutorial a bit harder, but unless you don't know how to add/change Interface.u/Interface.xdat - i suggest looking towards paying someone (i know bad example). Try as starting point (its in russian, but you can just follow what he is doing, kind of understanding).
Once u know how to edit/work with .u and .xdat files - that topic will make more sense.
 
Why i don't have the option as in video in my XDAT?

I have this
 
Yes but i have to do 28 ))))))))))))))))))))))))))))))))))


Done!

It's done all 28 !!
 
Последнее редактирование модератором:
Реакции: Vasi
Well, i don;t know how to do that But with little help, i can
 
Where i should write this `FormatNumberWithSpaces` and it is function?
 
Запрещено публиковать исходный код без BB-кода — CODE
Well, i don;t know where in this class to add
that
/************************************************

Developer: BITHACK

Copyright (c) 1995,2022 Your company

Script description:....

*************************************************/
class BIT_DemageHUD extends UICommonAPI;

var WindowHandleMe;

const DAMAGE_MESSAGE_OFFSET = 100;
const MAX_DAMAGE_MESSAGE = 28;
var TextBoxHandle DamageText[MAX_DAMAGE_MESSAGE]; //that's how many TextBoxes we need in xdat, i.e. 28

function OnRegisterEvent(){ /* Register game events */

RegisterEvent(EV_SystemMessage);

}

function OnLoad() {

local int i;

Me = GetWindowHandle("BIT_DemageHUD");

for (i=0; i<=MAX_DAMAGE_MESSAGE; i++){
DamageText = GetTextBoxHandle("BIT_DemageHUD.D-" $i);
DamageText.SetText("");
}

}

function OnEvent(int Event_ID, string a_param){

if(Event_ID == EV_SystemMessage) {
HandleSystemMessage(a_param);
}

}

function HandleSystemMessage (string a_Param){

local Color RedColor, WhiteColor;
local int SystemMsgIndex;

ParseInt(a_Param,"Index",SystemMsgIndex);

RedColor.R = 205; RedColor.G = 0; RedColor.B = 0;

WhiteColor.R = 255; WhiteColor.G = 255; WhiteColor.B = 255;

switch (SystemMsgIndex)
{
case 2261: //player msg
case 2281: //summoner msg
DemageHud(WhiteColor, a_param); //Our damage, color white
break;
case 2262: //player msg
case 2263: //player msg
DemageHud(RedColor, a_param); //Damage from enemy, color red
break;
}

}


function DemageHud(Color DColor, string a_param){

local int DamageToPlayer, i;

for(i=0; i <= MAX_DAMAGE_MESSAGE; i++)
{
if(DamageText.GetText() == "") //run in a loop until we hit a free TextBox
{
DamageText.SetAlpha(255); //force opacity, in theory you can tweak the fade in

ParseInt( a_Param, "Param3", DamageToPlayer); //damage number
DamageText.SetText(string(DamageToPlayer)); //set the damage number to a free index of the textbox array
DamageText.SetAnchor( "BIT_DemageHUD", "BottomCenter", "BottomCenter", -120 + Rand(150), Rand(100) ); //select a random point
DamageText.ClearAnchor(); //remove the anchor from the window after the previous action
DamageText.Move(0, -1500, 8f); //start moving the textbox to -1500 (up) with a speed of 8
DamageText.SetTextColor(DColor);
DamageText.SetAlpha( 0, 2.8f ); //smoothly make the textbox transparent
Me.KillTimer(i + DAMAGE_MESSAGE_OFFSET + 1); //kill the timer (index + constant + 1)
Me.SetTimer(i + DAMAGE_MESSAGE_OFFSET + 1, 2500); //we start a timer for this textbox based on the same (index + constant + 1)
break;
}
}

}

function OnTimer(int TimerID){

Me.KillTimer(TimerID); //we kill any timer at the very beginning, the ID is not important to us here

if(TimerID >= 101 && TimerID <= 200) //Here the logic of the factory timer index + DAMAGE_MESSAGE_OFFSET is connected
{
DamageText[TimerID-DAMAGE_MESSAGE_OFFSET-1].SetText(""); //remove the text from the textbox so that it is freed
}

}

defaultproperties{}


Just tell me in what function i should add this FormatNumberWithSpaces(value);
 
Последнее редактирование модератором:
Just tell me in what function i should add this FormatNumberWithSpaces(value);

DamageText.SetText(string(DamageToPlayer)); //set the damage number to a free index of the textbox array
change to
DamageText.SetText(FormatNumberWithSpaces(DamageToPlayer)); //set the damage number to a free index of the textbox array

if it works, great, if not - ignore it.
All that function does - is change the numbers from 111111111 to 111 111 111. Makes it look better, ish.
 
not even sure where this comes from. ignore it than. use what you have