home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-23 | 39.3 KB | 1,327 lines |
- object Form1: TForm1
- Left = -4
- Top = -4
- BorderIcons = []
- BorderStyle = bsNone
- Caption = 'Form1'
- ClientHeight = 461
- ClientWidth = 640
- Color = clBlack
- Font.Color = clWindowText
- Font.Height = -13
- Font.Name = 'System'
- Font.Style = []
- PixelsPerInch = 96
- Position = poDefault
- WindowState = wsMaximized
- OnShow = FormShow
- TextHeight = 16
- object Image1: TImage
- Left = 0
- Top = 0
- Width = 640
- Height = 461
- Align = alClient
- Picture.Data = {<image000.bmp>}
- end
- object Label1: TLabel
- Left = 395
- Top = 333
- Width = 75
- Height = 109
- Caption = 'Q'
- Color = clWhite
- Font.Color = clWhite
- Font.Height = -96
- Font.Name = 'Times New Roman'
- Font.Style = [fsBold]
- ParentColor = False
- ParentFont = False
- Transparent = True
- end
- object Label2: TLabel
- Left = 480
- Top = 352
- Width = 130
- Height = 73
- Caption = 'uake'
- Font.Color = clGray
- Font.Height = -64
- Font.Name = 'Times New Roman'
- Font.Style = [fsBold]
- ParentFont = False
- Transparent = True
- end
- object Label3: TLabel
- Left = 464
- Top = 328
- Width = 54
- Height = 55
- Caption = '++'
- Font.Color = clWhite
- Font.Height = -48
- Font.Name = 'Times New Roman'
- Font.Style = [fsBold]
- ParentFont = False
- Transparent = True
- end
- object Label4: TLabel
- Left = 456
- Top = 416
- Width = 164
- Height = 15
- Caption = 'Develop your 3D Games today !'
- Font.Color = clRed
- Font.Height = -12
- Font.Name = 'Times New Roman'
- Font.Style = [fsBold]
- ParentFont = False
- Transparent = True
- end
- object g: TLabel
- Left = 64
- Top = 440
- Width = 569
- Height = 15
- AutoSize = False
- Caption =
- '1996 Media Net. Thank you for using Q++ to develop your own 3D g' +
- 'ames. '
- Font.Color = clSilver
- Font.Height = -13
- Font.Name = 'Times New Roman'
- Font.Style = [fsBold]
- ParentFont = False
- Transparent = True
- end
- object Bevel1: TBevel
- Left = 368
- Top = 24
- Width = 258
- Height = 305
- Shape = bsFrame
- Visible = False
- end
- object BitBtn1: TBitBtn
- Left = 16
- Top = 240
- Width = 89
- Height = 25
- TabOrder = 0
- OnMouseMove = BitBtn1MouseMove
- Kind = bkClose
- end
- object Button1: TButton
- Left = 16
- Top = 40
- Width = 89
- Height = 25
- Caption = 'Basic Info.'
- TabOrder = 1
- OnClick = Button1Click
- OnMouseMove = BitBtn1MouseMove
- end
- object Button2: TButton
- Left = 16
- Top = 104
- Width = 89
- Height = 25
- Caption = 'Tools Box'
- TabOrder = 2
- OnClick = Button2Click
- OnMouseMove = BitBtn1MouseMove
- end
- object Button3: TButton
- Left = 16
- Top = 168
- Width = 89
- Height = 25
- Caption = 'Samples'
- TabOrder = 3
- OnClick = Button3Click
- OnMouseMove = BitBtn1MouseMove
- end
- object Memo1: TMemo
- Left = 120
- Top = 24
- Width = 513
- Height = 305
- BorderStyle = bsNone
- Ctl3D = False
- Font.Color = clGray
- Font.Height = -13
- Font.Name = 'Times New Roman'
- Font.Style = []
- Lines.Strings = (
-
- '*Before you step ahead , Please registed you game or call 1-800-' +
- 'id-games to order now.'
- ''
- 'This toolkit is for you to modify or create levels for quake.'
-
- 'It may make the modified levels working on the shareware version' +
- ', but we strongly suggest '
- 'you to regist, so they can create more powerful game for us.'
- ''
-
- 'First get an unpacker and unpack everything with the bsp extensi' +
- 'on.'
- ''
-
- '*:You may copy the unpack.exe or qube.exe to the \quake\id\ dir' +
- 'ectory from the tool box;'
- ''
-
- '*:Make a backup of pak0.pak(in case you have any trouble later) ' +
- ';'
- ''
-
- '*:Run " unpack pak0.pak " or " qube -kX pak0.pak " to extract al' +
- 'l the files;'
- ''
-
- '*:Now you shall find out there are few new folders and files app' +
- 'ear in id1 directory;'
- ''
-
- '*:All of graphics, textures, weapons are inside of Progs directo' +
- 'ry;'
- ''
- '*:All of the sound effects are inside of sound direcotry;'
- ''
-
- '*:The levels of Game are inside of Maps(e1m1.bsp is first episod' +
- 'e level 1 , e2m4 is second '
- 'episode level 4); '
- ''
- '*:Rename the pak0.pak to other name;'
- ''
-
- '*:Have you got any idea yet ? Yes, When Quake start, it will fin' +
- 'd the pak0.pak first and if it '
-
- 'dosen'#39't show then program will read the files from the directory' +
- ' (progs, sound,maps...);'
- ''
-
- '*:We already browse them all,so you can subchange or change all ' +
- 'to create you new 3D '
- 'game '
- 'now.'
- ' '
- ''
-
- 'Second, get Qbsp, Light, & Vis stuff. They will all be in a qbs' +
- 'p package... try cdrom.com in '
-
- 'the qbsp_pak_tools section. Get the ones for registerd version,' +
- ' and get either the DOS or the '
- 'windows ones. Make sure they are for the registered version.'
- ''
-
- 'Make a map, f3 to save a map file, and then at a dos prompt do t' +
- 'his:'
- 'qbsp mymap {this will build it}'
-
- 'light mymap {this will put the proper light sources in the right' +
- ' places}'
- 'vis mymap {this will optomize kind of}'
- ''
-
- 'then copy the resulting bsp file to your id1/maps directory. Wh' +
- 'at? you don'#39't have a maps '
-
- 'directory? Well just make one. Now go into quake, pull down th' +
- 'e console and type: map '
- 'mymap. '
- ''
- 'cool, huh?'
- ''
- 'Notes on map making:'
-
- 'This is not like doom. You arn'#39't building sectors, you'#39're putti' +
- 'ng walls together, walls that '
-
- 'have thickness. Think of it as big slabs. And remember, 4 wall' +
- 's are not enough to make a '
- 'room, You must not forget to put a cieling and a floor in.'
- ''
-
- 'The following specs will guide you in making those flickering li' +
- 'ghts and teleport devices and '
- 'all the other cool stuff.'
- ''
- '----------------------------------------'
- 'Quake MAP Specs'
- ''
- ''
- 'Last Updated: 8/22/96 8:52PM EST'
- ''
- ''
-
- 'Info on entities/maps and maintenance by Niklata (Nicholas Dwark' +
- 'anath)'
- ''
- 'Coordinate System:'
- ''
-
- 'Quake uses a standard right-handed (X,Y,Z) coordinate system. If' +
- ' you'#39're not familiar with the '
-
- 'reference of "right-handed" to a coordinate system, it basically' +
- ' provides a tactile and visual '
-
- 'discription of the mechanics of the system. If you point your fi' +
- 'ng'
- ''
- ''
- ' ^ z+'
- ' |'
- ' |'
- ' |'
- ' |'
- ' |------------> y+'
- ' /'
- ' /'
- ' /'
- ' /'
- ' <'
- ' x+'
- ''
- ''
- ''
-
- 'Some entities also need to have an angle tag that tells the dire' +
- 'ction it is facing. The values '
- 'possible are listed below:'
- ''
- ''
- '0-359: Normal Angle (zero == east)'
- '-1: Up'
- '-2: Down'
- ''
- ''
- ''
- 'Brushes:'
- ''
-
- 'Brushes are one of the two primary components of a MAP file. Eac' +
- 'h brush defines a solid '
-
- 'region. Brushes define this region as the intersection of four o' +
- 'r more planes. Each plane is '
-
- 'defined by three noncolinear points. These points must go in a c' +
- 'lockwise o'
- ''
- ''
- '1--2----------------->'
- '|'
- '3'
- '|'
- '|'
- '|'
- '|'
- '|'
- ','
- ''
- ''
- 'x_off - Texture x-offset (must be multiple of 16)'
- 'y_off - Texture y-offset (must be multiple of 16)'
- 'rot_angle - floating point value indicating texture rotation'
-
- 'x_scale - scales x-dimension of texture (negative value to fli' +
- 'p)'
-
- 'y_scale - scales y-dimension of texture (negative value to fli' +
- 'p)'
-
- 'Many entity/brush combinations can be put into a map file. All M' +
- 'AP files must contain with '
-
- 'a worldspawn entity, usually as the first entry. This entry defi' +
- 'nes all of the normal brushes '
-
- 'that make up the structure of the level. There should be only on' +
- 'e worl'
- ''
- ''
- '"classname" "worldspawn" // Tells Quake to spawn the world'
-
- '"wad" "DIRPATH" // tells what graphics (texture) WAD2 f' +
- 'ile to use.'
- '"message" "TITLE" // The title of the level'
-
- '"worldtype" "#" // Describes time of environment (chang' +
- 'es appearance/name of keys)'
- ' // 0 == Medieval (medieval)'
- ' // 1 == Runic (metal)'
- ' // 2 == Present (base)'
-
- '"sounds" "#" // Tells the CD player which track to p' +
- 'lay.'
- '"light" "#" // Default light level'
- ''
- ''
-
- 'Entities are the second major component of Quake MAP files. An e' +
- 'ntity is basically a bit like '
- 'a thing, but they also function as triggers and as pathmarkers. '
- ''
- '"spawnflags" tag: '
- ''
- 'General:'
- ''
- '256 - Normal Skill or higher'
- '512 - Hard Skill or higher'
- '1792 - Appears in deathmatch only'
- ''
- 'item_health:'
- '1 - Larger Health/Larger Ammo'
- '2 - Megahealth'
- ''
- 'monster_zombie:'
- '1 - Crucified Zombie'
- ''
- ''
- ''
- 'General Entity syntax:'
- ''
- 'Specifics Args Description'
-
- '----------------------------------------------------------------' +
- '----------------'
-
- '"classname" "name" // Type of entity to be defined (mandator' +
- 'y)'
-
- '"origin" "X Y Z" // Coordinates of where it starts in spac' +
- 'e.'
-
- '"angle" "#" // Direction it faces or moves (sometimes' +
- ' in degrees)'
- '"light" "#" // Used with the light classname.'
- '"target" "t#" // Matches a targetname.'
- '"targetname" "t#" // Like a linedef tag.'
- '"killtarget" "#" // Removes target when triggered?'
-
- '"spawnflags" "#" // Used to flag/describe an entity that i' +
- 's not default.'
-
- '"style" "#" // Used to flag/describe an entity that i' +
- 's not default.'
-
- '"message" "string" // Message displayed when triggered (\n f' +
- 'or linebreaks)'
-
- '"mangle" "X Y Z" // Point where the intermission camera lo' +
- 'oks at'
- ''
- 'specifics/args present only in models:'
- ''
- '"speed" "#" // How fast the model is moved.'
-
- '"wait" "#" // How long a pause between completion of' +
- ' movement or'
-
- ' // return to original position (in second' +
- 's or 10ths)'
-
- '"lip" "#" // Seems to be a means of adjusting the s' +
- 'tarting position.'
-
- '"dmg" "#" // How much damage the model causes when ' +
- 'it shuts on you?'
-
- '"health" "#" // How much damage the model takes before' +
- ' it triggers'
- '"delay" "#" // Time before event is triggered'
-
- '"sounds" "#" // How much damage the model causes when ' +
- 'it shuts on you?'
-
- '"wad" "wadfile" // The wad2 graphics file used by the wor' +
- 'ld for textures.'
- '"height" "#" // How high a platform will raise'
- ''
- 'All known entities (current for Shareware Quake 1.01):'
- ''
- ''
- 'air_bubbles : Rising bubbles'
- ''
- 'ambient_drip : Dripping sound'
- 'ambient_drone : Engine/machinery sound'
- 'ambient_comp_hum : Computer background sounds'
- 'ambient_flouro_buzz : Flourescent buzzing sound'
- 'ambient_light_buzz : Buzzing sound from light'
- 'ambient_suck_wind : Wind sound'
- 'ambient_swamp1 : Frogs croaking'
-
- 'ambient_swamp2 : Slightly different sounding frog' +
- 's croaking'
- 'ambient_thunder : Thunder sound'
- ''
-
- 'event_lightning : Lightning (Used to kill Cthon, s' +
- 'hareware boss)'
- ''
- 'func_door : Door'
- 'func_door_secret : A door that is triggered to open'
- 'func_wall : A moving wall?'
- 'func_button : A button'
-
- 'func_train : A platform (moves along a "train' +
- '")'
- 'func_plat : A lift/elevator'
-
- 'func_dm_only : A teleporter that only appears i' +
- 'n deathmatch'
-
- 'func_illusionary : Creates brush that appears solid' +
- ', but isn'#39't.'
- ''
-
- 'info_null : Used as a placeholder (removes i' +
- 'tself)'
-
- 'info_notnull : Used as a placeholder (does not ' +
- 'remove itself)'
-
- 'info_intermission : Cameras positioning for intermis' +
- 'sion (?)'
-
- 'info_player_start : Main player starting point (only' +
- ' one allowed)'
-
- 'info_player_deathmatch : A deathmatch start (more than on' +
- 'e allowed)'
-
- 'info_player_coop : A coop player start (more than o' +
- 'ne allowed)'
- 'info_player_start2 : Return point from episode'
-
- 'info_teleport_destination : Gives coords for a teleport dest' +
- 'ination using a targetname'
- ''
- 'All item_ tags may have a target tag. It triggers '
- 'the event when the item is picked up.'
- ''
- 'item_cells : Ammo for the Thunderbolt'
- 'item_rockets : Ammo for Rocket/Grenade Launcher'
-
- 'item_shells : Ammo for both Shotgun and SuperS' +
- 'hotgun'
-
- 'item_spikes : Ammo for Perforator and Super Pe' +
- 'rforator'
- 'item_weapon : Generic weapon class'
- 'item_health : Medkit'
- 'item_artifact_envirosuit : Environmental Protection Suit'
- 'item_artifact_super_damage : Quad Damage'
- 'item_artifact_invulnerability : Pentagram of Protection'
- 'item_artifact_invisibility : Ring of Shadows (Invisibility)'
- 'item_armorInv : Red armor'
- 'item_armor2 : Yellow armor'
- 'item_armor1 : Green armor'
- 'item_key1 : Silver Key'
- 'item_key2 : Gold Key'
- 'item_sigil : Sigil (a rune)'
- ''
-
- 'light : A projected light. No visible li' +
- 'ghtsource.'
-
- 'light_torch_small_walltorch : Small wall torch (gives off ligh' +
- 't)'
-
- 'light_flame_large_yellow : Large yellow fire (gives off lig' +
- 'ht)'
-
- 'light_flame_small_yellow : Small yellow fire (gives off lig' +
- 'ht)'
-
- 'light_flame_small_white : Small white fire (gives off lig' +
- 'ht)'
-
- 'light_fluoro : Fluorescent light? (Gives off li' +
- 'ght, humming sound?)'
-
- 'light_fluorospark : Fluorescent light? (Gives off li' +
- 'ght, makes sparking sound)'
-
- 'light_globe : Light that appears as a globe sp' +
- 'rite'
- ''
- 'monster_army : Grunt'
- 'monster_dog : Attack dog'
- 'monster_ogre : Ogre'
-
- 'monster_ogre_marksman : Ogre (synonymous with monster_og' +
- 're)'
- 'monster_knight : Knight'
- 'monster_zombie : Zombie'
- 'monster_wizard : Scragg (Wizard)'
- 'monster_demon1 : Fiend (Demon)'
- 'monster_shambler : Shambler'
- 'monster_boss : Cthon (Boss of Shareware Quake)'
- 'monster_enforcer : Enforcer'
- 'monster_hell_knight : Hell Knight'
- 'monster_shalrath : Shalrath'
- 'monster_tarbaby : Slime'
- 'monster_fish : Fish'
- 'monster_oldone : Shubb-Niggurath'
-
- ' (requires a misc_teleport' +
- 'rain and a info_intermission)'
- ''
-
- 'misc_fireball : Small fireball (gives off light,' +
- ' harms player)'
- 'misc_explobox : Large Nuclear Container'
- 'misc_explobox2 : Small Nuclear Container'
-
- 'misc_teleporttrain : Spiked ball needed to telefrag m' +
- 'onster_oldone'
- ''
-
- 'path_corner : Used to define path of func_trai' +
- 'n platforms'
- ''
- 'trap_spikeshooter : Shoots spikes (nails)'
-
- 'trap_shooter : Fires nails without needing to b' +
- 'e triggered.'
- ''
-
- 'trigger_teleport : Teleport (all trigger_ tags are ' +
- 'triggered by walkover)'
- 'trigger_changelevel : Changes to another level'
- 'trigger_setskill : Changes skill level'
-
- 'trigger_counter : Triggers action after it has bee' +
- 'n triggered count times.'
- 'trigger_once : Triggers action only once'
-
- 'trigger_multiple : Triggers action (can be retrigge' +
- 'red)'
-
- 'trigger_onlyregistered : Triggers only if game is registe' +
- 'red (registered == 1)'
-
- 'trigger_secret : Triggers action and awards secre' +
- 't credit.'
-
- 'trigger_monsterjump : Causes triggering monster to jum' +
- 'p in a direction'
-
- 'trigger_relay : Allows delayed/multiple actions ' +
- 'from one trigger '
-
- 'trigger_push : Pushes a player in a direction (' +
- 'like a windtunnel)'
-
- 'trigger_hurt : Hurts whatever touches the trigg' +
- 'er'
- ''
- 'weapon_supershotgun : Super Shotgun'
- 'weapon_nailgun : Perforator'
- 'weapon_supernailgun : Super Perforator'
- 'weapon_grenadelauncher : Grenade Launcher'
- 'weapon_rocketlauncher : Rocket Launcher'
- 'weapon_lightning : Lightning Gun'
- ''
- ''
- ''
- ''
- 'Entity '#39'class'#39' examples'
- ''
- ''
- 'Lights'
- ''
-
- 'For all light-emmitting entities, spawnflags and style have spec' +
- 'ial meanings:'
- ''
- ''
- 'Spawnflags:'
- '0 - Light starts on. Switches off when triggered.'
- '1 - Light starts off. Switches on when triggered.'
- ''
- 'Style:'
- '0 - normal'
- '1 - flicker (first variety)'
- '2 - slow strong pulse'
- '3 - candle (first variety)'
- '4 - fast strobe'
- '5 - gentle pulse'
- '6 - flicker (second variety)'
- '7 - candle (second variety)'
- '8 - candle (third variety)'
- '9 - slow strobe'
- '10 - flourescent flicker'
- '11 - slow pulse, not fading to black'
- ' '
-
- ' styles 32-62 are assigned by the light program for switchable' +
- ' lights'
- ''
- '63 - testing'
- ''
- ''
- 'Regular Light:'
- ''
- ''
- ' "classname" "light"'
-
- ' "light" "#" // Tells how bright the light is (option' +
- 'al - default 200)'
- ' "style" "#" // How the light appears'
- ' "spawnflags" "#" // State light starts in'
- ' "targetname" "#" // Target id of the light'
- ''
- ''
- 'Fluorescent Light:'
- ''
- ' "classname" "light_fluoro"'
-
- ' "light" "#" // Tells how bright the light is (option' +
- 'al - default 200)'
- ' "style" "#" // How the light appears'
- ' "spawnflags" "#" // State light starts in'
- ' "targetname" "#" // Target id of the light'
- ''
- 'Fluorescent Light (makes sparking sound):'
- ' "classname" "light_fluorospark"'
-
- ' "light" "#" // Tells how bright the light is (option' +
- 'al - default 200)'
- ' "style" "#" // How the light appears'
- ' "spawnflags" "#" // State light starts in'
- ' "targetname" "#" // Target id of the light'
- ''
- 'Torches:'
- ''
- ' "classname" "light_torch_small_walltorch"'
-
- ' "light" "#" // Tells how bright the light is (option' +
- 'al - default 200)'
- ' "style" "#" // How the light appears'
- ' "spawnflags" "#" // State light starts in'
- ' "targetname" "#" // Target id of the light'
- ''
- 'Fire:'
- ''
-
- '"classname" "light_flame_large_yellow, light_flame_small_yellow,' +
- ' light_flame_small_white"'
- '"light" "#" // Tells how bright the light is (optional)'
- '"origin" "X Y Z"'
- ''
- ''
- ''
- 'Player Movement Entities'
- ''
- ''
- 'Level Change Trigger (attaches to brush):'
- ''
- ' "classname" "trigger_changelevel"'
- ' "map" "mapname" // Map to change to on trigger (e.g. e1m8)'
- ' "spawnflags" "#" // Flags describing the object (optional)'
- ''
- 'Teleport Trigger (attaches to brush):'
- ''
- ' "classname" "trigger_teleport"'
-
- ' "target" "t#" // Teleport destination name to teleport t' +
- 'o.'
-
- ' "targetname" "t#" // Trigger name (optional) - only teleport' +
- 's once'
-
- ' activated if target' +
- 'name is present.'
- 'Teleport Destination:'
- ''
- ' "classname" "info_teleport_destination"'
-
- ' "angle" "#" // angle the player will face upon leaving' +
- ' teleport'
- ' "targetname" "t#" // Teleport'#39's trigger name'
- ''
- ' Movers'
- ''
- ''
- 'Door (attaches to brush):'
- ''
- ' "classname" "func_door, func_door_secret"'
- ' "angle" "#" // angle it faces'
- ' "speed" "#" // speed of movement'
- ' "targetname" "#" // Door'#39's trigger name'
- ' "sounds" "#" // sound it makes'
- ' "wait" "#" // delay before closing'
-
- ' "spawnflags "#" // Flags describing the object (option' +
- 'al)'
- ' "lip" "#" // some kind of offset (optional)'
- ''
-
- 'Spawns on certain skill levels (controlled by spawnflags), can b' +
- 'e removed by a trigger. '
- '(attaches to brush):'
- ''
- ' "classname" "func_wall"'
- ' "spawnflags" "#" // flags for something (optional I'#39'd guess)'
- ''
- 'A platform (i.e. lift or elevator, attaches to brush):'
- ''
- ' "classname" "func_plat"'
- ' "height" "#" // height it rises? (optional)'
- ' "sounds" "#" // sound it makes (optional)'
- ''
- 'Moving platform (Attaches to brush):'
- ''
- ' "classname" "func_train"'
- ' "sounds" "#" // Sound it makes when activated'
- ' "speed" "#" // Speed at which it moves (optional)'
-
- ' "target" "t#" // Trigger name of its first path_corner d' +
- 'estination'
- ' "targetname" "t#" // Its trigger name'
- ' "dmg" "#" // Damage done on crush'
- ''
- 'Describes path of train/monsters:'
- ''
- ' "classname" "path_corner"'
- ' "origin" "X Y Z"'
- ' "target" "t#" // Trigger name of next train destination.'
- ' "targetname" "t#" // It'#39's trigger name.'
- ''
- ''
- ''
- ''
- 'Triggers/Switches'
- ''
- ''
- 'A button/switch (attaches to brush):'
- ''
- ' "classname" "func_button"'
- ' "angle" "#" // Angle button moves?'
- ' "speed" "#" // Speed it moves in?'
- ' "target" "t#" // Trigger name of target entity'
- ' "health" "#" // If there is health, button is shootable'
- ' "sounds" "#" // Sound it makes when activated'
- ' // 1 == Steam Metal'
- ' // 2 == Wooden Clunk'
- ' // 3 == Metallic Click'
- ' // 4 == In-Out'
- ' "wait" "#" // Wait until retrigger? (-1 stays pressed)'
- ' "delay" "#" // Delay before action is triggered'
- ''
- 'Walk-over trigger (attaches to brush):'
- ''
-
- ' "classname" "trigger_once, trigger_multiple, trigger_onlyreg' +
- 'istered, trigger_secret"'
- ' "style" "#" // 32 works'
-
- ' "killtarget" "t#" // Kills something [for triggering monster' +
- ' events] (optional)'
- ' "target" "t#" // Trigger name of target'
- ' "sounds" "#" // Sound made when triggered'
- ' // 1 == Secret Sound'
- ' // 2 == Beep Beep'
- ' // 3 == Large Switch'
-
- ' // 4 == Set "message" ' +
- 'to text string'
-
- ' "wait" "#" // Delay before retrigger. some classes on' +
- 'ly. (optional)'
- ' "delay" "#" // Delay before action is triggered'
- ''
- ''
- 'Triggers target after it is triggered count times:'
- ''
- ' "classname" "trigger_counter" '
- ' "targetname" "t#" // Its trigger name'
- ' "target" "t#" // Trigger name of its target'
-
- ' "count" "#" // Decrements on each trigger. When 0 act' +
- 'ivates target.'
- ' "wait" "#" // Required delay before retrigger'
- ' "delay" "#" // Delay before action is triggered'
- ''
- 'Used to stagger events on a trigger:'
- ''
- ' "classname" "trigger_relay"'
- ' "origin" "X Y Z" // Where it is located'
- ' "killtarget" "#" // Removes targeted entity (optional)'
- ' "targetname" "t#" // Its trigger name'
- ' "target" "t#" // Trigger name of its target'
- ' "delay" "#" // Delay before action is triggered'
- ''
- 'Makes a monster jump when it reaches a brush:'
- ''
- #9'"classname" "trigger_monsterjump"'
- ' "speed" "#" // Forward velocity of the monster jump'
- ' "height" "#" // How high the monster jumps'
- ' "angle" "#" // Angle towards which the monster jumps'
- ''
- 'An invisible brush?:'
- ''
- #9'"classname" "func_illusionary"'
- ''
- ''
- ''
- ''
- 'Traps/Things harmful to you:'
- ''
- ''
- 'Triggerable Nail-firing trap:'
- ''
- ' "classname" "trap_spikeshooter"'
- ' "angle" "#" // Angle the trap fires at'
- ' "targetname" "t#" // Trap'#39's trigger name'
- ' "spawnflags" "#" // ??? 1024 works'
- ''
- 'Constant Nail-firing trap:'
- ''
- ''
- ' "classname" "trap_shooter"'
- ' "angle" "#" // Angle the trap fires at'
- ' "spawnflags" "#" // ??? 1024 works'
- ' "wait" "#" // Time between shots'
- ''
- 'Fireballs:'
- ''
- ' "classname" "misc_fireball"'
- ' "speed" "#" // Tells how fast the fireball moves'
- ''
- ''
- ''
- 'Miscellaneous:'
- ''
- ''
- ''
- 'Pushes the player in a direction:'
- ''
- #9'"classname" "trigger_push"'
- ' "speed" "#" // Force of the push'
-
- #9'"angle" "#" // Direction player is pushed towards (-1=up ' +
- '-2=down, '
- 'other=normal)'
- ''
- 'Cameras for the intermission screen:'
- ''
- ''
- ' "classname" "info_intermission"'
- ' "mangle" "X Y Z" // location the camera looks at'
- ' "angle" "#" // angle of the camera'
- ''
- 'Setting difficulty level (attaches to brush):'
- ' "classname" "trigger_setskill"'
- ' "message" "#" // Skill level to change to.'
- ''
- ''
-
- 'Lightning used to kill the boss of shareware. I'#39'll figure out h' +
- 'ow to use'
-
- 'it later... I pretty much know how, I just want to test it befo' +
- 're I'
-
- 'put it here :). From the testing I'#39've done, the lightning produ' +
- 'ced will'
-
- 'not damage a player, however. It probably triggers a script to ' +
- 'give the'
- 'boss character damage.'
- ''
- ' "classname" "event_lightning"'
- ' "origin" "X Y Z" // location of lightning (origin?)'
- ' "targetname" "t#" // It'#39's trigger name'
- ''
- ''
- ''
- ''
- ' Level Structures'
- ''
- ''
- ' Moving Platforms:'
- ''
- ''
-
- 'Creating a moving platform isn'#39't that difficult. Here'#39's an exa' +
- 'mple:'
- ''
- ''
- '"classname" "func_train"'
- '"sounds" "1"'
- '"speed" "128"'
- '"target" "t1dest1"'
- '"targetname" "t1"'
- ''
- '(attach it to brush)'
- ''
-
- 'Now you define each of the path_corners it will travel to. When' +
- ' it reaches'
-
- 'a path_corner, it will float to the next path_corner defined in ' +
- 'the target'
-
- 'tag of the path_corner. The platform will start at the path_cor' +
- 'ner pointed'
-
- 'to by the platform'#39's target tag. It will continue the loop inde' +
- 'finitely'
-
- 'and it will go through walls to get to its destination. Here'#39's ' +
- 'its path_corners'
- 'would look like:'
- ''
- '"classname" "path_corner"'
- '"targetname" "t1dest1"'
- '"target"" "t1dest2"'
- ''
- '"classname" "path_corner"'
- '"origin" "0 128 0"'
- '"targetname" "t1dest2"'
- '"target"" "t1dest1"'
- ''
- 'Monsters and Triggers:'
- ''
- ''
-
- 'Have you been wondering how you can get events to trigger when a' +
- ' monster dies, as first'
-
- 'seen in E1M2 with the demons? Well, it'#39's not too difficult. Wh' +
- 'en you attach a'
-
- 'target tag to a monster, the monster'#39's death will trigger the ev' +
- 'ent. I believe'
-
- '(not tested) that if other monsters have a targetname tag the sa' +
- 'me as a monster'
-
- 'with the target tag, the target event will only occur when all m' +
- 'onsters with'
-
- 'a matching targetname tag are dead. The monster with the target' +
- ' tag need not'
- 'have the targetname tag.'
- ''
- ''
- ''
- 'How to use trigger_count:'
- ''
-
- 'The trigger_count class is quite an interesting trigger. You kno' +
- 'w of the area in E1M1 where '
-
- 'you have to hit the three switches to open the door? Well, that'#39 +
- 's done using a '
-
- 'trigger_counter. Each of the buttons you hit has its target prop' +
- 'erty set so it point'
- ''
- ''
- ' "classname"'#9'"func_door"'
- ' "targetname" "door2"'
- ' "target" "light1"'
- ' "angle"'#9'"-1"'
- ' "wait" "-1"'
- ' "sounds" "4"'
- ' "message" "press all buttons"'
- ''
- ' "classname" "trigger_counter"'
- ' "count" "3"'
- ' "targetname" "door1"'
- ' "target" "door2"'
- ' "wait" "-1"'
- ''
- ' "classname" "func_button"'
- ' "angle" "0"'
- ' "wait" "-1"'
- ' "target" "door1"'
- ''
- ' "classname" "func_button"'
- ' "angle" "0"'
- ' "wait" "-1"'
- ' "target" "door1"'
- ''
- ' "classname" "func_button"'
- ' "angle" "0"'
- ' "wait" "-1"'
- ' "target" "door1"'
- ''
- ''
- 'Teleporting Monsters:'
- ''
-
- 'Unlike in Doom-Engine games, you can precisely teleport monsters' +
- ' into new locations in '
-
- 'Quake. To do so, you must first create a out of reach area for t' +
- 'he monsters to reside in. Give '
-
- 'this area a trigger_teleport tag and assign a targetname tag to ' +
- 'it. Creat'
- ''
- 'Properties of Buttons:'
- ''
-
- 'The behavior of buttons can be altered in many ways. By default,' +
- ' buttons are activated by '
-
- 'pressing them (moving near them). Buttons can be made shootable ' +
- 'by giving them a health '
-
- 'tag. Unless you want to have to shoot the button tons of times, ' +
- 'set the healt'
- ''
- ''
-
- '----------------------------------------------------------------' +
- '--------'
- ''
- ''
-
- 'Quake is �1996 id Software. Some information about entities was ' +
- 'obtained from the Unofficial '
- 'Quake Specs, a truly awesome reference guide to Quake editing.'
- ''
-
- 'Disclaimer: This document is provided as is and may not be perfe' +
- 'ct. I do not guarentee the '
-
- 'validity of any of the information in it. I will not be held lia' +
- 'ble or responsible for any damages '
-
- 'caused from use or misuse of the information contained within th' +
- 'i'
- '')
- ParentCtl3D = False
- ParentFont = False
- ReadOnly = True
- ScrollBars = ssVertical
- TabOrder = 4
- Visible = False
- end
- object Button4: TButton
- Left = 120
- Top = 352
- Width = 89
- Height = 25
- Caption = 'Print'
- TabOrder = 5
- Visible = False
- OnClick = Button4Click
- end
- object Panel1: TPanel
- Left = 360
- Top = 24
- Width = 273
- Height = 305
- TabOrder = 6
- Visible = False
- object Button7: TButton
- Left = 8
- Top = 8
- Width = 97
- Height = 25
- Hint = ' Unpack the Game '
- Caption = 'Unpack Game'
- ParentShowHint = False
- ShowHint = True
- TabOrder = 0
- OnClick = Button7Click
- end
- object Button10: TButton
- Left = 8
- Top = 48
- Width = 89
- Height = 25
- Hint = ' You get to run break game or unpack first ! '
- Caption = 'Quake Edit'
- ParentShowHint = False
- ShowHint = True
- TabOrder = 1
- OnClick = Button10Click
- end
- object b6: TButton
- Left = 8
- Top = 176
- Width = 89
- Height = 25
- Caption = 'Details'
- TabOrder = 2
- OnClick = b6Click
- end
- object C: TButton
- Left = 8
- Top = 240
- Width = 89
- Height = 25
- Caption = 'Copy File'
- TabOrder = 3
- OnClick = CClick
- end
- object Button5: TButton
- Left = 8
- Top = 264
- Width = 89
- Height = 25
- Caption = 'Create Dir'
- TabOrder = 4
- OnClick = Button5Click
- end
- object DriveComboBox1: TDriveComboBox
- Left = 120
- Top = 8
- Width = 145
- Height = 22
- TabOrder = 5
- OnChange = DriveComboBox1Change
- end
- object DirectoryListBox1: TDirectoryListBox
- Left = 120
- Top = 40
- Width = 145
- Height = 97
- ItemHeight = 16
- TabOrder = 6
- OnChange = DirectoryListBox1Change
- end
- object FileListBox1: TFileListBox
- Left = 120
- Top = 144
- Width = 145
- Height = 145
- Hint = 'Double Click to run'
- ItemHeight = 16
- ParentShowHint = False
- ShowHint = True
- TabOrder = 7
- OnDblClick = FileListBox1DblClick
- end
- object Button6: TButton
- Left = 8
- Top = 72
- Width = 89
- Height = 25
- Caption = 'Quakemon'
- TabOrder = 8
- OnClick = Button6Click
- end
- object Button8: TButton
- Left = 8
- Top = 96
- Width = 89
- Height = 25
- Caption = 'Help'
- TabOrder = 9
- OnClick = Button8Click
- end
- object Button9: TButton
- Left = 8
- Top = 120
- Width = 89
- Height = 25
- Caption = 'Run Quake'
- TabOrder = 10
- OnClick = Button9Click
- end
- object Button11: TButton
- Left = 8
- Top = 200
- Width = 89
- Height = 25
- Caption = 'Rename'
- TabOrder = 11
- OnClick = Button11Click
- end
- end
- object Panel2: TPanel
- Left = 104
- Top = 304
- Width = 513
- Height = 345
- TabOrder = 7
- Visible = False
- object Memo2: TMemo
- Left = 8
- Top = 8
- Width = 497
- Height = 329
- Lines.Strings = (
- 'This is a really simple example.'
- ' '
-
- 'It add one more powerful weapon at the begining of first episode' +
- ' without '
- 'using cheat code.'
- ''
- 'Please unpack the game first, and copy the sample.bsp to the '
-
- ' ' +
- '\quake\id1\maps directory.'
- ''
- 'Rename the e1m1.bsp to other name and '
-
- ' rename the sample.bsp' +
- ' to e1m1.bsp.'
- ''
-
- 'Run the Game and take the first episode, You will enjoy that pow' +
- 'er !'
- ''
-
- 'How do I create it ? I use quakemon.exe to open the original e1m' +
- '1.bsp,'
-
- 'and read the codes . It provide me the function to add the weapo' +
- 'n, so I'
-
- 'copy the player'#39's first enter dimension and add the supershotgun' +
- ' there.'
- ''
- 'Here is the part at the beginning of the e1m1.bsp'
- ''
- '{'
- '"classname" "info_player_start"'
- '"origin" "480 -352 88"'
- '"angle" "90"'
- '}'
- ''
-
- 'Enter the x , y, z and angle in quakemon application and press "' +
- ' add "'
- ', it will add the weapons, monster etc. for you !'
- ''
- 'Don'#39't forget to write the modified .bsp file to disk. '
- ''
-
- 'Quakemon.exe has a bug : You must restart it again everytime you' +
- ' write '
- 'a .bsp, otherwise you will get a I/O error at the second time.'
- '')
- ScrollBars = ssVertical
- TabOrder = 0
- end
- end
- object Timer1: TTimer
- Interval = 500
- OnTimer = Timer1Timer
- Left = 408
- Top = 368
- end
- object OpenDialog1: TOpenDialog
- Filter = 'Quake.exe|*.exe'
- Left = 376
- Top = 368
- end
- end
-