Having an initialization message for each scriptdragon plugin is important to verify, that the plugin is installed correctly. But when all is verified, the message becomes obsolete. If you feel that the initialization message, which pops each time a game is loaded, is breaking the immersion or just annoys you, here's a guide how to remove it from the different Scriptdragon scripts (including Extrahotkeys):
1. Install Microsoft Visual C++ 2010 Express. You didn't think it would be easy now, did you :smile: ? Now seriously - the hardest part is already done by others and is ready for the taking.
4. File->Open->Project/Solution...-> open any of the *.vcxproj files in the \pluginsrc folder of the scriptdragon source files from p.2.
5. Open the .cpp file of the loaded project. For example let's work with the weather.vcxproj -Open weather.cpp in the editor -Search for the line
PrintNote("[%s] launched", SCR_NAME);
it's responsible for the message, we're removing -Above this line, add:
int Init_print = IniReadInt(CONFIG_FILE, "main", "init_print", 1);
with this line we look in the [main] section of the .ini file of the plugin for variable "init_print"; if the variable is not found, the default value is 1 -Change
PrintNote("[%s] launched", SCR_NAME);
to
if (Init_print != 0) PrintNote("[%s] launched", SCR_NAME);
this way the message won't be printed, if we've added "init_print=0" to the weather.ini [main] section *The above code changes of the .cpp may be done with Notepad++ too, if you don't like the MSVC++ code editor.
6. The expected result is: -weather.cpp: ... BYTE key_up = IniReadInt(CONFIG_FILE, "main", "key_up", 0); BYTE key_down = IniReadInt(CONFIG_FILE, "main", "key_down", 0); int Init_print = IniReadInt(CONFIG_FILE, "main", "init_print", 1); if (Init_print != 0) PrintNote("[%s] launched", SCR_NAME); while (TRUE) ... -weather.ini: [main] key_up=0x21 key_down=0x22 init_print=0
7. Save the changes and right click on the "weather" project opened in the MSVC++ Solution Explorer and click build -> save when prompted
8. This will build(compile) the weather project and will generate a bunch of files. Only get the weather.asi from the scriptdragon source files(p.2.) \bin folder
9. Replace the original weather.asi in [your game folder]\asi
10. Horsespawner example: -horsespawner.cpp: ... BYTE key = IniReadInt(CONFIG_FILE, "main", "key", 0); int Init_print = IniReadInt(CONFIG_FILE, "main", "init_print", 1); if (Init_print != 0) PrintNote("[%s] started, press '%s' to use", SCR_NAME, GetKeyName(key).c_str()); while (TRUE) ... -horsespawner.ini: [main] key=0x24 init_print=0
10.1 Replace the original horsespawner.asi in [your main game folder]\asi
11. Extrahotkeys example: since this plugin is not in the core package from p.2., there are some small extra steps: -download the extraHotkeys.cpp source file for Extra Hotkeys - Miscellaneous files Extra Hotkeys v2-13 Source -copy the extraHotkeys.cpp in the \pluginsrc folder of the scriptdragon source package (p.2.) -make a copy of the dummy.vcxproj and dummy.vcxproj.filters from the \pluginsrc folder and rename the copies as follows: -extraHotkeys.vcxproj -extraHotkeys.vcxproj.filters -open extraHotkeys.vcxproj in a text editor and replace all "dummy" strings to "extraHotkeys" -repeat the same for extraHotkeys.vcxproj.filters -now we have all pre-requisites for the build of the extraHotkeys plugin -open extraHotkeys.vcxproj with MSVC++2010, like it's described in p.4 -open extraHotkeys.cpp and search for the line PrintNote("[%s] active; '%s' toggles Hotkey Assignment", SCR_NAME, GetKeyName(assignKey).c_str());
11.1 The expected result is: -extraHotkeys.cpp: ... readSpellsFromIni(); int Init_print = IniReadInt(CONFIG_FILE, "main", "init_print", 1); if (Init_print != 0) PrintNote("[%s] active; '%s' toggles Hotkey Assignment", SCR_NAME, GetKeyName(assignKey).c_str()); ... -extraHotkeys.ini: [main] ... key19=0xDE //default: ' key20=0x50 //default: P init_print=0
11.1 Replace the original extraHotkeys.asi in [your main game folder] *extraHotkeys doesn't work for me, if I put it in the \asi folder
12. After all of this, if you want to return the init. message for some reason, just change the value of the new .ini parameter init_print to be different from 0, or just delete it from the ini.
hi brother why we can not Put in asi folder? this is your answer to Gopher? this is look like Declare war, he create video for your mod thanks to him we now, know about your mod
Why is my bow equipped/unequipped when I press the tilde(ยง) key which opens the console? It's not even available as a hotkey. Sometimes the game also equips a the same spell or item automatically when I'm just moving. It changes sometimes, but right now it's the bow.
Thanks a million for this mod, was just what I was looking for. I am, however, wondering how I withdraw a key bind? I noticed that, since the layout on Icelandic keyboards is a bit different to elsewhere, the key I use to access the console was assigned as a hotkey in this mod. Now I can't access the console without equipping something and I'm not sure how to unbind the key.
785 comments
Having an initialization message for each scriptdragon plugin is important to verify, that the plugin is installed correctly. But when all is verified, the message becomes obsolete. If you feel that the initialization message, which pops each time a game is loaded, is breaking the immersion or just annoys you, here's a guide how to remove it from the different Scriptdragon scripts (including Extrahotkeys):
1. Install Microsoft Visual C++ 2010 Express. You didn't think it would be easy now, did you :smile: ? Now seriously - the hardest part is already done by others and is ready for the taking.
2. Get ScriptDragon for 1.9.32.0 and below - by Alexander Blade. All the source files, needed to build the .asi files are there
3. Open MSVC++ 2010 Express
4. File->Open->Project/Solution...-> open any of the *.vcxproj files in the \pluginsrc folder of the scriptdragon source files from p.2.
5. Open the .cpp file of the loaded project. For example let's work with the weather.vcxproj
-Open weather.cpp in the editor
-Search for the line
PrintNote("[%s] launched", SCR_NAME);
it's responsible for the message, we're removing
-Above this line, add:
int Init_print = IniReadInt(CONFIG_FILE, "main", "init_print", 1);
with this line we look in the [main] section of the .ini file of the plugin for variable "init_print"; if the variable is not found, the default value is 1
-Change
PrintNote("[%s] launched", SCR_NAME);
to
if (Init_print != 0) PrintNote("[%s] launched", SCR_NAME);
this way the message won't be printed, if we've added "init_print=0" to the weather.ini [main] section
*The above code changes of the .cpp may be done with Notepad++ too, if you don't like the MSVC++ code editor.
6. The expected result is:
-weather.cpp:
...
BYTE key_up = IniReadInt(CONFIG_FILE, "main", "key_up", 0);
BYTE key_down = IniReadInt(CONFIG_FILE, "main", "key_down", 0);
int Init_print = IniReadInt(CONFIG_FILE, "main", "init_print", 1);
if (Init_print != 0) PrintNote("[%s] launched", SCR_NAME);
while (TRUE)
...
-weather.ini:
[main]
key_up=0x21
key_down=0x22
init_print=0
7. Save the changes and right click on the "weather" project opened in the MSVC++ Solution Explorer and click build -> save when prompted
8. This will build(compile) the weather project and will generate a bunch of files. Only get the weather.asi from the scriptdragon source files(p.2.) \bin folder
9. Replace the original weather.asi in [your game folder]\asi
10. Horsespawner example:
-horsespawner.cpp:
...
BYTE key = IniReadInt(CONFIG_FILE, "main", "key", 0);
int Init_print = IniReadInt(CONFIG_FILE, "main", "init_print", 1);
if (Init_print != 0) PrintNote("[%s] started, press '%s' to use", SCR_NAME, GetKeyName(key).c_str());
while (TRUE)
...
-horsespawner.ini:
[main]
key=0x24
init_print=0
10.1 Replace the original horsespawner.asi in [your main game folder]\asi
11. Extrahotkeys example: since this plugin is not in the core package from p.2., there are some small extra steps:
-download the extraHotkeys.cpp source file for Extra Hotkeys - Miscellaneous files Extra Hotkeys v2-13 Source
-copy the extraHotkeys.cpp in the \pluginsrc folder of the scriptdragon source package (p.2.)
-make a copy of the dummy.vcxproj and dummy.vcxproj.filters from the \pluginsrc folder and rename the copies as follows:
-extraHotkeys.vcxproj
-extraHotkeys.vcxproj.filters
-open extraHotkeys.vcxproj in a text editor and replace all "dummy" strings to "extraHotkeys"
-repeat the same for extraHotkeys.vcxproj.filters
-now we have all pre-requisites for the build of the extraHotkeys plugin
-open extraHotkeys.vcxproj with MSVC++2010, like it's described in p.4
-open extraHotkeys.cpp and search for the line
PrintNote("[%s] active; '%s' toggles Hotkey Assignment", SCR_NAME, GetKeyName(assignKey).c_str());
11.1 The expected result is:
-extraHotkeys.cpp:
...
readSpellsFromIni();
int Init_print = IniReadInt(CONFIG_FILE, "main", "init_print", 1);
if (Init_print != 0) PrintNote("[%s] active; '%s' toggles Hotkey Assignment", SCR_NAME, GetKeyName(assignKey).c_str());
...
-extraHotkeys.ini:
[main]
...
key19=0xDE //default: '
key20=0x50 //default: P
init_print=0
11.1 Replace the original extraHotkeys.asi in [your main game folder]
*extraHotkeys doesn't work for me, if I put it in the \asi folder
12. After all of this, if you want to return the init. message for some reason, just change the value of the new .ini parameter init_print to be different from 0, or just delete it from the ini.
Cheers!
SKSE has latency if i also use other mods that uses SKS.
why we can not Put in asi folder?
this is your answer to Gopher?
this is look like Declare war, he create video for your mod
thanks to him we now, know about your mod
I am, however, wondering how I withdraw a key bind? I noticed that, since the layout on Icelandic keyboards is a bit different to elsewhere, the key I use to access the console was assigned as a hotkey in this mod. Now I can't access the console without equipping something and I'm not sure how to unbind the key.