Jan 2, 2012

Dungeon Siege III - Enable Console

So just bought Dungeon Siege 3 and was horrified with the unchangeable camera angles. So I set about having a dig around the game to try and find a way to change the camera, while digging around I noticed a console file, and the Dungeon Siege III.exe had a number of console commands in it, so I replaced the Help Topics file with the Console, so now when I'm in game I can press Esc, click 'Help Topics' and the console will appear.

After playing around with all the console commands I could find in relation to camera none seemed to have any effect, though most other console commands works, such as adding money, items, XP, levels etc. So cheating is easy in Dungeon Siege III, but changing the camera angles isn't )-: Hopefully I'll have more time to play around with them and work something useful out.

The easiest way to activate the console on your version is by downloading the gui.zip file from http://www.mediafire.com/?sa7a3gepx3ea4f5, then extract the 'gui' folder from gui.zip into %steamapps%\common\dungeon siege iii\data\. Now start Dungeon Siege 3, and when in-game, click 'Help Topics' from the menu to access the console. You'll need to watch the video at 720 to read the names.

If the above video instructions didn't work for you, here are the manual steps.

I grabbed the Dungeon Siege 3 OAF Files Extractor and unpacked the files to a temp directory, unpack data_archive.oaf first, then unpack data_archive_2.oaf into the same place, the files in data_archive_2.oaf overwrite some which is how the game works too.

After looking around my first step was to get console working, I copied gui\console.scn and gui\game.gui into %steamapps%\common\dungeon siege iii\data\gui

Rather than having to repack the archives after editing just drop the files you changed here and it will pick it up rather than using the archived copy.

Now rename console.scn to help_topics.scn and edit game.gui. Find the line
help_topics.scn   parsefunction GUI_command_parser_help_topics
Change to
help_topicx.scn   parsefunction GUI_command_parser_help_topics

Then find the line
console.scn   parserfunction GUI_command_parser_console   game_flags  1
Change to
help_topics.scn   parserfunction GUI_command_parser_console   game_flags  1

Orange signals what was changed for ease of reading.

Now run the game, while in game press Esc, in the menu click Help Topics and you'll have access to the console.

To get back to the game type modal_close_all and press enter. You can also type mod and press TAB to auto-complete. As we've hacked the console into an unusual place, things don't appear in it's history straight away, so if you press top_down_mp_ and press TAB, because there are multiple options it won't display anything. After you have pressed TAB, just delete the text and type modal_close_all, then enter the console again and you'll now be able to see the options for your previous commands, so we'll see all available options for top_down_mp_ console commands.

I'll add the console commands and explanation here slowly as I find them, though I can't test them all so some might not work, let me know if you find more, descriptions are wrong or they don't work and I'll update this list.

avoidance_scale
avoidance_range
avoidance_count
avoidance_collection_range
avoidance_collection_interval
avoidance_sideways
avoidance_active
ai_attack
aggro_decay_rate
ai_draw_perception_radius
avoidance_when_stopped
area_notification
area_notification_duration
add_money - Add money to your character
add_xp - Add XP to your character
ai_enabled
add_to_party
ai_revive_debug
ai_loot_pickup_delay
ability_bind
ability_purchase
ability_dump_all
ability_dump
auto_grant_empowered_attacks
ability_autoassign
attract_enable
allow_auto_level_up
allow_skip_level_up
attract_movie_name
attract_movie_delay

batched_lighting
brightness
base_stats_print

combat_knockback_duration
combat_knockback
combat_friendly_fire
combat_damage
combat_print
contrast
con_queue_disable
companion_perception_buff
connection_reset
changelevel
combat_hard_threshhold
companion_alternate_cooldown
camera_remote_interpolate_dist
camera_shared
critical_override
camera_center_on_object
camera_mouse_sensitivity
console_close
console_toggle
console_open
camera_auto_rotate_deadzone
camera_auto_rotate_scale
camera_yaw_max_velocity
camera_yaw_damp
camera_yaw_speed
camera_recenter_delay
camera_multiplayer_control
cost_divider_for_enchant
credits
clear - Clears all previous console output

exec - Run console scripts, located in global\console_scripts\*.txt Eg: exec global\console_scripts\bad_ass
endgame_disconnect

fade_draw
fade_aggressive
find
float_text
float_text_exp_y
float_text_exp_x
find_games_receive_invites
find_games_party

gui_delay_load_sleep
gui_delay_load_name
gui_mem_report_detailed
gui_mem_report
get_global_variable
gui_resource_dump
gui_trace
gui_timescale
gamma
give_unlockable
gui_warning
god - Toggle God mode on player
getpos
game_mode_reset_on_exit
game_mode
gui_quest_filter
gui_split_screen
gui_ingame_character_select
gui_show

human_attack_bias
heal
hide_spinner
hud_fade_duration
hud_show_names

infinite_resource
interpolation_tolerance
if
item_spawn
inv_drop
item_print_by_id
item_print_by_tag
inv_print
inner_warmth_time
inner_warmth_dmg
inner_warmth_hp
ingame_scn_mp
inv_mark_viewed
inv_show_remote_companions
inv_show_remote_players
inv_show_defaults
ingame_screen_fade_duration

journal_load
journal_save
journal_play
journal_stop
journal_record

knockback_prediction_hold
kick
kill

load_art_objects_only
load_game_objects
level_debug
load_spinner_delay
loot_spawn_from_template
loot_random_spawn_from_template
loot_print_template
level_up_delay
level_scaling_dlc
level_scaling_difference_threshhold
level_scaling_target_range
level_scaling_enabled
loading_screen_fadeout_duration
load_full_party
loot_points_per_enchant
load_level_filter
load_level_test

max_combat_channel_dist
mission_open_list
mission_list
mission_set_end_state
mission_set_status
max_auto_target_ui_dist
multiplayer_remote_enabled
multiplayer_local_enabled
modal_close_all
multiplayer_stuck_warp_delay
multiplayer_tether_range
max_players
multiplayer_ai_idle_time
multiplayer_tether_others
multiplayer_remote_warp
multiplayer_tether_screen
minimap_enabled - Show/Hide minimap, top right.
minimap_scale - Change level of zoom used in the minimap.
minimap_rotate
minimap_yaw
minimap_alpha
main_menu_load_level
main_menu_credits
main_menu_dlc
main_menu_find_game
main_menu_continue
message_box_ok

net_interpolate_max_stopped_time
net_extrapolate
net_interpolate
net_position_offset_z
net_position_offset_y
net_position_offset_x
net_activation_delay
net_predict_knockback
net_predict_reaction
net_ip
net_port
net_loopback
new_game_data

objective_set_status
objective_list
overheal

projectile_impact_fx
platform_speed
platform_accel_dist
path_blocker_disable_all
platform_predict_movement
play_anim
player_additive_speed
player_min_health
player_damage
platform_delay
pause
party_add_xp
party_set_level
party_restrict_class
party_single_player_limit
party_default_companions
player_ai
player_name_from_class
player_add
player_level
print_loyalty
player_class
popup
post_charselect_new_game_data

quit -Quit game completely, back to Windows.

render_csa
reset_tutorial
render_hit_flash
rumble
revert
revert_all
respawn
retry
reconnect
rcon
restart_server
respawn_interval

script_list
script_run - Runs AMX files located global\scripts, followed by the function name and arguments. Eg: script_run global\scripts\00_intro\00_intro CamShake will result in the screen shaking once you modal_close_all. I haven't looked into AMX files yet, will do a follow up post once I find more out.
set_light_set
set_global_variable
stats_print
speedy
show_all_damage_numbers
subtitle_notification
seek_fullscreen_movie
stop_fullscreen_movie
start_fullscreen_movie
status_effect_apply_to_player
scale
set_level
set_resource
set_health
status
startcell
startlevel
startlevel_data
stream_proximity_radius
survival_creature_set
say
start_conversation
screen_shake_move_camera
session_type
save_load_enabled
show_spinner
save

timeline_reload
toggle_tutorial
tutorial_enabled
toggle_pause
target_ui_neutral_player_index
target_ui_hostile_player_index
target_ui_neutral
target_ui
top_down_mp_fov
top_down_mp_distance
top_down_mp_pitch
top_down_yaw_offset
top_down_collision_mp_pitch_speed
top_down_collision_mp_decay
top_down_collision_mp_hold
top_down_collision_mp
top_down_collision_sp
top_down_zoom_all

unpause
unlock_all
user_setup_delay

warning_notification
write_file
warp_to_player
warp_to_position

 yaw_offset


11 comments:

Anonymous said...

hey, i know its been a couple months since you posted this, but i was wondering if you ever found out anything with the cameras, i was playing multiplayer with a friend and was able to split our cameras and get rid of the tether, but now we are both stuck with the multiplayer camera angle which is pretty much 100% top down.

Anonymous said...

I am having the exact same issue... we can turn tethering off, but can't move camera. The only thing I can do with the Camera is turn off collision (which does help).

sacah said...

Sorry guys, we got quite annoyed by the camera that we switches games and I haven't spent anymore time looking into it.

Anonymous said...

Sacah, can I copy/quote your tutorial for a "how to" site that I am making? I will give your site and yourself credit. Thanks!

sacah said...

Sure, copy/quote away. Send me a link once your done (-:

Anonymous said...

Awesome... thanks! Feel free to help me update the information! This site by far has been the most helpful site out there!

Here is the website I am made:
https://sites.google.com/site/dungeonsiege3mod

It will probably take me a few weeks to get all the needed information on it. But feel free to look at the "Helpful Console Commands" section which is a list of console commands that are useful to me and how to use them.

Thanks again!

Anonymous said...

I'm working on the wiki page documenting each console command: ( https://sites.google.com/site/dungeonsiege3mod/home/consolewiki )

My question to you, Sacah, is how did you get the list of commands that you posted here? I have been going through the executable file in a Notepad document scrolling down for visible text. (such a pain) ... is there a faster/easier way to get the commands? I tried "find a" to list all the stuff with a... but it lists too much to fit on a page... and there is no scrolling enabled in the command console.

Thanks!

sacah said...

In the console, I think I did a which auto-completed all commands with the letter A. Then I did a Ctrl+A and Ctrl+C and it copied all the commands, even though I couldn't see them in the console.

Though I also went through the EXE and read the description that came with them to see if there were any I liked.
Feel free to send me an email in the future if you want, instead of having to comment and check back here. Emails sacah@ my domain(sacah.net)

Anonymous said...

And what am I supposed to do if there's no such thing as a "steamapps" folder? How the f*** do I 'install' this?

Zenobia K'eal said...

is there any way to give me all the items in single palyer easily?

sacah said...

Zenobia K'eal: Not that I'm aware of, maybe you could write a script and then run that in game. Only suggestion I have.