Jump to content

GTA3:MTA Development Thread


Recommended Posts

  • Replies 51
  • Created
  • Last Reply

Top Posters In This Topic

  • 4 weeks later...

With the release of GTA: LU 0.1 I think it's time to start converting the three GTA3:MTA islands to Squirrel scripting. It looks like AdTec_224 already beat me to the punch for a simple version of Portland that's just vehicle, object placement, and random spawning based on ped nodes.

EDIT: Finished vehicle repositioning for all three islands. I believe the SCMs are completed now. All that's left is some memory address work for GTA3MTA and a bit more code cleanup for MTAVC.

Link to comment

Acid trip!

ASI file basically completed. I do need to add a window title checker which checks if GTA was launched by MTA; if not, don't execute the asi file as we don't want the changes applied to single player! Still could use memory addresses to disable radar and disable earning five shotgun shells upon entering a police vehicle (for SSV only; there is an SCM workaround in place, but finding the memory address would be more efficient), but those are not required by any means, and would be implemented in the SCM.

SCMs are complete now too, I'd say. Maybe could remove some code relating to the unsynced vehicle 49, though.

Link to comment
  • 3 weeks later...

The color bug is strongly affected by weather. Setting "RandomWeather" to "0" in mtaserver.conf combined with the previous SCM tweak of forcing weather to be sunny seems to have eliminated or significantly reduced the occurrence and severity of the color bug, but this was with testing with only two people in SSV, so a larger test is required to verify results. The root cause of the color bug is somewhere in the SSV SCM though, and since the color bug did exist in earlier versions of MTA 0.x which had multiple player skins for Portland/Staunton then I'd assume it's somewhere in the spawn menu system, because the other two islands are not affected by the glitch in 0.5. Conveniently, weather sync was deliberately disabled in 0.4.1 ("Minimized freezing in GTA3 by removing weather sync (for now)"), so this bandaid fix currently has no negative side effects. Fixing the root cause is a very low priority for me due to that fact.

I've added a check in the ASI file to read the SCM's filename in GTA's memory, and if the second byte is "t" (i.e. "mtapl.scm") then it's MTA, otherwise it's single player and the ASI will not execute. The addresses found for starting the game automatically break radio in vehicles until the player pauses and unpauses though, so I need to find a fix for that. I also found all of the other memory addresses I require save the one to disable the radar.

Link to comment
  • 5 weeks later...

Compiler error regarding variable values has caused a need to do one of the following:

1: find-and-replace original values for 150 to 200 variables per SCM using Sanny Builder, or:

2: re-do SCMs starting from 0.5 stock using Sanny Builder

Sanny Builder didn't decompile GTA3:MTA's SCMs out of the box, but earlier today I made the opcode definition files identical between GTAMA and SB and to my surprise, SB works fine now. That also brought to light GTAMA's poor excuse for an SCM compiler. 30 minutes of work modifying SB's opcode definition file back in April would've saved me all of this headache now. In fact, trx sort of warned me about this issue back in January, but I overlooked it unfortunately. I had planned on releasing 0.5r2 on the 23rd, but perhaps I'll have to postpone things a bit depending on how long it'll take me to fix this mess. GTAMA's compiler errors are the reason why gamemode sync does not currently work, and probably some other stuff is not synchronized properly either as a result. This sucks.

Link to comment

My only option is to re-do everything using Sanny Builder instead of GTAMA, and I'll need to begin from stock 0.5's SCMs. I guess there's always MTA 0.5's 6th birthday on Jan 31st for a release; I think 4 days to redo the GTA3:MTA SCMs is just too little time and I'll forget certain things and overlook others. Of course, I noted most of my changes, but stuff will still be slow since I need to convert GTAMA-style code to SB's style, plus SB has no variable/label names or comments that are present in the GSRs used by GTAMA which are immensely helpful, so I'll waste more time glancing between the two as a result.

I guess another Vice beta test will be good to do meanwhile.

Link to comment
  • 2 weeks later...

Finished SSV SCM in something like 3 hours (with mistakes made at one point causing me to waste more time), it's really not as bad as I thought it would be. Hardest part was finding motivation to start. For obvious reasons extensive testing of everything will be required. Portland and Staunton, being less complex, would take maybe 2 hours each.

New icon:

MTALogoV2copy.png

Looks crappy as a 32x32 icon, but just about any icon would: 32.png

The original icon (gta3_8ball_orig.png) looks better, but it's color corrected. I'll have to tweak it some more before getting a decent usable 32x32 icon. Thanks to EliteTerm for photochopping the original to provide the icon.

And I now have a nice, shiny new avatar.

Link to comment
  • 2 weeks later...

Congrats on your 500th post, trx!

Gamemode sync was still broken after testing, but I fixed that. Only problem with gamemode sync now is that Shoreside Scramble doesn't start properly. It always seems like the damn races in every island are broken.

The 6-year-old known issue where two players and two vehicles appear in the character selection screen followed by a crash shortly thereafter is caused by dying while the Ransack gamemode is active. Trying to find a fix for that.

Fixed the glitch where you could spawn without your weapon of choice if you spawned too quickly after choosing your weapon.

Link to comment
  • 2 weeks later...

Fixed:

  • Race gamemode on every island
  • A crash in the Ransack gamemode, as well as a couple visual glitches
  • Fixed several issues in the Van Heist gamemode, namely the gang markers flickering when you're on foot or in a car other than the Securicar

There are probably some more minor issues I could fix, but I believe by fixing the above that takes care of most of the bugs and oddities in GTA3:MTA gameplay.

Link to comment

Testing went well, only around 5 players showed up but we still found some bugs and had a fun time. Bugs:

  • Race gamemodes: if a racer's vehicle explodes, every other racer crashes
  • Van Heist: Players can deliver the Securicar to other gangs, failing the mission in the process
  • GTA3 SSV: Kill credits are significantly desynced vs. stock 0.5

Also, all static blips on the map have been moved to the car scanner for easier reading of the radar.

Link to comment

Fixed a couple crashes in the Van Heist gamemode which occurred when the player died. Also, it has a few bugs: the "damage" meter is not accurate (nothing I can do about that) and also displays negative after the car explodes. The other bug is that the "home base" marker flickers. None of those bugs are worth my effort to try to fix any longer; I've already tried for several hours. The gamemode works, and that's all that matters at this point. I might fix them for a future release if I feel like it, but chances are slim.

Turismo's code gives me a headache just looking at it; even the source GSR is not helpful. I don't think I'll be able to trace the crash I mentioned earlier, unfortunately.

Also, the kill credits being crappy is apparently how it was in the first place. Nothing I can do about it regardless.

Link to comment
  • 1 month later...

wait a minute... the server browser is working now? :shock:

Oh and one more thing, I have played a GTA3 multiplayer which worked on all 3 islands with no de-synchronization between players when the load screen appears. It was GTA3 GGM multiplayer if you remember playing GoE's multiplayer modification which was rather buggy. Could this work in MTA's version? That would be awesome!

Link to comment
wait a minute... the server browser is working now? :shock:

Oh and one more thing, I have played a GTA3 multiplayer which worked on all 3 islands with no de-synchronization between players when the load screen appears. It was GTA3 GGM multiplayer if you remember playing GoE's multiplayer modification which was rather buggy. Could this work in MTA's version? That would be awesome!

There is an external server browser that replaces the in-client server browser.

While a three-island map is possible, there are only 48 synchronized vehicles and spreading them across 3 islands will be very thin.

Link to comment

So is there no way to repair the in-client server browser?

and...

Could it be possible in SSV mode to have the other islands unlocked because everyone likes travel to portland whenever they get the chance. Maybe just have a few cars along the main roads that runs through Staunton and Portland?

Link to comment

Well, instead of lowering the draw bridge, could it be possible to allow a successful dodo flight around the islands without de-syncing the crap out of everyone when they come back? Or maybe just open the tunnel so only those that know can travel around...

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...