Purpose: The level system is used for character upgrades, bonus points, etc
The empirical calculation method is: basic experience * (next level ^ experience algorithm multiplier)
Each level up can earn an unallocated ability point
Ability points can be allocated for attribute bonuses
Variable Name | Explain |
---|---|
LevelBaseExp | BaseExp |
LevelIndexExp | Empirical Algorithm Multiplication |
Level | Current level, starting from 0 |
MaxLevel | MaxLevel |
Experience | Current Experience |
ExperienceRegenSecond | Automatically increasing experience per second (even if doing nothing) |
UnallocatedPoint | Current unassigned ability points |
AllowUsePointTypes(Setting) | Ability types allowed for allocation |
Function Name | Explain |
---|---|
GetLevel() | GetLevel |
GetLastLevelExp() | Obtain the required experience points for the previous level |
GetNextLevelExp() | Obtain the required experience points for the next level |
GetExp() | Obtain current experience value |
AddExp(float Exp) | Increase experience value,only server or host usage only |
GetLevelUpPoint(EAbilityStatType StatType) | Obtain the assigned points of the level |
ServerApplyPoint(APlayerController* PC,EAbilityStatType StatType) | Players use this function to allocate points and increase attributes This function is limited to assigning one's own points To allocate enemy or friendly AI points, please use UltimateControllerComponent::ServerApplyPoint |
Override Function/Event Delegate | Explain |
---|---|
PlayApplyPointSound(Override) | Successfully played the sound effect of adding points |
OnExpAdded(Delegate) | When adding experience, the client will receive notifications and call |
OnLevelUp(Delegate) | When adding experience and upgrading, the client will call, Suggest playing upgraded sound effects here |
Problem:
Unable to allocate points: Check if AllowUsePointTypes contains attribute types