Is this considered a spoonfeed? Meh, I'm not providing any files, and everything else is public knowledge, so euh, iono. (Oh, any by the by, wonder how many of you can find the Easter egg? It's not hard. :3)
Since a tutorial on permanent binds has showed up it is impossible to keep some things under the radar, so let's delve into a bit of scripting, which makes yours and my lives easier.
If you noticed, inside FAC6B533E4D245CE8B9A67DB1472B2B98F3F54FA.hfs there are a lot of .cfg.comp files. Most of them are useless, so we're only to focus on one, the config_preset_common.cfg
In Source games, these cfgs are known as configuration or scripts. They are called with the exec command. For example, if we use the default player_config to setup our regular hotkeys, we would type into the console:
Code:
exec config_preset_common.cfg
Ignoring the .comp at the end.
So why is this pertinent to us?
Well, FAC6B533E4D245CE8B9A67DB1472B2B98F3F54FA.hfs is one of the HFS files that Launcher.dll does not check for integrity before launching the game.
So what does that mean?
Well, good sirs and madames, it means that we can write our own cfgs!
And why is that useful?
Well, let me show you.
For example, let's say you wanted to have super speed with objects. But lo-and behold, there are almost 1.. 2.. ... holy tamale that's a lot of commands!
Can't we just bind them to keys?
Well ye sure can Sonny boy! But let's see what that looks like!
Code:
bind ' "plr_move_speed_lift1 1000;plr_move_speed_lift2 1000;plr_move_speed_lift3 1000;plr_move_speed_lift4 1000;[...]allthewayto12,then evy..."
Now isn't that just hard to read and edit?
In comes the .cfg!
For the sake of simple naming, let's call this cfg object.cfg
Code:
plr_move_speed_lift1 1000;
plr_move_speed_lift2 1000;
plr_move_speed_lift3 1000;
plr_move_speed_lift4 1000;
plr_move_speed_lift5 1000;
plr_move_speed_lift6 1000;
plr_move_speed_lift7 1000;
plr_move_speed_lift8 1000;
plr_move_speed_lift9 1000;
plr_move_speed_lift10 1000;
plr_move_speed_lift11 1000;
plr_move_speed_lift12 1000;
plr_move_speed_lift1_evy 1000;
plr_move_speed_lift2_evy 1000;
plr_move_speed_lift3_evy 1000;
plr_move_speed_lift4_evy 1000;
plr_move_speed_lift5_evy 1000;
plr_move_speed_lift6_evy 1000;
plr_move_speed_lift7_evy 1000;
plr_move_speed_lift8_evy 1000;
plr_move_speed_lift9_evy 1000;
plr_move_speed_lift10_evy 1000;
plr_move_speed_lift11_evy 1000;
plr_move_speed_lift12_evy 1000;
Just put that into notepad, save as (all files) -> .cfg.comp. Make sure .txt is NOWHERE in the file name.
Isn't that easy to read and edit? Why of course it is.
Now just go in game, open up your console, and type exec object.cfg, and bam, you can whiz around with any object!
But dude, I don't want to open a console to do this shiznizzle, gimme something easier.
Why of course! Just bind this the same way you'll bind the chain command.
Put it into the config_preset:
Code:
bind [key] "exec object.cfg"
And whenever you press that [key] those chain of commands will run!
Damn, that's pretty cool! Any other uses?
Well, of course! You can even change your keyboard layout options depending on what you want to do!
For example,
bind [ "exec keyboardstyle1.cfg"
bind ] "exec keyboardstyle2.cfg"
Keyboardstyle1.cfg:
Code:
unbindall
bind "ESCAPE" "cancelselect"
bind "UPARROW" "+forward"
bind "DOWNARROW" "+back"
bind "LEFTARROW" "+moveleft"
bind "RIGHTARROW" "+moveright"
bind "NUMLOCK" "+autorun"
bind "s" "+attack"
bind "d" "+smash"
bind "w" "+use"
bind "a" "+jump"
bind "SHIFT" "+aim"
bind "SPACE" "+cam_control_key_align_monster"
bind "q" "+cam_control_key_left"
bind "e" "+cam_control_key_right"
bind "r" "+cam_control_key_up"
bind "f" "+cam_control_key_down"
bind "PGUP" "+cam_control_key_zoom"
bind "PGDN" "+cam_control_key_resetzoom"
bind "MWHEELDOWN" "+cam_control_mousewheel_down"
bind "MWHEELUP" "+cam_control_mousewheel_up"
bind "c" "cc_character_ui"
bind "v" "cc_skill_ui"
bind "b" "cc_possessions_ui"
bind "i" "cc_possessions_ui"
bind "n" "cc_quest_ui"
bind "m" "cc_storyline_ui"
bind "o" "cc_friends_ui"
bind "\" "cc_cashshop_ui"
bind "z" "+spskill1"
bind "x" "spskill_next"
bind "ALT" "+info"
bind "ENTER" "messagemode"
bind "CTRL" "+voicerecord"
bind "PRTSCR" "jpeg"
exec config_preset_common.cfg
////////////
input_mouse_view_control "0"
input_auto_targeting "1"
input_camera_dodging_against_the_wall "1"
input_rotate_camera_with_move_lr "1"
input_return_vertical_camera_move "1"
input_align_view_after_throw "0"
input_align_view_attacker "1"
input_boss_chase_cam "0"
input_align_view_to_command_direction "1"
input_kick_down_enemy_at_strong_attack "1"
input_attack_jump_is_kick "1"
input_attack_attackstrong_is_handaction "0"
input_pressing_handaction_is_aiming "0"
input_aim_at_player_direction "1"
input_attack_to_camera_direction "0"
input_show_boss_naming "1"
cc_check_feature_matrix_config
Keyboardstyle2.cfg:
Code:
unbindall
bind "ESCAPE" "cancelselect"
bind "w" "+forward"
bind "s" "+back"
bind "a" "+moveleft"
bind "d" "+moveright"
bind "SHIFT" "+sprint"
bind "NUMLOCK" "+autorun"
bind "MOUSE1" "+attack"
bind "MOUSE2" "+smash"
bind "e" "+use"
bind "SPACE" "+jump"
bind "f" "+aim"
bind "r" "+kick"
bind "MWHEELDOWN" "+cam_control_mousewheel_down"
bind "MWHEELUP" "+cam_control_mousewheel_up"
bind "c" "cc_character_ui"
bind "v" "cc_skill_ui"
bind "b" "cc_possessions_ui"
bind "i" "cc_possessions_ui"
bind "n" "cc_quest_ui"
bind "m" "cc_storyline_ui"
bind "o" "cc_friends_ui"
bind "\" "cc_cashshop_ui"
bind "z" "+spskill1"
bind "x" "spskill_next"
bind "l" "random_mission_book_status"
bind "ALT" "+info"
bind "ENTER" "messagemode"
bind "CTRL" "+voicerecord"
bind "PRTSCR" "jpeg"
exec config_preset_common.cfg
////////////
input_rotate_camera_with_move_lr "0"
input_return_vertical_camera_move "0"
input_kick_down_enemy_at_strong_attack "1"
input_attack_jump_is_kick "0"
input_attack_attackstrong_is_handaction "1"
input_pressing_handaction_is_aiming "0"
input_aim_at_player_direction "0"
input_attack_to_camera_direction "1"
input_align_view_after_throw "0"
input_align_view_attacker "0"
input_boss_chase_cam "0"
input_xbox360_pad_vibration "0"
input_game_pad_type "1"
input_align_view_to_command_direction "0"
input_rotate_camera_reverse_at_run_toward_camera "1"
input_auto_targeting "1"
input_camera_dodging_against_the_wall "0"
input_mouse_view_control "1"
input_show_boss_naming "1"
cc_check_feature_matrix_config
And voila. Pressing [ and ] will switch your layouts for convenience. 'course, you'll need to find other keys to bind, those were just examples.
UPDATED -- List of useful/useless commands?
Oh, these are according to me. I'm sure es0terik has other stuff, so go see his thread too.
Code:
===enhance.cfg===
blacksmith_craft_time_sec 0.1; //Instant craft for blacksmith_ui
dye_craft_time_sec 0.1; //Instant dye
enhance_craft_time_sec 0.1; //Instant enchance
===config_preset_common.cfg===
bind "F1" "cc_change_figure_height 1" //Normal height
bind "F2" "cc_change_figure_height 0.1" //Spear spam height
bind "F3" "cc_change_figure_height 3" //High height
bind "F4" "exec enhance.cfg" // Exec enhance
bind "F5" "cc_enter_rochest_from_colhen" //Go to Rocheste
bind "F6" "cc_enter_colhen_from_rochest" //Go to Colhen
bind "F7" "campfire_repair" //Use campfire_repair anywhere
bind "F8" "changemap_to_current_random_sector" //Reload sector
bind "F9" "show_mini_shop" //Open mini-shop
bind "F10" "cc_mailbox_ui" //Open mail
bind "F11" "cc_play_emotion 7" //Sit
bind "SCROLL" "bandi_capture_toggle;" //Screenrecord
bind "TAB" "cc_cycle_party_member_selection;" //Swap through party
bind "*" "cc_shot_showui_toggle;" // Hide UI, Numpad *
bind "q" "cc_fill_all_items" //Fill all items
bind "1" "+quickslot1"
bind "2" "+quickslot2"
bind "3" "+quickslot3"
bind "4" "+quickslot4"
bind "5" "+quickslot5"
bind "6" "cc_set_sub_weapon javelin_lvl2 999" //fine spear
bind "7" "cc_set_sub_weapon handbomb_lvl2 999" //handbomb
bind "8" "cc_set_sub_weapon mining_bomb 999"//minebomb
bind "9" "cc_set_subweapon snowball 999"
bind "KP_END" "host_timescale 1"//regular timescale
bind "KP_DOWNARROW" "host_timescale 2"//2x speed
bind "KP_PGDN" "host_timescale 3"//3x speed
bind "KP_LEFTARROW" "exec dungeon.cfg"//execute before dungeon run
bind "KP_5" ""//reservedkey for later
bind "KP_RIGHTARROW" "exec object.cfg"//objectspeed modifier
bind "KP_HOME" "exec normal.cfg" //change all back to normal
bind "KP_UPARROW" "exec nodelay.cfg" //disable mob delay
bind "KP_PGUP" "plr_move_speed_town 1000"//movespeedintownincrease
bind "KP_INS" "changelevel 2"//skiplevel
===dungeon.cfg===
cc_set_sub_weapon javelin_lvl2 999; //spears
plr_move_speed_sprint 1000; //sprintspeed
plr_move_speed_lift2 1000; //carryspeed, small jars, etc
ai_reaction_delay_idle 99999; //mobdelay1
ai_reaction_delay_alert 99999; //mobdelay2
hand_bomb_detonate_by_throw_delay 0.1; //instantfinebombexplode
mining_bomb_detonate_by_throw_delay 0.1; //instantminebombexplode
lift_throw_force_modifier 9000; //objectfarthrow
combat_min_critical_hit_ratio 100; //max critical
cc_spawn_golden_ball 3 9999999; //1hko via goldenballs
lift_evy_damage_factor_ratio 9000; //1hko via evie lift
===normal.cfg===
cc_set_sub_weapon javelin_lvl2 999;
plr_move_speed_sprint 400;
plr_move_speed_lift2 1000;
ai_reaction_delay_idle 0;
ai_reaction_delay_alert 0;
hand_bomb_detonate_by_throw_delay 2;
mining_bomb_detonate_by_throw_delay 2;
===nodelay.cfg===
ai_reaction_delay_idle 2;
ai_reaction_delay_alert 2;
===OTHER COMMANDS===
cc_clear_all_ent //Destroy all entities on dungeon map
respawn_entities //Crashes party leader, and most other members, rarely crashes you
sv_gravity -800 || sv_gravity 0 || sv_gravity 800 // gravity modifier
mp_friendlyfire 1 || mp_friendlyfire 0 //friendlyfire toggle
===camera commands===
cam_control_pitch_delta_up 50
cam_control_pitch_angle_min 1
cam_modify_distance_target_bounding_size 0
cam_control_pitch_added_height_max 40
.
Conversion scale for NUMPAD:
Code:
0 = KP_INS
1 = KP_END
2 = KP_DOWNARROW
3 = KP_PGDN
4 = KP_LEFTARROW
5 = KP_5
6 = KP_RIGHTARROW
7 = KP_HOME
8 = KP_UPARROW
9 = KP_PGUP
. (del) = KP_DEL
Enter = KP_ENTER
+ = KP_PLUS
- = KP_MINUS
* = *
/ = KP_SLASH