[WIP] Large Singleplayer Project

Post GTA1/GTA2 maps here (finished and work in progress).
User avatar
Pyro
Immortal
Posts: 414
Joined: 17 Mar 2010, 04:07
GH nick: Pyro
Location: Wales, UK

Re: [WIP] Large Singleplayer Project

Post by Pyro »

In a city this big you're bound to find little problems here and there. I know it's not quite the same with the converted GTA1 -> GTA2 maps compared to yours (other than scale), but there are tons of small little changes on each of them that ended up getting changed or fixed.

I'll try and have a look at your map sometime and see what I can find; some of which is probably listed or could just be my opinion! Possibly an excuse to jump on GH sometime too ;)
Razor
Lunatic
Lunatic
Posts: 456
Joined: 19 Jul 2008, 14:14
GH nick: Razor, R
Location: Poland / Szczecin
Contact:

Re: [WIP] Large Singleplayer Project

Post by Razor »

looking forward to alfa tests. Mail or pm me if/when alpha will be relased.
CarThief
Hitman
Hitman
Posts: 108
Joined: 19 May 2012, 18:12
GH nick: CarThief
Location: Holland, AKA The Netherlands

Re: [WIP] Large Singleplayer Project

Post by CarThief »

I'm pretty sure it will take quite a while before any betas or alphas get released, in its current state its hardly an alpha, still quite incomplete. And still need like 10-12 extra missions too, or so. So i wouldnt count on it being alpha/beta ready or even complete anytime soon, but thanks for the offer.

Hm, just to handle some final details on that toy car mission, and the various leftover bugs... RC cars are rediculously quirky, and extremely fast in the hands of the computer!
BenMillard
Immortal
Posts: 889
Joined: 16 May 2009, 06:14
GH nick: BenMillard
Location: London, UK
Contact:

Re: [WIP] Large Singleplayer Project

Post by BenMillard »

He's asking about the free roam mode you and I had tried out.

We see single player as a bit lame compared to multiplayer.

I think making multiplayer mini-games in various parts of your level would prove way more popular - and more satisfying for you.
CarThief
Hitman
Hitman
Posts: 108
Joined: 19 May 2012, 18:12
GH nick: CarThief
Location: Holland, AKA The Netherlands

Re: [WIP] Large Singleplayer Project

Post by CarThief »

Well i've sent him a PM about that and all i suppose.
I guess singleplayer isnt everyone's favourite, but i'm sure the co-op will be appreciated if i can get that to work with the mission files during multiplayer and all.

Though making various minigames and mini-arenas isnt exactly my specialty, but if there's a good idea to work with i can always add that later on when its done.
User avatar
Sektor
Boss
Boss
Posts: 1423
Joined: 04 Mar 2008, 06:51
GH nick: Sektor
Location: GTAMP.com
Contact:

Re: [WIP] Large Singleplayer Project

Post by Sektor »

More CarThief maps is always a good thing. Looks like it's going to be a great map.
CarThief
Hitman
Hitman
Posts: 108
Joined: 19 May 2012, 18:12
GH nick: CarThief
Location: Holland, AKA The Netherlands

Re: [WIP] Large Singleplayer Project

Post by CarThief »

Not sure if that many of my old maps turned out that well, though some had a few interesting concepts not done before at that time, they certainly where a bit lacking on strategic placement of stuff and general construction.
But i suppose everyone starts somewhere... :P

I just cant seem to get the RC mission to work very properly though. Despite the countless failsafes and measures, the mission crashes the game if exited and attempted 2-3 times in a row, and sometimes the mission crashes while failing in various ways too. Oh, and the Tanks refuse to open fire to the Generator when they're in place, but that issue is probaly child's play compared to this weird crash problem, and i can probaly figure that out myself, hm, perhaps they're too far...?

I think i'll have to scrap that idea, because for some reason RC cars are very difficult to work properly with in missions. I built several delays in the script to make sure the player is no longer controlling the car as the mission fails, but that didnt help alot either. Its just very unstable and hard to work with for some reason.
I guess here's the script if curious. (772 Lines long, so it'll scroll quite a bit.)
[mis]//TOY CAR MADNESS! - Idea by Pyro.
//Scrapped untill fixed somehow.

//Mission declares and counters.
CAR_DATA ZB4_PlayerCar
CAR_DATA ZB4_FollowRC1
CAR_DATA ZB4_FollowRC2
CAR_DATA ZB4_FollowRC3
CAR_DATA ZB4_AttackRC1
CAR_DATA ZB4_AttackRC2
CAR_DATA ZB4_AttackRC3
CAR_DATA ZB4_AttackRC4
CAR_DATA ZB4_AttackRC5
CAR_DATA ZB4_GuardRC1
CAR_DATA ZB4_GuardRC2
CAR_DATA ZB4_GuardRC3
CAR_DATA ZB4_GuardRC4
CAR_DATA ZB4_Tank1
CAR_DATA ZB4_Tank2
CAR_DATA ZB4_Tank3
CAR_DATA ZB4_Tank4
CAR_DATA ZB4_Tank5
CAR_DATA ZB4_Jeep1
CAR_DATA ZB4_Jeep2
CAR_DATA ZB4_Jeep3
CAR_DATA ZB4_Jeep4
CAR_DATA ZB4_Van
CAR_DATA ZB4_Transport1
CAR_DATA ZB4_Transport2
CHAR_DATA ZB4_PlayerCarTarget
CHAR_DATA ZB4_TankDriver1
CHAR_DATA ZB4_TankDriver2
CHAR_DATA ZB4_TankDriver3
CHAR_DATA ZB4_TankDriver4
CHAR_DATA ZB4_TankDriver5
CHAR_DATA ZB4_JeepDriver1
CHAR_DATA ZB4_JeepDriver2
CHAR_DATA ZB4_JeepDriver3
CHAR_DATA ZB4_JeepDriver4
CHAR_DATA ZB4_Driver1
CHAR_DATA ZB4_Driver2
CHAR_DATA ZB4_Driver3
CAR_DATA ZB4_Guard1
CAR_DATA ZB4_Guard2
CAR_DATA ZB4_Guard3
CAR_DATA ZB4_Guard4
CHAR_DATA ZB4_TransportDriver1
CHAR_DATA ZB4_TransportDriver2
OBJ_DATA ZB4_Generator
OBJ_DATA ZB4_RCToken
OBJ_DATA ZB4_CarBomb
ARROW_DATA ZB4_Arrow1
ARROW_DATA ZB4_Arrow2
ARROW_DATA ZB4_Arrow3
ARROW_DATA ZB4_Arrow4
ARROW_DATA ZB4_Arrow5
ARROW_DATA ZB4_Arrow6
COUNTER ZB4_Attack1 = 0 //Toggles RC cars to switch from following to attacking.
COUNTER ZB4_Attack2 = 0
COUNTER ZB4_Attack3 = 0
COUNTER ZB4_Attack4 = 0
COUNTER ZB4_Attack5 = 0
COUNTER ZB4_Attack6 = 0
COUNTER ZB4_TankAttack1 = 0//Toggle tanks firing at Generator.
COUNTER ZB4_TankAttack2 = 0
COUNTER ZB4_TankAttack3 = 0
COUNTER ZB4_TankAttack4 = 0
COUNTER ZB4_TankAttack5 = 0
COUNTER ZB4_AttackFinal = 0
COUNTER ZB4_Timer = 0 //Internal timer.
TIMER_DATA ZB4_Visual
COUNTER ZB4_BombReady = 0
COUNTER ZB4_Exploded1 = 0//To keep carbomb explosions one-time. More stable.
COUNTER ZB4_Exploded2 = 0
COUNTER ZB4_Exploded3 = 0
COUNTER ZB4_Progress = 0
COUNTER ZB4_RemoteControlling = 0
COUNTER ZB4_Passed = 0
COUNTER ZB4_Failed = 0
COUNTER ZB4_BombTaken = 0
COUNTER ZB4_BombWait = 0 //Used to make sure carbombing the Van doesnt fail the mission.
COUNTER ZB4_BombTimer = 0//As long as this is not 0 failure will not initiate if the Player car is destroyed.

COUNTER ZB4_Exit = 0 //Enables exiting the mission, more or less.
COUNTER ZB4_ExitTimer = 0//Counts down for exit when mission fails/passes.

FORWARD ZB4_Cleanup://Dont make this the first command in a mission. Try to keep it below Declares.

ZB4_Main:

EXEC
//Setup criticals beforehand.
SET Global_OnMission = 1
SET MissionLoop = 1
STOP_PHONE (Global_ZaibatsuPhone4)//Needed for Blue Phones ONLY.

//Mission stuff between this and WHILE_EXEC.

ZB4_RCToken = CREATE_OBJ (38.5, 48.5, 4.0) 270 REMOTE END
ZB4_Generator = CREATE_OBJ (12.5, 51.5, 2.0) 0 POWERGEN END
ZB4_PlayerCar = CREATE_CAR (39.5, 48.5, 2.0) 2 0 ISETTA MINI_CAR END
GIVE_WEAPON(ZB4_PlayerCar, CAR_MINE)
GIVE_WEAPON(ZB4_PlayerCar, CAR_MINE)
GIVE_WEAPON(ZB4_PlayerCar, CAR_MACHINE_GUN)
GIVE_WEAPON(ZB4_PlayerCar, CAR_MACHINE_GUN)
SET_CAR_ROCKETPROOF(ZB4_PlayerCar, ON)
ZB4_Tank1 = CREATE_CAR (108.5, 50.5, 2.0) -1 270 TANK MINI_CAR END
ZB4_Tank2 = CREATE_CAR (113.5, 51.5, 2.0) -1 270 TANK MINI_CAR END
ZB4_Tank3 = CREATE_CAR (118.5, 50.5, 2.0) -1 270 TANK MINI_CAR END
ZB4_Tank4 = CREATE_CAR (124.5, 51.5, 2.0) -1 270 TANK MINI_CAR END
ZB4_Tank5 = CREATE_CAR (128.5, 50.5, 2.0) -1 270 TANK MINI_CAR END
ZB4_Jeep1 = CREATE_CAR (114.5, 51.5, 2.0) -1 270 GUNJEEP MINI_CAR END
ZB4_Jeep2 = CREATE_CAR (119.5, 50.5, 2.0) -1 270 GUNJEEP MINI_CAR END
ZB4_Jeep3 = CREATE_CAR (125.5, 51.5, 2.0) -1 270 GUNJEEP MINI_CAR END
ZB4_Jeep4 = CREATE_CAR (129.5, 50.5, 2.0) -1 270 GUNJEEP MINI_CAR END
ZB4_TankDriver1 = CREATE_CHAR_INSIDE_CAR (ZB4_Tank1) 4 TANK_DRIVER END
ZB4_TankDriver2 = CREATE_CHAR_INSIDE_CAR (ZB4_Tank2) 4 TANK_DRIVER END
ZB4_TankDriver3 = CREATE_CHAR_INSIDE_CAR (ZB4_Tank3) 4 TANK_DRIVER END
ZB4_TankDriver4 = CREATE_CHAR_INSIDE_CAR (ZB4_Tank4) 4 TANK_DRIVER END
ZB4_TankDriver5 = CREATE_CHAR_INSIDE_CAR (ZB4_Tank5) 4 TANK_DRIVER END
ZB4_JeepDriver1 = CREATE_CHAR_INSIDE_CAR (ZB4_Jeep1) 4 TANK_DRIVER END
ZB4_JeepDriver2 = CREATE_CHAR_INSIDE_CAR (ZB4_Jeep2) 4 TANK_DRIVER END
ZB4_JeepDriver3 = CREATE_CHAR_INSIDE_CAR (ZB4_Jeep3) 4 TANK_DRIVER END
ZB4_JeepDriver4 = CREATE_CHAR_INSIDE_CAR (ZB4_Jeep4) 4 TANK_DRIVER END
SET_CHAR_MAX_DRIVESPEED(ZB4_TankDriver1, 0.04)//0.02
SET_CHAR_MAX_DRIVESPEED(ZB4_TankDriver2, 0.04)
SET_CHAR_MAX_DRIVESPEED(ZB4_TankDriver3, 0.04)
SET_CHAR_MAX_DRIVESPEED(ZB4_TankDriver4, 0.04)
SET_CHAR_MAX_DRIVESPEED(ZB4_TankDriver5, 0.04)
SET_CHAR_MAX_DRIVESPEED(ZB4_JeepDriver1, 0.165)
SET_CHAR_MAX_DRIVESPEED(ZB4_JeepDriver2, 0.165)
SET_CHAR_MAX_DRIVESPEED(ZB4_JeepDriver3, 0.165)
SET_CHAR_MAX_DRIVESPEED(ZB4_JeepDriver4, 0.165)
SET_CHAR_TO_STAY_IN_CAR(ZB4_TankDriver1, ON)
SET_CHAR_TO_STAY_IN_CAR(ZB4_TankDriver2, ON)
SET_CHAR_TO_STAY_IN_CAR(ZB4_TankDriver3, ON)
SET_CHAR_TO_STAY_IN_CAR(ZB4_TankDriver4, ON)
SET_CHAR_TO_STAY_IN_CAR(ZB4_TankDriver5, ON)
SET_CHAR_TO_STAY_IN_CAR(ZB4_JeepDriver1, ON)
SET_CHAR_TO_STAY_IN_CAR(ZB4_JeepDriver2, ON)
SET_CHAR_TO_STAY_IN_CAR(ZB4_JeepDriver3, ON)
SET_CHAR_TO_STAY_IN_CAR(ZB4_JeepDriver4, ON)
SET_CHAR_TO_USE_CAR_WEAPON(ZB4_TankDriver1, ON)
SET_CHAR_TO_USE_CAR_WEAPON(ZB4_TankDriver2, ON)
SET_CHAR_TO_USE_CAR_WEAPON(ZB4_TankDriver3, ON)
SET_CHAR_TO_USE_CAR_WEAPON(ZB4_TankDriver4, ON)
SET_CHAR_TO_USE_CAR_WEAPON(ZB4_TankDriver5, ON)
SET_CHAR_TO_USE_CAR_WEAPON(ZB4_JeepDriver1, ON)
SET_CHAR_TO_USE_CAR_WEAPON(ZB4_JeepDriver2, ON)
SET_CHAR_TO_USE_CAR_WEAPON(ZB4_JeepDriver3, ON)
SET_CHAR_TO_USE_CAR_WEAPON(ZB4_JeepDriver4, ON)
SET_CHAR_DRIVE_AGGRESSION(ZB4_TankDriver1, ON)
SET_CHAR_DRIVE_AGGRESSION(ZB4_TankDriver2, ON)
SET_CHAR_DRIVE_AGGRESSION(ZB4_TankDriver3, ON)
SET_CHAR_DRIVE_AGGRESSION(ZB4_TankDriver4, ON)
SET_CHAR_DRIVE_AGGRESSION(ZB4_TankDriver5, ON)
SET_CHAR_THREAT_SEARCH(ZB4_TankDriver1, NO_THREATS)
SET_CHAR_THREAT_SEARCH(ZB4_TankDriver2, NO_THREATS)
SET_CHAR_THREAT_SEARCH(ZB4_TankDriver3, NO_THREATS)
SET_CHAR_THREAT_SEARCH(ZB4_TankDriver4, NO_THREATS)
SET_CHAR_THREAT_SEARCH(ZB4_TankDriver5, NO_THREATS)
SET_CHAR_THREAT_REACTION(ZB4_TankDriver1, NO_REACTION)
SET_CHAR_THREAT_REACTION(ZB4_TankDriver2, NO_REACTION)
SET_CHAR_THREAT_REACTION(ZB4_TankDriver3, NO_REACTION)
SET_CHAR_THREAT_REACTION(ZB4_TankDriver4, NO_REACTION)
SET_CHAR_THREAT_REACTION(ZB4_TankDriver5, NO_REACTION)
SET_CHAR_OBJECTIVE(ZB4_TankDriver1, GOTO_AREA_IN_CAR, 18.5, 50.5, 2.0)
SET_CHAR_OBJECTIVE(ZB4_TankDriver2, GOTO_AREA_IN_CAR, 18.5, 51.5, 2.0)
SET_CHAR_OBJECTIVE(ZB4_TankDriver3, GOTO_AREA_IN_CAR, 18.5, 50.5, 2.0)
SET_CHAR_OBJECTIVE(ZB4_TankDriver4, GOTO_AREA_IN_CAR, 18.5, 51.5, 2.0)
SET_CHAR_OBJECTIVE(ZB4_TankDriver5, GOTO_AREA_IN_CAR, 18.5, 50.5, 2.0)
SET_CHAR_OBJECTIVE(ZB4_JeepDriver1, FOLLOW_CAR_IN_CAR, ZB4_Tank2)
SET_CHAR_OBJECTIVE(ZB4_JeepDriver2, FOLLOW_CAR_IN_CAR, ZB4_Tank3)
SET_CHAR_OBJECTIVE(ZB4_JeepDriver3, FOLLOW_CAR_IN_CAR, ZB4_Tank4)
SET_CHAR_OBJECTIVE(ZB4_JeepDriver4, FOLLOW_CAR_IN_CAR, ZB4_Tank5)
POINT_ARROW_AT(ZB4_Arrow1, ZB4_Tank1)
SET_ARROW_COLOUR(ZB4_Arrow1, RED)
POINT_ARROW_AT(ZB4_Arrow2, ZB4_Tank2)
SET_ARROW_COLOUR(ZB4_Arrow2, RED)
POINT_ARROW_AT(ZB4_Arrow3, ZB4_Tank3)
SET_ARROW_COLOUR(ZB4_Arrow3, RED)
POINT_ARROW_AT(ZB4_Arrow4, ZB4_Tank4)
SET_ARROW_COLOUR(ZB4_Arrow4, RED)
POINT_ARROW_AT(ZB4_Arrow5, ZB4_Tank5)
SET_ARROW_COLOUR(ZB4_Arrow5, RED)
POINT_ARROW_AT(ZB4_Arrow6, ZB4_RCToken)
DISPLAY_MESSAGE (1269)//TOY CAR MADNESS!
DISPLAY_BRIEF_NOW (1270)//Get the remote and use RC car to stop the Tanks before they blow up the Generator.
ENDEXEC

WHILE_EXEC(MissionLoop = 1)

DO_NOWT//Just in case.

IF(ZB4_Progress = 1)
IF(NOT(ZB4_Timer = 0))
--ZB4_Timer
ENDIF
ENDIF

IF(ZB4_BombWait = 1)
IF(NOT(ZB4_BombTimer = 0))
--ZB4_BombTimer
ENDIF
ENDIF

IF(ZB4_Exit = 1)
IF(NOT(ZB4_ExitTimer = 0))
--ZB4_ExitTimer
ENDIF
ENDIF

//Start remote controlling.
IF((ZB4_RemoteControlling = 0) AND (LOCATE_CHARACTER_ON_FOOT(Player1, 38.5, 48.5, 4.0, 1.0, 1.0)))
SET ZB4_RemoteControlling = 1
REMOVE_ARROW(ZB4_Arrow6)
DELETE_ITEM(ZB4_RCToken)
ZB4_PlayerCarTarget = CREATE_CHAR_INSIDE_CAR (ZB4_PlayerCar) 8 DRONE END
ORDER_CHAR_TO_BACKDOOR (ZB4_PlayerCarTarget, ZB4_PlayerCar)
SET_CHAR_TO_STAY_IN_CAR(ZB4_PlayerCarTarget, ON)
DO_NOWT
TAKE_REMOTE_CONTROL_OF_CAR(Player1, ZB4_PlayerCar)
ENDIF

//If the tanks get close enough, they open fire on the Generator.
IF((ZB4_Progress = 1) AND (ZB4_TankAttack1 = 0))
IF((LOCATE_CHARACTER_ANY_MEANS(ZB4_TankDriver1, 19.5, 50.5, 2.0, 1.0, 1.0)) OR (LOCATE_CHARACTER_ANY_MEANS(ZB4_TankDriver1, 19.5, 51.5, 2.0, 1.0, 1.0)))
SET ZB4_TankAttack1 = 1
//SET_CHAR_OBJECTIVE(ZB4_TankDriver1, WAIT_IN_CAR)
STOP_CHAR_DRIVING(ZB4_TankDriver1)
DO_NOWT
MAKE_CHAR_DO_NOTHING(ZB4_TankDriver1)
DO_NOWT
SET_CHAR_OBJECTIVE(ZB4_TankDriver1, FIRE_AT_OBJECT_FROM_VEHICLE, ZB4_Generator)
ENDIF
ENDIF
//-------------------------------
IF((ZB4_Progress = 1) AND (ZB4_TankAttack2 = 0))
IF((LOCATE_CHARACTER_ANY_MEANS(ZB4_TankDriver2, 19.5, 50.5, 2.0, 1.0, 1.0)) OR (LOCATE_CHARACTER_ANY_MEANS(ZB4_TankDriver2, 19.5, 51.5, 2.0, 1.0, 1.0)))
SET ZB4_TankAttack2 = 1
//SET_CHAR_OBJECTIVE(ZB4_TankDriver2, WAIT_IN_CAR)
STOP_CHAR_DRIVING(ZB4_TankDriver2)
DO_NOWT
MAKE_CHAR_DO_NOTHING(ZB4_TankDriver2)
DO_NOWT
SET_CHAR_OBJECTIVE(ZB4_TankDriver2, FIRE_AT_OBJECT_FROM_VEHICLE, ZB4_Generator)
ENDIF
ENDIF
//-------------------------------
IF((ZB4_Progress = 1) AND (ZB4_TankAttack3 = 0))
IF((LOCATE_CHARACTER_ANY_MEANS(ZB4_TankDriver3, 20.5, 50.5, 2.0, 1.0, 1.0)) OR (LOCATE_CHARACTER_ANY_MEANS(ZB4_TankDriver3, 20.5, 51.5, 2.0, 1.0, 1.0)))
SET ZB4_TankAttack3 = 1
//SET_CHAR_OBJECTIVE(ZB4_TankDriver3, WAIT_IN_CAR)
STOP_CHAR_DRIVING(ZB4_TankDriver3)
DO_NOWT
MAKE_CHAR_DO_NOTHING(ZB4_TankDriver3)
DO_NOWT
SET_CHAR_OBJECTIVE(ZB4_TankDriver3, FIRE_AT_OBJECT_FROM_VEHICLE, ZB4_Generator)
ENDIF
ENDIF
//-------------------------------
IF((ZB4_Progress = 1) AND (ZB4_TankAttack4 = 0))
IF((LOCATE_CHARACTER_ANY_MEANS(ZB4_TankDriver4, 20.5, 50.5, 2.0, 1.0, 1.0)) OR (LOCATE_CHARACTER_ANY_MEANS(ZB4_TankDriver4, 20.5, 51.5, 2.0, 1.0, 1.0)))
SET ZB4_TankAttack4 = 1
//SET_CHAR_OBJECTIVE(ZB4_TankDriver4, WAIT_IN_CAR)
STOP_CHAR_DRIVING(ZB4_TankDriver4)
DO_NOWT
MAKE_CHAR_DO_NOTHING(ZB4_TankDriver4)
DO_NOWT
SET_CHAR_OBJECTIVE(ZB4_TankDriver4, FIRE_AT_OBJECT_FROM_VEHICLE, ZB4_Generator)
ENDIF
ENDIF
//-------------------------------
IF((ZB4_Progress = 1) AND (ZB4_TankAttack5 = 0))
IF((LOCATE_CHARACTER_ANY_MEANS(ZB4_TankDriver5, 21.5, 50.5, 2.0, 1.0, 1.0)) OR (LOCATE_CHARACTER_ANY_MEANS(ZB4_TankDriver5, 21.5, 51.5, 2.0, 1.0, 1.0)))
SET ZB4_TankAttack5 = 1
//SET_CHAR_OBJECTIVE(ZB4_TankDriver5, WAIT_IN_CAR)
STOP_CHAR_DRIVING(ZB4_TankDriver5)
DO_NOWT
MAKE_CHAR_DO_NOTHING(ZB4_TankDriver5)
DO_NOWT
SET_CHAR_OBJECTIVE(ZB4_TankDriver5, FIRE_AT_OBJECT_FROM_VEHICLE, ZB4_Generator)
ENDIF
ENDIF

//Force the surviving RC cars to try and carbomb the transports when timer is 0.
IF((ZB4_Progress = 1) AND (ZB4_Timer = 0))
SET ZB4_BombReady = 1
CLEAR_TIMER(ZB4_Visual)
IF(NOT(IS_CAR_WRECKED(ZB4_FollowRC1)))
SET_CHAR_MAX_DRIVESPEED(ZB4_Driver1, 0.245)//Drive like the wind!
SET_CHAR_OBJECTIVE(ZB4_Driver1, KILL_CHAR_ANY_MEANS, ZB4_TransportDriver1)
SET_ARROW_COLOUR(ZB4_Arrow1, RED)
ENDIF
IF(NOT(IS_CAR_WRECKED(ZB4_FollowRC2)))
SET_CHAR_MAX_DRIVESPEED(ZB4_Driver2, 0.245)
SET_CHAR_OBJECTIVE(ZB4_Driver2, KILL_CHAR_ANY_MEANS, ZB4_TransportDriver2)
SET_ARROW_COLOUR(ZB4_Arrow2, RED)
ENDIF
IF(NOT(IS_CAR_WRECKED(ZB4_FollowRC3)))
SET_CHAR_MAX_DRIVESPEED(ZB4_Driver3, 0.245)
SET_CHAR_OBJECTIVE(ZB4_Driver3, KILL_CHAR_ANY_MEANS, ZB4_TransportDriver2)
SET_ARROW_COLOUR(ZB4_Arrow3, RED)
ENDIF
ENDIF
//-------------
IF((ZB4_Progress = 1) AND (ZB4_BombReady = 1))
IF(NOT(IS_CAR_WRECKED(ZB4_FollowRC1)))
IF((ZB4_Exploded1 = 0) AND (LOCATE_ANOTHER_CHARACTER_ANY_MEANS(ZB4_Driver1, ZB4_TransportDriver1, 2.0, 2.0)))
EXPLODE_LARGE (ZB4_Driver1)
EXPLODE_LARGE(ZB4_Transport1)
SET ZB4_Exploded1 = 1
ENDIF
ENDIF
//=====================
IF(NOT(IS_CAR_WRECKED(ZB4_FollowRC2)))
IF((ZB4_Exploded2 = 0) AND (LOCATE_ANOTHER_CHARACTER_ANY_MEANS(ZB4_Driver2, ZB4_TransportDriver2, 2.0, 2.0)))
EXPLODE_LARGE (ZB4_Driver2)
EXPLODE_LARGE(ZB4_Transport2)
SET ZB4_Exploded2 = 1
ENDIF
ENDIF
//=====================
IF(NOT(IS_CAR_WRECKED(ZB4_FollowRC3)))
IF((ZB4_Exploded3 = 0) AND (LOCATE_ANOTHER_CHARACTER_ANY_MEANS(ZB4_Driver3, ZB4_TransportDriver2, 2.0, 2.0)))
EXPLODE_LARGE (ZB4_Driver3)
EXPLODE_LARGE(ZB4_Transport2)
SET ZB4_Exploded3 = 1
ENDIF
ENDIF
ENDIF

//Make the RC Jeeps attack on sight.
IF(ZB4_RemoteControlling = 1)
IF((ZB4_Attack1 = 0) AND (ZB4_Progress = 0))
//IF(IS_ITEM_ACCURATELY_ONSCREEN(ZB4_Jeep1))
IF(LOCATE_ANOTHER_CHARACTER_ANY_MEANS(ZB4_JeepDriver1, ZB4_PlayerCarTarget, 8.0, 8.0))
SET ZB4_Attack1 = 1
SET_CHAR_OBJECTIVE(ZB4_JeepDriver1, KILL_CHAR_ANY_MEANS, ZB4_PlayerCarTarget)
ENDIF
ENDIF
IF((ZB4_Attack2 = 0) AND (ZB4_Progress = 0))
IF(LOCATE_ANOTHER_CHARACTER_ANY_MEANS(ZB4_JeepDriver2, ZB4_PlayerCarTarget, 8.0, 8.0))
SET ZB4_Attack2 = 1
SET_CHAR_OBJECTIVE(ZB4_JeepDriver2, KILL_CHAR_ANY_MEANS, ZB4_PlayerCarTarget)
ENDIF
ENDIF
IF((ZB4_Attack3 = 0) AND (ZB4_Progress = 0))
IF(LOCATE_ANOTHER_CHARACTER_ANY_MEANS(ZB4_JeepDriver3, ZB4_PlayerCarTarget, 8.0, 8.0))
SET ZB4_Attack3 = 1
SET_CHAR_OBJECTIVE(ZB4_JeepDriver3, KILL_CHAR_ANY_MEANS, ZB4_PlayerCarTarget)
ENDIF
ENDIF
IF((ZB4_Attack4 = 0) AND (ZB4_Progress = 0))
IF(LOCATE_ANOTHER_CHARACTER_ANY_MEANS(ZB4_JeepDriver4, ZB4_PlayerCarTarget, 8.0, 8.0))
SET ZB4_Attack4 = 1
SET_CHAR_OBJECTIVE(ZB4_JeepDriver4, KILL_CHAR_ANY_MEANS, ZB4_PlayerCarTarget)
ENDIF
ENDIF
ENDIF

IF(ZB4_Progress = 0)
IF((IS_CAR_WRECKED(ZB4_Tank1)) AND (IS_CAR_WRECKED(ZB4_Tank2)))
IF((IS_CAR_WRECKED(ZB4_Tank3)) AND (IS_CAR_WRECKED(ZB4_Tank4)))
IF(IS_CAR_WRECKED(ZB4_Tank5))
SET ZB4_Progress = 1
DISPLAY_TIMER (ZB4_Visual, 150)//150 seconds - AKA 2.5 minutes.
SET ZB4_Timer = 4500
REMOVE_ARROW(ZB4_Arrow1)
REMOVE_ARROW(ZB4_Arrow2)
REMOVE_ARROW(ZB4_Arrow3)
REMOVE_ARROW(ZB4_Arrow4)
REMOVE_ARROW(ZB4_Arrow5)
IF(ZB4_RemoteControlling = 1)
IF(NOT(IS_CAR_WRECKED(ZB4_Jeep1)))
SET_CHAR_OBJECTIVE(ZB4_JeepDriver1, KILL_CHAR_ANY_MEANS, ZB4_PlayerCarTarget)
ENDIF
IF(NOT(IS_CAR_WRECKED(ZB4_Jeep2)))
SET_CHAR_OBJECTIVE(ZB4_JeepDriver2, KILL_CHAR_ANY_MEANS, ZB4_PlayerCarTarget)
ENDIF
IF(NOT(IS_CAR_WRECKED(ZB4_Jeep3)))
SET_CHAR_OBJECTIVE(ZB4_JeepDriver3, KILL_CHAR_ANY_MEANS, ZB4_PlayerCarTarget)
ENDIF
IF(NOT(IS_CAR_WRECKED(ZB4_Jeep4)))
SET_CHAR_OBJECTIVE(ZB4_JeepDriver4, KILL_CHAR_ANY_MEANS, ZB4_PlayerCarTarget)
ENDIF
ENDIF
//Create stuff for the next phase.
ZB4_Transport1 = CREATE_CAR (101.5, 84.5, 2.0) 2 180 BOXTRUCK END
ZB4_Transport2 = CREATE_CAR (222.5, 50.5, 2.0) 36 270 BANKVAN END
SET_CAR_ROCKETPROOF(ZB4_Transport1, ON)
SET_CAR_ROCKETPROOF(ZB4_Transport2, ON)
ZB4_FollowRC1 = CREATE_CAR (101.5, 86.5, 2.0) -1 180 GUNJEEP MINI_CAR END
ZB4_FollowRC2 = CREATE_CAR (224.5, 50.5, 2.0) -1 270 GUNJEEP MINI_CAR END
ZB4_FollowRC3 = CREATE_CAR (225.5, 50.5, 2.0) -1 270 GUNJEEP MINI_CAR END
ZB4_TransportDriver1 = CREATE_CHAR_INSIDE_CAR (ZB4_Transport1) 8 DRONE END
ZB4_TransportDriver2 = CREATE_CHAR_INSIDE_CAR (ZB4_Transport2) 8 DRONE END
ZB4_Driver1 = CREATE_CHAR_INSIDE_CAR (ZB4_FollowRC1) 4 PSYCHO END
ZB4_Driver2 = CREATE_CHAR_INSIDE_CAR (ZB4_FollowRC2) 4 PSYCHO END
ZB4_Driver3 = CREATE_CHAR_INSIDE_CAR (ZB4_FollowRC3) 4 PSYCHO END
SET_CHAR_TO_STAY_IN_CAR(ZB4_Driver1, ON)
SET_CHAR_TO_STAY_IN_CAR(ZB4_Driver2, ON)
SET_CHAR_TO_STAY_IN_CAR(ZB4_Driver3, ON)
SET_CHAR_TO_USE_CAR_WEAPON(ZB4_Driver1, ON)
SET_CHAR_TO_USE_CAR_WEAPON(ZB4_Driver2, ON)
SET_CHAR_TO_USE_CAR_WEAPON(ZB4_Driver3, ON)
SET_CHAR_DRIVE_AGGRESSION(ZB4_Driver1, ON)
SET_CHAR_DRIVE_AGGRESSION(ZB4_Driver2, ON)
SET_CHAR_DRIVE_AGGRESSION(ZB4_Driver3, ON)
SET_CHAR_TO_STAY_IN_CAR(ZB4_TransportDriver1, ON)
SET_CHAR_TO_STAY_IN_CAR(ZB4_TransportDriver2, ON)
CHANGE_CAR_LOCK(ZB4_Transport1, LOCKED)
CHANGE_CAR_LOCK(ZB4_Transport2, LOCKED)
SET_CHAR_MAX_DRIVESPEED(ZB4_TransportDriver1, 0.11)
SET_CHAR_MAX_DRIVESPEED(ZB4_TransportDriver2, 0.12)
MAKE_CAR_DRIVE_AWAY(ZB4_Transport1)
MAKE_CAR_DRIVE_AWAY(ZB4_Transport2)
SET_CHAR_OBJECTIVE(ZB4_Driver1, FOLLOW_CAR_IN_CAR, ZB4_Transport1)
SET_CHAR_OBJECTIVE(ZB4_Driver2, FOLLOW_CAR_IN_CAR, ZB4_Transport2)
SET_CHAR_OBJECTIVE(ZB4_Driver3, FOLLOW_CAR_IN_CAR, ZB4_FollowRC2)
POINT_ARROW_AT(ZB4_Arrow1, ZB4_FollowRC1)
POINT_ARROW_AT(ZB4_Arrow2, ZB4_FollowRC2)
POINT_ARROW_AT(ZB4_Arrow3, ZB4_FollowRC3)
SET_ARROW_COLOUR(ZB4_Arrow1, YELLOW)
SET_ARROW_COLOUR(ZB4_Arrow2, YELLOW)
SET_ARROW_COLOUR(ZB4_Arrow3, YELLOW)
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1271)//Now blow up the RC cars following the transports before they blow up the transports.
ENDIF
ENDIF
ENDIF
ENDIF

//The only RC car this phase to attack you when close enough.
IF(ZB4_RemoteControlling = 1)
IF((ZB4_Attack6 = 0) AND (ZB4_Progress = 1))
//IF(IS_ITEM_ACCURATELY_ONSCREEN(ZB4_FollowRC3))
IF(LOCATE_ANOTHER_CHARACTER_ANY_MEANS(ZB4_Driver3, ZB4_PlayerCarTarget, 6.0, 6.0))
SET ZB4_Attack6 = 1
SET_CHAR_OBJECTIVE(ZB4_Driver3, KILL_CHAR_ANY_MEANS, ZB4_PlayerCarTarget)
ENDIF
ENDIF
ENDIF

IF(ZB4_Progress = 1)
IF( (IS_CAR_WRECKED(ZB4_FollowRC1)) AND (IS_CAR_WRECKED(ZB4_FollowRC2)))
IF(IS_CAR_WRECKED(ZB4_FollowRC3))
SET ZB4_Progress = 2
CLEAR_TIMER(ZB4_Visual)
REMOVE_ARROW(ZB4_Arrow1)
REMOVE_ARROW(ZB4_Arrow2)
REMOVE_ARROW(ZB4_Arrow3)
//Create more stuff.
ZB4_Van = CREATE_CAR (141.5, 29.5, 1.0) 5 85 TVVAN END
SET_CAR_BULLETPROOF(ZB4_Van, ON)
SET_CAR_ROCKETPROOF(ZB4_Van, ON)
SET_CAR_FLAMEPROOF(ZB4_Van, ON)//AKA pretty much invincible to anything but Carbombs.
CHANGE_CAR_LOCK(ZB4_Van, LOCKOUT_PLAYER)
ZB4_CarBomb = CREATE_OBJ (145.5, 45.5, 2.0) 0 COLLECT_15 END
ZB4_GuardRC1 = CREATE_CAR (145.5, 32.1, 2.0) -1 60 GUNJEEP MINI_CAR END
ZB4_GuardRC2 = CREATE_CAR (147.1, 28.4, 2.0) -1 110 GUNJEEP MINI_CAR END
ZB4_GuardRC3 = CREATE_CAR (136.0, 31.2, 2.0) -1 355 GUNJEEP MINI_CAR END
ZB4_GuardRC4 = CREATE_CAR (140.5, 32.2, 2.0) -1 15 GUNJEEP MINI_CAR END
ZB4_Guard1 = CREATE_CHAR_INSIDE_CAR (ZB4_GuardRC1) 4 TANK_DRIVER END
ZB4_Guard2 = CREATE_CHAR_INSIDE_CAR (ZB4_GuardRC2) 4 TANK_DRIVER END
ZB4_Guard3 = CREATE_CHAR_INSIDE_CAR (ZB4_GuardRC3) 4 TANK_DRIVER END
ZB4_Guard4 = CREATE_CHAR_INSIDE_CAR (ZB4_GuardRC4) 4 TANK_DRIVER END
SET_CHAR_TO_STAY_IN_CAR(ZB4_Guard1, ON)
SET_CHAR_TO_STAY_IN_CAR(ZB4_Guard2, ON)
SET_CHAR_TO_STAY_IN_CAR(ZB4_Guard3, ON)
SET_CHAR_TO_STAY_IN_CAR(ZB4_Guard4, ON)
SET_CHAR_TO_USE_CAR_WEAPON(ZB4_Guard1, ON)
SET_CHAR_TO_USE_CAR_WEAPON(ZB4_Guard2, ON)
SET_CHAR_TO_USE_CAR_WEAPON(ZB4_Guard3, ON)
SET_CHAR_TO_USE_CAR_WEAPON(ZB4_Guard4, ON)
SET_CHAR_OBJECTIVE(ZB4_Guard1, WAIT_IN_CAR)
SET_CHAR_OBJECTIVE(ZB4_Guard2, WAIT_IN_CAR)
SET_CHAR_OBJECTIVE(ZB4_Guard3, WAIT_IN_CAR)
SET_CHAR_OBJECTIVE(ZB4_Guard4, WAIT_IN_CAR)
STOP_CHAR_DRIVING(ZB4_Guard1)
STOP_CHAR_DRIVING(ZB4_Guard2)
STOP_CHAR_DRIVING(ZB4_Guard3)
STOP_CHAR_DRIVING(ZB4_Guard4)
/*SET_CHAR_OBJECTIVE(ZB4_Guard1, FIRE_AT_OBJECT_FROM_VEHICLE, Player1)
SET_CHAR_OBJECTIVE(ZB4_Guard2, FIRE_AT_OBJECT_FROM_VEHICLE, Player1)
SET_CHAR_OBJECTIVE(ZB4_Guard3, FIRE_AT_OBJECT_FROM_VEHICLE, Player1)
SET_CHAR_OBJECTIVE(ZB4_Guard4, FIRE_AT_OBJECT_FROM_VEHICLE, Player1)*/
POINT_ARROW_AT(ZB4_Arrow1, ZB4_Van)
POINT_ARROW_AT(ZB4_Arrow2, ZB4_GuardRC1)
POINT_ARROW_AT(ZB4_Arrow3, ZB4_GuardRC2)
POINT_ARROW_AT(ZB4_Arrow4, ZB4_GuardRC3)
POINT_ARROW_AT(ZB4_Arrow5, ZB4_GuardRC4)
POINT_ARROW_AT(ZB4_Arrow6, 145.5, 45.5, 2.0)
SET_ARROW_COLOUR(ZB4_Arrow1, GREEN)
SET_ARROW_COLOUR(ZB4_Arrow2, YELLOW)
SET_ARROW_COLOUR(ZB4_Arrow3, YELLOW)
SET_ARROW_COLOUR(ZB4_Arrow4, YELLOW)
SET_ARROW_COLOUR(ZB4_Arrow5, YELLOW)
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1272)//Blow up the Van! Carefull about those guards.
ENDIF
ENDIF
ENDIF

IF((ZB4_BombTaken = 0) AND (ZB4_Progress = 2))
IF(LOCATE_CHARACTER_ANY_MEANS(ZB4_PlayerCarTarget, 145.5, 45.5, 2.0, 1.0, 1.0))
SET ZB4_BombTaken = 1
REMOVE_ARROW(ZB4_Arrow6)
ENDIF
ENDIF

//Trigger RC cars to retaliate under these circumstances.
IF(ZB4_RemoteControlling = 1)
IF((ZB4_Progress = 2) AND (ZB4_AttackFinal = 0))
IF((CHECK_CAR_DAMAGE_LEVEL(ZB4_GuardRC1, 15)) OR (LOCATE_ANOTHER_CHARACTER_ANY_MEANS(ZB4_PlayerCarTarget, ZB4_Guard1, 8.0, 8.0)))
SET ZB4_AttackFinal = 1
ENDIF
IF((CHECK_CAR_DAMAGE_LEVEL(ZB4_GuardRC2, 15)) OR (LOCATE_ANOTHER_CHARACTER_ANY_MEANS(ZB4_PlayerCarTarget, ZB4_Guard2, 8.0, 8.0)))
SET ZB4_AttackFinal = 1
ENDIF
IF((CHECK_CAR_DAMAGE_LEVEL(ZB4_GuardRC3, 15)) OR (LOCATE_ANOTHER_CHARACTER_ANY_MEANS(ZB4_PlayerCarTarget, ZB4_Guard3, 8.0, 8.0)))
SET ZB4_AttackFinal = 1
ENDIF
IF((CHECK_CAR_DAMAGE_LEVEL(ZB4_GuardRC4, 15)) OR (LOCATE_ANOTHER_CHARACTER_ANY_MEANS(ZB4_PlayerCarTarget, ZB4_Guard4, 8.0, 8.0)))
SET ZB4_AttackFinal = 1
ENDIF
ENDIF
ENDIF
//-------------
IF(ZB4_RemoteControlling = 1)
IF((ZB4_Progress = 2) AND (ZB4_AttackFinal = 1))
SET ZB4_AttackFinal = 2
DO_NOWT
IF(NOT(IS_CAR_WRECKED(ZB4_GuardRC1)))
SET_CHAR_OBJECTIVE(ZB4_Guard1, KILL_CHAR_ANY_MEANS, ZB4_PlayerCarTarget)
SET_ARROW_COLOUR(ZB4_Arrow2, RED)
ENDIF
IF(NOT(IS_CAR_WRECKED(ZB4_GuardRC2)))
SET_CHAR_OBJECTIVE(ZB4_Guard2, KILL_CHAR_ANY_MEANS, ZB4_PlayerCarTarget)
SET_ARROW_COLOUR(ZB4_Arrow3, RED)
ENDIF
IF(NOT(IS_CAR_WRECKED(ZB4_GuardRC3)))
SET_CHAR_OBJECTIVE(ZB4_Guard3, KILL_CHAR_ANY_MEANS, ZB4_PlayerCarTarget)
SET_ARROW_COLOUR(ZB4_Arrow4, RED)
ENDIF
IF(NOT(IS_CAR_WRECKED(ZB4_GuardRC4)))
SET_CHAR_OBJECTIVE(ZB4_Guard4, KILL_CHAR_ANY_MEANS, ZB4_PlayerCarTarget)
SET_ARROW_COLOUR(ZB4_Arrow5, RED)
ENDIF
ENDIF
ENDIF

IF((ZB4_Progress = 2) AND (ZB4_Exit = 0))
IF(IS_CAR_WRECKED(ZB4_Van))
SET ZB4_Passed = 1
CLEAR_WANTED_LEVEL(Player1)
ADD_SCORE(Player1, 13000)
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1273)//You won!
DISPLAY_MESSAGE(1124)//JOB COMPLETE!
//EXPLODE_LARGE (ZB4_PlayerCar)
REMOVE_ARROW(ZB4_Arrow1)
REMOVE_ARROW(ZB4_Arrow2)
REMOVE_ARROW(ZB4_Arrow3)
REMOVE_ARROW(ZB4_Arrow4)
REMOVE_ARROW(ZB4_Arrow5)
IF(ZB4_BombTaken = 0)
REMOVE_ARROW(ZB4_Arrow6)
ENDIF
IF(NOT(IS_CAR_WRECKED(ZB4_PlayerCar)))
//GIVE_WEAPON(ZB4_PlayerCar, CAR_BOMB)
EXPLODE_LARGE(ZB4_PlayerCar)
ENDIF
//RETURN
SET ZB4_Exit = 1
IF(ZB4_RemoteControlling = 1)
SET ZB4_ExitTimer = 120//4 Seconds.
ENDIF
ENDIF
ENDIF

IF(ZB4_BombWait = 0)//Enable the Carbomb-checking delay.
IF(IS_CARBOMB_ACTIVE(ZB4_PlayerCar))
SET ZB4_BombWait = 1
SET ZB4_BombTimer = 210 //Roughly 7 seconds.
ENDIF
ENDIF

//Special mission exit. - I guess the RC Car Controlling is being buggy somehow...
IF((ZB4_Exit = 1) AND (ZB4_ExitTimer = 0))
DELETE_ITEM(ZB4_PlayerCar)
DO_NOWT
IF(ZB4_RemoteControlling = 1)
DELETE_ITEM(ZB4_PlayerCarTarget)
ENDIF
DO_NOWT
RETURN
ENDIF

IF(Global_OnMission = 0)
DO_NOWT//Failsafe against getting stuck in a mission loop.
RETURN
ENDIF

//Fail States!

IF(ZB4_Exit = 0)
IF(ZB4_BombTimer = 0)//Only trigger if no Carbombs have been recently used.
IF(IS_CAR_WRECKED(ZB4_PlayerCar))
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1274)//You need that RC car!
DISPLAY_MESSAGE(1125)//JOB FAILED!
SET ZB4_Failed = 1
//RETURN
SET ZB4_Exit = 1
SET ZB4_ExitTimer = 45//1.5 Seconds.
ENDIF
ENDIF
ENDIF

IF(ZB4_Exit = 0)
IF(CHECK_OBJ_MODEL(ZB4_Generator, POWERGEN_DEAD))
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1275)//You've let them blow up the generator!
DISPLAY_MESSAGE(1125)//JOB FAILED!
SET ZB4_Failed = 1
IF(NOT(IS_CAR_WRECKED(ZB4_PlayerCar)))
EXPLODE_LARGE(ZB4_PlayerCar)//ZB4_PlayerCarTarget
//GIVE_WEAPON(ZB4_PlayerCar, CAR_BOMB)
ENDIF
//RETURN
SET ZB4_Exit = 1
IF(ZB4_RemoteControlling = 1)
SET ZB4_ExitTimer = 210//7 Seconds.
ENDIF
ENDIF
ENDIF

IF((ZB4_Progress = 1) AND (ZB4_Exit = 0))
IF((IS_CAR_WRECKED(ZB4_Transport1)) OR (IS_CAR_WRECKED(ZB4_Transport2)))
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1276)//You've let them blow up the transport!
DISPLAY_MESSAGE(1125)//JOB FAILED!
SET ZB4_Failed = 1
IF(NOT(IS_CAR_WRECKED(ZB4_PlayerCar)))
EXPLODE_LARGE(ZB4_PlayerCar)
//GIVE_WEAPON(ZB4_PlayerCar, CAR_BOMB)
ENDIF
//RETURN
SET ZB4_Exit = 1
IF(ZB4_RemoteControlling = 1)
SET ZB4_ExitTimer = 210//7 Seconds.
ENDIF
ENDIF
ENDIF

IF(ZB4_Exit = 0)
IF(HAS_CHAR_BEEN_ARRESTED(Player1))
DISPLAY_MESSAGE (1125)//JOB FAILED!
SET ZB4_Failed = 1
IF(NOT(IS_CAR_WRECKED(ZB4_PlayerCar)))
EXPLODE_LARGE(ZB4_PlayerCar)
//GIVE_WEAPON(ZB4_PlayerCar, CAR_BOMB)
ENDIF
//RETURN
SET ZB4_Exit = 1
IF(ZB4_RemoteControlling = 1)
SET ZB4_ExitTimer = 210//7 Seconds.
ENDIF
ENDIF
ENDIF

IF(ZB4_Exit = 0)
IF(HAS_CHARACTER_DIED(Player1))
DISPLAY_MESSAGE (1125)//JOB FAILED!
SET ZB4_Failed = 1
IF(NOT(IS_CAR_WRECKED(ZB4_PlayerCar)))
EXPLODE_LARGE(ZB4_PlayerCar)
//GIVE_WEAPON(ZB4_PlayerCar, CAR_BOMB)
ENDIF
//RETURN
SET ZB4_Exit = 1
IF(ZB4_RemoteControlling = 1)
SET ZB4_ExitTimer = 210//7 Seconds.
ENDIF
ENDIF
ENDIF

ENDWHILE

RETURN

//-----------------------------------CLEAN UP--------------------------------------

ZB4_Cleanup:

IF(ZB4_Passed = 1)
IF(Mission_ZB4Status = 0)
++Global_MissionsPassed
ENDIF
SET Mission_ZB4Status = 1//Important for repeatable missions.
ENABLE_THREAD_TRIGGER(ZB4SubThread)
SET Global_OnMission = 0
SET MissionLoop = 0
ANSWER_PHONE (Player1, Global_ZaibatsuPhone4, -1)
ENDIF

IF(ZB4_Failed = 1)
ENABLE_THREAD_TRIGGER(ZB4SubThread)
SET Global_OnMission = 0
SET MissionLoop = 0
ANSWER_PHONE (Player1, Global_ZaibatsuPhone4, -1)
ENDIF

SET Global_OnMission = 0
SET Global_MissionFinished = 1
SET MissionLoop = 0
SET ZB4_Passed = 0
SET ZB4_Failed = 0
IF(ZB4_Progress = 1)//Clear timer if its still going.
IF(NOT(ZB4_Timer = 0))
CLEAR_TIMER(ZB4_Visual)
ENDIF
ENDIF
REMOVE_ARROW(ZB4_Arrow1)
REMOVE_ARROW(ZB4_Arrow2)
REMOVE_ARROW(ZB4_Arrow3)
REMOVE_ARROW(ZB4_Arrow4)
REMOVE_ARROW(ZB4_Arrow5)
REMOVE_ARROW(ZB4_Arrow6)
IF((ZB4_Progress = 2) AND (ZB4_BombTaken = 0))
DELETE_ITEM(ZB4_CarBomb)
ENDIF
IF(ZB4_RemoteControlling = 0)//Only delete it if it hasnt been taken yet.
DELETE_ITEM(ZB4_RCToken)
ENDIF
SET ZB4_Attack1 = 0
SET ZB4_Attack2 = 0
SET ZB4_Attack3 = 0
SET ZB4_Attack4 = 0
SET ZB4_Attack5 = 0
SET ZB4_Attack6 = 0
SET ZB4_TankAttack1 = 0
SET ZB4_TankAttack2 = 0
SET ZB4_TankAttack3 = 0
SET ZB4_TankAttack4 = 0
SET ZB4_TankAttack5 = 0
SET ZB4_AttackFinal = 0
SET ZB4_Timer = 0
SET ZB4_BombReady = 0
SET ZB4_Exploded1 = 0
SET ZB4_Exploded2 = 0
SET ZB4_Exploded3 = 0
SET ZB4_Progress = 0
SET ZB4_RemoteControlling = 0
SET ZB4_BombTaken = 0
SET ZB4_BombTimer = 0
SET ZB4_BombWait = 0
SET ZB4_Exit = 0
SET ZB4_ExitTimer = 0
EXPLODE_SMALL(Player1)//Testing only!

MISSION_HAS_FINISHED()

RETURN

MISSIONSTART

GOSUB ZB4_Main:
GOSUB ZB4_Cleanup:

MISSIONEND[/mis]
User avatar
Pyro
Immortal
Posts: 414
Joined: 17 Mar 2010, 04:07
GH nick: Pyro
Location: Wales, UK

Re: [WIP] Large Singleplayer Project

Post by Pyro »

Tried your map out today in single player for a bit, nice work so far on it!

A few of my notes:
  1. Fell through floor at 167,197
  2. Floating ladder top texture at 24,18
  3. A lot of side textures showing through 45 degree sloped walls
  4. Wall textures showing in some train tunnels (such as starting area)
  5. Exited train at the blocked mall and somehow jumped inside one of the pillars at 55,167!
  6. Not enough traffic lights at some junctions
  7. Too many fences in places!
  8. Setting lighting to 'Dusk' makes some places very dark! Recommend using the code "SET_AMBIENT_LEVEL (0.3,0)" and "SET_SHADING_LEVEL (27)" to make it a little brighter but still noticeable with lights. Play with the settings and see what you think!
  9. Could do with a few more sounds but this is minor and will come over time no doubt.
  10. Cool sign boards. As an idea that I used in the Jailbreak map, I played a sound under every sign to make it sound like a neon sign. I used the "PYLON" sound for it but is rather quiet unless you go right up to it.
  11. Love the 'Pill Factory'! I played around with making a 'Car Factory' before using a similar method but instead of using generators (which don't work if you set the item to a vehicle unfortunately) was just a simple check to see if the car had been destroyed then make it respawn at the conveyor.
  12. Interesting zone names; "Sektor 9", "Pete's Cuban Store" and "Millard Mall" :P If you ever need a name for a club, feel free to use "Club Pyroteknics" with a few molotov cocktails outside ;-)
  13. Speaking of zones, maybe it is worth placing a single navigation zone as "cityinfo" so you can control car and ped densities from it and then make the other zone names as local navigation zones? Of course, if you don't fill the entire map up with the local navigation zones you'll end up seeing "cityinfo" as a zone name in-game!
  14. This is just me being picky, but, I'm not a fan of the road markings being so bunched up. You are using tile 820 for most of your roads but I recommend tile 824 for it and ideal for 2+ wide lanes for each direction. Tile 820 (white lines) and 674 (yellow lines) are better on single lane roads for each direction but with a gap between the lines. Just look at ste.gmp to see what I mean!
  15. Maybe add a few more "SLOW" tiles on roads and road arrow tiles (#830 for example)?
CarThief
Hitman
Hitman
Posts: 108
Joined: 19 May 2012, 18:12
GH nick: CarThief
Location: Holland, AKA The Netherlands

Re: [WIP] Large Singleplayer Project

Post by CarThief »

1. Fixed that for later version. Pretty sneaky little error.
2. Fixed that too.
3. Not sure if i can do much about those.
4. I dont think that problem can be fixed, compared to number 3.
5. Yeah thats 4 Tower objects in a square pattern to simulate a pillar, cant help that.
6. To be honest i'm trying to hold off on adding stoplights to any junction with 3 or less roads, almost purely using them for junctions with 4 sides to them, the 3-road junctions get handled by those lines which tell traffic to wait untill its clear.
7. Hm... I dont think thats a problem as long as it doesnt get in the way from getting around by car on roads.
8. Wouldnt that force everyone to use night mode? The way i deal with this is running GTA2 fullscreen with a hightened gamma, in this case 25. But i wouldnt force night or day mode on anyone.
9. Yeah more sounds are planned for when the map and missions are pretty much set and done.
10. I could try and see if the pylon sounds suit the billboards.
11. How it works is that its actually a big circle of conveyors! Nothing gets deleted and respawned, it all just circles around. Was quite annoying to get right. :P
12. Yeah that could work if i need to destroy and remake an old shoddy looking block into something new and better looking, as happens occasionally.
13. I should probaly get around to this at some point, but i'll probaly make it an information zone, i believe ped/car ratios work with those too. Just to make sure they dont overlap with mission-controlled or special zones, like the prison or army base.
14. Perhaps but that's gonna be alot of work in the end, there's tons of road, after all. :P
15. I guess that also works as a future random detail if i ever get to doing number 14.

Hm... Do hope multiple information zones will work as intended. Still no luck on that RC mission though.
User avatar
Gustavob
Immortal
Posts: 407
Joined: 18 May 2009, 21:40
GH nick: Gustavob
|Gustavob|
Location: Nowhere.
Contact:

Re: [WIP] Large Singleplayer Project

Post by Gustavob »

CarThief wrote: 8. Wouldnt that force everyone to use night mode? The way i deal with this is running GTA2 fullscreen with a hightened gamma, in this case 25. But i wouldnt force night or day mode on anyone.
It doesn't force anyone to use dusk mode, it just changes the overall brightness of the lights when already using it.
You just lost the game.
CarThief
Hitman
Hitman
Posts: 108
Joined: 19 May 2012, 18:12
GH nick: CarThief
Location: Holland, AKA The Netherlands

Re: [WIP] Large Singleplayer Project

Post by CarThief »

Well thats handy to know, added that as well. I suppose the below values should be bright enough to see into the shadows but still keep it dark at unlit places.
[mis]SET_AMBIENT_LEVEL (0.3, 0)
SET_SHADING_LEVEL (23)[/mis]

Does bring a small idea to mind, having the ambient level at 0.0 would mean everything unlit is as dark as the void, and just about anything could be hidden in that darkness, perhaps occasionally revealed in flashing lights, or perhaps someone could make a funky/weird/horror map with such elements. With teleporting the player, changing tiles, spawning and deleting just about anything, one could make quite the mindfuck of a map.

Or some kind of deathmatch... But in the dark! (And i'd imagine making royal use of the Tiny Town No Arrow .sty file would be easy enough from here too.)

Edit: Well did manage to create a drive-in cinema of sorts, worked out pretty nicely so far i guess. Might as well test and see if uploading images here works as intended too. Also wondering how many extra items i can get away with adding, there´s already possibily 200-250 objects in the main script alone, and then there's all the stuff from mission files, too!
Attachments
gta2items1.png
gta2items1.png (45.05 KiB) Viewed 32824 times
gta2wsdcinema.png
gta2wsdcinema.png (359.23 KiB) Viewed 32824 times
BenMillard
Immortal
Posts: 889
Joined: 16 May 2009, 06:14
GH nick: BenMillard
Location: London, UK
Contact:

Re: [WIP] Large Singleplayer Project

Post by BenMillard »

The feet below the screen are a fantastic detail!

The cars should be parking on dirt with worn patches though, not a paved area.

The trees are another great touch; ste.sty has good shadow variants to keep them compact but still properly edged.
CarThief
Hitman
Hitman
Posts: 108
Joined: 19 May 2012, 18:12
GH nick: CarThief
Location: Holland, AKA The Netherlands

Re: [WIP] Large Singleplayer Project

Post by CarThief »

Yeah kinda silly to have a large screen without some support poles beneath it, and another thing at its back to keep it in place, though that isnt shown too properly in that image. You can also get beneath the screen past the platform that surrounds it through holes on both sides, thinking of putting a powerup or weapon there perhaps.
Think i'll stick with roads though, technically both road and grass/dirt would work, but the road keeps things varied and colored nice and different.

I cant quite seem to work up the inspiration and energy/willpower to build another mission though. The start's always the hardest part... There's just not that many good ideas to push forward, though atleast its easy to build on and finish existing plans/missions (if no unremovable bugs/crashes appear :P).

Still no luck with that RC mission though. If the crash was from invalid code or calling wrong/nonexistant objects i would have found it by now, these kind of crashes are very consistent and logical. But the crashing problem experienced instead is somewhat inconsistent and most likely a mission-related bug of the GTA2 engine itself regarding the use of remote control.
Galactic Boy
Immortal
Posts: 334
Joined: 15 Apr 2012, 08:26

Re: [WIP] Large Singleplayer Project

Post by Galactic Boy »

When will you update this map on the site?
CarThief
Hitman
Hitman
Posts: 108
Joined: 19 May 2012, 18:12
GH nick: CarThief
Location: Holland, AKA The Netherlands

Re: [WIP] Large Singleplayer Project

Post by CarThief »

It will probaly take a long while before i release the map or even an demo of it, things are still quite incomplete on the scripting side, plenty of bugs and whatnot still need fixing. Hell, some of the missions arent even balanced properly yet, so yeah... It might take a fairly long while before i end up putting up a beta or an release.

Fortunately the map file itself is nearing completion, minus changes that need to occur because of new missions, so atleast that's covered. Just to find some inspiration and interesting gameplay mechanics or combat situations to put into the missions. :P
User avatar
Cuban-Pete
Immortal
Posts: 909
Joined: 29 Jan 2010, 15:03
GH nick: Cuban-Pete

Re: [WIP] Large Singleplayer Project

Post by Cuban-Pete »

What is actually the title of your "expansion pack"?

I made one up for the fun:

GTA2 Mission(ary) 30. Althought the 30 is not very clear... it looks a bit like 38. The idea was that it are 30 missions and you are trying to bring our GTA2 religion to the masses, lol.
text3032.png
text3032.png (8.06 KiB) Viewed 32771 times
It scks, I'll make ya a better one if you give some instructions.
"Mmmm, your eyes are so beautiful."
CarThief
Hitman
Hitman
Posts: 108
Joined: 19 May 2012, 18:12
GH nick: CarThief
Location: Holland, AKA The Netherlands

Re: [WIP] Large Singleplayer Project

Post by CarThief »

Hm, didnt really think too much of what to call it yet. Though i'm not that good with naming things, at all. :P
Perhaps its better suited to think of a name once its (near) complete or in beta, though it sure as hell doesnt seem to be very newbie-friendly for most part, minus the cheaper saving and such technical things. So who knows if it'll be that accesible to the masses.

Do wonder what i'll end up naming the script files as once its all done. Perhaps to use a 3-letter shortcut/abbrivation of the chosen name, or perhaps some kind of naming system like the Rockstar guys did, whatever that was, in case the previous method is unreliable in some way, like having numbers in the main script filename.

And i suppose 30 missions is the minimum. I would have preferred to have 40 missions (if the engine even allows for that many declarations and missions!), but after seeing how hard it is to even reach 30... :P
Hm, well i suppose it doesnt say more cant always be added later when its done, if anything.

Edit: Kinda reminds me, wonder if its possible to tell GTA2 to start up with a specific gmp, scr, sty, gxt(optional) and save file, in singleplayer mode?
Right now i'm using the Powermanager to run the files + savegame slot, so perhaps there's possible commands for that that could be put in a tidy little bat or exe file? Would also be an tremendously helpful method of starting up this map in singleplayer for when its released.
BenMillard
Immortal
Posts: 889
Joined: 16 May 2009, 06:14
GH nick: BenMillard
Location: London, UK
Contact:

Re: [WIP] Large Singleplayer Project

Post by BenMillard »

  1. Start Game Hunter.
  2. Click Create Game button.
  3. Select your map from the Maps list. (You need to make a .mmp of course.)
  4. Click the Create Game button.
  5. Network GTA2 window appears and you are hosting a game.
  6. Click the Start button before anybody joins.
After you did your test, make any changes. To start the next test, here's a shortcut:
  1. Return to Game Hunter.
  2. Type /c in the chat box.
  3. Wait for Network GTA2 window.
  4. Click Start button.
CarThief
Hitman
Hitman
Posts: 108
Joined: 19 May 2012, 18:12
GH nick: CarThief
Location: Holland, AKA The Netherlands

Re: [WIP] Large Singleplayer Project

Post by CarThief »

Well i am aware of that function but its not quite what i'm looking for. And its supposed to be for singleplayer too, so saving would most likely be out of the question with that method.
Was looking for an quicker one (double) click method instead of loading it, as was also discussed here. And yeah i'm also aware of the play alone button but i dont even know if that'll work as well as what i've planned so far, as is explained more in that topic.

Does make me wonder how save commands are handled in multiplayer games, or 1-player games with a multiplayer setup (aka being able to chat, no cheats, etc).
User avatar
elypter
Immortal
Posts: 1120
Joined: 26 Dec 2009, 23:53
GH nick: elypter

Re: [WIP] Large Singleplayer Project

Post by elypter »

i have a seperate minimal gta2 for every map i make. i put a link to the exe in the data folder and add -c to the command line. and becasue its the only map in this gta folder you wont have to select it. all you need to test the map is then a doubleclick and pressing space once
yur sa'nok ngeyä
Post Reply