- (LIMITATION)EXPLODE_LARGE only explodes chars large. Cars explode normal with this command.
Workaround: Put a char in a car and explode the char instead.
- (BUG)FOR does not work at all.
Workaround: Use WHILE
- (COMPILER ERROR) empty loops cause do not compile
Workaround: use DO_NOWT inside it or (obviously) delete the loop
- (LIMITATION) IS_CHAR_FIRING_ONSCREEN ( p1 ) doesn't work with own player at least
- (LIMITATION) you cannot set patrol points for chars in cars
- (NO LIMITATION)HAS_CAR_GOT_WEAPON( rc_car, tank_gun ) works with tankgun(and probably others) too although the doc says only MINES, VMG and OIL works
- (UNEXPECTED BEHAVIOUR) DELETE_ITEM( car ) doesn't work with vehicles that are on a trailer
workaround: use PUT_CAR_ON_TRAILER to move it to a hidden place. the trailer is empty now but if it drowns the game crashes
- (NOT WORKING)SET_CHAR_MAX_DRIVESPEED ( char_name , speed ) has no effect on players or bots
workaround for bots and only useful when static and without cops: set the max speed in gci file.
- (UNEXPECTED BEHAVIOUR) cars created with CREATE_CAR and probably all other car creation commands float in the air when they have a Z level above ground
workaround: create a driver in the car. for example with: GIVE_DRIVER_AND_BRAKE(car01)
- (UNEXPECTED BEHAVIOUR) when you teleport while entering a car the player gets teleported to where he is now and only the camera position changes and then flies back to the player.
- (UNEXPECTED BEHAVIOUR) bots can't walk or drive through doors(even open ones) if the open rule is ANY_PLAYER
workaround: delete the block or use other open rule. btw you can use this to lock out bots: http://gtamp.com/forum/viewtopic.php?p=3198#p3198
- (LIMITATION) Maximum of code lines in a script is 3014 workaround
- (UNEXPECTED BEHAVIOUR) SET_CAR_NO_COLLIDE ( carname ) makes your car uncrashable when standing. using this command in WHILE_EXEC gives it super crashing powers
- (BUG) CLEAR_CAR_NO_COLLIDE ( carname ) has no effect
- (UNEXPECTED BEHAVIOUR) A car that is put on a trailer is rotated by 180° relative to the trailer.
workaround: put a ISETTA minicar on the trailer and the put your car on the minicar. this compensates the rotation by adding another 180°
- (CRASH) When you remote control the vehicle you are sitting in and it gets destroyed the game crashes
- (LIMITATION) while GIVE_WEAPON ( charname , weapon_type ) works on chars AND cars REMOVE_WEAPONS ( charname ) works only on chars
- (UNEXPECTED BEHAVIOUR) ORDER_CHAR_TO_BACKDOOR(p1,p1_v) with you being the driver first and then with no driver added: when you exit the horn stays on all the time until you enter again. You cannot destroy the car with some weapons. bullets and rocket wont hit the car and stop before it like in matrix. if you throw a molotov on it it will bounce off. If the cars gets destroyed by other means you will die even if your character is not hit. this remains possible even if you died once the usual way. your existence is bound to the the one of the car you can do that "out of car experience" even with 2 cars. When you enter as driver again you pull a clone of yourself out. then you become the clone and enter again. and the original stays on map as an indestructible bug graphic. They are rendered over everything on same level. Didn't test what happens on conveyors yet. http:///dump/clones.jpg
- (UNEXPECTED BEHAVIOUR) ORDER_CHAR_TO_BACKDOOR(p1,p1_v) with you being the driver first and then the car the car has a driver which is alive: when the car gets destroyed you survive in the wreck and you can exit it alive. if it drowns you survive too but will be trapped for ever.
- (UNEXPECTED BEHAVIOUR) ORDER_CHAR_TO_BACKDOOR(p1,p1_v) with you being the driver first and then the car had another driver which has been killed: when you exit the car you will always be "pushed" to the backseat when entering again. when it gets destroyed the same as above hapens.
- (UNEXPECTED BEHAVIOUR) SUBS or loaded script files which are executed in a while exec loop are being executed like in a usual WHILE loop. this can cause serious bugs when the code is executed too slowly. there is no workaround with WHILE_EXEC loops in that subs or files.
- (BUG) CHECK_WEAPON_TYPE_HIT_CHAR is never true. (at least i tested it with player1)
- (UNEXPECTED BEHAVIOUR) Not all sounds work the same. Some can be made out of random choosing between multiple sound files, play instant as expected but play multiple times when choosing play forever. some play forever as expected but only play instant as long as it is constantly created new.
- (DOC ERROR)it is IS_CHAR_FALLING not IS_CHAR_IN_AIR
- (UNEXPECTED BEHAVIOUR) IS_CHAR_FALLING does not detect explosion falling, jumping and probably also not explosion push
- (UNEXPECTED BEHAVIOUR) CHECK_WEAPON_TYPE_HIT_CAR stays true until the end of all times even if the car is wrecked and disappeared already. workaround: create a new car with that label
- (UNEXPECTED BEHAVIOUR) when a car is handled by a script a regularly created gang won't get in it except it is a BUS.
- (BUG) IS_CHAR_IN_AIR (charname) does not work
- (UNEXPECTED BEHAVIOUR) KILL_CHAR can make the char hang mid air if he is falling when it is executed in WHILE_EXEC
- (COMPILER CRASH) Maximum allowed objects is 1000 or crash.
- (COMPILER CRASH) CREATE_OBJ using 2d coords with ammo or remap value (spray shop), will crash compiler. workaround: use 3d coords with 255.0 as z-position.
- (RULE) Coordinates must have at least 1 decimal precision.
- (RULE) Declarations should always be before LEVELSTART command to avoid possible crashes.
- (RULE) CREATE_* commands before LEVELSTART will not be visible in GTA2.
- (RULE) You cannot use CREATE_CAR with PARKED_CAR_DATA datatype.
- (RULE) MINI_CAR must be used with CREATE_CAR command or it creates a car with trailermodel instead.
- (CRASH) Overlapping cars will crash GTA2 if too many overlap. Always avoid overlapping cars as much as possible.
- (CRASH) If viewing too many objects at same time (around 600-2000 objects (depends on object type)) the GTA2 will crash.
- (GTA2 CRASH) Cars that will insta crash GTA2: TRAINCAB, TRAIN, TRAINFB, BOXCAR, CAR9, CAR15, CAR20, CAR43.
- (CRASH) Having a car type set to train (or any of its carriages).
- (CRASH) Blowing up WRECK0-9 cars will crash GTA2.
- (CRASH) Setting PLAYER_PED location on top of a car, char or any object, will crash GTA2.
- (CRASH) Different objects have different maximum object limits.
- (CRASH) Linking to zones (from script file) that doesnt exist in GMP file will crash GTA2.
- (ERROR) Missing a restart zone will give error in GTA2 and quit without crashing.
- (CRASH) SET_GANG_INFO "arrow id" value 0-7 or crash.
- (CRASH OR ERROR) SET_GANG_INFO function must be used before LEVELSTART or it will either crash or have unexpected behavior.
- (CRASH) GIVE_WEAPON command will crash if you try to give a weapon to a character that doesn't exist.
Workaround: IF ( CHECK_CHARACTER_HEALTH ( playername, 0 ) )
- (ERROR) Using gang phones (red, yellow, green) will give error on gta2.exe if they are not on a proper gang zone.
- (CRASH) Using instantbomb on trucks with trailer attached in them will insta crash.
- (COMPILER CRASH) Car shop (except spray shop) that was created with OBJ_DATA will crash compiler if using 2d coordinates and it is the first OBJ_DATA declaration in the script. workaround: use 3d coords with 255.0 as z-position, or move it to not be the first declaration."
- (CRASH) Using PLAYER_PED with 2d coordinates crashes the game, however 255.0 makes 2d coords possible.
- (CRASH)destructors don't delete cars which have player inside and crashes if you get out of car in middle of destructor
- CAR_STOP and MOVING_CONE when used with GENERATOR shoots the object at the direction you set it rotation at. And those objects bounce from ground. It shoots them only if you put the z-coordinate really high
- (CRASH) Using CREATE_GENERATOR will crash the game.
- (NO ERROR) cars with trailers must be created with CREATE_CAR command or it creates a trailer with the same model as the car
- (CRASH) CREATE_CRUSHER
- (NO ERROR) If two objects (not cars and sometimes not chars?) overlap each other, one of them will get destroyed.
- (CRASH) if z-position is greater or equal to 8.0 will cause crash. Safe to use is 7.999999 max. 7.99 preferred.
- (CRASH) gang cars must be on their own gang zones or GTA2 crash
- (CRASH) SET_GANG_INFO crash if pointing at a zone that doesnt exist in GMP file.
- (UNEXPECTED BEHAVIOUR) SET_GANG_INFO can read only the first 4 letters from the zone name!
- (UNEXPECTED BEHAVIOUR) dropping grenades on a conveyor which X and Y speed is set to zero will make the grenades unable to explode until you move them off the conveyor.
- (CRASH) getting out of a car on a DESTRUCTOR object will crash the game.
- (CRASH) if the car explodes for any reason on a DESTRUCTOR object, the game will crash.
- (LIMITATION) SET_SHADING_LEVEL only works at noon and only affects walls
- (COMPILER CRASH) A wide variety of filenames for .mis files will freeze the compiler.
Short names with 1 or fewer punctuation characters are stable. workaround
- (UNEXPECTED BEHAVIOUR)HAS_CHARACTER_DIED remains true until the camera updates.
Workaround: Wait for at least 90 cycles.
- (UNEXPECTED BEHAVIOUR)HAS_CHAR_BEEN_ARRESTED works the same. However, you remain in the Cop Car for about 140 cycles.
Workaround: Wait for at least 150 cycles.
- (CRASH)(UNCONFIRMED) if you add a train zone to a place which has blocks in two or more Z-Levels. Ben: I think it's only a problem if direction arrows are stacked up?
- (UNEXPECTED BEHAVIOR) PERFORM_SAVE_GAME ( trigger name , X , Y , Z , width , height ) lets the player start after loading at X , Y+2.0 , Z
- (BUG)BUSY_CAR_SHOP object doesn't work properly. It was supposed to simply fix the car ("the plates have been changed") instead repainting it to another colour but it glitches the car just like when you repaint it to remap 255, 256 or -2
- (CRASH)when you are being chased and get in a taxi(in tytyarmy) and get on the backseat to become passenger and then the cops want to pull you out they won't pull anyone out but ener the vehicle and make the game crash
- (UNEXPECTED BEHAVIOR)When you teleport a player after he died in a car the camera will not change position instantly but it will "fly" to the new position.
workaround: encapsulate it with IF (NOT(HAS_CHARACTER_DIED(p1)))
- (UNEXPECTED BEHAVIOR) min_delay and max_delay do not work as expected. There is no random range but it will spawn after the smallest of both numbers
- (UNEXPECTED BEHAVIOR)Any characters following you (scripted or instant gang) will never get on a train with you, even if you try using clever functions like storing the "car" the player is in then forcing NPC's to enter it. Always been a bug.
- (UNEXPECTED BEHAVIOR)GIVE_WEAPON command on a vehicle ignores the amount you list and always gives +50. Work around: Either use GIVE_WEAPON command twice to get 99 ammo (sets car bomb to 1 ammo) on a vehicle or use OBJ_DATA to create specific weapon under the vehicle if you want to specify an exact amount such as 1 vehicle bomb but at the cost of hearing the voice over on picking up a weapon.
Just weired or uncommon things:
- all operators take only 2 operands at maximum. http://gtamp.com/forum/viewtopic.php?p=3174#p3174
- all statements have to be encapsulated with brackets.
- you can use only one mathematical operation per line
- you have to use "SET variable = value" instead of just "variable = value" which works like == in other languages http://gtamp.com/forum/viewtopic.php?p=3177#p3177
- you have to use + 0 when you want to copy the value of a counter
- you cannot use AND and OR in the same IF statement
- There cannot be more than 1 OR in an IF statement
Code: Select all
IF (( a==1 OR b==1 OR c==1) AND d==1) x = e = f + g + h ENDIF
Code: Select all
IF(((a=1)OR(b=1))OR(c=1)) IF(d=1) SET e = (f + g) SET e = (e + h) SET x = (e + 0) ENDIF ENDIF
- WHILE and WHILE_EXEC are executed as long as its conditions are true.
- running through the whole code in a WHILE_EXEC loop always takes only 1 game cycle. the amount of cycles that is needed for a while loop depends on the amount of code.
- DELAY_HERE can be executed in WHILE loops but not in WHILE_EXEC loops. use counters or IF(NOT(DELAY(xx))) instead
- WHILE need less computing power but this doesnt really have an effect, especially not on todays PCs
TM(1.point discovered by Gustavob and refined by TM):
- (GTA2) slopes 41-44 doesnt support rotation for side tiles
- (DMAE) slope type 45 etc are rendered incorrectly in DMA editor if you set all sides have some tile texture, but in GTA2 just fine
- (DMAE) those 44 slopes etc doesnt render one side correctly at all
- (GTA2) all sloped blocks will still have collision even if they are set to air
- (GTA2) you can walk on air blocks, but if you stop, you will fall down.
- (GTA2) When you add a light and use a random timing and dont choose an On or Off timing option, lights wont flash at all
- (GTA2)flashing lights cause desync
- (GTA2)transparency doesn't work on 45° walls
- (GTA2)You can stand on top of diagonal slopes if set to field/pavement/road and looks like you're floating
- (GTA2)when a train drives on any block that is not of type field the game crashes
- (GTA2)when there is no pavement at a rain station where the wagon you are in is you cannot exit. entering is possible though.
- (GTA2)If one of the trainzones is missing or named incorrectly the game crashes when the train reaches that point
- (GTA2)If one of the trainzones is doubled the game crashes instantly
- (GTA2)If one of the trainzones(entry,exit,stop) is not on the track the train will never stop at any station. if the entry point is missing it will drive fast, otherwise slow.
- (CRASH/BUG)when a tile uses a palette with index over 255 it is displayed incorrectly in DMA Editor or it crashes. There is no problem with GTA2 and sty tool.
- (CRASH)GTA2 crashes when you add a page to the tiles list. it works with sprites though.
- (UNEXPECTED BEHAVIOR)textures that go over the boundaries of a page are continued on the other side
- (NO FEATURE) the car flag "bullet proof" has no effect
- (CRASH) emergency lights on any non emergency car crashes the game when activating.
- (NO FEATURE) the car flag "roof decal" has no effect, not even on tv van
- (BUG) the car flag "has popup head lights" has not the expected effect. the only car that has them doesnt use this flag. if you activate it, it is half on car before getting in and activating siren.
- (ELSE)the other flags seem to work