Jump to content

AradorasXeon

Members
  • Posts

    74
  • Joined

  • Last visited

Profile Information

  • Gender
    Male
  • Location
    Hungary

Recent Profile Visitors

3,280 profile views

AradorasXeon's Achievements

Enthusiast

Enthusiast (2/10)

  1. In this tutorial I'm going to show you how to make a siege map. (This tutorial doesn't guarantee you will make a good one.) I assume you have basic understanding of mapping and have played at least one siege match on all 3 base maps. I use GtkRadiant 1.5.0, but probably other versions are very similar to this one. (I tried 1.6 but I missed a lot of things, so it may not work with that). Things you will need: - GtkRadiant - Wordpad, or any text editor will do which can save in any given format. Siege mapping is mainly logic, and everything is about good targeting. First you need to have a map, or you can create one while you are reading this. The main difference between siege mapping, and any other kind of mapping is, you can't spawn on info_player_start, this entity is used for the team "spectator", so any spectator will spawn in here (or into info_player_intermission). To spawn the teams in you will need to use info_player_siegeteam1 (or2). We usually use 1(red entity) as the attacker team, and 2 (blue entity) as the defender one. Objectives are called info_siege_objective (pink entity). They have three keys "side", "objective", and "icon". Side can be 1 or 2, if it is 1 the offense team supposed to complete this objective. But wait this means there can be objectives for both teams! That's right, there are some maps out (none of them are mine) which are based on this very thought (e.g.: droid ball). Objective type a number here (obviously 1 stands for 1st objective etc). I never really tested how many objectives can a map has, base maps have 6, but you may have more (well they probably won't show up on the objective map, or may crash the game). Icon it should contain the path to a tga file. E.g.: "gfx/mp/siegeicons/hoth/walldoor.tga" (watch for slashes direction, if i remember right it matters which one you use). You should have three of them (staying at the example:) walldoor.jpg (32x32), walldoor_o.tga, walldoor_x.tga these last two doesn't have to be named this way, since you will define this in the .siege file, but this is the logical choice. (I can't say more about tga files, because they are graphic things, and I usually don't care about these very little things, BUT! if you don't have own icons for active objective and done objective the game will show hoth's by default. Keys that usually don't appear in the entities' own help menu: targetname: This one is essential for siege game type, and you probably have already met with this guy. Do not use space button, instead use the "_" mark, and probably you can't go above 128 characters. target: This one is also essential as well, logically if you want a trigger to fire the right target, you have to check if the value of the target (from the trigger), and the targetname (the target's) are the same. There are many kind of objectives, like: hack, press a button, advance through a specific point, carry something from here to there, destroy a wall/model or even kill an NPC, but I don't suggest this one. Most of these can be done with a simple trigger_once (do not use trigger_multiple, because it will fire the objective more times than you want, and will end the game before it should). With triggers you can make the followings of the above: hack, press button, advance through a specific point, and you will need this one as the area where you have to carry something. Let's start with hack, first you need to add the spawnflag "use button" or you will be able to hack by just standing in the trigger, then you should target the info_siege_objective, or a target_relay or just a func_door if you want to complete a "side objective" (I will talk about this later). So with this you will get an objective where you have to hack something, like the ion station on hoth. As of talking about triggers I have to mention the idealclass key, which can determine which class/classes can trigger that specific trigger (more about this in the entity's help). Press a button and complete an objective, obviously you have to add the spawnflag "use_button". Best example: hoth's 2nd objective. Advance through a specific point, this practically same as above, you just don't add the "use_button" spawnflag. e.g.: hoth's 4th objective. Carrying a specific something. You will need the misc_siege_item entity for this one, and a trigger_once(/multiple for maps like droidball). The misc_siege_item entity can be used in two ways, so now I am going to mention only the ones which are related. Startoffradar spawnflag: You have to trigger it to appear on the map (this means you have to give it an icon). Model you have to give the path to the model you want to carry, like "models/players/droids/r5d2_head.md3". targetname if it has one it won't spawn until it is used. target2: target to fire when picked up (usually a target_print so everyone knows when it is picked up) pickuponlyonce: If it is 1 target2 won't fire, after it is dropped (have not respawned) and picked up again. target3: will fire this when it is delivered. canpickup: This one is essential in this case, give it a "1" value. pickupsound: path to sound file (never used this one, probably has to be*. wav file and mono) goaltarget: the tagetname of the trigger, where you have to deliver this item. usephysics: if 1 it will fall down etc. (never used 0, but probably it just stays there where carrier was killed and do nothing, 'till respawn) From radiant: "mass" If usephysics, this will be the factored object mass. Default is 0.09. "gravity" If usephysics, this will be the factored gravitational pull. Default is 3.0. "bounce" If usephysics, this will be the factored bounce amount. Default is 1.3. Back to me: teamnotouch: If "0" everyone can pick it up, if "1" only team 2 can pick it up, if "2" only team 1 can pick it up teamnocomplete: If both teams can pick it up, then if this value is 1, team 1 cannot complete it and same goes for team 2. respawnfx: path of fxfile (never used it, e.g. korriban crystals) noradar: if 1, it won't show up on radar at all forcelimit: if 1 can't use any light or dark force while carrying this item (like korriban crystals) (you can jump, push, pull, throw saber but cannot speed up and force won't regenerate) paintarget: Honestly I haven't figured this one out yet, but it should do something with npcs, like on hoth, you have to destroy the droid, and then the head will be at the point where the droid was destroyed. Normally paintarget fires its targets when something hits the given entity. icon: If anywhere you should use this key it is here, because the item will show up on the radar while it is carried (unless you are mindtricked, then it will stay at the position where you were mindtricked). Destroy: there are two ways of destroying things. First you make a brush/patch/ or even both, you assign them and give them the func_breakable option. Before I start listing the keys and what do they do I have to mention that: on func_breakable the weapon demp2 and DL-44 won't have any effect (in multiplayer). We usually use this if a wall has to be destroyed, but you can try and build nice things with it. The spawnflags are nicely defined in the entity's help, so I'm going to mention only the one which are used the most. "heavy_weap" If you tick this, you can damage this only with: saber, alt attack of the repeater, alt attack of the gollan weapon, rocket launcher, any throwable weapon and the concussion rifle (the purple and black weapon). Theoretically any vehicle's weapon can damage it, too (even swoops). target: will fire this, when destroyed paintarget: will fire this, when it is hit and taken damage (usually a target_print)(note: sometimes this can crash the game, even the server) wait: how many milliseconds should it wait before firing paintarget again health: this many health points will be given to it teamnodmg: this team cannot damage it delay: how many seconds should it wait before blowing up, but already reached 0 hp numchunks: This many chunk will be spawned when destroyed chunksize: for scaling up/down the chunks playfx: path to fx file when it is destroyed and should palyed showhealth: if 1 you will see its health bar teamowner: to determine which team will see the its health bar green spalshdamage: it will damage this many when it's blowing up splashradius: it will damage "spalshdamage" in this radius material: this value is a number (to see what is what open up radiant). You should know if you give a number which contains any glass material in it, it will take damage on impact (doesn't matter if spawnflag is ticked or not). This means you start to jump in its direction and when you arrive, you will damage it. healingclass: same as idealclass, the difference is: with this class you can health the func_breakable healingsounds: will play this while healing it (usually: "sound/ambience/doomgiver/doom_bridge.wav") Before I move on, I have to mention that you can use models this way, you clip around the model with a physics clip, and make it func_breakable, then you give a target to the misc_model (not sure if misc_model_static works too, because it's rare I use them). Then give that targetname to the func_breakable. People would think it works reverse, but it doesn't. And again misc_siege_item. Yes it can be use as a "destroy" objective. The main difference between func_breakable and this, that you can damage this with demp2, DL-44 and you cannot put det packs onto its side. The tricky part is the physics clip, which is created by the engine itself. It is going to be a big cuboid around the model, so don't use to special models for this one. You clip them with the following keys: maxs & mins "mins" Actual mins of the object. Careful not to place it into a solid, as these new mins will not be reflected visually in the editor. Default value is "-16 -16 -24". "maxs" Same as above for maxs. Default value is "16 16 32". says radiant, but honestly for a long time I had no idea what did they want to mean with this (maybe it's because english isn't my native language), so I'm going to try and explain how to use them. First you will use a misc_model (Note: I suggest you only use the angle: 0;90;180 or 270, because if you make it 45 it will be annoying to destroy with saber, like in desert's 2nd objective) After you have rotated the model to the way it supposed to be, you have to make a brush around it which fully covers it. You need the cuboid's three lengths (in radiant 1.5 you can easily see its length by pressing "J"). Now you have the lengths of x;y and z. You have to check the model's origin (usually in the middle or at the bottom). Now imagine a coordinate system to that origin its "+" side are the maxs and its "-" sides are the mins. If the model's origin is in the middle you have an easy job, just divide the lenghts by two and write the counts in to the value box in the right order. Don't forget to swap the misc_model with a misc_siege_item! (An example: on my project digimon map, I have a bunch of bacta tanks, which are need to be destroyed and I used misc_siege_item-s for this objective, I used the misc_model, measured it with a cuboid and had the following lengths x:96 ;y:96 ; z:192 , so my maxs: 48 48 192 ; and my mins: -48 -48 0, because this model has its origin at the middle bottom). Another difference is the target, instead of the simple "target" key you should use the "target4" key. (Remember! Target is for carrying objectives.) deathfx: plays this effect when its health reaches 0, then deletes model. It has healingclass, healingsound, health, icon, showhealth, teamowner, teamnodmg keys as well and they are the same as above. Don't forget to add the model key! In case you want an objective which in you have to kill and NPC. First I have to say again I don't suggest this, because most of the NPCs are very dumb in siege. In my siege_ktr (Kill the mutant rancor) neither of my tries worked to move the npc when the player sits in a vehicle and you probably have noticed that rancors are very dumb in both base siege map, I tell you this: they are supposed to circle around, but as you have probably noticed they just stand there and rarely attacks people when they get close by. And don't even dream about any script will work on them. On my project digimon map, I have 3 NPCs in the interrogation room, and they have spawnscripts (they supposed to lie on the floor) and boom the game don't even spawns them in siege... So if you still want to kill an NPC objective, then: npc_target: fires when npc is killed (won't show the line between target and trigger entity) npc_target4: fires when NPC is killed by friendly fire (won't show the line between target and trigger entity) health: This supposed to determine how many health points the npc will have, well on siege_ktr, the mutant rancor has 350, and you have to fire on it with atst for at least ~20 secs, maybe it's just with monster npcs. Teamnodmg, teamowner, showhealth keys are working here as well. These are the most basic elements of siege. Now let's see some other entities: func_door The most used spawnflags in siege are: toggle, locked, inactive. Toggle will wait to open/close for triggering event. Locked starts locked (if possible on the texture, it will be red). It will allow the team from the "teamallow" key. (Can be fired only once) Inactive it is inactive, have to be used by a target_activate entity, then it operates normally. Locked & targetname issues: when you give a targetname to any func_door, the engine won't spawn triggers around the door, so you have to make triggers around it, except if you give it the locked spawnflag in which case, it will be like a normal door, and it will have a targetname. So if you have a func_door with targetname and locked spawnflag and a "teamallow: 2" key. The door will be locked for team 1 until a trigger triggers the door. While the door is closed for team 1, team 2 still can use it, and you don't have to make triggers around the door to open for them. There are four target possibilities for func_doors and they are well written in radiant, but I notify you, some of them doesn't make radiant to show the usual line between trigger and its target (at least in 1.5). vehopen: if 0, people on/in vehicles cannot use this door, if 1 they can. soundset: I always use this one "impdoor1", because I don't know of any other. (if you use it as elevator then use "piston") Another usual func_ we use is the func_usable. It is used for temporary walls (usually textured as energy fields). Start_off spawnflag: won't be there until used. target: will fire when it's toggled OFF. target2: will fire when it's toggled ON. There are some usable targets for siege like: target_activate /deactivate (I haven't used that yet), target_delay, target_location, target_print, target_relay, target_siege_end (this one is essential), target_speaker. target_(de)activate: when fired (de)activates its targets (mostly triggers, and doors) target_delay: after it is triggered, it waits the given value of seconds determined with the wait key. target_location: message key's value will determine what will show up on the team overlay screen next to your teammates' name. The count key doesn't work (at least it didn't work for me) target_print: will print the value of the message key (in multipalyer only 49-50 characters will show up), with the spawnflags you can control who will see the meassge (red team, blue team, or private) target_relay: You want to use this to activate/deactivate spawn points, which is usually have to be done in siege (theorically you can do it with scripts, but I never tried). First you place every spawn point for every team, then you give targetnames to them (e.g. for a 8vs8 map 16 spawn points have to have the same targetname, at least for the first time, because it is possible you don't want to move the spawnpoints for defensive team, and move the offensiv team's, like in project digimon). You need two target_realy for most of the objectives, and they should have the same targetname so they will be fired in the same time. One of the target_realy-s will switch off the previous objective's spawns, and the other will activate the next one's. Every spawns which are not in use should have the "startoff: 1" key. When a spawn point is fired from a target_relay it will switch its startoff key. target_siege_end: give it a targetname, you can either fire it from in game, or from the .siege file (it is usually fired from the .siege file). target_speaker: if you are a mapper, you probably already have met with this, it is just here not to forget about it emplaced_gun count: if can respawn, it can respawn this many times (theoretically -1 makes it infinite) showhealth, teamnodmg and teamowner, works as above, BUT! alliedteam is reverse for some reason, so 1 is for the actual 2, and vica versa. This is very important because only alliedteam members can use it (if none, both team can use it). misc_turretG2 notice: these won't show up while testing in singleplayer spawnflags: start_off: have to be triggered to work upside_down: makes it up-side-down can_respawn: will respawn turbo: you want to use this for space maps keys: teamnodmg: given team cannot damage turret alliedteam: turret won't shoot to given team teamowner: will highlighted as green for given team (works with showhealth 1) dmg: does this many damage/hit radius: can pick up targets from the given distance count: will respawn after this many milliseconds have passed paintarget: same as func_breakable's painwait: will wait this many milliseconds before firing its paintarget again shotspeed: the "rocket" which comes out, will travel at this speed (better not touch the default) splashDamage: This many damage will it do, when hit floor/target. (if you want hoth like turrets don't touch it) splashRadius: will do splashDamage in this radius targetname: for toggling it on/off target: fires it when, it is destroyed target2: fires it when, it starts shooting to an enemy showhealth: same as above icon: same as above customscale: if you want it bigger write a number 1024>100, if you want smaller write a number <100 (100 is normal) Notice: You shouldn't let its origin to directly touch a brush, always put it lower/higher, because it won't spawn that way. Turrets usually cause an error while compiling the map, don't bother yourself, it will work and will have no problems, if when the error shows up you got some of your turrets assigned, in any other casses you have probably made another fault. misc_model_health_power_converter You should only modify the angle, or maybe the count key, which doesn't really do anything. You should add the model: models/items/power_converter.md3 key. I know it appears in the editor, but if you don't add this key you won't see anything on the map. (You can add other models to it, but I've never tested them). (This doesn't need any clipping) misc_ammo_floor_unit count: max ammo that can be drained from it chargerate: will recharge 1/this manny milliseconds nodrain: if 1, it won't be drained (This doesn't need any clipping) misc_shield_floor_unit count: max shield that can be drained from it chargerate: will recharge 1/this manny milliseconds nodrain: if 1, it won't be drained (This doesn't need any clipping) misc_turret same as misc_turretG2 except there are no customscale, painwait, paintarget, count keys (none of them are tested, but you can try) only has start_off spawnflag, and has a "speed" key which determine how fast can it turn. It can be healed (see above). These are the entities used in siege game type, of course you can use any other entity from multiplayer. Now you are ready with the map, but you cannot play it yet (at least not in siege mod). First you need a siege file. At your first time I suggest to use the siege_hoth.siege file (You can get it from the assets0.pk3 file with any program which can unzip zip based files, it is in map/mp/siege_hoth.siege) but just in case I'm going to explain some line here. First: You have to give your *.siege file the same name as your map's eg.: in case you have a mymap.map file (we usually add the siege_ tag but you don't have to) then you have to have a mymap.siege file (I suggest wordpad, because most of JA's special files can be opened with this and it makes the lines break well). The siege file has to be in the same folder with the map file. In the attached file every messages are like this: message_team1 "@@siege_uwb_hoth_obj_1_new_imp_final" This is because of translation issues. I don't suggest to use them (once I tried some of the default it crashed the game). Just simply put english messages here, if they were able to download it they are probably able to understand basic English. Another important issue with the siege file are these marks: {} (on my keyboard they are on B and N keys). There are many possibilities to fire targets from the siege file, though I don't really use them, because usually I make the map first and the siege file comes afterwards, if something is not working I am always able to check it from radiant, and I don't have to open the siege file. (Believe me in siege maps something usually goes wrong after first compile). First you have to give the teams in the siege file like: Teams { team1 Imperials team2 Rebels } These names don't have to match with the names in the team file. mapgraphic "gfx/mplevels/siege1_hoth" this is the graphic which will appear on the objective desk (use only 256*512 pictures) missionname "''Hoth Assault''" roundbegin_target it fires its target when there are at least 1 player on each team eg.: on hoth this is the droidhead, so the droid won't spawn until the game begins. RequiredObjectives in base maps this is 1, but wait - you might say - there are 6 objectives on base maps. Yes it's true, every objective has a "final" key after that, you can type -1,0,1. -1 means it doesn't influence the end of the game. 0 gives 1 point to requiredobjectives (this means base maps have one objective with a "final 0" line). If it's 1, completing this objective will immediately fire the roundover_target. Now I copy an objective and a team describe lines from siege_hoth.siege and show you what does what. @@siege_uwb_HOTH_TEAM1_IMPERIAL <-- You give the team here { RequiredObjectives 1 <<-- see above the round? <<-- This isn't even in the sdk, you can skip this line, I made 3 working map without it. Timed 1200 <<-- How many seconds should pass before attackers lost objectives, otherwise the other team wins. <<-- this does nothing in my opinion (every of my maps work without this line) UseTeam "Siege1_Imperials" <<-- name from .team file TeamIcon "gfx/2d/mp_imp_symbol_3" TeamColorOn "1 0 0 1" <<-- the color of the symbol of the team when you click on it TeamColorOff ".7 0 0 1" <<-- the color of the symbol of the team when it's not clicked on Objective1 { goalname "@@siege_uwb_HOTH_IMP_OBJ_1_NEW" <<-- see picture final -1 <<-- see above message_team1 "@@siege_uwb_hoth_obj_1_new_imp_final" <<-- team1 gets this message when team 1 completes this objective. message_team2 "@@siege_uwb_hoth_obj_1_new_reb_final" <<-- team2 gets this message when team 1 completes this objective. target "spawn_relay_1a" <<-- this is fired when objective is completed. sound_team1 "sound/chars/protocol/misc/siege2.mp3" <<-- team1 gets this sound when team 1 completes this objective. sound_team2 "sound/chars/protocol/misc/siege6.mp3" <<-- team2 gets this sound when team 1 completes this objective. objdesc "@@siege_uwb_HOTH_IMP_OBJ_1_NEW_DESC" <<-- see picture objgfx "gfx/mplevels/hoth/imp_objective1_new" <<-- see picture (256*256) mapicon "gfx/mp/siegeicons/hoth/walldoor_o" litmapicon "gfx/mp/siegeicons/hoth/walldoor_outline" donemapicon "gfx/mp/siegeicons/hoth/walldoor_x" mappos "135 245 16 16" <<-- I don't know how this works } An objective is completed, when an info_siege_objective is fired. wonround "get this message when this team wins the round" lostround "get this message when this team losses the round" roundover_sound_wewon "get this sound when this team wins" roundover_sound_welost "get this sound when this team losses" roundover_target "targetname of the siege_end entity" briefing "short mission description" Classes & Teams Let me start with the *.team file (it is the easier one). The following path will be ned: ext_data\siege\teams I am going to copy my siege_ktr map imperial team's file: name "SIEGE_KTR_IMP" // this name should match the team name you give in the siege file FriendlyShader "sprites/team_red" //don't change this one, this makes friendly players name green Classes { class1 "KTR Stormtrooper" //this will appear first class2 "KTR Mercanary" //this will appear second class3 "KTR IMPERIAL demolition specialist" //this will appear third class4 "KTR Mercanary Sniper" //this will appear fourth class5 "KTR_12" //this will appear fifth class6 "Dark Jedi Invader" //this will appear sisxth } Yeahp that's all for the team file (Theoretically you don't have to use "_" instead of space, I just had problems with my technician class and I tried everything ) You can use any classes in this file, you can mix default and non-default classes, just don't forget to attach the non-default classes. The following path will be needed: ext_data\siege\classes Now comes the hard part. (I lost the file I used for making these so I made a little research on the internet and found the weapon,force,holadble,classfalgs names in some page, where I could see some programming stuff about JKA, let's hope I didn't forget anything) A copy from my "KTR_eliteDEMO.scl" file: ClassInfo { name "KTR IMPERIAL demolition specialist" weapons WP_thermal|WP_trip_mine|wp_det_pack|wp_blaster_pistol classflags CFL_EXTRA_AMMO maxhealth 75 maxarmor 25 startarmor 0 model "human_merc" skin "racto" uishader "models/players/human_merc/icon_racto" class_shader "gfx/mp/c_icon_demolitionist" holdables HI_MEDPAC } description "A demoliton specialist." name: The name of the class weapons: You have to list the weapons for this class here, you have to put a "|" mark between two (on my keyboard this is on the key "W"). Possibilities: WP_STUN_BATON, WP_MELEE, WP_SABER,WP_BRYAR_PISTOL, WP_BLASTER, WP_DISRUPTOR, WP_BOWCASTER,WP_REPEATER, WP_DEMP2, WP_FLECHETTE, WP_ROCKET_LAUNCHER, WP_CONCUSSION, WP_THERMAL, WP_TRIP_MINE, WP_DET_PACK classflags: these are special abilities CFL_MORESABERDMG saber does more damage CFL_STRONGAGAINSTPHYSICAL probably makes it stronger against melee and other attacks CFL_FASTFORCEREGEN faster force regeneration (like on korriban offense team's tech) CFL_STATVIEWER you can see the health and ammo quantity of your team mates CFL_HEAVYMELEE melee does more damage CFL_SINGLE_ROCKET you have 1 rocket (? never tried) CFL_CUSTOMSKEL you can add custom skeleton (ask an animator or modeler) CFL_EXTRA_AMMO will have more ammo (2 times of default) maxhealth: the amount of health points this class can have starthealth: the amount of health points this class will start, if you don't give a number or don't use this line, it will automatically start with maxhealth (same goes for shield) maxarmor: the amount of shield points this class can have startarmor: the amount of shield points this class will start (usually 0 and can be charged to maxarmor amount) model: from models\players folder skin: from models\players\*\ you can check out what skins can you use for that model by opening assets1.pk3 uishader: You will see this picture when you choose the class (in the example, the given shader does not exists, so you can see a white square instead) class_shader: The icon for the class. The default ones are: c_icon_demolitionist; c_icon_heavy_weapons; c_icon_infantry; c_icon_jedi_general; c_icon_support; c_icon_tech; c_icon_vanguard You may say: but there's seven, and only 6 classes exist! It's true, but there are two technican icons the *_tech, and *_support. holdables: Those special items the class can have HI_SEEKER known as seeker drone HI_SHIELD That big blue/red shield techs can spawn HI_MEDPAC known as bacta HI_MEDPAC_BIG known as big bacta HI_BINOCULARS binoculars, we don't really use this one HI_SENTRY_GUN Sentry Gun HI_JETPACK Boba Fett stly jetpack HI_HEALTHDISP With this you can give health to a teammate by pressing the use button. HI_AMMODISP You can deploy ammo cans by pressing the use button HI_EWEB That cannon thing (assault class has this on desert) HI_CLOAK The cloaking device. forcepowers e.g.: forcepowers FP_TELEPATHY,3|FP_SEE,1 First you give the name of the force, then put a comma and the level (1;2;3) of the force )( theorically there are more, but I don't suggest them) FP_HEAL FP_LEVITATION this one means jump FP_SPEED FP_PUSH FP_PULL FP_TELEPATHY this one means mindtrick FP_GRIP FP_LIGHTNING FP_RAGE FP_PROTECT protect against physical damage FP_ABSORB protect against force based damage, and makes your force points regenerate, even if you carry a misc_siege_item which disables force regeneration FP_TEAM_HEAL FP_TEAM_FORCE same as team heal just for dark side FP_DRAIN FP_SEE FP_SABER_OFFENSE FP_SABER_DEFENSE FP_SABERTHROW forcealignment: dark or light (I think it has no effect at all) speed: default is 1 you can see this number when you click on the class, heavy weapon classes usually have 0.75, jedis and scouts have 1.25 saber1: the hilt of the saber e.g.: single_7 saber2: only if you want it to have two sabers sabercolor: color of the saber 1-6 (1-red, 2-green, 3-yellow, 4-blue, 5-cyan, 6-pink/purple) saber2color: only if it has 2nd saber saberstyle: fast, medium or strong SS_FAST SS_MEDIUM SS_STRONG SS_DUAL if it has 2 sabers SS_STAFF if it has two sided saber description: Give a short description of the class. I hope I could help you understanding how to make a siege map (and also hope didn't forget anything), if you have any question just write me a PM, I will try to answer it as soon as I can.
  2. Hey! For the 20th anniversary Jedi Academy interview. Can you ask some qestions about siege? Whose idea was it? How those maps came to be? How come that you can strafe jump basically in every other multiplayer mods but not in that one?
  3. In this tutorial I'm going to show you how to make a siege map. (This tutorial doesn't guarantee you will make a good one.) I assume you have basic understanding of mapping and have played at least one siege match on all 3 base maps. I use GtkRadiant 1.5.0, but probably other versions are very similar to this one. (I tried 1.6 but I missed a lot of things, so it may not work with that). Things you will need: - GtkRadiant - Wordpad, or any text editor will do which can save in any given format. Siege mapping is mainly logic, and everything is about good targeting. First you need to have a map, or you can create one while you are reading this. The main difference between siege mapping, and any other kind of mapping is, you can't spawn on info_player_start, this entity is used for the team "spectator", so any spectator will spawn in here (or into info_player_intermission). To spawn the teams in you will need to use info_player_siegeteam1 (or2). We usually use 1(red entity) as the attacker team, and 2 (blue entity) as the defender one. Objectives are called info_siege_objective (pink entity). They have three keys "side", "objective", and "icon". Side can be 1 or 2, if it is 1 the offense team supposed to complete this objective. But wait this means there can be objectives for both teams! That's right, there are some maps out (none of them are mine) which are based on this very thought (e.g.: droid ball). Objective type a number here (obviously 1 stands for 1st objective etc). I never really tested how many objectives can a map has, base maps have 6, but you may have more (well they probably won't show up on the objective map, or may crash the game). Icon it should contain the path to a tga file. E.g.: "gfx/mp/siegeicons/hoth/walldoor.tga" (watch for slashes direction, if i remember right it matters which one you use). You should have three of them (staying at the example:) walldoor.jpg (32x32), walldoor_o.tga, walldoor_x.tga these last two doesn't have to be named this way, since you will define this in the .siege file, but this is the logical choice. (I can't say more about tga files, because they are graphic things, and I usually don't care about these very little things, BUT! if you don't have own icons for active objective and done objective the game will show hoth's by default. Keys that usually don't appear in the entities' own help menu: targetname: This one is essential for siege game type, and you probably have already met with this guy. Do not use space button, instead use the "_" mark, and probably you can't go above 128 characters. target: This one is also essential as well, logically if you want a trigger to fire the right target, you have to check if the value of the target (from the trigger), and the targetname (the target's) are the same. There are many kind of objectives, like: hack, press a button, advance through a specific point, carry something from here to there, destroy a wall/model or even kill an NPC, but I don't suggest this one. Most of these can be done with a simple trigger_once (do not use trigger_multiple, because it will fire the objective more times than you want, and will end the game before it should). With triggers you can make the followings of the above: hack, press button, advance through a specific point, and you will need this one as the area where you have to carry something. Let's start with hack, first you need to add the spawnflag "use button" or you will be able to hack by just standing in the trigger, then you should target the info_siege_objective, or a target_relay or just a func_door if you want to complete a "side objective" (I will talk about this later). So with this you will get an objective where you have to hack something, like the ion station on hoth. As of talking about triggers I have to mention the idealclass key, which can determine which class/classes can trigger that specific trigger (more about this in the entity's help). Press a button and complete an objective, obviously you have to add the spawnflag "use_button". Best example: hoth's 2nd objective. Advance through a specific point, this practically same as above, you just don't add the "use_button" spawnflag. e.g.: hoth's 4th objective. Carrying a specific something. You will need the misc_siege_item entity for this one, and a trigger_once(/multiple for maps like droidball). The misc_siege_item entity can be used in two ways, so now I am going to mention only the ones which are related. Startoffradar spawnflag: You have to trigger it to appear on the map (this means you have to give it an icon). Model you have to give the path to the model you want to carry, like "models/players/droids/r5d2_head.md3". targetname if it has one it won't spawn until it is used. target2: target to fire when picked up (usually a target_print so everyone knows when it is picked up) pickuponlyonce: If it is 1 target2 won't fire, after it is dropped (have not respawned) and picked up again. target3: will fire this when it is delivered. canpickup: This one is essential in this case, give it a "1" value. pickupsound: path to sound file (never used this one, probably has to be*. wav file and mono) goaltarget: the tagetname of the trigger, where you have to deliver this item. usephysics: if 1 it will fall down etc. (never used 0, but probably it just stays there where carrier was killed and do nothing, 'till respawn) From radiant: "mass" If usephysics, this will be the factored object mass. Default is 0.09. "gravity" If usephysics, this will be the factored gravitational pull. Default is 3.0. "bounce" If usephysics, this will be the factored bounce amount. Default is 1.3. Back to me: teamnotouch: If "0" everyone can pick it up, if "1" only team 2 can pick it up, if "2" only team 1 can pick it up teamnocomplete: If both teams can pick it up, then if this value is 1, team 1 cannot complete it and same goes for team 2. respawnfx: path of fxfile (never used it, e.g. korriban crystals) noradar: if 1, it won't show up on radar at all forcelimit: if 1 can't use any light or dark force while carrying this item (like korriban crystals) (you can jump, push, pull, throw saber but cannot speed up and force won't regenerate) paintarget: Honestly I haven't figured this one out yet, but it should do something with npcs, like on hoth, you have to destroy the droid, and then the head will be at the point where the droid was destroyed. Normally paintarget fires its targets when something hits the given entity. icon: If anywhere you should use this key it is here, because the item will show up on the radar while it is carried (unless you are mindtricked, then it will stay at the position where you were mindtricked). Destroy: there are two ways of destroying things. First you make a brush/patch/ or even both, you assign them and give them the func_breakable option. Before I start listing the keys and what do they do I have to mention that: on func_breakable the weapon demp2 and DL-44 won't have any effect (in multiplayer). We usually use this if a wall has to be destroyed, but you can try and build nice things with it. The spawnflags are nicely defined in the entity's help, so I'm going to mention only the one which are used the most. "heavy_weap" If you tick this, you can damage this only with: saber, alt attack of the repeater, alt attack of the gollan weapon, rocket launcher, any throwable weapon and the concussion rifle (the purple and black weapon). Theoretically any vehicle's weapon can damage it, too (even swoops). target: will fire this, when destroyed paintarget: will fire this, when it is hit and taken damage (usually a target_print)(note: sometimes this can crash the game, even the server) wait: how many milliseconds should it wait before firing paintarget again health: this many health points will be given to it teamnodmg: this team cannot damage it delay: how many seconds should it wait before blowing up, but already reached 0 hp numchunks: This many chunk will be spawned when destroyed chunksize: for scaling up/down the chunks playfx: path to fx file when it is destroyed and should palyed showhealth: if 1 you will see its health bar teamowner: to determine which team will see the its health bar green spalshdamage: it will damage this many when it's blowing up splashradius: it will damage "spalshdamage" in this radius material: this value is a number (to see what is what open up radiant). You should know if you give a number which contains any glass material in it, it will take damage on impact (doesn't matter if spawnflag is ticked or not). This means you start to jump in its direction and when you arrive, you will damage it. healingclass: same as idealclass, the difference is: with this class you can health the func_breakable healingsounds: will play this while healing it (usually: "sound/ambience/doomgiver/doom_bridge.wav") Before I move on, I have to mention that you can use models this way, you clip around the model with a physics clip, and make it func_breakable, then you give a target to the misc_model (not sure if misc_model_static works too, because it's rare I use them). Then give that targetname to the func_breakable. People would think it works reverse, but it doesn't. And again misc_siege_item. Yes it can be use as a "destroy" objective. The main difference between func_breakable and this, that you can damage this with demp2, DL-44 and you cannot put det packs onto its side. The tricky part is the physics clip, which is created by the engine itself. It is going to be a big cuboid around the model, so don't use to special models for this one. You clip them with the following keys: maxs & mins "mins" Actual mins of the object. Careful not to place it into a solid, as these new mins will not be reflected visually in the editor. Default value is "-16 -16 -24". "maxs" Same as above for maxs. Default value is "16 16 32". says radiant, but honestly for a long time I had no idea what did they want to mean with this (maybe it's because english isn't my native language), so I'm going to try and explain how to use them. First you will use a misc_model (Note: I suggest you only use the angle: 0;90;180 or 270, because if you make it 45 it will be annoying to destroy with saber, like in desert's 2nd objective) After you have rotated the model to the way it supposed to be, you have to make a brush around it which fully covers it. You need the cuboid's three lengths (in radiant 1.5 you can easily see its length by pressing "J"). Now you have the lengths of x;y and z. You have to check the model's origin (usually in the middle or at the bottom). Now imagine a coordinate system to that origin its "+" side are the maxs and its "-" sides are the mins. If the model's origin is in the middle you have an easy job, just divide the lenghts by two and write the counts in to the value box in the right order. Don't forget to swap the misc_model with a misc_siege_item! (An example: on my project digimon map, I have a bunch of bacta tanks, which are need to be destroyed and I used misc_siege_item-s for this objective, I used the misc_model, measured it with a cuboid and had the following lengths x:96 ;y:96 ; z:192 , so my maxs: 48 48 192 ; and my mins: -48 -48 0, because this model has its origin at the middle bottom). Another difference is the target, instead of the simple "target" key you should use the "target4" key. (Remember! Target is for carrying objectives.) deathfx: plays this effect when its health reaches 0, then deletes model. It has healingclass, healingsound, health, icon, showhealth, teamowner, teamnodmg keys as well and they are the same as above. Don't forget to add the model key! In case you want an objective which in you have to kill and NPC. First I have to say again I don't suggest this, because most of the NPCs are very dumb in siege. In my siege_ktr (Kill the mutant rancor) neither of my tries worked to move the npc when the player sits in a vehicle and you probably have noticed that rancors are very dumb in both base siege map, I tell you this: they are supposed to circle around, but as you have probably noticed they just stand there and rarely attacks people when they get close by. And don't even dream about any script will work on them. On my project digimon map, I have 3 NPCs in the interrogation room, and they have spawnscripts (they supposed to lie on the floor) and boom the game don't even spawns them in siege... So if you still want to kill an NPC objective, then: npc_target: fires when npc is killed (won't show the line between target and trigger entity) npc_target4: fires when NPC is killed by friendly fire (won't show the line between target and trigger entity) health: This supposed to determine how many health points the npc will have, well on siege_ktr, the mutant rancor has 350, and you have to fire on it with atst for at least ~20 secs, maybe it's just with monster npcs. Teamnodmg, teamowner, showhealth keys are working here as well. These are the most basic elements of siege. Now let's see some other entities: func_door The most used spawnflags in siege are: toggle, locked, inactive. Toggle will wait to open/close for triggering event. Locked starts locked (if possible on the texture, it will be red). It will allow the team from the "teamallow" key. (Can be fired only once) Inactive it is inactive, have to be used by a target_activate entity, then it operates normally. Locked & targetname issues: when you give a targetname to any func_door, the engine won't spawn triggers around the door, so you have to make triggers around it, except if you give it the locked spawnflag in which case, it will be like a normal door, and it will have a targetname. So if you have a func_door with targetname and locked spawnflag and a "teamallow: 2" key. The door will be locked for team 1 until a trigger triggers the door. While the door is closed for team 1, team 2 still can use it, and you don't have to make triggers around the door to open for them. There are four target possibilities for func_doors and they are well written in radiant, but I notify you, some of them doesn't make radiant to show the usual line between trigger and its target (at least in 1.5). vehopen: if 0, people on/in vehicles cannot use this door, if 1 they can. soundset: I always use this one "impdoor1", because I don't know of any other. (if you use it as elevator then use "piston") Another usual func_ we use is the func_usable. It is used for temporary walls (usually textured as energy fields). Start_off spawnflag: won't be there until used. target: will fire when it's toggled OFF. target2: will fire when it's toggled ON. There are some usable targets for siege like: target_activate /deactivate (I haven't used that yet), target_delay, target_location, target_print, target_relay, target_siege_end (this one is essential), target_speaker. target_(de)activate: when fired (de)activates its targets (mostly triggers, and doors) target_delay: after it is triggered, it waits the given value of seconds determined with the wait key. target_location: message key's value will determine what will show up on the team overlay screen next to your teammates' name. The count key doesn't work (at least it didn't work for me) target_print: will print the value of the message key (in multipalyer only 49-50 characters will show up), with the spawnflags you can control who will see the meassge (red team, blue team, or private) target_relay: You want to use this to activate/deactivate spawn points, which is usually have to be done in siege (theorically you can do it with scripts, but I never tried). First you place every spawn point for every team, then you give targetnames to them (e.g. for a 8vs8 map 16 spawn points have to have the same targetname, at least for the first time, because it is possible you don't want to move the spawnpoints for defensive team, and move the offensiv team's, like in project digimon). You need two target_realy for most of the objectives, and they should have the same targetname so they will be fired in the same time. One of the target_realy-s will switch off the previous objective's spawns, and the other will activate the next one's. Every spawns which are not in use should have the "startoff: 1" key. When a spawn point is fired from a target_relay it will switch its startoff key. target_siege_end: give it a targetname, you can either fire it from in game, or from the .siege file (it is usually fired from the .siege file). target_speaker: if you are a mapper, you probably already have met with this, it is just here not to forget about it emplaced_gun count: if can respawn, it can respawn this many times (theoretically -1 makes it infinite) showhealth, teamnodmg and teamowner, works as above, BUT! alliedteam is reverse for some reason, so 1 is for the actual 2, and vica versa. This is very important because only alliedteam members can use it (if none, both team can use it). misc_turretG2 notice: these won't show up while testing in singleplayer spawnflags: start_off: have to be triggered to work upside_down: makes it up-side-down can_respawn: will respawn turbo: you want to use this for space maps keys: teamnodmg: given team cannot damage turret alliedteam: turret won't shoot to given team teamowner: will highlighted as green for given team (works with showhealth 1) dmg: does this many damage/hit radius: can pick up targets from the given distance count: will respawn after this many milliseconds have passed paintarget: same as func_breakable's painwait: will wait this many milliseconds before firing its paintarget again shotspeed: the "rocket" which comes out, will travel at this speed (better not touch the default) splashDamage: This many damage will it do, when hit floor/target. (if you want hoth like turrets don't touch it) splashRadius: will do splashDamage in this radius targetname: for toggling it on/off target: fires it when, it is destroyed target2: fires it when, it starts shooting to an enemy showhealth: same as above icon: same as above customscale: if you want it bigger write a number 1024>100, if you want smaller write a number <100 (100 is normal) Notice: You shouldn't let its origin to directly touch a brush, always put it lower/higher, because it won't spawn that way. Turrets usually cause an error while compiling the map, don't bother yourself, it will work and will have no problems, if when the error shows up you got some of your turrets assigned, in any other casses you have probably made another fault. misc_model_health_power_converter You should only modify the angle, or maybe the count key, which doesn't really do anything. You should add the model: models/items/power_converter.md3 key. I know it appears in the editor, but if you don't add this key you won't see anything on the map. (You can add other models to it, but I've never tested them). (This doesn't need any clipping) misc_ammo_floor_unit count: max ammo that can be drained from it chargerate: will recharge 1/this manny milliseconds nodrain: if 1, it won't be drained (This doesn't need any clipping) misc_shield_floor_unit count: max shield that can be drained from it chargerate: will recharge 1/this manny milliseconds nodrain: if 1, it won't be drained (This doesn't need any clipping) misc_turret same as misc_turretG2 except there are no customscale, painwait, paintarget, count keys (none of them are tested, but you can try) only has start_off spawnflag, and has a "speed" key which determine how fast can it turn. It can be healed (see above). These are the entities used in siege game type, of course you can use any other entity from multiplayer. Now you are ready with the map, but you cannot play it yet (at least not in siege mod). First you need a siege file. At your first time I suggest to use the siege_hoth.siege file (You can get it from the assets0.pk3 file with any program which can unzip zip based files, it is in map/mp/siege_hoth.siege) but just in case I'm going to explain some line here. First: You have to give your *.siege file the same name as your map's eg.: in case you have a mymap.map file (we usually add the siege_ tag but you don't have to) then you have to have a mymap.siege file (I suggest wordpad, because most of JA's special files can be opened with this and it makes the lines break well). The siege file has to be in the same folder with the map file. In the attached file every messages are like this: message_team1 "@@siege_uwb_hoth_obj_1_new_imp_final" This is because of translation issues. I don't suggest to use them (once I tried some of the default it crashed the game). Just simply put english messages here, if they were able to download it they are probably able to understand basic English. Another important issue with the siege file are these marks: {} (on my keyboard they are on B and N keys). There are many possibilities to fire targets from the siege file, though I don't really use them, because usually I make the map first and the siege file comes afterwards, if something is not working I am always able to check it from radiant, and I don't have to open the siege file. (Believe me in siege maps something usually goes wrong after first compile). First you have to give the teams in the siege file like: Teams { team1 Imperials team2 Rebels } These names don't have to match with the names in the team file. mapgraphic "gfx/mplevels/siege1_hoth" this is the graphic which will appear on the objective desk (use only 256*512 pictures) missionname "''Hoth Assault''" roundbegin_target it fires its target when there are at least 1 player on each team eg.: on hoth this is the droidhead, so the droid won't spawn until the game begins. RequiredObjectives in base maps this is 1, but wait - you might say - there are 6 objectives on base maps. Yes it's true, every objective has a "final" key after that, you can type -1,0,1. -1 means it doesn't influence the end of the game. 0 gives 1 point to requiredobjectives (this means base maps have one objective with a "final 0" line). If it's 1, completing this objective will immediately fire the roundover_target. Now I copy an objective and a team describe lines from siege_hoth.siege and show you what does what. @@siege_uwb_HOTH_TEAM1_IMPERIAL <-- You give the team here { RequiredObjectives 1 <<-- see above the round? <<-- This isn't even in the sdk, you can skip this line, I made 3 working map without it. Timed 1200 <<-- How many seconds should pass before attackers lost objectives, otherwise the other team wins. <<-- this does nothing in my opinion (every of my maps work without this line) UseTeam "Siege1_Imperials" <<-- name from .team file TeamIcon "gfx/2d/mp_imp_symbol_3" TeamColorOn "1 0 0 1" <<-- the color of the symbol of the team when you click on it TeamColorOff ".7 0 0 1" <<-- the color of the symbol of the team when it's not clicked on Objective1 { goalname "@@siege_uwb_HOTH_IMP_OBJ_1_NEW" <<-- see picture final -1 <<-- see above message_team1 "@@siege_uwb_hoth_obj_1_new_imp_final" <<-- team1 gets this message when team 1 completes this objective. message_team2 "@@siege_uwb_hoth_obj_1_new_reb_final" <<-- team2 gets this message when team 1 completes this objective. target "spawn_relay_1a" <<-- this is fired when objective is completed. sound_team1 "sound/chars/protocol/misc/siege2.mp3" <<-- team1 gets this sound when team 1 completes this objective. sound_team2 "sound/chars/protocol/misc/siege6.mp3" <<-- team2 gets this sound when team 1 completes this objective. objdesc "@@siege_uwb_HOTH_IMP_OBJ_1_NEW_DESC" <<-- see picture objgfx "gfx/mplevels/hoth/imp_objective1_new" <<-- see picture (256*256) mapicon "gfx/mp/siegeicons/hoth/walldoor_o" litmapicon "gfx/mp/siegeicons/hoth/walldoor_outline" donemapicon "gfx/mp/siegeicons/hoth/walldoor_x" mappos "135 245 16 16" <<-- I don't know how this works } An objective is completed, when an info_siege_objective is fired. wonround "get this message when this team wins the round" lostround "get this message when this team losses the round" roundover_sound_wewon "get this sound when this team wins" roundover_sound_welost "get this sound when this team losses" roundover_target "targetname of the siege_end entity" briefing "short mission description" Classes & Teams Let me start with the *.team file (it is the easier one). The following path will be ned: ext_data\siege\teams I am going to copy my siege_ktr map imperial team's file: name "SIEGE_KTR_IMP" // this name should match the team name you give in the siege file FriendlyShader "sprites/team_red" //don't change this one, this makes friendly players name green Classes { class1 "KTR Stormtrooper" //this will appear first class2 "KTR Mercanary" //this will appear second class3 "KTR IMPERIAL demolition specialist" //this will appear third class4 "KTR Mercanary Sniper" //this will appear fourth class5 "KTR_12" //this will appear fifth class6 "Dark Jedi Invader" //this will appear sisxth } Yeahp that's all for the team file (Theoretically you don't have to use "_" instead of space, I just had problems with my technician class and I tried everything ) You can use any classes in this file, you can mix default and non-default classes, just don't forget to attach the non-default classes. The following path will be needed: ext_data\siege\classes Now comes the hard part. (I lost the file I used for making these so I made a little research on the internet and found the weapon,force,holadble,classfalgs names in some page, where I could see some programming stuff about JKA, let's hope I didn't forget anything) A copy from my "KTR_eliteDEMO.scl" file: ClassInfo { name "KTR IMPERIAL demolition specialist" weapons WP_thermal|WP_trip_mine|wp_det_pack|wp_blaster_pistol classflags CFL_EXTRA_AMMO maxhealth 75 maxarmor 25 startarmor 0 model "human_merc" skin "racto" uishader "models/players/human_merc/icon_racto" class_shader "gfx/mp/c_icon_demolitionist" holdables HI_MEDPAC } description "A demoliton specialist." name: The name of the class weapons: You have to list the weapons for this class here, you have to put a "|" mark between two (on my keyboard this is on the key "W"). Possibilities: WP_STUN_BATON, WP_MELEE, WP_SABER,WP_BRYAR_PISTOL, WP_BLASTER, WP_DISRUPTOR, WP_BOWCASTER,WP_REPEATER, WP_DEMP2, WP_FLECHETTE, WP_ROCKET_LAUNCHER, WP_CONCUSSION, WP_THERMAL, WP_TRIP_MINE, WP_DET_PACK classflags: these are special abilities CFL_MORESABERDMG saber does more damage CFL_STRONGAGAINSTPHYSICAL probably makes it stronger against melee and other attacks CFL_FASTFORCEREGEN faster force regeneration (like on korriban offense team's tech) CFL_STATVIEWER you can see the health and ammo quantity of your team mates CFL_HEAVYMELEE melee does more damage CFL_SINGLE_ROCKET you have 1 rocket (? never tried) CFL_CUSTOMSKEL you can add custom skeleton (ask an animator or modeler) CFL_EXTRA_AMMO will have more ammo (2 times of default) maxhealth: the amount of health points this class can have starthealth: the amount of health points this class will start, if you don't give a number or don't use this line, it will automatically start with maxhealth (same goes for shield) maxarmor: the amount of shield points this class can have startarmor: the amount of shield points this class will start (usually 0 and can be charged to maxarmor amount) model: from models\players folder skin: from models\players\*\ you can check out what skins can you use for that model by opening assets1.pk3 uishader: You will see this picture when you choose the class (in the example, the given shader does not exists, so you can see a white square instead) class_shader: The icon for the class. The default ones are: c_icon_demolitionist; c_icon_heavy_weapons; c_icon_infantry; c_icon_jedi_general; c_icon_support; c_icon_tech; c_icon_vanguard You may say: but there's seven, and only 6 classes exist! It's true, but there are two technican icons the *_tech, and *_support. holdables: Those special items the class can have HI_SEEKER known as seeker drone HI_SHIELD That big blue/red shield techs can spawn HI_MEDPAC known as bacta HI_MEDPAC_BIG known as big bacta HI_BINOCULARS binoculars, we don't really use this one HI_SENTRY_GUN Sentry Gun HI_JETPACK Boba Fett stly jetpack HI_HEALTHDISP With this you can give health to a teammate by pressing the use button. HI_AMMODISP You can deploy ammo cans by pressing the use button HI_EWEB That cannon thing (assault class has this on desert) HI_CLOAK The cloaking device. forcepowers e.g.: forcepowers FP_TELEPATHY,3|FP_SEE,1 First you give the name of the force, then put a comma and the level (1;2;3) of the force )( theorically there are more, but I don't suggest them) FP_HEAL FP_LEVITATION this one means jump FP_SPEED FP_PUSH FP_PULL FP_TELEPATHY this one means mindtrick FP_GRIP FP_LIGHTNING FP_RAGE FP_PROTECT protect against physical damage FP_ABSORB protect against force based damage, and makes your force points regenerate, even if you carry a misc_siege_item which disables force regeneration FP_TEAM_HEAL FP_TEAM_FORCE same as team heal just for dark side FP_DRAIN FP_SEE FP_SABER_OFFENSE FP_SABER_DEFENSE FP_SABERTHROW forcealignment: dark or light (I think it has no effect at all) speed: default is 1 you can see this number when you click on the class, heavy weapon classes usually have 0.75, jedis and scouts have 1.25 saber1: the hilt of the saber e.g.: single_7 saber2: only if you want it to have two sabers sabercolor: color of the saber 1-6 (1-red, 2-green, 3-yellow, 4-blue, 5-cyan, 6-pink/purple) saber2color: only if it has 2nd saber saberstyle: fast, medium or strong SS_FAST SS_MEDIUM SS_STRONG SS_DUAL if it has 2 sabers SS_STAFF if it has two sided saber description: Give a short description of the class. I hope I could help you understanding how to make a siege map (and also hope didn't forget anything), if you have any question just write me a PM, I will try to answer it as soon as I can.
  4. So I just decided to make yet another siege map for the game... I was like let's download this new radiant. Let's see what can it do, but the very first thing I noticed that I can't seem to find the "move tool". I usually just pressed the "w" key, and it was there, but now nothing. Where is it and how can I enable it again? Or have they completly removed one of the basic tools?
  5. Euro pub server runs a special mod called esm. It is meant to be as close to base as possible!
  6. Hello there siege fans! I know you are only a few, maybe just those of left, who play PUGs, but that doesn't matter. It is good time to be playing jka for the fans of this gametype. We have tons of servers available! Europe Siege Public - 212.129.45.245:25070 located in Paris, France Tempest* - 50.63.185.155:29070 located in the USA (New York City if I recall it correctly) We also have PUG servers for private and more competative gameplay, both in the USA and in Europe! If you have any question, just ask it here, or send me a PM, or add me on steam. (I am called Baby bon on steam) Come to our servers! And let's have fun! Also don't forget to check out our site: http://www.jkasiege.com ~Xeon~
  7. 95 downloads

    In this pack you can find 85% of my work I have ever done in JKA, so if you want to learn from it, here you go. I also give you the premission to use these files for your own work, as long as you give me proper credit eg.: "...this part of the ... was made by Xeon". If you want to color my name the proper coloring is: ^2Xe^4on. - Xeon -
  8. Version 1.0

    188 downloads

    These 3 maps are mainly the same the only differences are in the weather (thus textures and lighting). The maps are supporting role play activities for JA+ commands by this I mean there is a control room (teleport coordinates: 4672 -3472 2384) which from you can make most of the models solid/unsolid (solid by default), you can start tie-attack run, or X-wing "show", there is a firework (not that good). You can play at night or in the day light (you only have to push a button..). You can make a shuttle to land outside. You can add some NPCs, with a push of a button (also adds R2D2 in the hangar). You can order a sith attack (NPCs). You can put the map into security lock down mod, you can discover dark forces(in front of the guests room there is a place on the floor what you can destroy with saber) on the map, or go(erm swim) to the shrine (only with force speed or teleport). You can have a swoop race in the garage. This files contains: ogw_home.bsp - sunny weather (has FFA; DUEL; POWER DUEL; and TDM support) ogw_home_strom.bsp - rainy weather (has FFA and CTF support) ogw_home_winter.bsp - snowy weather, with matching textures and some christmas decoration Some textures that I or Ronii made I hope you will like roleplaying or simply just playing on this map. If you want to check it out immediately, come to our server: 37.221.209.105:29020 - Xeon -
  9. Is there a way to switch on/off fx_rain or snow in multiplayer? I thought it would be just a simple targeting issue, but if I go to the trigger the snow and rain just gets thicker, Also it start to rain and snow from the beggining.
  10. I have but one question: What happened in April?
  11. Just a short video in which I show the map.
  12. I've just finished most of the work with it, so sometimes in this week I will upload it. EDIT: It is ready and awaiting to approval. http://jkhub.org/tutorials/article/132-how-to-make-siege-maps/
×
×
  • Create New...