Lugaru Developer Tools ====================== Activation ---------- There are two ways to activate developer tools: - Temporary: Pass the --devtools or -d option to the executable - Persistent: Add the following to your config.txt file: Devtools: 1 The config.txt file can be found in the following locations: - On Linux: ~/.config/lugaru/config.txt - On Mac: ~/Library/Application Support/Lugaru/config.txt - On Windows: C:/Users/yourusername/AppData/Roaming/Lugaru/config.txt Key bindings ------------ Note: dev keys must be pressed as if on a QWERTY keyboard. General ~~~~~~~ ~ = console (see "Console commands" section) alt+m = toggle editor mode (see "Map editor" section) alt+k = restart challenge shift+k = skip challenge alt+h = give 200000 health and reset damage alt+j = toggle snow/grass/desert environment alt+c = toggle camera mode alt+v = toggle freeze alt+b = toggle slow motion alt+n = ragdoll alt+x = change weapon of nearby player [mod: ctrl] alt+u = change yaw (rotation around Z axis) [mod: ctrl] alt+f = put nearby player on fire [mod: ctrl] alt+t = change player skin [mod: ctrl] alt+shift+t = change player type (rabbit/wolf) [mod: ctrl] alt+i = explode nearby head alt+shift+i = explode nearby player * Where noted, the ctrl modifier applies the change to the main player, otherwise to the nearest player. Map editor (alt+m) ~~~~~~~~~~~~~~~~~~ o = place object p = place player delete = delete closest object shift+delete = delete closest player shift+left/right = change type of next object up/down = change size of next object left/right = change yaw (rotation around Z axis) of next object ctrl+up/down = change pitch (tilt) of next object shift+ctrl+up/down = change map radius shift+p = place waypoint ctrl+p = make/connect pathfind waypoint comma/period = select prev/next pathfind waypoints shift+comma = delete pathfind waypoint Console commands ---------------- Mapping ~~~~~~~ map (string) - loads the specified map. The string corresponds to the filename of a map in the Maps folder, located in Lugaru's Data folder. save (string) - saves the state of the current map. The string corresponds to the filename that the map will be saved under in the Maps folder, located in Lugaru's Data folder. Caution: this command will overwrite other maps with the same name without prompting you. Character attributes ~~~~~~~~~~~~~~~~~~~~ wolfie - sets the player to a wolf. You gain all of the speed, strength, durability, and attacks of a wolf. funnybunny - sets the player to a rabbit. size (float) - changes the overall size of your character. The value is based on 1, that is, 1.5 is 50% larger. proportion (float) (float) (float) (float) - changes the proportions of your character. The four floating point values correspond to the proportions of the character's head, body, arm and leg respectively. Each value is based on 1, that is, 1.5 is 50% larger. speed (float) - sets your running speed. Each value is based on 1, that is, 1.5 is 50% faster. strength (float) - sets your attack strength. Each value is based on 1; that is, 1.5 is 50% stronger. power (float) - sets the amount of health you have. Each value is based on 1; that is, 1.5 is 50% healthier. protection (float) (float) (float) - sets your armor strength in terms of blunt resistance. Each floating point corresponds to the strength of your high, medium, or low resistance, respectively. Each value is based on 1; that is, 1.5 is 50% more durable. armor (float) (float) (float) - sets your armor strength in terms of sharp attacks. Each floating point corresponds to the strength of your high, medium, or low resistance, respectively. Each value is based on 1; that is, 1.5 is 50% more durable. immobile - makes character immobile. May gain some FPS in dialogue levels. mobile - cancels 'immobile'. allimmobile - does as name suggests. May be used when you are done with a dialogue level. armorreset, protectionreset - reset the value of the armor and protection settings for your character. armornear, protectionnear, proportionnear, sizenear - apply the changes to the character nearest to you instead of you. cellophane - makes everyone invisible, except for the shadows. Character appearance ~~~~~~~~~~~~~~~~~~~~ lizardwolf, darko - changes your skin to the respective easter egg texture. Normal skins are available via the ctrl+alt+t hotkey. tintr (float) - sets the redness of your clothes. This only affects the color of future clothes, so you must set it in advance. It must be a value from 0 to 1. tintg (float) - sets the greenness of your clothes. This only affects the color of future clothes, so you must set it in advance. It must be a value from 0 to 1. tintb (float) - sets the blueness of your clothes. This only affects the color of future clothes, so you must set it in advance. It must be a value from 0 to 1. tint (float) (float) (float) - sets the color of your clothes. This only affects the color of future clothes, so you must set it in advance. Each floating point corresponds to red, green, and blue, respectively. Each value must be a number from 0 to 1. noclothes - removes all of your clothes. noclothesnear - same, applied to the character nearest to you. clothes (string) - adds clothes to your character. The string can be one of the following (case sensitive): Shirt LongSleeve EarWrap FootWrap Pants FancyPants Scar HeadBand LeatherWristLeft LeatherWristRight LeatherArmor LeatherPants Actually, these names come from the files in your Data/Lugaru/Textures folder of type ".png". You may add any png file in that folder and use it with the clothes command. See Decal Editing to create such files. clothesnear - does the same for the character nearest to you. clotheslist - lists the clothes of the main player (and their tint). clotheslistnear - does the same for the character nearest to you. Skybox ~~~~~~ skybox - toggles skybox on and off. skytint (float) (float) (float) - sets the color tint of the sky. Each floating point value corresponds to a red, green, or blue value, respectively, between 0 and 1. skylight (float) (float) (float) - sets the color of the lighting of the sky. Each floating point value corresponds to a red, green, or blue value, respectively, between 0 and 1. Miscellaneous map ~~~~~~~~~~~~~~~~~ tutorial (boolean) - toggles tutorial mode on/off for the current map. hostile (boolean) - toggles whether or not characters on the map are hostile. type (string) - sets the initial state of the next character. The possible values are listed below: active sitting sitting wall sleeping dead1 dead2 dead3 dead4 path keepwalking/pause - determines whether enemies walk through the next pathpoint or pause briefly. Map objectives ~~~~~~~~~~~~~~ mapkilleveryone - makes objective of the map to kill everyone. mapgosomewhere - makes objective of the map to go somewhere. mapkillsomeone - makes objective of the map to kill a specific enemy. mapkillmost - makes objective of the map to kill everyone but one. Hotspots ~~~~~~~~ hs (size) (type) (string) - creates a hotspot underneath you. The three arguments correspond to the size, type, and text of the hotspot, respectively. See below for the explanations of each type integer: type 0 = static, display text type 1-10 = attached to player 1-10, display text type 11-20 = attached to player 1-10, must kill to win type -1 = win if approached dhs - deletes the last hotspot. An example is "hs 15.0 0 sdf". Note that hotspots are very buggy (TODO: review once bugs are fixed), especially those not of type 0. Quitting and restarting Lugaru, then creating a hotspot in a simple map first, can help. You may have to fiddle around with this. Some strings may be randomly rejected, but if you know how to hex-edit, you can change them directly in the map file (make sure to change the byte before the string to the number of its characters). Dialogs ~~~~~~~ dialog (int) (string) - loads the "string.txt" dialog with type "int" and enter directing mode: Fly around, press numpad 1-10 to change the players' head target, press 1-10 to define who is saying the current line and move on to the next line. The type argument can be one of: 0-9 = player index, activates when "attacking" them 10+ = "special", activates automatically when in range; player ID is the module of the type (e.g. type 18 would be special, player 8) 40-49 = some other thing, someone really needs to cleanup this logic :) fixdialog (int) (string) - replaces the dialog of given index by the one described in the "string.txt" file. ddialog (int) - deletes given dialog (if no argument or -1, deletes the last dialog). Does not work when actually playing a dialog. fixtype (int) (int) - fixes the type (2nd arg) of the given dialog (1st arg). play (int) - plays given dialog. fixrotation - when playing a dialog, sets the in-dialog yaw of the current participant to its out-of-dialog yaw value. Graphics ~~~~~~~~ viewdistance (float) - sets the far clipping plane. In other words, it controls how far you can see before the fog obscures it. Its value is based on 1, that is, 1.5 is 50% farther. fadestart (float) - sets what fraction of the viewdistance an object must pass to begin fading. In other words, it controls how far an object has to be before it starts becoming transparent. Its value is based on 1, that is, 1.5 is 50% farther. Miscellaneous ~~~~~~~~~~~~~ quit - quits Lugaru. slomo (float) - toggles slow motion on or off. If it's turning on, the game speed is controlled by the floating point value. The value is based on 1, that is, 0.5 is 50% slower than normal game speed. slofreq (integer) - sets the slow motion sound frequency. The following commands have unknown effects: metal, sizemin, fixrotation, fixtype.