CharlesVercetti 386 Posted August 26, 2017 (edited) Don't forget to download the new version with text shadow color changing support! Just a fun mod for GTA: Vice City to add some new colors to the HUD elements.While working with my Rectangular HUD,I thought "Why not create a script and add the colors through it?"Because in the previous release I included a modified EXE for colours.It was ignored afterall,so I just created this script to replace the EXE method.Also,when I searched for color modifications in Google,I got zero results.Hope this will reach to those people who were in need of this.Special thanks to:@spaceeinstein ,for providing memory addresses. @DK22Pac ,for PluginSDK.Contents: chhudcol.VC.asi ChangeableHUDColors.ini readme.txt SA.ini LCS.ini IV.ini V.ini VCS.ini Download: NewColorsHUD.zip(deprecated) | Mediafire | GTAGaragechhudcol.zip(ASI plugin) | Mediafire | GTAGarage(unavailable) chhudcolv2.zip(updated) | Mediafire | GTAGarage(unavailable) Screenshots: 1.GTA3 2.GTA SA 3.GTA LCS 4.GTA VCS 5,GTA IV 6.GTA V 6.Shadow Colour Changing Feature How to install? Download the chhudcol.zip and extract it. Copy the contents in the "Changeable HUD Colors" folder to "scripts" folder or directly in GTA:VC root folder. You can add and use your own color choice(RGB palette) to the ChangeableHUDColors.ini file. Edited June 21, 2018 by CharlesVercetti Quote Share this post Link to post Share on other sites
Sandris Gjoka 57 Posted October 13, 2017 Nice Quote Share this post Link to post Share on other sites
Apu889 77 Posted October 13, 2017 decent! btw why not using an .ini file to configure colors easily, rather than recompiling each script? Quote Share this post Link to post Share on other sites
CharlesVercetti 386 Posted October 14, 2017 decent! btw why not using an .ini file to configure colors easily, rather than recompiling each script? Nice idea,but does VC CLEO support INI Configs? Quote Share this post Link to post Share on other sites
Jack 465 Posted October 15, 2017 (edited) Nice idea,but does VC CLEO support INI Configs? Yes but you need new opcodes for III and VC: http://gtaforums.com/topic/807185-cleo-20/ or you can make an asi with the SDK plugin: https://github.com/DK22Pac/plugin-sdk Edited October 15, 2017 by Jack Quote Share this post Link to post Share on other sites
CharlesVercetti 386 Posted October 16, 2017 (edited) Nice idea,but does VC CLEO support INI Configs? Yes but you need new opcodes for III and VC: http://gtaforums.com/topic/807185-cleo-20/ or you can make an asi with the SDK plugin: https://github.com/DK22Pac/plugin-sdk It supports only 16 local variables to be assigoned. Meanwhile,how do I define terms in the .ini?The codeline states that it takes two stuff in consideration - Section Name and key.For now I attempted doing a .ini something like this MONEY RED=255 GREEN=255 BLUE=255 HEALTH RED=255 GREEN=255 BLUE=255 HEALTHICON RED=255 GREEN=255 BLUE=255 ARMOR RED=255 GREEN=255 BLUE=255 ARMORICON RED=255 GREEN=255 BLUE=255 AMMOCOUNT RED=255 GREEN=255 BLUE=255 WANTEDACTIVE RED=255 GREEN=255 BLUE=255 WANTEDSUSPENDED RED=255 GREEN=255 BLUE=255 WANTEDINACTIVE RED=255 GREEN=255 BLUE=255 VEHICLE RED=255 GREEN=255 BLUE=255 ZONE RED=255 GREEN=255 BLUE=255 TIME RED=255 GREEN=255 BLUE=255 It is a failure. Edited October 16, 2017 by CharlesVercetti Quote Share this post Link to post Share on other sites
MKKJ 269 Posted October 16, 2017 Meanwhile,how do I define terms in the .ini?The codeline states that it takes two stuff in consideration - Section Name and key.For now I attempted doing a .ini something like this MONEY RED=255 GREEN=255 BLUE=255 HEALTH RED=255 GREEN=255 BLUE=255 HEALTHICON RED=255 GREEN=255 BLUE=255 ARMOR RED=255 GREEN=255 BLUE=255 ARMORICON RED=255 GREEN=255 BLUE=255 AMMOCOUNT RED=255 GREEN=255 BLUE=255 WANTEDACTIVE RED=255 GREEN=255 BLUE=255 WANTEDSUSPENDED RED=255 GREEN=255 BLUE=255 WANTEDINACTIVE RED=255 GREEN=255 BLUE=255 VEHICLE RED=255 GREEN=255 BLUE=255 ZONE RED=255 GREEN=255 BLUE=255 TIME RED=255 GREEN=255 BLUE=255 It is a failure. Config format should go like this [sectionName]Key = (desired value) In CLEO 0AF0: [email protected] = get_int_from_ini_file "cleo\config.ini" section "SectionName" key "Key" // [email protected] = (desired value) Which means in your example, it would be like [MONEY]RED=255GREEN=255BLUE=255[HEALTH]RED=255GREEN=255BLUE=255;so on... In CLEO 0AF0: [email protected] = get_int_from_ini_file "cleo\config.ini" section "MONEY" key "RED" // [email protected] = 2550AF0: [email protected] = get_int_from_ini_file "cleo\config.ini" section "MONEY" key "GREEN" // [email protected] = 2550AF0: [email protected] = get_int_from_ini_file "cleo\config.ini" section "MONEY" key "BLUE" // [email protected] = 255// so on... Quote Share this post Link to post Share on other sites
CharlesVercetti 386 Posted October 17, 2017 (edited) Meanwhile,how do I define terms in the .ini?The codeline states that it takes two stuff in consideration - Section Name and key.For now I attempted doing a .ini something like this MONEY RED=255 GREEN=255 BLUE=255 HEALTH RED=255 GREEN=255 BLUE=255 HEALTHICON RED=255 GREEN=255 BLUE=255 ARMOR RED=255 GREEN=255 BLUE=255 ARMORICON RED=255 GREEN=255 BLUE=255 AMMOCOUNT RED=255 GREEN=255 BLUE=255 WANTEDACTIVE RED=255 GREEN=255 BLUE=255 WANTEDSUSPENDED RED=255 GREEN=255 BLUE=255 WANTEDINACTIVE RED=255 GREEN=255 BLUE=255 VEHICLE RED=255 GREEN=255 BLUE=255 ZONE RED=255 GREEN=255 BLUE=255 TIME RED=255 GREEN=255 BLUE=255 It is a failure. Config format should go like this [sectionName]Key = (desired value)In CLEO 0AF0: [email protected] = get_int_from_ini_file "cleo\config.ini" section "SectionName" key "Key" // [email protected] = (desired value)Which means in your example, it would be like [MONEY]RED=255GREEN=255BLUE=255[HEALTH]RED=255GREEN=255BLUE=255;so on...In CLEO 0AF0: [email protected] = get_int_from_ini_file "cleo\config.ini" section "MONEY" key "RED" // [email protected] = 2550AF0: [email protected] = get_int_from_ini_file "cleo\config.ini" section "MONEY" key "GREEN" // [email protected] = 2550AF0: [email protected] = get_int_from_ini_file "cleo\config.ini" section "MONEY" key "BLUE" // [email protected] = 255// so on... Thanks for that. Another question....Do I have to seperate the script in two parts.'Cause VC CLEO supports max.16 variables.. Edited October 17, 2017 by CharlesVercetti Quote Share this post Link to post Share on other sites
MKKJ 269 Posted October 17, 2017 (edited) Thanks for that.Another question....Do I have to seperate the script in two parts.'Cause VC CLEO supports max.16 variables.. There are several trick to add extra variables in cleo script, though i never tested it in VC. One of them using read_memory and write_memory. Crspy put it nicely here. Edited October 17, 2017 by MKKJ Quote Share this post Link to post Share on other sites
DK22Pac 2,479 Posted October 17, 2017 If you code consists mainly of read_memory and write_memory commands, I'd recommend you to not use CLEO (SCM scripting) at all. If there's already a great solution, why not using it? Here's how everything can be done with C++ and plugin-sdk: #include "plugin.h"using namespace plugin;class ChangeableHudColors {public: ChangeableHudColors() { config_file conf(PLUGIN_PATH("ChangeableHudColors.ini")); std::string preset = conf["USE_PRESET"].asString("III"); auto WriteColor = [](unsigned int addrR, unsigned int addrG, unsigned int addrB, CRGBA const &clr) { patch::SetUChar(addrR, clr.red); patch::SetUChar(addrG, clr.green); patch::SetUChar(addrB, clr.blue); }; WriteColor(5604015, 5604010, 5604005, conf[preset + ".MoneyColor" ].asRGBA()); WriteColor(5606313, 5606308, 5606303, conf[preset + ".HealthColor" ].asRGBA()); WriteColor(5606542, 5606502, 5606497, conf[preset + ".HealthIconColor" ].asRGBA()); WriteColor(5606950, 5606945, 5606940, conf[preset + ".ArmorColor" ].asRGBA()); WriteColor(5607166, 5607126, 5607121, conf[preset + ".ArmorIconColor" ].asRGBA()); WriteColor(5605570, 5605565, 5605560, conf[preset + ".AmmoColor" ].asRGBA()); WriteColor(5607626, 5607621, 5607616, conf[preset + ".WantedActiveColor" ].asRGBA()); WriteColor(5607720, 5607715, 5607710, conf[preset + ".WantedSuspendedColor"].asRGBA()); WriteColor(5607792, 5607790, 5607785, conf[preset + ".WantedInactiveColor" ].asRGBA()); WriteColor(5609812, 5609807, 5609805, conf[preset + ".ZoneColor" ].asRGBA()); WriteColor(5610979, 5610974, 5610969, conf[preset + ".VehicleColor" ].asRGBA()); WriteColor(5611409, 5611404, 5611399, conf[preset + ".TimeColor" ].asRGBA()); }} changeableHudColors;And your settings file will look like this: USE_PRESET = LCS# Parameter #R #G #BIII.MoneyColor = 85 108 144III.HealthColor = 178 95 48III.HealthIconColor = 178 95 48III.ArmorColor = 119 132 86III.ArmorIconColor = 119 132 86III.AmmoColor = 0 0 0III.WantedActiveColor = 206 170 136III.WantedSuspendedColor = 21 106 23III.WantedInactiveColor = 0 0 0III.ZoneColor = 148 150 80III.VehicleColor = 188 160 117III.TimeColor = 186 185 115SA.MoneyColor = 54 104 44SA.HealthColor = 180 25 29SA.HealthIconColor = 150 25 29SA.ArmorColor = 225 225 225SA.ArmorIconColor = 225 225 225SA.AmmoColor = 172 203 241SA.WantedActiveColor = 144 98 16SA.WantedSuspendedColor = 82 56 9SA.WantedInactiveColor = 0 0 0SA.ZoneColor = 172 203 241SA.VehicleColor = 54 104 44SA.TimeColor = 225 225 225LCS.MoneyColor = 60 149 46LCS.HealthColor = 202 11 10LCS.HealthIconColor = 202 11 10LCS.ArmorColor = 69 160 231LCS.ArmorIconColor = 69 160 231LCS.AmmoColor = 255 255 255LCS.WantedActiveColor = 255 203 51LCS.WantedSuspendedColor = 82 56 9LCS.WantedInactiveColor = 0 0 0LCS.ZoneColor = 255 255 255LCS.VehicleColor = 255 255 255LCS.TimeColor = 255 203 51VCS.MoneyColor = 40 102 35VCS.HealthColor = 208 86 133VCS.HealthIconColor = 209 86 133VCS.ArmorColor = 15 224 219VCS.ArmorIconColor = 15 224 219VCS.AmmoColor = 255 255 255VCS.WantedActiveColor = 255 203 51VCS.WantedSuspendedColor = 82 56 9VCS.WantedInactiveColor = 0 0 0VCS.ZoneColor = 255 255 255VCS.VehicleColor = 255 255 255VCS.TimeColor = 192 135 45IV.MoneyColor = 255 255 255IV.HealthColor = 87 124 88IV.HealthIconColor = 87 124 88IV.ArmorColor = 74 148 160IV.ArmorIconColor = 74 148 160IV.AmmoColor = 255 255 255IV.WantedActiveColor = 255 255 255IV.WantedSuspendedColor = 125 125 125IV.WantedInactiveColor = 0 0 0IV.ZoneColor = 255 255 255IV.VehicleColor = 255 255 255IV.TimeColor = 255 255 255V.MoneyColor = 180 180 180V.HealthColor = 65 164 70V.HealthIconColor = 65 164 70V.ArmorColor = 32 87 117V.ArmorIconColor = 32 87 117V.AmmoColor = 255 255 255V.WantedActiveColor = 255 255 255V.WantedSuspendedColor = 125 125 125V.WantedInactiveColor = 0 0 0V.ZoneColor = 255 255 255V.VehicleColor = 255 255 255V.TimeColor = 255 255 255 Quote Share this post Link to post Share on other sites
deltaCJ 456 Posted December 19, 2017 If you code consists mainly of read_memory and write_memory commands, I'd recommend you to not use CLEO (SCM scripting) at all. If there's already a great solution, why not using it? Here's how everything can be done with C++ and plugin-sdk: #include "plugin.h"using namespace plugin;class ChangeableHudColors {public: ChangeableHudColors() { config_file conf(PLUGIN_PATH("ChangeableHudColors.ini")); std::string preset = conf["USE_PRESET"].asString("III"); auto WriteColor = [](unsigned int addrR, unsigned int addrG, unsigned int addrB, CRGBA const &clr) { patch::SetUChar(addrR, clr.red); patch::SetUChar(addrG, clr.green); patch::SetUChar(addrB, clr.blue); }; WriteColor(5604015, 5604010, 5604005, conf[preset + ".MoneyColor" ].asRGBA()); WriteColor(5606313, 5606308, 5606303, conf[preset + ".HealthColor" ].asRGBA()); WriteColor(5606542, 5606502, 5606497, conf[preset + ".HealthIconColor" ].asRGBA()); WriteColor(5606950, 5606945, 5606940, conf[preset + ".ArmorColor" ].asRGBA()); WriteColor(5607166, 5607126, 5607121, conf[preset + ".ArmorIconColor" ].asRGBA()); WriteColor(5605570, 5605565, 5605560, conf[preset + ".AmmoColor" ].asRGBA()); WriteColor(5607626, 5607621, 5607616, conf[preset + ".WantedActiveColor" ].asRGBA()); WriteColor(5607720, 5607715, 5607710, conf[preset + ".WantedSuspendedColor"].asRGBA()); WriteColor(5607792, 5607790, 5607785, conf[preset + ".WantedInactiveColor" ].asRGBA()); WriteColor(5609812, 5609807, 5609805, conf[preset + ".ZoneColor" ].asRGBA()); WriteColor(5610979, 5610974, 5610969, conf[preset + ".VehicleColor" ].asRGBA()); WriteColor(5611409, 5611404, 5611399, conf[preset + ".TimeColor" ].asRGBA()); }} changeableHudColors;And your settings file will look like this: USE_PRESET = LCS# Parameter #R #G #BIII.MoneyColor = 85 108 144III.HealthColor = 178 95 48III.HealthIconColor = 178 95 48III.ArmorColor = 119 132 86III.ArmorIconColor = 119 132 86III.AmmoColor = 0 0 0III.WantedActiveColor = 206 170 136III.WantedSuspendedColor = 21 106 23III.WantedInactiveColor = 0 0 0III.ZoneColor = 148 150 80III.VehicleColor = 188 160 117III.TimeColor = 186 185 115SA.MoneyColor = 54 104 44SA.HealthColor = 180 25 29SA.HealthIconColor = 150 25 29SA.ArmorColor = 225 225 225SA.ArmorIconColor = 225 225 225SA.AmmoColor = 172 203 241SA.WantedActiveColor = 144 98 16SA.WantedSuspendedColor = 82 56 9SA.WantedInactiveColor = 0 0 0SA.ZoneColor = 172 203 241SA.VehicleColor = 54 104 44SA.TimeColor = 225 225 225LCS.MoneyColor = 60 149 46LCS.HealthColor = 202 11 10LCS.HealthIconColor = 202 11 10LCS.ArmorColor = 69 160 231LCS.ArmorIconColor = 69 160 231LCS.AmmoColor = 255 255 255LCS.WantedActiveColor = 255 203 51LCS.WantedSuspendedColor = 82 56 9LCS.WantedInactiveColor = 0 0 0LCS.ZoneColor = 255 255 255LCS.VehicleColor = 255 255 255LCS.TimeColor = 255 203 51VCS.MoneyColor = 40 102 35VCS.HealthColor = 208 86 133VCS.HealthIconColor = 209 86 133VCS.ArmorColor = 15 224 219VCS.ArmorIconColor = 15 224 219VCS.AmmoColor = 255 255 255VCS.WantedActiveColor = 255 203 51VCS.WantedSuspendedColor = 82 56 9VCS.WantedInactiveColor = 0 0 0VCS.ZoneColor = 255 255 255VCS.VehicleColor = 255 255 255VCS.TimeColor = 192 135 45IV.MoneyColor = 255 255 255IV.HealthColor = 87 124 88IV.HealthIconColor = 87 124 88IV.ArmorColor = 74 148 160IV.ArmorIconColor = 74 148 160IV.AmmoColor = 255 255 255IV.WantedActiveColor = 255 255 255IV.WantedSuspendedColor = 125 125 125IV.WantedInactiveColor = 0 0 0IV.ZoneColor = 255 255 255IV.VehicleColor = 255 255 255IV.TimeColor = 255 255 255V.MoneyColor = 180 180 180V.HealthColor = 65 164 70V.HealthIconColor = 65 164 70V.ArmorColor = 32 87 117V.ArmorIconColor = 32 87 117V.AmmoColor = 255 255 255V.WantedActiveColor = 255 255 255V.WantedSuspendedColor = 125 125 125V.WantedInactiveColor = 0 0 0V.ZoneColor = 255 255 255V.VehicleColor = 255 255 255V.TimeColor = 255 255 255 Could I possibly do this with out the settings file? and if so how? Quote Share this post Link to post Share on other sites
CharlesVercetti 386 Posted June 20, 2018 After nearly a year, I have updated the mod based on @DK22Pac PluginSDK.You can download it from first post.😊 Quote Share this post Link to post Share on other sites
CharlesVercetti 386 Posted June 21, 2018 Sorry for bumping up... I have updated the mod to v2... It now has shadow color changing option too...right in the .ini files use RGB palette to change the colors! Below is an example...where white color is used(RGB 255 255 255) Downloads available in first post! Quote Share this post Link to post Share on other sites
AliC 0 Posted January 17 Can you make a small edit to the LCS hud colors?Just the wanted stars,give them the original look and then hand me the link to the file,because it'll look very good in the game.If you can't edit any of the colors,just make the money HUD greener,red health and icon and blue armor and icon. Quote Share this post Link to post Share on other sites
CharlesVercetti 386 Posted September 2 On 1/18/2019 at 12:11 AM, AliC said: Can you make a small edit to the LCS hud colors?Just the wanted stars,give them the original look and then hand me the link to the file,because it'll look very good in the game.If you can't edit any of the colors,just make the money HUD greener,red health and icon and blue armor and icon. Might be too late to the party, but still, .ini customization is provided to make changes by yourself. You can make use of any RGB palette from web. Quote Share this post Link to post Share on other sites