-
Posts
74 -
Joined
-
Last visited
Content Type
Profiles
News Articles
Tutorials
Forums
Downloads
Posts posted by AradorasXeon
-
-
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.
-
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?
DT. likes this -
Euro pub server runs a special mod called esm. It is meant to be as close to base as possible!
-
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~
-
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.
-
I have but one question:
What happened in April?
-
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/
-
Its q3map_nolightmap in the very first stage of your shader (not just nolightmap)
Posting the shader would be hepful!
It's the default:
common/water2_waterfall_Tutorial
I am not good with making textures, that's why I use default ones. (and I have no idea how to do them)
-
Okay I made two sreenshots about the problem:
This is with bps and vis process.
This is with -light process, I may lighten it up later, but I think you see my point and the problem.
-
I just wonder if anyone is interested in it. I know there is one somewhere on the net, but I didn't really understood that one at the time I read it.
I am thinking about writting, how to target things etc., and how to make new classes/teams. There are some tutorial for this one, too. Well the entities helps are very helpful, but still if someone needs one then I would write one somewhere in the near future.
-
Two options:
1. Use a func_group for the bits of water which you don't want light, and in the func_group, add these keywords:
_cs: 3
_rs: 3
The water should no longer cast or receive shadows.
2. Create a new shader for the water using all the standard properties and add the following keywords:
nolightmap
nodlight
Uhm tahnk you. I still have problem, but probably my fault, thought it was light process, but it looks like a vis process roblem. Normaly I'd just make it detail, but I can't do that with curves :/
-
I am not quiet sure if you think what i think, but once I made a misc_model breakable by making a physic clip (which was func_breakable) and I targeted the misc model, For somereason I targeted the physic clip from the misc_model (I am not sure if you really need this, I just did it for some reason).
I don't think two misc_models can be spawn from the same point, so either make a different spawn on the 2nd misc_model, or spawn the 2nd misc_model 1 grid away from the 1st one, so when 1st is destroyed they will see the 2nd one, and they won't notice it's 1 grid away.
To be honest I don't know what is a d_model key.
ChalklYne likes this -
I wonder if there's a way to skip some special curves out of light processing? (my fountain looks terrible after light procces)
-
I'm just wondering if anyone plays siege, and if yes where (give me IPs). This game type still lives, at least via PUGs, but recently the pub servers are totally clear (the ones i know). Especcially now when xfire is bitching around and doesn't find ANY jka servers. (Maybe it's just mine)
-
Decompile it --> deletes target_scriptrunner --> compile it --> play it
-
OKay here is the full issue:
13 fire effect (fire_wall) default delay (as far as I know everyone of them appear)
1000 units away
8 huge lightning all of them targeted with a delay 3000 as I remember now 2 lightning show up and 1 of them shows up sometimes, but that one has that small explosion effect when the lightning hits it target...
-
When you say, "the game crashes", what do you mean? It just closes? freezes? Gives you an error message?
My cursor shows up, then nothing happens, so I press ctrl+alt+del and I see the program stopped message.
@@mrwonko as I wrote that thing I started to be suspicous on that as well so I gonna try remove that.
yes it was the script, I removed all 4 npcs, it works now.
Here's another question: How many effect files can the game handle in one area? In this very same map I have place where are lot of fxrunner taken places, but only some of them shows up, now I deleted some, and other started to show up, but not all of them.
-
Since I've made some modifications on my map, and compiled it, I cannot test it. I start the game then I write into the console: devmap mp/my_map_name. It shows that picture with the 3 jedis on it, and then the game crashes. I have tons of other maps, everyone of them working well, but this one doesn't anymore :S. I tried to give an other name to it, and compile that one, with the very same result. I tried to run it on my homemade server, so I might see some error messages, but after I wrote in my map's name, it crush (right after it spawned in the first bot). I tried some of the plugins, but I found nothing. So can anyone help me?
(The modifications I made were the followings (as I remember):
- did some after caulking (I know it's bad, but when I started this I didn't really use caulk...)
- removed a big func_door (it was kind of a TV, but I wasn't sure where did I get that shader, so I removed it, and anyway it wasn't working nice and ate lot of FPS)
- detailed some brush
- removed a "room" full of with npcs
- added 2 new npcs
- added spawning script for npcs (just for animation, I haven't used script in this map before)
- maybe I added one more aeraportal, I'm not sure in this one
-
//(BHVD) rem ( "Enable cutscene mode, move the camera to the position/orientation of the ref_tag with targetname camera_ref_tag_name" ); camera ( /*@CAMERA_COMMANDS*/ ENABLE ); camera ( /*@CAMERA_COMMANDS*/ MOVE, $tag( "camera_ref_tag_name", ORIGIN)$, 0 ); camera ( /*@CAMERA_COMMANDS*/ PAN, $tag( "camera_ref_tag_name", ANGLES)$, < 0.000 0.000 0.000 >, 0 ); rem ( "Tell the NPC with npc_targetname npc_name to go to the waypoint_navgoal with targetname navgoal_name" ); affect ( "npc_name", /*@AFFECT_TYPE*/ FLUSH ) { set ( /*@ SET_TYPES*/ "SET_NAVGOAL", "navgoal_name" ); // Without the space after the @ - but the name-mention-highlighting is overly aggresive here. rem ( "Or, to pause script execution until he has arrived:" ); task ( "unique_task_name" ) { set ( /*@ SET_TYPES*/ "SET_NAVGOAL", "navgoal_name" ); // same } dowait ( "unique_task_name" ); print ( "!npc_name has arrived at navgoal_name!" ); }
First of all thanks for your help! This means a lot to me (since there isn't too many tutorial for scripting, at least I haven't found any detailed one)
Well it work half way, no matter what I target with the ref_tag it turns somehow in a strange direction (tried it with another ref_tag targeted from the camera/pan, with the very same result), anyway my npc doesn't spawn in for some reason so I have to look after things. thanks again!
-
So, I was finally able to put in a camera in my map ( you know the one that makes the scenes in single player), but it absolutely uncontrollable, how does it decide where to spawn itself? since in behaved I only could make a command which puts me in camera mod (camera/enable), but I wasn't able to find any kind of variable in it, I mean no targetnames for camera entities. First it put itself in the only existing target_relay entity, now I deleted it, but it looks it finds that postion again and put itself there instead of my ref_tag named cam1. I've tried to change my ref_tag into a target_relay (the only one in the map now) and it has the targetname cam1. Well the camera put itself to the same position, and there is nothing in radiant what I can see, no specific entity or position (like 0 0 0). So How do I do this?
And how do I tell an NPC to move from here to there?
(Yes I'm working on a singleplayer map.)
-
If I make siege maps I make a sketch first (usually while some of my boring lessons being held...)
Anyway I just start something in radiant, then what comes will be in.
My RP castle map is an exception, since I wrote my novel first and then I decided to make it in radiant
-
Anyone knows what happened to them?
We've just started to use their mod on Tempest. It is quite fun. Some of the bots are better than other players... Well at least they do use team work which I haven't really seen in pub servers for quite a long time. For those who doesn't believe these bots cannot play siege come to Tempest and have a try! (50.63.185.155:29070)
Edit: I was informed it's not really the same mod, but an improved one by Guard (since it is open source)
-
And here it is the duel type!
http://jkhub.org/fil...ater-base-duel/
EDIT:
Do you guys want to out from the base into the water or not? This what I cannot decide.
-
Well I rebuilt it, did the same... so I made it from brushes. Here is the result: http://jkhub.org/files/file/1353-underwater-base-duel/
As I can see you had to use that tool which cut the curves into smaller parts, well it made some weird thing on my underwater siege map, but I was able to see them in radiant. Well I was still able to simply walk through at some points... but thanks for the design, the players cannot get there (at least if they don't try to trick the game, or cheat it).
2FA is now an option on JKHub, and Jedi Outcast turns 21
in News
Posted
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?