diff options
Diffstat (limited to 'Northstar.CustomServers/mod/scripts/vscripts/sh_utility_all.gnut')
-rw-r--r-- | Northstar.CustomServers/mod/scripts/vscripts/sh_utility_all.gnut | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/sh_utility_all.gnut b/Northstar.CustomServers/mod/scripts/vscripts/sh_utility_all.gnut index a6044762..1c509660 100644 --- a/Northstar.CustomServers/mod/scripts/vscripts/sh_utility_all.gnut +++ b/Northstar.CustomServers/mod/scripts/vscripts/sh_utility_all.gnut @@ -348,16 +348,23 @@ string function GetMapDisplayDesc( string mapname ) return "#" + mapname + "_CLASSIC_DESC" } -string function StringReplace( string baseString, string searchString, string replaceString ) +string function StringReplace( string baseString, string searchString, string replaceString, bool replaceAll = false, bool caseInsensitive = false ) { - var findResult = baseString.find( searchString ) - - if ( findResult != null ) + bool loopedOnce = false + string source = caseInsensitive ? baseString.tolower() : baseString + var findResult = source.find( searchString ) + while ( findResult != null && !(loopedOnce && !replaceAll)) { string part1 = baseString.slice( 0, findResult ) string part2 = baseString.slice( findResult + searchString.len(), baseString.len() ) baseString = part1 + replaceString + part2 + source = part1 + replaceString + part2 + + loopedOnce = true + findResult = source.find( searchString ) + print("LOOPED ONCE") + print(findResult) } return baseString |