Jump to content

[WIP] GameMode Studio


jacob.

Recommended Posts

IMG]http://img.photobucket.com/albums/v683/cmcjacob/vcmpinihelper.png[/img]

 

I'm sure most of you have already heard of this project I've recently started, due to me periodically posting updates on IRC. I've decided to bring the updates to a topic here instead, to keep things organized n' stuff.

 

I've had the idea ever since the server INI system was explained to the public but only started it the day after the release. It basically, as I'm sure you've seen from the screenshot, makes server *.INI files extremely easy to compile, and I've designed it to bring out the creative side of anyone interested in writing VC-MP gamemodes.

 

One of the most useful features I've implented, in my opinion, is the virtually confinable world boundaries. What the hell is that? tounge.gif

Here are a couple of screens I managed to take while developing this feature..

user posted image

user posted image

 

Specifying world boundaries is as simple as dragging a square over the 2D map. All the coordinate calculations are done instantly. smile.gif

 

The core (parsing) segment of the program is complete for everything except vehicles, which is going to be quite tricky considering vehicle spawn locations will be specified from a 2D map - whereas the Z axis can obviously not be specified. I've talked with kyeman and have thought of a possible workaround, but it won't be easy.

 

The interface has been the biggest challenge in this project; without the eyecandy, the program looks ten times as complex as it actually is. Being able to visually see what you're changing as you change it is always easier, and I feel that it will make gamemodes much funner to write - whether it be spiffing up Vanilla Vice to your liking or even starting one from scratch, you should have fun when designing your gamemode.

 

The features I am implementing into this program are only limited to what the INI system offers. This means that as the VC-MP team make INI changes (i've heard something about having multiple gamemodes stored in one ini, then having the server 'cycle' through them periodically), I'll make whatever capable changes I can to the program respectively.

 

Anyway.. If you have any suggestions, don't hesitate to let me know.

 

 

Some media:

  • Final www.jacobdis.com/WorldBoundariesFinal.wmv

    Some of you have already seen this, but it's my final version of the ingame world boundaries confination. Weeks of work was put into this to get it just right. wink.gif

     

     

  • Final General->Other Options:

    user posted image

     

     

  • Final Setting a class Model ID:

    user posted image

     

     

  • Final Setting class weapons:

    user posted image

     

     

  • Final Setting world boundaries (outgame):

    user posted image

     

     

  • In developement Setting a class XYZ position (outgame):

    user posted image

When can this be expected.. well, I don't want to make the same mistake twice, so I don't know. Let this be a lesson why nobody likes setting release dates; you just never know what'll come up. I'm lucky if I get 30 minutes of free time on week days, but hopefully I'll get this whole next weekend to myself to finally get this project off my shoulders.

 

[edit] Added screens n' stuff.

 

Edited by jacob.
Link to comment
Share on other sites

hell yeah...looks real good devil.gif

I think a lot of ppl gonna find it very useful, good luck with it jacob

 

 

Link to comment
Share on other sites

Will we be able to edit car spawns with this as well? Or are you still figuring out how it will be done because of the Z co-ord.

Link to comment
Share on other sites

placing cars would be too inaccurate....

 

unless u used OGL or DX to render the VC world, which is over complicated.

 

there will probably be a raw scripting page sience he needs to load and save the script as a whole.

 

(stuff you selected added in real time?)

 

thats my best guess...so you can raw script, or edit afterward.

Link to comment
Share on other sites

that looks fcuking awesome m8 keeps us posted biggrin.gif

 

when is it likely to be released?

Edited by [FSC]CoNqUg
Link to comment
Share on other sites

placing cars would be too inaccurate....

 

unless u used OGL or DX to render the VC world, which is over complicated.

What makes you so sure of this? I have an exact calculation for converting onscreen Top/Left values to their precise X/Y cartesian coordinates.

 

 

Will we be able to edit car spawns with this as well?

Yeah, you will.

Link to comment
Share on other sites

If you can click on the map to place object like spawn points and cars and stuff and have a small direction line to show which way its facing and you can click and drag that line to make it point in a direction you want it at, that would be awsome and make life really easy to make my own .ini files.

 

Btw if placing cars and trucks on the z axis is tricky to get on the roads, why not have them spawn for a little distance higher from the ground so they drop onto the ground? If you can give them a extra 5-10 points of health for the car or whatever then when they hit the ground they should be back at normal health.

Edited by Skeeter
Link to comment
Share on other sites

Really great !

I think this was truly needed, and again it will make less work to do for the devs, great cool.gif

 

The eye candy as you say it outstanding for a vb program, wish I could do the same. I've never been good with anything graphic unfortunately biggrin.gif

Edited by Jfk003
Link to comment
Share on other sites

placing cars would be too inaccurate....

 

unless u used OGL or DX to render the VC world, which is over complicated.

What makes you so sure of this? I have an exact calculation for converting onscreen Top/Left values to their precise X/Y cartesian coordinates.

What he means is the Z axis, which can't be set from a 2D map. With SCM there used to be the easy way of using -100 for ground level spawning, but can't do that with VC:MP. So I'm interested in how you're going to get around that challenge, other than that, looks awesome. Nice work.

adam broke it.

Link to comment
Share on other sites

I suppose if push comes to shove you can have a box saying 'insert co-ordinate here' and let people get it themselves confused.gif

 

still, very nice work mate, cant wait to get using it

Link to comment
Share on other sites

One question:

 

Is it possible to put an admin control panel? By this I mean something like an external remote admin. If its too much to do so or not possible, thats ok.

Link to comment
Share on other sites

Hm i love the world boundaries feature but in overall looks a great tool. inlove.gif

 

 

Link to comment
Share on other sites

placing cars would be too inaccurate....

 

unless u used OGL or DX to render the VC world, which is over complicated.

What makes you so sure of this? I have an exact calculation for converting onscreen Top/Left values to their precise X/Y cartesian coordinates.

What he means is the Z axis, which can't be set from a 2D map. With SCM there used to be the easy way of using -100 for ground level spawning, but can't do that with VC:MP. So I'm interested in how you're going to get around that challenge, other than that, looks awesome. Nice work.

Ah. I will most likely have the users only input the X and Y values, then when ready to compile the INI, have it call Vice's own FindGroundZ(fX, fY) function. Yes, it's going to going to have to load and start the game automatically, call the requried functions, then close. The process (if coded properly) should only take about 3-4 minutes.

 

 

Is it possible to put an admin control panel? By this I mean something like an external remote admin. If its too much to do so or not possible, thats ok.

I don't think they've built in any external protocols, so kick/ban functions can only be called from a client connection that is logged in as an administrator.

 

 

Link to comment
Share on other sites

How did that get there? I'll edit my post since that was a mistake. I have the version with pictures already so jacob should have them.

Link to comment
Share on other sites

I've been hard at work this weekend.

 

- World boundaries confining now works through the 2D map, and you have an option to virtually display the boundaries in the game. This means you can click a button that immediatly loads you in the game (windowed), and renders four semi-transparent 'walls', making sure you know exactly where the boundaries are set.

Thanks to MP5 for the feature suggestion, and saracoglu for some math help.

 

- Ever used 'Free Look' in VC cam hack? It allows you to fly around in first person view, steering yourself with the mouse and moving with the arrow keys.

Fly to any location and look at any angle; click a button and your spawn menu's CamPos and CamLook are set instantly.

Thanks to MP5 for the feature suggestion, and Racer_s for his awesome CamHack source.

 

- When setting the class model ID, you can now see the model in a picture as you change them.

Thanks to MP5 for the pictures.

 

- When setting class weapons, you can now see a picture of the weapon as you change them.

Thanks to the author of Weapon Workshop for the pictures.

 

- A few things you don't care for - rewrote parsing methods for easily compilation on export, added a debug dump to ./debug.txt, customizable weapon/ped ID descriptions, completed mission asi/directx file hooks to be placed into VC dir on load and deleted immediatly after closing the game, etc.

Thanks to spookie obviously for his SCMMod and Speedo sources.

 

 

Edited by jacob.
Link to comment
Share on other sites

With SCM there used to be the easy way of using -100 for ground level spawning, but can't do that with VC:MP.

 

So that was a SCM function right? Can't you add it to the next VC-MP version?

Link to comment
Share on other sites

No. When VC:MP spawns cars, it locks them in place to prevent distant cars falling through the (un-loaded) ground, so you need the exact co-ordinates.

Link to comment
Share on other sites

So that was a SCM function right? Can't you add it to the next VC-MP version?

There's a function somewhere that gets the ground co-ordinates of a location when fed the X and Y, so it returns the Z. This wouldn't be suitable for all cases, but I believe that's what jacob is trying to use.

adam broke it.

Link to comment
Share on other sites

The FindGroundZ(fX, fY) should work fine for every vehicle, you just have to add up +1 to the result

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

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