Re: TradeMark's GTA2 Map Editor (0.5.32) (Only zone editor a
Posted: 05 Aug 2010, 22:48
Adding extra lines to the mmp files doesnt cause a crash, but I dont know if there are limits
I dont think this is actually a comment function: it just ignores the line because it cant recognize commands like ";GMPFile" when it should be "GMPFile", so basically you could put anything on front of the line to make it as a"comment". Fortunately my editor does support these kind of "comments"elypter wrote:comments when the line starts with ";"
Sound objects already are visibleelypter wrote:-sounds
What does that mean? I didnt find anything about arrows on page 18...elypter wrote:-point arrow at something + declare+switch off (doc page 18)
Does this require modifying the map blocks?elypter wrote:-management of doors
sorry, i didn't notice yet.TradeMark wrote:Sound objects already are visibleelypter wrote:-sounds
maybe i have a different doc. i just post itTradeMark wrote:What does that mean? I didnt find anything about arrows on page 18...elypter wrote:-point arrow at something + declare+switch off (doc page 18)
DECLARE ARROW
This command ‘declares’ space for an arrow to be later used in the game. Currently, you really only need one arrow for each possible colour, but it’s possible to set up multiple arrows of the same colour. Current maximum is likely to be around 4 or 6, but this could be changed if necessary.
ARROW_DATA name
NOTE:
name: a unique namestring
POINT ARROW AT SOMETHING
Sets an existing arrow to point towards either a location, character, car or object. All items must be valid existing items. If target is an object, the arrow must be cancelled before object gets deleted.
POINT_ARROW_AT ( arrname, name )
POINT_ARROW_AT ( arrname, float x , float y , float z )
NOTE:
arrname: name of an arrow declared with an ARROW_DATA
name: name of either a car, character or object
xyz: must be a valid float (X,Y,Z) coordinate.
SWITCH OFF ARROW
Clears a previously created arrow
REMOVE_ARROW ( arrname )
NOTE:
arrname: name of an arrow declared with an ARROW_DATA
you need to position the door once on declareTradeMark wrote:Does this require modifying the map blocks?elypter wrote:-management of doors
DOOR DECLARE
Doors in GTA2 are one way - their primary use is on buildings for ‘garages’. They give the illusion of the player entering a building & dumping a car inside. They will usually be used in conjunction with a ‘PARK’ command to take the player inside & dump his/her car.
These may appear to be a little fiddly to set up properly, but they give you a lot of different power.. Doors must be declared & created at the top of your file outside any functions. At the moment, all doors are automatic & default to closed – barriers will come later.
Doors can either be single or double. If you select double, the game will automatically position another door to the ‘right’ of your coordinates, depending on the direction the door should face.
i.e. if facing top, it will generate one block to the right,
if facing bottom, it will generate one block to the left,
if facing right, it will generate one block to the bottom,
if facing left, it will generate one block to the top.
Double doors’ opening logic defaults to being over both blocks immediately in front of the two doors, instead of the single block in front that happens with single doors. You can now change this easily through the ‘check’ values – this is a float (XYZ) which is the centre of the range to check, plus a width & height giving the size of the area to check.
The “gr_id” is a single integer value telling the game what set of ‘graphics’ to use. This value is basically a reference to a DECLARE_DOOR_INFO. If you want this door to use the second door_info data, set this to 1, if you want the first,use 0.
Open_type is the rule for opening this door. See bottom of document for list. Basically, at the moment you can order doors to open for players, for any car, for particular cars you’ve created, for a particular model of car. If you want the door to open for a particular car, you need to give its name at the end of the line, see ‘somename’. If you want the door to open for a particular model, you need to give this as ‘somename’.
Close_type is the rule for closing the door. This is a little more straightforward. If you give the door a ‘close never’ type, it will stay permanently open & will let anything go through. All other types will only let the ‘type’ that opened it through, e.g the player, a particular car. Another common close type will be ‘delayed’ which waits a certain number of game cycles & then attempts to close the door.
One word of warning: at the moment, the game will not close the door while whatever opens the door is still standing on the opening trigger in front of the door…
DOOR_DATA name = style ( int X , int Y , int Z ) ( float check X , check Y , check Z , check width ,
check height ) face gr_id open_type close_type delay flip reverse
DOOR_DATA name = style ( int X , int Y , int Z ) ( float check X , check Y , check Z , check width ,
check height ) face gr_id open_type close_type delay flip reverse somename
DOOR_DATA name = style ( int X , int Y , int Z ) ( float check X , check Y , check Z , check width ,
check height ) face gr_id open_type close_type delay flip reverse value
NOTE:
name: unique string giving a name for this door
style: either SINGLE or DOUBLE to tell game what style of door it is
XYZ: integer values giving the coordinates of the block to put the door ‘on’
Check XYZ: floats describing the ‘door check’ trigger opening position…
Check width/height: width & height of the new trigger position
Set these check values to 0.0 to make the game automatically generate a trigger covering the area ‘in front’ of the door. (same way as GTA did it).
Face: facetype is either TOP, BOTTOM, LEFT, RIGHT detailing which face to
physically place the door on.
gr_id: an integer detailing which ‘DOOR_INFO’ to use. 0 is the first valid door_info!
open_type: An open_type string from the bottom of the document
close_type: Again, a close_type string from the bottom of the document
delay: Integer detailing the number of cycles to wait. 255 is the maximum wait.
flip: String which is either “FLIP_RIGHT” or “NOT_FLIPPED”
If flipright, the righthand door has its graphic flipped.
somename: Usually the name of a car or carmodel – only used with specific open_types
value: integer value not currently used – you do not need to worry about putting in
any sort of value for it.
Reverse: extra flag detailing “backwards door” – use this for the ‘fudged’ doors where you effectively have two doors on the one block. SEE ME!
Should be either REVERSED or NOT_REVERSED
It was "X" before or something like that ,but once i noticed the tunnel blocker object is buggy, i changed it into this:BenMillard wrote:Good list. Do you include a placeholder image for tunnel_blocker? Something like the UK "ungated level crossing" sign might be nice.
arrows can point at players cars and i guess objects but they can also point at locations:TradeMark wrote: elypter, i dont know how should i display those arrows, they appear only at the player? while i cant really display a player in the editor, only startpositions
It would be nice if that location could be modified in editor. but i admit it's not that high priority.POINT_ARROW_AT ( arrname, float x , float y , float z )
Added to listLantyz wrote:RADIO_STATIONs
Already in my list!Lantyz wrote:DESTRUCTORs
Command name please!Lantyz wrote:Save point
Ah, yeah, i almost forgot these! Need to make trains visible. So i need to implement SET_STATION_INFO command.Lantyz wrote:Start positions of the trains
Mouseover seems best, added to my list: SET_CAR_BULLETPROOF, SET_CAR_FLAMEPROOF, SET_CAR_ROCKETPROOF, GIVE_CAR_ALARM, SET_CAR_EMERG_LIGHTS. What else?Lantyz wrote:Some visual markers (or mouse-over?) for cars that are bulletproof, fireproof, no_collision, have a car alarm or emergency lights, etc.
Code: Select all
Lock Types
NO_LOCK
LOCKED // locks out everyone, including players
LOCKOUT_THIEF // locks out only carthiefs
UNLOCKED // unlocked
LOCKED_PERMANENTLY // ALWAYS locked for everyone!!
LOCKOUT_PLAYER // locks out ONLY players!
Save points are made like this:TradeMark wrote:Command name please!Lantyz wrote:Save point
Code: Select all
//[...]
FORWARD savethegame:
THREAD_TRIGGER trigger_savethegame = THREAD_WAIT_FOR_CHAR_IN_AREA ( player , X.x , Y.y , Z.z , Float:X , Float:Y , savethegame: )
savethegame:
PERFORM_SAVE_GAME ( trigger_savethegame , X.x , Y.y , Z.z , Float:X , Float:Y )
RETURN
//[...]
Yeah, it does display the sound type of course!BenMillard wrote:Sound icon looks great, I guess that's a PYLON at the back? Displaying the type of sound on mouseover could be a neat enhancement.
Yeah, i know, I tested the exact height of the TOWER object (and all other objects you can hit...), its rendered properly in my editor! The precise total height is 2.25, no more or less!BenMillard wrote:TOWER objects seem to be 2 blocks high. If you use (x,y,255.0) then I think the bottom part ends up underground, because they blocked my subway trains on MultiSlayer City by default.