@@ -40,7 +40,7 @@ public void Init(ICoreServerAPI serverAPI)
40
40
{
41
41
api = serverAPI ;
42
42
// Update player levels when player enters in the world
43
- api . Event . PlayerNowPlaying += UpdatePlayerLevels ;
43
+ api . Event . PlayerNowPlaying += ( IServerPlayer player ) => UpdatePlayerLevels ( player , api ) ;
44
44
45
45
// Enable levels
46
46
if ( Configuration . enableLevelHunter ) levelHunter . Init ( this ) ;
@@ -206,7 +206,7 @@ public void OnChannelMessage(IServerPlayer player, ServerMessage bruteMessage)
206
206
{
207
207
switch ( bruteMessage . message )
208
208
{
209
- case "UpdateLevels" : UpdatePlayerLevels ( player ) ; return ;
209
+ case "UpdateLevels" : UpdatePlayerLevels ( player , api ) ; return ;
210
210
case "GetEnabledLevels" : GetEnabledLevels ( player ) ; return ;
211
211
}
212
212
}
@@ -789,7 +789,7 @@ void SaveLevels(Dictionary<string, ulong> levels)
789
789
#endregion
790
790
}
791
791
792
- private void UpdatePlayerLevels ( IServerPlayer player )
792
+ public static void UpdatePlayerLevels ( IServerPlayer player , ICoreServerAPI api )
793
793
{
794
794
// Get all players saved level
795
795
Dictionary < string , ulong > GetSavedLevels ( string levelType )
@@ -886,7 +886,7 @@ private static void GetEnabledLevels(IServerPlayer player)
886
886
}
887
887
888
888
public static readonly Dictionary < string , long > playersHardcoreDelay = [ ] ;
889
- static public void ResetPlayerLevels ( IServerPlayer player , ICoreServerAPI api , double overwriteLose = - 1 )
889
+ static public void ResetPlayerLevels ( IServerPlayer player , ICoreServerAPI api , double overwriteLose = - 1 )
890
890
{
891
891
// Check if delay config is enabled
892
892
if ( Configuration . hardcorePenaltyDelayInWorldSeconds > 0 && overwriteLose == - 1 )
@@ -922,7 +922,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
922
922
923
923
{
924
924
Dictionary < string , ulong > level = GetSavedLevels ( "Hunter" ) ;
925
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
925
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
926
926
{
927
927
double newValue = value * ( ulong ) losePercentage ;
928
928
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -931,7 +931,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
931
931
}
932
932
{
933
933
Dictionary < string , ulong > level = GetSavedLevels ( "Bow" ) ;
934
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
934
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
935
935
{
936
936
double newValue = value * ( ulong ) losePercentage ;
937
937
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -940,7 +940,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
940
940
}
941
941
{
942
942
Dictionary < string , ulong > level = GetSavedLevels ( "Knife" ) ;
943
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
943
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
944
944
{
945
945
double newValue = value * ( ulong ) losePercentage ;
946
946
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -949,7 +949,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
949
949
}
950
950
{
951
951
Dictionary < string , ulong > level = GetSavedLevels ( "Axe" ) ;
952
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
952
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
953
953
{
954
954
double newValue = value * ( ulong ) losePercentage ;
955
955
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -958,7 +958,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
958
958
}
959
959
{
960
960
Dictionary < string , ulong > level = GetSavedLevels ( "Pickaxe" ) ;
961
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
961
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
962
962
{
963
963
double newValue = value * ( ulong ) losePercentage ;
964
964
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -967,7 +967,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
967
967
}
968
968
{
969
969
Dictionary < string , ulong > level = GetSavedLevels ( "Shovel" ) ;
970
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
970
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
971
971
{
972
972
double newValue = value * ( ulong ) losePercentage ;
973
973
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -976,16 +976,18 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
976
976
}
977
977
{
978
978
Dictionary < string , ulong > level = GetSavedLevels ( "Spear" ) ;
979
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
979
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
980
980
{
981
981
double newValue = value * ( ulong ) losePercentage ;
982
982
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
983
983
}
984
984
api . WorldManager . SaveGame . StoreData ( "LevelUPData_Spear" , JsonSerializer . Serialize ( level ) ) ;
985
985
}
986
986
{
987
+ Debug . Log ( "ALRIGHTT CALLED" ) ;
987
988
Dictionary < string , ulong > level = GetSavedLevels ( "Hammer" ) ;
988
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
989
+ Debug . Log ( $ "{ level . TryGetValue ( player . PlayerUID , out ulong flinstons ) } : { flinstons } ") ;
990
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
989
991
{
990
992
double newValue = value * ( ulong ) losePercentage ;
991
993
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -994,7 +996,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
994
996
}
995
997
{
996
998
Dictionary < string , ulong > level = GetSavedLevels ( "Sword" ) ;
997
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
999
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
998
1000
{
999
1001
double newValue = value * ( ulong ) losePercentage ;
1000
1002
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -1003,7 +1005,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
1003
1005
}
1004
1006
{
1005
1007
Dictionary < string , ulong > level = GetSavedLevels ( "Shield" ) ;
1006
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
1008
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
1007
1009
{
1008
1010
double newValue = value * ( ulong ) losePercentage ;
1009
1011
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -1012,7 +1014,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
1012
1014
}
1013
1015
{
1014
1016
Dictionary < string , ulong > level = GetSavedLevels ( "Hand" ) ;
1015
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
1017
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
1016
1018
{
1017
1019
double newValue = value * ( ulong ) losePercentage ;
1018
1020
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -1021,7 +1023,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
1021
1023
}
1022
1024
{
1023
1025
Dictionary < string , ulong > level = GetSavedLevels ( "Farming" ) ;
1024
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
1026
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
1025
1027
{
1026
1028
double newValue = value * ( ulong ) losePercentage ;
1027
1029
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -1030,7 +1032,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
1030
1032
}
1031
1033
{
1032
1034
Dictionary < string , ulong > level = GetSavedLevels ( "Cooking" ) ;
1033
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
1035
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
1034
1036
{
1035
1037
double newValue = value * ( ulong ) losePercentage ;
1036
1038
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -1039,7 +1041,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
1039
1041
}
1040
1042
{
1041
1043
Dictionary < string , ulong > level = GetSavedLevels ( "Panning" ) ;
1042
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
1044
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
1043
1045
{
1044
1046
double newValue = value * ( ulong ) losePercentage ;
1045
1047
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -1048,7 +1050,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
1048
1050
}
1049
1051
{
1050
1052
Dictionary < string , ulong > level = GetSavedLevels ( "Vitality" ) ;
1051
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
1053
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
1052
1054
{
1053
1055
double newValue = value * ( ulong ) losePercentage ;
1054
1056
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -1057,7 +1059,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
1057
1059
}
1058
1060
{
1059
1061
Dictionary < string , ulong > level = GetSavedLevels ( "LeatherArmor" ) ;
1060
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
1062
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
1061
1063
{
1062
1064
double newValue = value * ( ulong ) losePercentage ;
1063
1065
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -1066,7 +1068,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
1066
1068
}
1067
1069
{
1068
1070
Dictionary < string , ulong > level = GetSavedLevels ( "ChainArmor" ) ;
1069
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
1071
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
1070
1072
{
1071
1073
double newValue = value * ( ulong ) losePercentage ;
1072
1074
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -1075,7 +1077,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
1075
1077
}
1076
1078
{
1077
1079
Dictionary < string , ulong > level = GetSavedLevels ( "BrigandineArmor" ) ;
1078
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
1080
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
1079
1081
{
1080
1082
double newValue = value * ( ulong ) losePercentage ;
1081
1083
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -1084,7 +1086,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
1084
1086
}
1085
1087
{
1086
1088
Dictionary < string , ulong > level = GetSavedLevels ( "PlateArmor" ) ;
1087
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
1089
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
1088
1090
{
1089
1091
double newValue = value * ( ulong ) losePercentage ;
1090
1092
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -1093,7 +1095,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
1093
1095
}
1094
1096
{
1095
1097
Dictionary < string , ulong > level = GetSavedLevels ( "ScaleArmor" ) ;
1096
- if ( level . TryGetValue ( player . PlayerName , out ulong value ) && value > 0 )
1098
+ if ( level . TryGetValue ( player . PlayerUID , out ulong value ) && value > 0 )
1097
1099
{
1098
1100
double newValue = value * ( ulong ) losePercentage ;
1099
1101
level [ player . PlayerUID ] = ( ulong ) Math . Round ( newValue ) ;
@@ -1103,7 +1105,7 @@ Dictionary<string, ulong> GetSavedLevels(string levelType)
1103
1105
if ( overwriteLose == - 1 )
1104
1106
{
1105
1107
if ( Configuration . enableExtendedLog )
1106
- Debug . Log ( $ "{ player . PlayerName } died and lost { ( int ) ( ( 1.0 - losePercentage ) * 100 ) } % of all experience") ;
1108
+ Debug . Log ( $ "{ player . PlayerUID } died and lost { ( int ) ( ( 1.0 - losePercentage ) * 100 ) } % of all experience") ;
1107
1109
if ( Configuration . hardcoreMessageWhenDying )
1108
1110
communicationChannel . SendPacket ( new ServerMessage ( ) { message = $ "playerhardcoredied&{ ( int ) ( ( 1.0 - losePercentage ) * 100 ) } " } , player ) ;
1109
1111
}
0 commit comments