MultiSlayer 6 (Arenas & Team Games)

Post GTA1/GTA2 maps here (finished and work in progress).
BenMillard
Immortal
Posts: 889
Joined: 16 May 2009, 06:14
GH nick: BenMillard
Location: London, UK
Contact:

MultiSlayer 6 (Arenas & Team Games)

Post by BenMillard »

Download it from here: GTA2 MultiSlayer 6 map pack.

Image

Please report bugs by putting them in this topic, or telling BenMillard in Game Hunter.

New Stuff
Same arenas and gameplay as before, with these technical changes:
  • Double-click the ms-installer.bat to remove old MultiSlayer files.
  • One MMP per level, so you never have to select the number of players.
  • All files are renamed to be ms-*.
There's a new "Cops & Robbers" mode for the city, detailed below.

Cops & Robbers
Only the host is a criminal and wanted level works normally, up to National Guard (6 heads). All joining players are police and never get wanted level.

Image Image

The host is the criminal and has a couple of missions, in this test version. Set to a Points Game with a Time Lmit so you can "win" or "lose".

Other Crime Ideas
Stealing other vehicles could make different objectives, if testing goes well. You can refer to them by number:
  1. Done: Deliver law enforcement cars to the cranes.
    1. Criminal wins each time they steal a Cop Car, Special Agent Car or Army Jeep and deliver it to either of two cranes.
    2. Police win if the criminal's car gets destroyed or criminal gets killed before the delivery is finished.
  2. Done: Any tank becomes a KILL FRENZY.
    1. Criminal wins if they make kill 3 players.
    2. Police win if criminal gets FRENZY FAILED!
    3. Criminal can switch to a different Tank.
  3. Use a Vehicle Bomb to destroy a building.
    1. Triggered by fitting any vehicle with a bomb when the Criminal is not on a mission.
    2. Criminal wins if the bomb detonates in the target area.
    3. Police win if car is destroyed outside of the target area, or if the Criminal dies beforehand.
    4. Police can 'disarm' the bomb by stealing the vehicle?
  4. Police Escort: A strong AI-driven limo drives to a garage.
    1. Criminal wins by destroying the vehicle before it reaches the garage.
    2. Police win if vehicle reaches the garage.
  5. G4 Bank Van starts a Bank Robbery mission:
    1. Criminal wins by delivering it to gang garage.
    2. Police win by taking it to police garage.
    3. Both lose if it gets destroyed.
  6. Stealing a fast car gives a (randomly chosen) INSANE STUNT BONUS challenge.
    1. Criminal wins by completing the jump.
    2. Police win by arresting or killing the criminal.
  7. VIP: Police must stop the criminal from assassinating a Very Important Person. Maybe at a press conference or in the Graveyard.
    1. Criminal wins by killing VIP.
    2. Police win by keeping VIP alive for a length of time.
    Phase 2: Armed Convoy. Police take VIP back to a house, as a passenger.
    1. Criminal wins if VIP gets killed.
    2. Police win if VIP reaches the house and enters it, alive.
    3. Horn could be used to make VIP get in or out.
    4. Maybe requires using a SWAT Van, Special Agent Car or Pacifier as Cop Car is so fast?
  8. Drug Deal: Criminal must help his gang at a drug deal in a defended gang area, which takes a set amount of time.
    1. Criminal wins if any of his gang stay alive.
    2. Police win if the entire gang gets killed or "arrested". (Criminal player doesn't matter.)
    Phase 2: Capture the Briefcase. Once the timer has finished (or the whole gang is dead), a briefcase appears where the deal took place.
    1. Criminal wins by stealing the briefcase and delivering it to a safehouse.
    2. Police win by stealing briefcase and delivering it to Police Station.
    3. If the player who has the case gets killed, Phase 2 starts again with the briefcase back where it was.
  9. Comrade: Criminal must collect a sequence of Russian Mafia friends and deliver them to a safehouse.
    1. Criminal wins of all friends are collected and delivered safely.
    2. Police win if the player or any criminals get killed.
    3. Criminal may use any vehicle, if it has enough seats.
    4. If the criminal gets out of the car, the friends do as well. This lets them transfer to other vehicles.
    5. The friends will use powerful weapons against players while they are not in a vehicle.
Messages to explain missions will be very short to keep them out the way. So probably need a custom e.gxt file.

Feel free to suggest ideas for other modes. Helping with code is also welcome, especially when it comes to bugs with mission cleanup or scenarios which either crash or just don't work well.
Last edited by BenMillard on 03 Jan 2012, 14:30, edited 10 times in total.
BenMillard
Immortal
Posts: 889
Joined: 16 May 2009, 06:14
GH nick: BenMillard
Location: London, UK
Contact:

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by BenMillard »

I've changed the code so it ignores the "correct" way to code this type of mission. Now does it with down-and-dirty IS_CAR_IN_BLOCK checks and one COUNTER.

The CLEAR_WANTED_LEVEL loop for all the police players is now in its own thread and using WHILE_EXEC. This runs so fast I never saw the animated heads. However, when I use Flamethrower continuously in one spot, cops would walk over and hit me gently until I was BUSTED. Sometimes they jogged.

It does let police players commandeer police vehicles with minimal resistance, which is nice. Just gotta tug the door a 2nd time at the right moment. :)

Current Coding Tasks
  • Change police players to use the GTA2 SWAT remap. (Discovered by Pyro.)
  • Give players unlimited machine gun or some other weapon?
  • Let any tank become a KILL FRENZY. (Not natively supported, or a typo in the p1tank code I tried?)
  • Police players don't see Kill Frenzy BONUS count changing with the Robber's actions. So they never see Frenzy Passed! (This means I must make my own frenzy system...or Vike fixes GTA2?)
  • Make the Tank Kill Frenzy immediately give you wanted level 4 or even higher? (Unless you already have a higher wanted level.)
  • Better code re-use with GOSUB for anything which would otherwise need large code duplication.
Current Testing Tasks
  • Gameplay balance with more than 2 players in a game.
Spin-Off Tutorials
  • Strip out e.gxt to the bare minimum.
  • Publish this in a new Messages Tutorial, along with the list of message IDs which are linked to announcer sounds.
  • Create an ms.gxt for short mission explanations, updating ms.mmp to use it via the new GCIfile setting.
Recently Completed Coding Tasks
  • Done: Criminal gets JOB FAILED after getting killed or arrested while on a mission.
  • Done: Police get rewarded when criminal gets Job Failed.
  • Done: Police have the "death punch" from Pyro's zombie level, so they can "arrest" the criminal.
  • Done: Criminal can abandon their current vehicle and get another one. But if the vehicle gets destroyed before they get a new one, they get JOB FAILED.
  • Done: Transplant the first Tank Kill Frenzy from bil.mis and make it pass, fail and score correctly.
  • Done: Add basic integration with my custom Mission Triggers system.
  • Done Tank Kill Frenzy is now this: "Use the Tank to kill 100 Cops [...] in 5 minutes!"
  • Done: Police death/arrest punch tested and works fine.
  • Done: Elypter Host as the criminal and I joined as police.
Groundbreaking?
Early days and probably another couple of months before this is really playable.

These "ambient missions" are reminiscent of Uphold the Law, 2nd chapter and Pacific City. First saw this in Spam City (screenshot) by SonuvBob. The 3D GTA games have stuff like this. Indeed, the missions from GTA1 demos could be good also be good candidates.

Still, pretty sure this is the first time so many elements have been brought together - especially for a multiplayer level! Ambient missions, playing as cops, team play, host versus joiners... Always something new in GTA2 modding. That's what keeps me excited about it.
Last edited by BenMillard on 17 Jan 2011, 01:13, edited 1 time in total.
User avatar
Pyro
Immortal
Posts: 414
Joined: 17 Mar 2010, 04:07
GH nick: Pyro
Location: Wales, UK

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by Pyro »

I'll give this a go when I can and report back, sounds interesting. Still can't get multiplayer working so it'll have to be single player testing for now. :evil:

Suggestions
  1. Give a bigger score depending on which law enforcement vehicle stolen. $10k for cop car, $25k for FBI car and $50k for an army jeep (either type) as an example. Makes sense if I stole a jeep and dodged rocket fire from tanks, machine gun rounds and the likes and got nice payment for it :)
  2. Maybe have a bomb-disposal type game? To start, a few locations has bomb briefcases so they can't be camped (much). Next, a few locations are chosen to plant the bomb (such as a hotel, police/fire station etc). Finally, the cop(s) have X amount of time to "defuse" the bomb while the bad guys defend it, perhaps 30, 45 or 60 seconds.
Other
  1. I don't think the Insane Stunt one will be that interesting. Not sure if it's possible to detect if a person is doing one, but I have an idea of how it could be coded. Check if player is in the air (not sure if this is on foot only or not) and at a certain speed?
  2. The capture the vehicle type stuff is pretty classic and fun. If you like, you can review my code from CTV Bootcamp and use it in this. Has fully working car detection, garage doors (with accurate locations for opening it when driving up to it) and park system with scoring. Like you suggested for Armed Convoy, a slower car would make it easier to be able to try destroy it, so a SWAT Van or Pacifier would be great.
More coming soon...
Last edited by Pyro on 15 Jan 2011, 06:21, edited 1 time in total.
User avatar
Sektor
Boss
Boss
Posts: 1423
Joined: 04 Mar 2008, 06:51
GH nick: Sektor
Location: GTAMP.com
Contact:

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by Sektor »

Either the tanks need to go or the points for taking a cop car to the crane needs to be increased. At the moment, the fastest way to get points is with a tank, so there's little reason to take cars to the crane.
User avatar
elypter
Immortal
Posts: 1120
Joined: 26 Dec 2009, 23:53
GH nick: elypter

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by elypter »

I was thinking of a special game type quite a long time. tank busting:
the police must kill a player in a tank (without having tanks themselves). If this gets too easy you can take a supertank.
yur sa'nok ngeyä
BenMillard
Immortal
Posts: 889
Joined: 16 May 2009, 06:14
GH nick: BenMillard
Location: London, UK
Contact:

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by BenMillard »

Phew, thanks for the feedback! New version uploaded. I'll continue adding lots and tuning even more to make it play better.
  • Tank Kill Frenzy is now "Kill 100 Police/SWAT/FBI/Army in 2 minutes". South-West tank, between Cage and Farpoint Peak mountain, gives you this mission.
  • Missions now give $100,000 instead of $10,000 when completed.
  • Different missions and different vehicles should give different points. A future version will do that.
GTA1 let me assign a Kill Frenzy dynamically to Monster Bug or whatever I wanted in Uphold the Law. GTA2 doesn't seem to work when I make the tank dynamic, though. Assistance welcome! Could be figured out in single-player mode... ;)

Update: 2010-01-18
Hit a bit of a snag. The BONUS checking command, as used by the Kill Frenzies system, only counts "score events" in the game of the player who is doing the Kill Frenzy. Other players in the game never see the score change, so they never see the FRENZY PASSED! message. They don't see the score won by the player who completed the frenzy, either.

I sorta knew this would be the case, since Army Base uses BONUS checks to create private "30 PEOPLE DOWN!" messages. But I was hopingthe Kill Frenzy system would be synchronous. Sigh.

Can I check for the player destroying peds and/or vehicles which were not created by script? SETUP_MODELCHECK_DESTROY looks possible...but only for vehicles and only one model at a time.

I guess the alternative would be for Vike to make the BONUS system synchronise properly, like he did for ROAD_BLOCK_TANK_MAN?
BenMillard
Immortal
Posts: 889
Joined: 16 May 2009, 06:14
GH nick: BenMillard
Location: London, UK
Contact:

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by BenMillard »

How do I check whether the player's score has increased by a certain number of points? Hoping there's a way which works in multiplayer so I can replace the BONUS system.

I have a pair of COUNTER to compare the score a player had with their current score:

Code: Select all

COUNTER p1score = 0 // current
COUNTER p1score_target = 0 // target

[...]

STORE_SCORE (p1, p1score_target)
How do I increase the value by 50,000, so I can check if their score has increased by that much? None of these compile:

Code: Select all

SET p1score_target = p1score + 50000
SET p1score_target = p1score_target + 50000
SET p1score_target += 50000
++p1score_target 50000
50000 ++p1score_target
IF doesn't support arithmetic, only comparisons. So I can't check against COUNTER + 50000, annoyingly:

Code: Select all

STORE_SCORE (p1, p1score)
IF (p1score > p1score_target + 50000)
Anybody know a syntax which works, or some kind of workaround?

Maybe I'll just count 3 other player deaths and credit that as FRENZY PASSED to the criminal player.
User avatar
elypter
Immortal
Posts: 1120
Joined: 26 Dec 2009, 23:53
GH nick: elypter

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by elypter »

Code: Select all

SET p1score_target = (p1score_target + 50000)
should work.
brackets are not redundant in gta.
http://gtamp.com/forum/viewtopic.php?p=2605#p2605
point 2 under "Just weired or uncommon things:"

i suggest to use a temp counter for all arithmetics that have to be done in multiline.
yur sa'nok ngeyä
BenMillard
Immortal
Posts: 889
Joined: 16 May 2009, 06:14
GH nick: BenMillard
Location: London, UK
Contact:

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by BenMillard »

LOL, mission script syntax is bonkers. Thanks for that ely, I'll update the scripting document as it's totally wrong about this.

Have uploaded a new version with repeatable Tank Kill Frenzy! Doesn't crash but sometimes fails to score if you stay in the same tank after completing the frenzy. Or if you get out and get back in during a frenzy. The death/arrest loop is now used to reset missions and you can watch its timer counting on-screen.

It seems the arithmetic operators can't process values outside the range from -32768 to 32767? If I add a COUNTER which has a value of 100,000 then the score check never completes. If I use a smaller value like 20,000 then it does complete... but it seems to complete at a different point each time.

This makes me think the docs are right about this being some sort of limit. And so my COUNTER items are actually overflowing, then going all the way back round until the condition passes again. Weirdest thing is I could have a score of over 1,000,000 and then start this mission and still complete it. I guess that could happen if the COUNTER used by STORE_SCORE is overflowing as well... eventually one will loop around to exceed the other one? :shock:

Urgh. How are we supposed to process scores?!

In happier news, I actually got a WIPE OUT! bonus during the testing of this! :D First time I ever got it outside of BFF Wipe Out. Missed the screenshot, it was such a surprise.
User avatar
Sektor
Boss
Boss
Posts: 1423
Joined: 04 Mar 2008, 06:51
GH nick: Sektor
Location: GTAMP.com
Contact:

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by Sektor »

You included bil.mis and bil_ke2.mis in slayer6.zip. I assume that was an accident.
BenMillard
Immortal
Posts: 889
Joined: 16 May 2009, 06:14
GH nick: BenMillard
Location: London, UK
Contact:

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by BenMillard »

Sort of... I was using those to see the "proper" way to code missions but that way doesn't work very nicely for "ambient" missions. They aren't included now.
  • Tank Kill Frenzy mission has some more bug fixes but it's still quite experimental.
  • Scoring for it is now "kill 3 players". Haven't tested this in multiplayer game; testers welcome!
  • All deaths are counted, so not necessarily a frag from the criminal's Tank.
  • Criminal can steal other Tanks and the frenzy keeps going.
  • Criminal gets the infinite Tank cannon on any other Tanks they steal.
To Do:
  • Criminal must be in a Tank for the kill to count.
  • If criminal abandons the current Tank, the mission arrow points at it. Criminal can steal it back or get a new one.
  • If criminal's current Tank gets destroyed, criminal gets FRENZY FAILED!.
Very slow progress on this level is due to having a happy amount of social life these days. :)
User avatar
elypter
Immortal
Posts: 1120
Joined: 26 Dec 2009, 23:53
GH nick: elypter

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by elypter »

how about not allowing him to exit and giving the tank a carbomb
yur sa'nok ngeyä
BenMillard
Immortal
Posts: 889
Joined: 16 May 2009, 06:14
GH nick: BenMillard
Location: London, UK
Contact:

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by BenMillard »

I let the Criminal steal a new tank during the frenzy because it's gives an advantage but is also a risk. Unseen Army roadblocks can nearly destroy your tank before you realise! So being able to replace it is essential to make this mission balanced at that stage, imho.

Thanks go to [V]Zbigz who tested a couple of times this evening. My hacked version of a Tank Kill Frenzy now works! (As does the cranes mission.)

(EDIT) Did a 4-player test later on. Full missions in multiplayer are quite unfamiliar to players; so I think a custom GXT is the next thing to help that. Real shame that BONUS doesn't work, that would enable a lot of whole-city missions for both Criminal and Police players.

Tank Kill Frenzy code I wrote is robust. I should only count kills when the Criminal is inside the Tank, though. Also need to give an arrow to the Tank if abandoned, as you may want to return after seeing off the local threat. (Such as FBI Agents.)
BenMillard
Immortal
Posts: 889
Joined: 16 May 2009, 06:14
GH nick: BenMillard
Location: London, UK
Contact:

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by BenMillard »

This now has custom text, which explains what is happening. It also displays which mission has been started by the criminal, so the cop players can organise themselves and prepare.

Cops now use the Redneck blue remap, so they get blue arrows in game. (The proper cop and SWAT remaps look very cool. But they use the big pink mission arrow, which was very confusing since the crane mission also uses that type of arrow.)
User avatar
elypter
Immortal
Posts: 1120
Joined: 26 Dec 2009, 23:53
GH nick: elypter

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by elypter »

you could make the mission arrows blinking
yur sa'nok ngeyä
User avatar
Pyro
Immortal
Posts: 414
Joined: 17 Mar 2010, 04:07
GH nick: Pyro
Location: Wales, UK

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by Pyro »

Does the coloured arrows appear if you initially set the player to Redneck (for the blue arrow) and then later on modify it by script to cop remap?
User avatar
Sektor
Boss
Boss
Posts: 1423
Joined: 04 Mar 2008, 06:51
GH nick: Sektor
Location: GTAMP.com
Contact:

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by Sektor »

That would work. The player arrow colours don't change during the game. You have to set their remap again if they die.

I like the changes. When it said "Line succeed!" at the start, I thought you forgot to include the new gxt but then I stole a cop car and was happy to see some real mission text.
BenMillard
Immortal
Posts: 889
Joined: 16 May 2009, 06:14
GH nick: BenMillard
Location: London, UK
Contact:

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by BenMillard »

Awesome, dudes! That works great. Changed the player to green, as SWAT are half yellow.

That first message now happens as soon as the game starts. It also now describes how the criminal can begin missions.
User avatar
elypter
Immortal
Posts: 1120
Joined: 26 Dec 2009, 23:53
GH nick: elypter

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by elypter »

01:44:17 GTA2 was in game for 11mins
01:44:20 <BenMillard> thanks for testing!
01:44:43 <Elypter> btw
01:44:44 <Sally> btw i dont know
01:44:57 <Elypter> we played copsnrobbers today with 5p
01:45:03 <Elypter> there was a bug
01:45:17 <Elypter> i dont know which player number but for one player
01:45:44 <Elypter> the char that should die when being punched was the player himself
01:46:24 <Elypter> funny but slightly confusing and unfair ;)
yur sa'nok ngeyä
BenMillard
Immortal
Posts: 889
Joined: 16 May 2009, 06:14
GH nick: BenMillard
Location: London, UK
Contact:

Re: Cops & Robbers (NEW) in MultiSlayer 6

Post by BenMillard »

Aha, code typo. When p5 punches someone, it kills the char p3 last punched. Fixed and uploaded in new version.
Post Reply