Back to Main Page


This page is about my Players Extended mod, a mod that throws open the world of addon peds, making them accessible and more interactive than ever.

WARNING! This is my therapy mod, this is intended to keep me away from the edge... Content on this page could get feisty on bad days, which are every day. If you want jolly stories about mod development, this probably isn't the page for you.

This hasn't been a free-flowing project like my others, this really is a battle of wills to keep going and I lose that battle a lot. Some days just a couple of lines of code get written, other days see more happening... but it's hard to keep this going, really hard.

I don't expect people to understand just how critical this mod is, I don't expect them to care how critical it is... but this is a make or break mod for me.

Page 1

Page 2

Page 3

Page 4

Page 5

Players Extended - Addon peds at your fingertips (Page 4)


I know... 4 pages... too much right? I think this is going to be the last page, I am writing far too much on these pages.

Update: Still can't decide on the inventory appearance, I need to get things working with it, so I am using the second menu I added to the mod, just in case my ideas dried up. The beauty is always that once you get the system working, transfering that to another UI design isn't too much of a problem. But now I have the inventory menu working, I can remove the keybinds I set up to test items like the binoculars and umbrella and make them menu choices instead.

I still need many more sprites but I think they are going to be placeholders for now, just so I can get these items working. I also made the stands like Beefy Bill give you a random soda. So you pick Soda from the menu and you get either eCola, Sprunk or Orang-O-Tang in your inventory. It just means you get a bit of variety in the inventory system, instead of seeing one type of can all the time.

Rebuilt all my mods against SHVDN 2.10.7 as well last night, I thought it would give me the missing hashes... I was mistaken... ah well.

Update: Well, the pier just became a bit more populated. Thanks to the VendorManager, the empty kiosks are no longer empty. During the hours of 09:00 and 19:00 (maybe 18:00 depending on how dark it is), there will be vendors in the Cherry Popper and Gifts on the Pier kiosks.

They appear when you are within a certain range and disappear when you go beyond it... but here's the bonus. Because it's all handled by the QSM, there is zero distance checking involved, therefore zero performance hit, even with as many kiosks as there are on the pier. I have also added in the checks for the Donuts and Hotdog stands that are used in Sandy Shores and that will be every stand/kiosk vendor location functional, with vendors present. To me, that's going to make a big difference, because seeing people eating and drinking next to food stands with nobody in them, is immersion-breaking.

Here's the killer with this though... do I make the vendors a bit more active when you're not at the shopping-spot (with ambient scenarios) and make them pay attention when you are? Decisions, decisions...

Another thing I have just noticed looking at that image again, there are ice-cream cones on the counter. That means I can extract the meshes from the stands and create ice-cream props as well... nice.

Update: Gives and takes... familiar complaint right? I noticed that when I put peds into the Gifts on the Pier kiosk, their heads were in the roof. So I checked the props in Gims and sure enough, the bounds on that prop had the floor too high... so after fighting with numerous exports, I managed to get it right. But it couldn't be that easy could it? No, it really couldn't.

It's the same prop, the ytyp entries are almost identical apart from the obvious position and rotation values... I have no idea why one prop is so broken while the others work perfectly. So you know when I said about empty kiosks being immersion breaking? Well broken kiosks break it even more.

If artists of this quality worked for a reputable developer, they would be out of the door. Rockstar it seems, will employ any level of shit to keep their costs down. We have a single car in the whole game that is in the class COMPACTS, because the f*ckwits are illiterate. If there was going to be another GTA game in my lifetime, this game has ensured I would not pay for it... that's not going to be an issue though. But the levels of incompetence, on a game of this magnitude, are inexcusable... they really are.

Update: Took a slightly different approach and the kiosk problem is now solved. Instead of spawning the peds inside the kiosk, I spawn them at 0,0,0, turn their collision off, move them to the correct location and then freeze their position.

Update: Did some stuff with the menus, things are grinding to a halt, so not much is getting done. Tried to do some stuff with model hashes last night to try and help someone but I can't do it. It's simple code but I just can't get it working. All in all, crap weekend all round.

Update: Inventory data is now fully serialised to the data files, so any food you buy remains with you for when you next start the game. So here's a question I am pondering... because using addon peds takes away the game save functionality, do I turn the data files into time-stamped versions?

Why should I do that nobody asks? Well the food expires based on game time but the game time is tied to the save game. I never save though, so each time I load the game, it's the same time... and has been for about 2 years. So if I wanted the food to expire based on time during inactive game sessions, I would have to base it on system time.

Actually, this is opening a huge can of worms... If I buy some food as one player and then switch to another player, should food belonging to the first player still degrade and expire? Hmmm... I kinda like the idea it would but I equally don't like the idea that it would.

Another thing I don't like the idea of, which has been nagging me, is a face-camera for when you change glasses. Funny really, even though I am the only one using this mod, I can't turn off the part of my brain that looks at it from another user's perspective. But anyway, I think now that I have things in the inventory to use, I need to get the activity part working. Walking and eating/drinking are going to be first on the list, although I don't think there are going to be animations available for some items. Burgers, hotdogs, donuts, that kind of thing is okay but what to do with fries? There are no "pick something out of a box/packet and eat it" animations.

Since posting this last update, I made a decision... items will only expire when you're using the player who has them. My logic is that when you're not using the player, they have stored the items in a way that preserves their goodness, so the items won't degrade... that seems valid logic in my head, so that's how it's going to work.

Update: Brain is scrambled today... eating activities were fairly straight forward, because you could only eat while walking, drinking is another matter altogether. Standing still has static and idle animations, walking has base and idle animations, walking with beer has a different number of idle animations. It still shouldn't be that hard but somedays, logic is such a complex thing to get my distracted head around... time to go back to basics, then move on from there.

Frack! Using PH_R_Hand is not a good idea after all. It seems to stay in one orientation, regardless of the hand position, so maybe it's just a locator for things like ropes. Okay... time to reattach the props then, back to SKEL_R_Hand it is.

Update: Drinking activities now working in a lesser way than planned. I have decided to use the same options as eating, where animations only occur while you are walking. The standing animations needed different attach settings and it looked bad switching between the two.

All Ice-Cream locations now function, that means the Cherry Popper stands and shops, plus Fruit Machine and Sundae Post. Not sure whether to make the player invisible at shop locations, to make it seem like you've gone inside... seems a better idea than just being stood at the door... not sure yet though.

All Sunglasses/Glasses locations are functional, Shadey Pete's, Rimmers, Specs Pest and a couple of other smaller locations. To make sure they remain functional for as long as possible, when you go to these locations, they wil show up to 5 possible random choices based on the glasses you haven't bought yet. So you can't buy everything in one go.

There are now 13 possible actions that can cause you to drop food or drink, like running, jumping, falling, being in combat etc... and being in ragdoll. It just seemed to make sense that doing these things whilst holding a cup of coffee would be a bit crazy. Running might seem like an extreme choice but they look stupid running with the walking animation upperbody. I can only use what Rockstar have provided and ambient peds only run after being shocked and being shocked causes them to drop anything they're carrying... so they never run with food or drink either.

Update: Was inspired to add outfit storage to the mod today after installing alex189's Cyberpunk ped. I like a couple of the outfits but not the default one, so I had to add a way to default to specific setups. But it means that if I save a couple of outfits, I can get some variation in the clothing, without resorting to completely random, which doesn't work so well on in-game peds. I don't want to switch to Emily one day and find she's turned into a dead black hooker or something. There's no in-mod customisation, that's handled by other mods already and it only stores the main items, no tattoos or anything, because addon peds don't have them.

I think I spotted another bug in Pick Your Ped as well. :-(

Update: MenuV flaws cause problems today... really annoying. Saying that, the problem could happen in other menu systems as well but I doubt it. So that means another bodge to get around that problem, which will probably come back to bite me. Have now set the expiry and heat levels to their proper values, as now that I can use them at will, they don't need to expire so fast for testing.

Redid the dynamic shop menu system to be more compact, that seems to be working fine still. I think I am going to spend more time on menu banners than anything else today, plus I need to create some food props for things like pretzels and ice cream cones.

Fixed the problem in PYP, which was simply that it changed the model every time you changed a saved outfit, which was unnecessary. Added random choice from saved outfits to the player-switching, which works fine. Still trying to fix the missing terrain in the player switch and just can't find the solution. Tried setting the camera focus, that caused the collision to stop loading, which meant the ped fell through the ground. Tried to use a "Default_scripted_fly" camera and that caused the same problem. I need to try the in-game switching system but there's just too much about it I don't understand... but who cares right? It's not like anyone else is going to complain about the missing terrain, maybe I just need to suck-it-up and live with it.

Update: Well this is a F*CK*NG R*G* D*Y!!!! It seriously f*cks me off when things that make no sense are happening.

When you are eating something, it does a collection of checks and if it fails any of those checks (like running, falling etc...), it drops the item... and that works flawlessly. So I was planning on linking health regeneration to the activity, so added a "BiteCounter" that increments by one each time it plays an eating animation. When BiteCounter == MaxBites, it should Drop() the item, like in every other check... but it doesn't. Calling Drop() from this one specific check, leaves it in the eating animation, yet it's doing the exact same thing as every other check.

And then there's the Hotdog... If I use any other food item, it goes straight into the animation holding the food in front of you but if I use the Hotdog, which uses the exact same animations, it holds it down by your side.

And then there's the prop physics for the glasses. I wanted to have the glasses fall off like the game props do but my rushed conversion had no collision. So I had to add in all the collision but that was sh*t because Gims sets every damned collisionflag, which makes things not work properly. So for every collision box on the glasses, I had to manually set every flag and there were six collision boxes. Now it seems to work better, except I appear to have either the wrong material type, or an error in the ytyp file for the physics setting. But because I can't ask anyone for help, I have no f*ck*ng idea what the correct settings should be.

And then finally... I left the player controls enabled when the Inventory menu is on-screen, as I thought it would feel better to retain control. But because I have things being dropped when you run, if you press Gamepad A to use something but press forward too quickly, it runs... and drops the thng you've just used.

I hate days like today, because they're a harsh reminder that I am just not good enough to do this stuff. And if I am not good enough to do this, the only thing I know how to do (or think I know how to do), then I am wasting my f*ck*ng time with this sh*tty existence.

Here's a video of some stuff in the mod.

Update: Discovered some bugs in the drinking activity last night, so they had to be fixed. Finally managed to get all the coffee shop banners finished, so all those locations are now functional. I just have one Cool Beans location that I have marked as a Cafe instead of a CoffeeDrinks location, so it's not being picked up. Here's the full set of 8 banners on their menus.

Small Update: Medical Centres and Saint Fiacre Hospital now provide medical services... at a cost, especially if you need an overnight stay to get all your health back. The shop menu now disables the Buy button if you don't have enough money to pay. I have played on God mode for so long, I had forgotten how dangerous this game is.

Finally added collision to all 15 pairs of glasses props now, so apart from them falling through the floor, they should fall off better. I do need to try applying a force to them though, so I can have a bit more control over where they go.

Fixed the Cool Beans location type, so that's now handled by the coffee shop location handling. The game is now starting to feel pretty functional, with the locations handled by other mods as well. It's also starting to give the World Guide a real purpose, because those shops you couldn't enter, at least have a function now.

On the negative side, my MenuV bug is back, so I didn't fix it after all. What happens, is when I close the menu, I call the Hide() function on the menu manager. Before I draw the menu, I check to make sure it's not been nulled by any events... but here's the killer, the menu can end up being null, *after* the check, which causes an exception. I have no idea how something can bypass a != null check and then fail because it's null.

Update: I almost broke MenuV completely today, I seem to be introducing bugs into this mod without even trying and I just don't know how much longer I can keep fighting against things like this. I look at my own code and I don't know how it works, I try to fix things purely based on trial and error, because I don't understand what I have written. Something that used to work perfetly, now causes a mod crash and I have no idea what I have changed, where I have changed it or when it changed. So that means re-introducing the debug settings and trying to find where it goes wrong.

I can't put into words how much this affects me... for most people, it would be a case of "That's annoying, I'd better fix that". For me, it's... well it's like looking in the mirror and constantly telling yourself "You're not good enough and here's the proof.". I'm tired of not being good enough and I am tired of spending hours and hours each day, writing these things for myself, because I am the only person willing to accept them as they are.

I am also sick to f*ck*ng death of talking to these pages, as though someone is actually reading them... screw this sh*t!