Jump to content

[SA|CLEO|WIP] 2 Player Missions Loader


Recommended Posts

where is the location of the pick-up for GTAUNITED?

please specify the place where we can find the player2pickup

 

also what version of GTAUNITED?

 

and about for GTASA when will you release it?

is their a splitscreen

 

There are overall 10 pickups in GTA United. 5 with the red logo and 5 with the skulls logo. Finding all of them is part of the fun and that is why I didn't put markers for them or spoiler them in the forums. But what I can tell you is that Liberty City has pickups on every Island and Vice City only has pickups on the two smallest Islands that exist. Otherwise I could have hidden them very well and obscure them but I didn't want to. Vice City has overall more rampages but less free roams while Liberty City has less rampages and more free roams. I intended it the other way round because Liberty City looks more criminal and Vice City more playful but due to bugs I experienced in Liberty City during the rampage scripting I pulled them. I intended a rampage in the bike shop in Liberty City originally and it worked out very well with the script but ingame there were bugs I just could not fix and so it got cut.

 

However, If you really want to play in two player mode right now just visit:

 

The mansion also known as Vercetti Estate at Starfish Island. Look at the back where the chopper/helicopter is placed. You can find it very easily.

 

 

You need GTA United Version 1.2 or 1.2.0.1

I will later release a version for GTA United 1.1 just for the sake of it.

 

There won't be any splitscreen as this would require heavy game editing or .asi hacks/hooks. However, after nobody could fix the saving issue I am going to release the first San Andreas version and re-release the GTA United 1.2 version, this or the next week. I advise you not to save your game when using the mod in San Andreas, do that on your own risk. In GTA United 1.2 you can save your game just as usual. It won't harm your game or your save (I tested this deeply!).

 

I haven't worked on the mod for days, now because I was busy with other things but I already finished ini options for GTASA and GTA United and in the following days I'll try to implement language loading for GTASA and GTA United. I also fixed a gxt bug that occurs in the released GTA United version(and in my San Andreas test version).

 

I also tried something a friend of mine urged me to do. I tried to make the 2p mode storyline friendly but it didn't work out. I tried to make vigilante missions compatible to 2p mode but the game instantly crashes if you press R3/RS/Submission Key but the idea would have been great I think!

 

Now just wait a little and you can play this before Christmas or before the GTA5 PC release. Updates will still come even after GTA5 PC release but as hyped as it is I don't think the 3 era modding community will grow anymore. There's a really small group of people who play these mods but I'll still give my best to meet the demands of these few people.

  • Like 1

It would be cool if you release it for SA (base game without gta united) too.

He is working on that. :D
... Updates will still come even after GTA5 PC release but as hyped as it is I don't think the 3 era modding community will grow anymore....

 

 

 

Perhaps it will not grow, but don't worry about it. It is natural for every game that the number of gamers is decreasing, but era 3 has a great future I beliefe. I bought gta 5 since the first day (I bought a ps3 only for gta 5) and it is amazing but I'm still a big fan of 3 era. Era 3 has a certain spirit that 5 cannot replace. 5 has another spirit of its own but it's different. Modding in 3 was never so easy as it is now and we have big breakthroughs (e.g., the recent limit adjusters). Basically we can extend era 3 games in anyway we can imagine. Then it should be noted that there are other communities which are even much older and still produce mods. Some examples: there are still people posting in the gta 1 forum; there is a counter strike (half life) modding community; people create maps for tomb raider 1-3 (TR1 is from 1996); and people are still creating mods for Sonic 1-3 (Sonic 1 was released in 1991 which is 23 years ago). In other words, I'm optimistic that we will have a lot fun with era 3 for many more years.

No reply is needed, I just wanted to speak my mind :)

Edited by goodidea82

Almost finished, guys!:

kVAvMnEl.jpg

 

h9hsr7Tl.jpg

Edit: Oh, wrong game..now I see it is GTAForums....

 

Anyways, at the moment I'm implementing the language feature and try to get rid of all *.fxt files. I think it's better to overwrite the gxt entries via my cleo file. However, I wouldn't post here if it wasn't for an issue again.....

 

I did some test with the language selection and it works out just like I intended:

Mq1wbBql.jpg

 

zbd4J52l.jpg

 

But now for the problem:

 

If I only import a short text the game doesn't crash:

0ADF: add_dynamic_GXT_entry "PL_H1" text "~k~~PED_JUMPING~ Increase Wager~N~~k~~PED_FIREWEAPON~ Decrease Wager~N~~k~~PED_SPRINT~ Proceed~N~~k~~VEHICLE_ENTER_EXIT~ Quit"

But when the text is too long and the gxt entry gets added:

0ADF: add_dynamic_GXT_entry "PL_H1" text "~k~~PED_JUMPING~ Increase Wager~N~~k~~PED_FIREWEAPON~ Decrease Wager~N~~k~~PED_SPRINT~ Proceed~N~~k~~VEHICLE_ENTER_EXIT~ Quit~N~Player 2 press the ~h~START~w~ button to play a 2 player game."

The game crashes.

 

I tried out different things and it's indeed because of the length of the string. It's when I write something after the "Quit" and even if it's just for a single char or a space! First I thought it was because of a wrong placed ~ or something but then I tested it with the same character repeated like: aaaaaaa...... and it crashed as soon as I selected English in the menu and tried to resume the game and my dynamic gxt entry for English was loaded.

 

Sure, there are probably workarounds like letting the cleo write to a *.fxt file over and over again when a new language set is selected but that is not my intention for this mod.

 

If somebody knows why this happens please reply. If it wasn't for these things I would have released this weeks ago already.....

  • Like 2

It's caused by the SA SCM design limitation of string literals, that's a maximum of 127 characters.

Since this limitation exists by design, CLEO itself assumes so and uses a buffer of 128 bytes to capture the string (you were overflowing this buffer), so using a string in a label won't do it neither.

Edited by LINK/2012
  • 2 weeks later...

Now just wait a little and you can play this before Christmas.......

 

I don't break promises.

 

2 Player Missions Loader 1.1 for GTA San Andreas

[+ ini options and language workaround]

 

 

 

100th post btw

 

 

  • Like 3
Igor Bogdanoff

You must have cleo.asi in root folder of SA, otherwise it crashes (if it is in scripts folder). Anyway to fix this?

You must have cleo.asi in root folder of SA, otherwise it crashes (if it is in scripts folder). Anyway to fix this?

 

It's maybe because I put in some anti-stealing code so the liberty city ru guys don't spread it like a forest fire ;)

Make sure that you do not change the contents or the folder structure in any way.

Also, use ASI Loader 1.3 and Cleo 4.3.16 or newer.

 

If you want, I will try to make a version that supports your intention and only give it to people who request it for private use.

 

 

I'd like this version too please. I like to keep my root folder clean.

 

Also what does the Letterbox option do? If it's not about aspect ratio then I have no idea.

Edited by Blackbird88

I'd like this version too please. I like to keep my root folder clean.

 

Also what does the Letterbox option do? If it's not about aspect ratio then I have no idea.

If you haven't got ThirteenAG's widescreen fix with smart borders activated you normally get some sort of cutscenes on 2p mode e.g. while kissing, when starting a 2p mission and in other situations. This affects your HUD, FOV and also it squeezes the image a little bit in aspect ratio. If you don't want that set it to off. With ThirteenAG's fix you will notice a cam zoom in and out in class selection screen. Again, set letterbox to off to get rid of this issue. If I knew that everyone was playing this on a CRT I wouldn't have added it, but as I know that most people play it in 16:9, 17:9 or even 21:9 and without any black borders I added this option. It's also good if you want to have it more HD era style because it also affects the font style of the intro when starting a mission.

Edited by Nights744

So yeah it's about aspect ratio. I was just curious what exactly could be dependant on it :D

 

It doesn't even matter where I put it. It crashes after loading bar gets full.

Tried on clean 1.0 game and it still crashes. You have some bug-fixing to do.

 

 

 

 

 

Game version: GTA SA 1.0 USUnhandled exception at 0x00000000 in gta-sa.exe: 0xC0000005: Access violation DEP at 0x00000000.    Register dump:        EAX: 0x00000000  EBX: 0x00000001  ECX: 0x048F4F50  EDX: 0x00001F1F          EDI: 0x048F4F50  ESI: 0x00000064  EBP: 0x0028FCB8  EIP: 0x00000000          ESP: 0x0028FCAC  EFL: 0x00010202  CS: 0x00000023   SS: 0x0000002B           GS: 0x0000002B   FS: 0x00000053   ES: 0x0000002B   DS: 0x0000002B               Stack dump:        0x0028FCAC:  66232831 048F4F50 048F4F50 76539F10 00469FF7 00004156        0x0028FCC4:  048F4F50 00000000 662304CF 00000000 048F4F50 0046A220        0x0028FCDC:  00000001 00863B10 76539F10 00000000 00000002 00863B10        0x0028FCF4:  0156561A 00A49960 0053BCCE 0000000A 0053E593 00863B10        0x0028FD0C:  00748D00 66131F6C 0028FE08 0028FDC0 FFFDB000 01FFFFFF        0x0028FD24:  00000001 044304C0 00000008 00000100 00000008 00000102        0x0028FD3C:  44700000 44070000 00000000 00000000 00000780 00000438        0x0028FD54:  00000000 66131F40 003206C2 000014FE 138911BC 00000001        0x0028FD6C:  0B18582C 000003C0 0000021C 0000002C 00000000 00000001        0x0028FD84:  FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000000 00000000        base: 0x00090000   top: 0x0028FCAC   bottom: 0x00290000            Backtrace:        =>0x00000000 in unknown (+0x0) (0x0028FCA8)           0x66232831 CLEO_ReadStringOpcodeParam+0x341 in CLEO.asi (+0x22831) (0x0028FCB8)           0x00469FF7 in gta-sa.exe (+0x69ff7) (0x0028FCC8)           0x662304CF in CLEO.asi (+0x204cf) 

 

Edited by Blackbird88
  • 2 weeks later...
silentkiller44

Works fine here, although I had to delete my gta_sa.set file initially.

 

Anyways, I love the two separate cars option as now I don't have to press Sprint + F for the second player to get in. But, the camera has always ruined the fun....always switching from one to another, so you can't see where you're headed. Can that be fixed or is it hard-damn-coded?? :(

Edited by silentkiller44

Have you checked all the files if they are in the correct place? i.e. the folder and the .cs in CLEO Folder?

Yup. CLEO.asi in root folder, !Two Player Missions Loader.cs and Two Player Missions folder in CLEO folder.

Crashes when the loading bar gets full. Both new game and loaded game and both clean install(no modded stuff) and my install(mostly fixed stuff and mobile stuff)

Edited by Blackbird88

I told him to stream the save pickups when the player is nearby, but oh well.

I really want to use this mod, because I used to play this on ps2 all the time. The only problem is, I have 2 xbox360 controllers plugged in. I use GInput, and it works great, but when the message pops up to "plug in a DUALSHOCK controller and press a button" The second controller does not respond. The only version of GInput that doesn't do this is 0.1, but I can't move my camera with 0.1. Please help! Nevermind. Got it working. Great mod! Is it possible to use the planes yet? I tried with 2 of them and it wouldn't let both people get in. If not, that's ok, I understand you're working on this.

Edited by jdog3514

Really love this mod, especially the separate-vehicle-feature. But can you make 'friendly-passenger' feature when separate vehicle enabled? so the player won't robbing to another when trying to entering another player's vehicle.

  • 4 weeks later...

As you may have noticed I updated the mod on February 1, 2015.

I included a beta toggle in the San Andreas version because when I started the mod by looking into the PS2 main.scm I noticed something unfinished in the Run-Around LS mission. Set the toggle to 1 and start the mission near Big Smoke's house. You will notice something new! I also provided test versions for Gostown Paradise and SA:LC. It's always risky making a cleo mod for total conversions as I don't know how the mod creators handle the main script or even how they have created the mod. I also wanted to include rampages in Gostown Paradise and SA:LC but there I encountered the first issues. Gostown Paradise also seems to have some issues with the FOV as it has some sort of GTA IV FOV effect that doesn't get toggled correctly during a 2p mission intro. I also forgot to clean the cleo_text folder in some versions that have the language workaround. So if you are going to use that workaround remember to clean your cleo_text folder first. Not to forget, all versions have ini configuration files, now. I hope it all works correctly. And as always, I only do updates once in a while when I find mistakes or have found some better method of handling something. I haven't got much time at the moment. I mostly only do something on the weekends. Sometimes when I am bored I look into the code and if I feel like it I change something.

As all of you I am waiting for Silent's Ginput. I think the mod will benefit from it. I am even thinking about getting PS2 or PS3 controllers. PS3 controllers would open whole new levels as I see it.

 

Recently I tried to get more than 2 players into the game. While looking into the MTASA source code I found some interesting workarounds. In theory I could get up to 100 players ingame. The problem is that there are only 2 player slots. In the Ginput topic I posted pictures of a 3 player and even a 4 player version but that comes at the cost of controlling them properly. I had to either place one character (CJ) in slot 0(#1) and the other 3 characters in slot 1(#2) or character 1&2 in slot 0 and character 3&4 in slot 1. You can do the math.....

 

I have some hope that maybe one of the limit adjuster developers could tweak that slot limit. I would like to have at least 4 slots (0,1,2,3). That would be pretty good. For a proper 4P mode we will need more slots as the game only sees a character as a genuine protagonist when it is in a slot on it's own. If more players are in a slot those players can only be controlled together, as it seems. Even if it could be tweaked so that we can control two players independently in a single slot that would come at the cost of features. CJ couldn't kiss a player if it is in the same slot as him, for example. Also, CJ couldn't get into the same vehicle with the other player that shares the slot with him. Again, that all could be maybe tweaked but I am not a huge fan of workarounds but more of solid solutions.

 

Now to get back to your questions:

 

You must have cleo.asi in root folder of SA, otherwise it crashes (if it is in scripts folder). Anyway to fix this?

I'd like this version too please. I like to keep my root folder clean.

I have to disappoint both of you. I had to scrap that idea. I have deleted the anti-stealing feature and I think it still doesn't work from the script folder. Why? Because cleo was never meant to be run from there and thus some features don't work correctly. Plus my version has ini options so the script supposes that all the files are in the correct order but it seems to get bugged when the cleo.asi is placed somewhere different. I probably would have to get rid of the ini options feature in order to make the mod work in any folder structure. The problem is that cleo mods expect files to be at a certain place other than script mods (like asi) who only need to have the configuration files in the same folder as the script itself. So I guess it's cleo's fault for its handling of file path operations.

I told him to stream the save pickups when the player is nearby, but oh well.

It's not as easy as you might think. As you know I am going the Rockstar way by using their intended global variables. I am going from the PS2 main.scm and then building my way up to a more up to date version. Rockstar has a certain system of streaming it. It's not just if player defined create pickups at x y z and so on. They set $840 = 1 when all pickups are created (not the girlfriend pickups though). When you collect a pickup they set $840 = 0. Yet I don't know what it does exactly. I tried setting it to 0 by keypress but that doesn't do anything at all. It doesn't remove the pickups or anything. The girlfriends all have their own global variable. Millie has $841 for example. I have put your idea into effect for the girlfriend pickups in the current released version by sneaking opcode 00FE into the if condition that checks whether the girlfriend is at home (08B4: test $1210 bit 5 //Is Millie at home?)
However, with the other pickups there really aren't any conditions apart from onmissions and player defined. But the global variables seem to do something I just can't see through this framework. Rockstar is very good at obscuring certain things. Is there some page where I can look up what all global variables are for? Would be awesome to finally understand everything.

I post my attempts here for you though just to show that I tried it multiple times over the past months:


Tried reading whether player is in saving menu:
vxmTTdu.jpg
Info: TPLAYER_2052 kills all pickups

Another attempt at reading memory:
mXOkEZ8.jpg

Here I tried your idea with the casual pickups (not the girlfriend pickups):

//Create pickup only if player is near pickup:TPLAYER_8824$840 = 0if     00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 1481.955 -1656.146 13.5469 radius 150.0 150.0 150.0jf @TPLAYER_8825$824 = Pickup.Create(1313, 21, 1481.955, -1656.146, 13.5469)$840 = 1:TPLAYER_8825$840 = 0if    00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 1196.491 249.321 19.0618 radius 150.0 150.0 150.0jf @TPLAYER_8826            $825 = Pickup.Create(1313, 21, 1196.491, 249.321, 19.0618)$840 = 1:TPLAYER_8826$840 = 0if    00FE: actor $PLAYER_ACTOR sphere 0 in_sphere -2102.848 653.8868 51.8671 radius 150.0 150.0 150.0jf @TPLAYER_8827$826 = Pickup.Create(1313, 21, -2102.848, 653.8868, 51.8671)$840 = 1:TPLAYER_8827$840 = 0if    00FE: actor $PLAYER_ACTOR sphere 0 in_sphere -252.9156 2583.779 63.0703 radius 150.0 150.0 150.0jf @TPLAYER_8828$827 = Pickup.Create(1313, 21, -252.9156, 2583.779, 63.0703)$840 = 1:TPLAYER_8828$840 = 0if    00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 2510.633 1207.917 10.3281 radius 150.0 150.0 150.0jf @TPLAYER_8829$828 = Pickup.Create(1313, 21, 2510.633, 1207.917, 10.3281)$840 = 1:TPLAYER_8829$840 = 0if    00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 2069.338 -1556.93 12.9243 radius 150.0 150.0 150.0jf @TPLAYER_8830$829 = Pickup.Create(1314, 21, 2069.338, -1556.93, 12.9243)$840 = 1:TPLAYER_8830$840 = 0if    00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 2138.169 1483.595 10.3203 radius 150.0 150.0 150.0jf @TPLAYER_8831$830 = Pickup.Create(1314, 21, 2138.169, 1483.595, 10.3203)$840 = 1:TPLAYER_8831$840 = 0if    00FE: actor $PLAYER_ACTOR sphere 0 in_sphere -2197.666 292.0621 34.623 radius 150.0 150.0 150.0jf @TPLAYER_8832$831 = Pickup.Create(1314, 21, -2197.666, 292.0621, 34.623)$840 = 1:TPLAYER_8832$840 = 0if    00FE: actor $PLAYER_ACTOR sphere 0 in_sphere -1520.864 2608.207 55.3437 radius 150.0 150.0 150.0jf @TPLAYER_8833$832 = Pickup.Create(1314, 21, -1520.864, 2608.207, 55.3437)$840 = 1:TPLAYER_8833$840 = 0if    00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 711.0688 -569.3774 15.8359 radius 150.0 150.0 150.0jf @TPLAYER_1070$833 = Pickup.Create(1314, 21, 711.0688, -569.3774, 15.8359)$840 = 1

The same just inverted (destroy pickups if not in the certain zone):

if00FE: not actor $PLAYER_ACTOR sphere 0 in_sphere 1481.955 -1656.146 13.54698 radius 150.0 150.0 150.0thengosub @TPLAYER_2052 $840 = 0endif00FE: not actor $PLAYER_ACTOR sphere 0 in_sphere 1196.491 249.321 19.0618 radius 150.0 150.0 150.0thengosub @TPLAYER_2052 $840 = 0endif00FE: not actor $PLAYER_ACTOR sphere 0 in_sphere -2102.848 653.8868 51.8671 radius 150.0 150.0 150.0thengosub @TPLAYER_2052 $840 = 0endif00FE: not actor $PLAYER_ACTOR sphere 0 in_sphere -252.9156 2583.779 63.0703 radius 150.0 150.0 150.0thengosub @TPLAYER_2052 $840 = 0endif00FE: not actor $PLAYER_ACTOR sphere 0 in_sphere 2510.633 1207.917 10.3281 radius 150.0 150.0 150.0thengosub @TPLAYER_2052 $840 = 0endif00FE: not actor $PLAYER_ACTOR sphere 0 in_sphere 2069.338 -1556.93 12.9243 radius 150.0 150.0 150.0thengosub @TPLAYER_2052 $840 = 0endif00FE: not actor $PLAYER_ACTOR sphere 0 in_sphere 2138.169 1483.595 10.3203 radius 150.0 150.0 150.0thengosub @TPLAYER_2052 $840 = 0endif00FE: not actor $PLAYER_ACTOR sphere 0 in_sphere -2197.666 292.0621 34.623 radius 150.0 150.0 150.0thengosub @TPLAYER_2052 $840 = 0endif00FE: not actor $PLAYER_ACTOR sphere 0 in_sphere -1520.864 2608.207 55.3437 radius 150.0 150.0 150.0thengosub @TPLAYER_2052 $840 = 0endif00FE: not actor $PLAYER_ACTOR sphere 0 in_sphere 711.0688 -569.3774 15.8359 radius 150.0 150.0 150.0thengosub @TPLAYER_2052 $840 = 0end

All of this doesn't work. And I have more attempts! Not just those. (Those were my first attempts in 2014) But I was to bored to record all of them....


Anyway it's 100% that saving issue isn't caused by external 2players code done for cleo. But something else.

When I wrote about the saving issue I had just installed a fresh copy of Windows 7 on a new drive. Then I installed San Andreas from my DVD. ASI loader 1.3, then cleo 4.3.16 then 2 Player Missions Loader and also tested your 2p cleo mod. No mods apart from that. Later I installed SilentPatch and widescreen fixes but those don't change any 2p relevant scm code, so......

You should really ask those "cleo gods" out there. They will tell you cleo's flaws. On the other hand it isn't really cleo's fault but the savegame system's fault. Savegames have a block that saves pickups. So if some author writes a cleo mod and doesn't want any changes done to the savegames he/she must kill the cleo script just before the save is done aso that the savegame doesn't pickup any change done by the cleo script. Anything could happen. Even corrupt savegames.

I really want to use this mod, because I used to play this on ps2 all the time. The only problem is, I have 2 xbox360 controllers plugged in. I use GInput, and it works great, but when the message pops up to "plug in a DUALSHOCK controller and press a button" The second controller does not respond. The only version of GInput that doesn't do this is 0.1, but I can't move my camera with 0.1. Please help! Nevermind. Got it working. Great mod! Is it possible to use the planes yet? I tried with 2 of them and it wouldn't let both people get in. If not, that's ok, I understand you're working on this.

It should work. I sometimes do drive-by shootings with the dodo when playing alone. Make sure to set EnterSeparateVehicles = 0 in the ini configuration file as that makes your buddy a pedestrian and CJ will put him/her out of the vehicle. If you want to enter an Andromada, AT-400 or shamal together you need to edit some *.cfg files in order to get more seats. You can even get two seats on a BMX. I tested that years ago in samp and the funny part was that it was synchronized ;)

Really love this mod, especially the separate-vehicle-feature. But can you make 'friendly-passenger' feature when separate vehicle enabled? so the player won't robbing to another when trying to entering another player's vehicle.

I had thought about this long before you wrote it as I noticed what you are talking about while testing. The thing is that I don't know how to do it yet or in which way. Should I activate it when the two players are far apart and activate it when they are close together? That would again be a workaround and not a solid solution but I can do it later. I keep all ideas posted here in mind. I even remember that someone requested a customizable controller text, so don't worry. I'll do it when I have some spare time.

  • Like 3
Igor Bogdanoff

The new version still crashes for me. This time after loading before I spawn. I have CLEO.asi in root for some time now, because lot of old scripts are don't load FXTs properly.

Found some solution, in modloader create folder cleo, in that folder create folder cleo again, then put files in that 2nd cleo folder and cleo.asi into scripts folder.

Igor Bogdanoff

Actually I have the script in vanilla CLEO folder in the root so do you mean having it in modloader fixes it?

yup (sa_root/modloader/randomname/cleo), want video as proof?

Edit: Nights744, is automatic spanish workaround when your mod is placed in modloader folder some anti-modstealer thing, or just bug? And btw now I have 2p mod placed in sa_root/cleo and cleo.asi in scipts folder and everything works. SA is just kidding me.

Edited by Tomasak

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
  • 0 User Currently Viewing
    0 members, 0 Anonymous, 0 Guests

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.