Lugormod-U

From The Jedi Academy Archives
Jump to navigation Jump to search

Introduction Lugormod U# is a server-side mod for Jedi Academy. It brings in a player account and profession system to allow for a more lively world than just a slaughter free for all game. This guide will help a new player to lugormod join a server and start playing. It will explain the basics of the accounts and professions, and detail how to play the new gametypes. It will also point out usefull commands for the player to know.

Getting started To begin your ventures in a lugormod server, you must first create an account. This is done using the "register" command. First choose a username, then a password. Enter them into the server using /register <username> <password> Server administrators cannot see what password you use, but they can change it for you later on if you forget. Generally the server owner cannot see your password, but there are cases where they may be able to find out what it is, so it is best to not use the same password you use for anything else.

After you register, you will be asked to log in to your account. This is done by using /login <username> <password>

You will then get a message saying how long your account will stay for. To prevent lots of unused accounts from building up, the mod will delete accounts that have been inactive for a certain period of time. The higher level your account is, the longer it will be kept. For every level you achieve, your account will be kept for 7 days longer from your last login, with a max of 70 days. As long as you often join the server and log in to your account, you should have no trouble. Accounts that were removed due to inactivity cannot be regained.

There are a few basic commands that should be known at this point. To change your password, use "/chpasswd <new password>". To list your level, time played, credits, and other status, use "/stats" (not "/status").


Selecting a profession You may now gain credits to level up, but leveling up will not do you any good without a profession to gain skills with. Check your available professions with the command: /professions Currently, the professions you can choose from are Jedi/Sith and Merc. Each profession gains you access to unique skills, up to level 5 in each skill. Each level you gain will increase your skill points available. To buy a level, use "/buylevel". The price required to level up will increase per each level, but will decrease the longer you wait. Each skill takes up more skill points as its level increases. To first gain a skill it costs 1 point, to get it to level 2 it takes 2 points, and on.

Jedi profession The Jedi/Sith profession lets you level up your forcepowers (each one can go up to level 5). Once you choose a dark or light side power, you will be unable to choose powers from the other side. A jedi uses force sense to find the money stash.

Merc profession The Merc profession lets you hold and use weapons. For each base level you get as a merc, the higher your max health and armor will become. A merc uses their binoculars to find the money stash. The skills for a merc are: Starting Weapon: what weapon you start with. The weapons in order from level 0 to 5 are: bryar pistol, blaster, bowcaster, disruptor, flechette, and repeater. Jetpack Fuel: This affects how much fuel your jetpack has. Weapon Grip: This skill will allow you to hold your weapon from being pulled out of your hands by force pull. It also lessen the chances of you being knocked over by force pull. Ysalamiri Blast: If you pick up a ysalamiri, you will be able to use it as an offensive weapon. Once you pick up a ysalamiri, you can use the duel challenge key or the the "/ysalamiri" console command to activate the ysalamiri. How long it lasts depends on the level of the ysalamiri blast skill. If the skill is level 3 or above, then you will send a brust of the force-countering energy into whoever is nearby. The higher the skill, the larger the range and the longer the effect will last. Ammo Hold: The higher this skill, the more ammo you can hold. Stash Range: This allows you to use your binocular items to find money stashes (more on that later). The higher the skill, the longer range of detection it has. Martial Arts: This skill affects how much damage your melee attacks do. If you get this skill to 3 or higher, then you will be able to use the special grapple moves and kicks. Starting Armor: This controls how much armor you get when you spawn. The higher the skill, the larger precent of armor you spawn with.

Credits Credits are the monetary unit used in lugormod. With credits you can buy more levels, pay other players, or purchase goods and services on the map. To view how many credits you have, use the console command "/credits". You can pay credits to other people and certain terminals by standing close to them, aiming at them, and using the command "/pay <amount>". Depending on the server settings, you may have already started with some credits. However, eventually you will need to gain credits on your own.

The primary method of gaining credits is the money stash, which looks like a datapad (a small blue pda). The server should have set up money stash spawnpoints on the map as well as one or more "banks". The objective is to capture the money stash and deposit it at the bank. To capture the money stash, just walk over it. To deposit the stash, hold the use key while facing the controls on the bank. The time it takes to deposit the stash is normally 15 seconds, but the server may change it. Traditionally, you should do every thing you can to gain and deposit the stash, although some servers tend to have a "no killing" policy when competing for the stash. Check the rules of the server. Normally, the amount of money the stash yields and how often it spawns depends on how many players are in the game. Plans are in place to let the server affect the yield and spawn rate of the stash, however. The stash will normally attempt to spawn every 60 seconds, plus a random 10 seconds. If it spawns or not depends on the number of players, and a random number between 0 and 3 compared against the number of banks on the map. The spawn check can be changed by server cvar, though.

General concepts

Chat modes Your team chat will act in different ways depending on what your chat mode is. Currently the chat mode toggle is not in place yet, so the modes will be fixed based on your account status. Unregistered: team chat (does nothing) Registered: buddy/friend chat Admin: admin chat

Buddies and Friends In lugormod, you can add players as buddies using the "/buddies" command. When someone is in your buddy list, then they can hear you when you talk using buddy chat. They will also be affected by your team heal or team empower forcepowers, and will be able to walk through your forcefields and not be shot at by your sentries and seekers. To add a buddy, use "/buddies <name of player". Once you add them, use the same command to remove them. Buddies are temporary and will not save across map restarts and logouts.

Friends are like buddies, but even more so. Adding a player to your friends list will have the same effect as a buddy, but they will stay even when you log out. When the message system is added in, only players you have added as friends will be able to send you messages.

Weapon changes Depending on the server settings, the stun baton and the bryar pistol might have different usages.

The stun baton can be set to act like a grappeling hook. Use alt fire to fire the hook, and when swinging, use primary fire to releace and rehook onto the surface you are aiming at (if it is within range). alt fire will releace the hook again.

The bryar pistol can act as a "teleport gun". Holding alt fire will charge up to launch the telegem (a green gem). hitting primary fire will teleport you (if there is room) to the gem. The gem does have a time limit, and will dissapear if not used in 20 minutes.

END OF GUIDE FOR PLAYERS

BEGIN UNCOMPLETE ADMIN COMMANDS

Admin commands In alphabetical order

addloc Default admin level: 1 Locations are used by /gotoloc and /location Usage: addloc <location> Add a location.

announce Default admin level: 3 Usage: announce

authother Default admin level: 3 Usage: authother <player> <level> Gives the specified player admin at the specified level. Does not work on accounts. The player will loose admin when they disconnect. Level must be lower than your own admin level.

becomeking Default admin level: 1 Test command for the "king" system (see "Chapter <Unsorted 1>: Dueling" for more information). Makes you instantly become the king.

blowup Default admin level: 1 Makes the targeted entity explode. WARNING: Aim carefully, there is no 'undo' feature in the mod. WARNING: This command is heavy on temp entity usage, and might crash the server due to no free entities. This command might be removed in the future.

bluespawnpoint Default admin level: 1 Place a spawn point for the blue team where you are standing. This command is deprecated, use the "place" command with the entity "info_player_start_blue" instead. Only spawnpoints placed by a level 1 admin will be saved with the "saveit" server command.

botwprender Default admin level: 1 Displays entities at every bot waypoint. Can be seen through walls. Usefull for editing bot waypoints. The number displayed is the waypoint index. WARNING: Every waypoint that is generated uses a temporary entity. This can easily crash the game when there are not enough entities left.

cancelvote Default admin level: 3 If a vote is in progress, it will fail.

END OF ADMIN COMMANDS


BEGIN UNCOMPLETE PLAYER COMMANDS

Player commands In alphibetical order

admins View the current admins on the server. Admins my choose to hide themselvs from this list.

buddy All players who are in your buddy list can hear you chat when your team chat mode is set to "buddy". Players in your buddy list can also go through your deployed forcefield items, not be shot at by your deployed sentries or turrets, and can be affected by your team heal and team empower. Usage: buddy Displays your current buddies. Usage: buddy [player] If the player specified is not in your buddy list, they are added. Otherwise they are removed.

buylevel [i]Active gametypes: FFA, Siege[i] Buys a profession level. See "Chapter <Unsorted 2>: Professions and Leveling" for more information. Usage: buylevel List the next level and the amount of credits needed to purchase it. Usage: buylevel [cost] If you have enough money and [cost] is greater or equal to the amount of money needed, you will buy the next level.

challenge Usage: challenge <types> Types can be any combination of the following: power: Have unlimited forcepower. force: have access to your own forcepowers. Incompatible with "fullforce". fullforce: have every forcepower. Incompatible with "force". training: No damage will be done. Applied damage will be displayed on each player's screen. tiny: Players will be scaled small. Incompatible with "titan". titan: Players will be scaled large. Incompatbile with "tiny". bet: Bet 10 credits on the outcome. If used with "hibet", 500 credits will be bet. You must be able to affoard the bet. Winner will get double the credits. hibet: Bet 100 credits on the outcome. If used with "hibet", 500 credits will be bet. You must be able to affoard the bet. Winner will get double the credits

chatmode This will change the mode of your team chat. For more information see "Chapter <Unsorted 3>: Buddies, Friends, Ignores, and Chat." for more information and valid modes. Usage: chatmode Switch to the next chat mode in the list. Usage: chatmode [mode] Switch to the specified chat mode.

END PLAYER COMMANDS


BEGIN OUT OF DATE INFO

Mod Information [Mod Guidelines] After every 'stable' version, the mod number will be incremented (U1, U2, U3, et al). The original lugormod data formats will be changed to a generic format that will be able to accept changes to the data without changing the file format and compatibility. command-line based converters (and their source code, if they are needed in linux) will be supplied for format changes if the mod cannot convert it on its own. No more than 3 weeks (28 days) will go by without a release (this is a heavily stressed 'guideline', I will strive to follow it when I can, but no guarantees.


[Data] All server data is stored in the folder "data/<datapath>" where <datapath> is the cvar lmd_DataPath, which defaults to "default" All data files will eventually follow a "key: value" format.

[Accounts] Format will be: <key>: <value> for example: Quote:

name: ^2Phred lastIP: localhost id: 1 //this is only for internal use by the server. Players will login using their username (the name of the file) password: 0xabcdef //password chksum in hex. Support for text-based passwords included, password will convert to chksum hex when first read in. lastLogin: 2007310 //format: year, then days since jan 1 credits: 10 profession: 3 //0: none, 1: admin powers, 2: bot, 3: jedi, 4: merc level: 4 //NOT the auth level if prof is 1 authlevel: 1 //admin auth level time: 100000 //total secconds of playtime score: 10 lastLevelUp: 2007305 //same format as "lastLogin"

prof_jedi_heal: 2 prof_jedi_levitate: 3 //jump prof_jedi_speed: 2 prof_jedi_push: 5 prof_jedi_pull: 3 prof_jedi_telepathy: 2 //mindtrick prof_jedi_grip: 0 prof_jedi_lightning: 0 prof_jedi_rage: 0 prof_jedi_protect: 0 prof_jedi_absorb: 4 prof_jedi_team_heal: 5 prof_jedi_team_force: 0 prof_jedi_drain: 0 prof_jedi_see: 5 prof_jedi_saber_offense: 4 prof_jedi_saber_defense: 5 prof_jedi_saber_throw: 4

prof_merc_weapon: 0 prof_merc_jetpack: 0 prof_merc_strength: 0 prof_merc_ysalamiri: 0 prof_merc_ammo: 0 prof_merc_stash: 0 prof_merc_melee: 0 prof_merc_armor: 0 prof_merc_cloak_ship: 0 //not in use yet

//specs are extra data for professions or general settings spec_jedi_side: 1 //force side: 0 neutral, 1 light, 2 dark. Changing this when it is already set will let a player select that side regardless of what side powers they have. Setting it to 0 will let a player select both, but it will automaticly switch to the side of the next sided (non-neutral) power the player selects.

RandomScriptKey: RandomValue

Any unrecognised keys will still be stored, for use in jscript. This lets you define your own variables instead of relying on generic variables

Note that number values that are 0 or text values that are not set will not be saved to the accounts.

Currently, there is only enough room in the quake3 file scan buffer for roughly 2048 accounts (probably more, depending on the size of the file names). If the improbable occures and you need more than this, let me know and I can remake the code to not use the quake3 file scan functions and use the basic OS functions.

[New Commands] Admin commands delent <entity index> Deletes the specified entity.

usetarg [targetname] Use all entities with the specified targetname. If no targetname is set, then the 'target' of the entity being aimed at will be used (if available).

nudge [entity number] <x y z> Push the entity in the specified direction. If no entity number specified, the entity being targeted will be moved. This will modify the origin spawnstring key, so the affect will be saved on entities that have an origin specified in their spawnstring. It is safe to use on doors and other 2 stage movers (it will be useless or screw up on multi-stage movers, like func_train).

Player commands register <username> <password> Register your username and password on the server. This replaced the old regnick command.

interact [command] General interaction. Works with lmd_pwterminal and lmd_terminal entities.

[New entities]

lmd_remap Change a texture on the map. Use of this will greatly increase the connection time to anyone joining after the remap took place. Make sure to increase the connection timeout cvar before using this. Quake 3 uses 'shaders', which are basicly textures with additional information. You can try to remak a shader by using the texture name, but it is best to remap it using its shader name. Shader names are stored INSIDE the .shader files, and are not the shader files themselvs. I might eventally finish my pk3 scanner and release it for easy finding of shaders.

Give this entity a targetname to activate it. If no targetname is given, then the entity will activate the moment it is spawned.

Spawnflags 1: if set, using this toggles the remap on and off. Otherwise using it will just turn it on, even if it already was. Leave this off if you plan on using multiple remaps for the same textures.

Keys old: old shader to replace new: new shader

lmd_light This entity lights up an area with the specified colors. It can be toggled on and off, and can use different light and intensity values for each stage. It starts in the 'on' state Keys "light": the intensity of light when turned on. "color": the colors in decmal form (0 to 1, 0.5 would be 50%) for the precent of the color to display. The value should be the red, green, and blue values (in that order) with spaces. Ex: "colors,0 0.3 0" would be a dark green, "colors,1 0 1" would be bright yellow.

"offlight": the intensity of light when turned off "offcolor": the colors when turned off, follows the same rules as "colors"

lmd_gravity Sets gravity on the entire server, or on an individual player. Spawnflags 2: gravity change will be global (if no set, the change will only affect one player). Keys "count": the gravity to set. The default is 800, but the map might change it.

lmd_toggle Uses the targets in order, then repeats Keys count: the number of targets you are using. If this is less than 2, the entity will not spawn, as it will have no purpose.

target: target2: ... target6: Targets 1 though 6 are usable for the toggle. Set the 'count' key to the max number of targets (if you use up to target3, then set 'count' to 3.

lmd_mover This is what ravensoft should have done in the first place. It allows you to make use of any combination of movement patterns. Some basic info: Quake 3 uses a movement system that is the same for both angles and origin. The system has the following values:

base: fixed origin/angles, where the movement is calculated from

delta: movement/rotation offset. This is a vector, and needs the x, y, and z values specified (like mins/maxs/origin and others). This is the origin/angles the entity should be at once 'duration' completes.

duration: time offset. This may repeat if the right movement type is set. This is in miliseconds (1000 of these are 1 second).

type: movement type, explained later.

The mover entity lets you modify each of these values (save for 'base', which is automaticaly set to the origin or angles) for both movement and rotations, at each position.

Movement types are: 0: TR_STATIONARY. Don't move at all

1: TR_INTERPOLATE. Teleport between start and end

2: TR_LINEAR. Move without acceleration twards the goal. When the goal is reached, keep moving/rotating forever. This is stupid to place on the movement, but sane to use on the rotation.

3: TR_LINEAR_STOP. Move without acceleration twards the goal. Stop when the goal is reached.

4: TR_NONLINEAR_STOP. Accelerate while moving twards the goal, and decelerate and stop when it arrives at the goal.

5: TR_SINE. Move like a sine wave (func_bobbing and func_pendulum uses this)

6: TR_GRAVITY. Fall downwards, accelerating at 800 units per second. This ignores the cvar g_gravity, and always uses 800 (this would need a client side plugin to fix properly). Movement ignores all solid objects, so it will fall though the floor. Best not to use this.

Keys Uses standard mins/maxs/model keys.

ondelta: movement offset when toggled 'on' offdelta: movement offset when toggled 'off' onadelta: rotation offset when toggled 'on' offadelta: rotation offset when toggled 'off'

onduration: movement duration when toggled 'on' offduration: movement duration when toggled 'off' onaduration: rotation duration when toggled 'on' offaduration: rotation duration when toggled 'off' ontype: movement type when toggled 'on' offtype: movement type when toggled 'off' onatype: rotation type when toggled 'on' offatype: rotation type when toggled 'off'

Examples A rotating object that rotates once every 2 seconds and can be toggled, Starts on: onatype: 2 onaduration: 1000 onadelta: 0 180 0

A door that moves 100 units up in 2.5 seconds. Assume that the door was spawned at location '0 0 0' ontype: 3 ondelta: 0 0 100 //You will need to make this the door origin, with the z value increased by 100 onduration: 2500

An object that rotates once every 2 seconds when 'on', and bobbs up and down 30 units every second when 'off'. Starts off: onatype: 2 onaduration: 1000 onadelta: 0 180 0 offtype: 5 offdelta: 0 0 30 offtime: 1000

lmd_body Basically the same fake body as left behind by the misc_camera. The player that activates this will get a fake body left behind with their model and team settings. Damage to this fake body will be forwarded to the player. This entity will NOT move the player, so unless a target_teleporter or such is used at the same time (perferably under the same targetname), then the player will be stuck inside the fake body and will not be able to move. You might need a target_delay with 0.01 wait time (1 game frame) for the teleporter, otherwise the entity might be triggered after the teleport and the fake body will appear in the teleport dest with the player. When the entity is used again (by any player or entity), the body is removed. The player that first used it is not teleported, but left wherever they are.

lmd_pwterminal Player must know the right password to use this. Passwored is entered though the player command "/interact"

Keys Uses standard mins/maxs/model keys.

message: This string will be displayed when the player uses the terminal, in addition to instructions how to use it. target: target to fire when pass is right target2: target to fire when pass is wrong target3: the password target4: fired whenever it recieves a password.

lmd_door Moving model that will act as a door. A door without a targetname will automatically spawn a "trigger_door" entity to open itself when a player comes near. With a targetname, it will not do this. If you still want the targetname for activate/deactivate and also want it to open when a player comes near, manually spawn a trigger_multiple in place of the trigger_door. The "trigger_door" will get its mins/maxs from the longest x or y size of the hitbox increased by 120, and will take the z of all the way to the top.

Spawnflags 2: Can be activated by a force push or pull. 4: Do not stop reverse direction if a player is in the way, keep trying to push through them. 8: Do not automatically shut after opening, need another use to close. 16: Door must be used by a non-player to become active. After this, it will work like a normal area-sense door. 64: Player can use it with the use button 128: Start disabled/deactivated.

Keys Uses standard mins/maxs/model keys.

movement: this is the x y and z offset to move from its spawned position. speed: Speed at which the model moves at. Defaults to 100 wait: min wait time between usages, defaults to 2. dmg: damage to give if a player gets in the way. Will do repeated damage if 'crusher' spawnflag is set. target: Door fires this when it starts moving from it's closed position to its open position. opentarget: Door fires this after reaching its "open" position target2: Door fires this when it starts moving from it's open position to its closed position. closetarget: Door fires this after reaching its "closed" position targetname: if set, no touch field will be spawned and a remote button or trigger field activates the door. speed: movement speed (100 default) "wait" wait before returning (3 default, -1 = never return) "delay" when used, how many seconds to wait before moving - default is none "lip" lip remaining at end of move (8 default) "dmg" damage to inflict when blocked (2 default, set to negative for no damage) "color" constantLight color "light" constantLight radius "health" if set, the door must be shot open "linear" set to 1 and it will move linearly rather than with acceleration (default is 0) "teamallow" even if locked, this team can always open and close it just by walking up to it 0 - none (locked to everyone) 1 - red 2 - blue "vehopen" if non-0, vehicles/players riding vehicles can open


lmd_terminal Generic interactive terminal. Will display the targets and descriptions in the console or screen, and will let the player use "/interact" to trigger the target of their choise.

Spawnflags 1: display the possible commands on the screen in addition to in the console.

Keys message: This is the message to display when the terminal is used. Use this as a description.

cmd: cmd2: cmd3: cmd4: cmd5: cmd6: All of the above keys will display as the description for the target when the player does /interact.

target: target2: target3: target4: target5: target6: All of the above keys are the targetnames that will be used when the player does "/interact <1 to 6>".

lmd_rentterminal Same as t2_rentterminal. Player pays money to rent this, and can use it as long as their rent doesnt expire. The player will be informed when their deadline is getting near, and when it expires. The player who currently holds it is able to pay more money later on. Player will be warned at 1 minute, 30 secconds, 15 secconds, and 5 secconds that their rent is running out.

If the player disconnects or switches teams or spectates, than they forfit the terminal instantly.

Spawnflags 2: Player will be able to pay more money after their first payment to keep ownership.

Keys message: This is the message to be displayed when the teminal is used. Use this as a description count: price per minute. minutes: time in minutes to own this (decmals accepted, will be rounded to the nearest seccond) wait: time to wait between payments, if spawnflag 1 is set. maxtime: Players will not be able to buy more than this. Value in minutes. target: target to fire when used by the owner target2: target to fire when rent runs out (ex: target to a target_teleporter to teleport the player to a location outside the house of which the door is controled by this terminal, to make sure they are not staying in it. target3: uses this when player rents the terminal, and when money is added.

[Auth system] The limit on admin levels has been removed, so the max level you can use is 16777216, only because the memory value that stores admin levels cannot store numbers higher than that. This is probably fine, as the game can only read in 2048 accounts currently.

======================[External Links]============================================

Lugormod U# Downloads Page 1.0.4.7.

A lugormod guide w/ entity list stuff. The T2 things aren't all usable in U#