• Welcome to Vice City Multiplayer.

Current status of version 0.4

Started by maxorator, April 09, 2011, 10:39:15 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


It has been a long time since there has been a new version released. While somewhat slowly at times, VC:MP has been under development during that time. I believe it is time to show people what has been done so far.

As the current beta version still has some shortcomings, the public beta will have to wait a little bit, although I hope it takes place soon. Till then, I can list which new features have been implemented since 0.3z_r2 and which bugs have been fixed. As it takes some time to thoroughly document the features, I will start posting changes that have been made one by one.

Therefore, I hope that by the time we get to an actual release, there is enough documentation and information that people can immediately take the best of it. There have been many significant changes, although many internal changes are invisible to the average player, but will make the future development of the modification easier.

I know that many of you may be tired of waiting and some have given up, but I hope that you will still be interested in what the new version has to offer. As the amount hours that we, developers, could put into developing this mod has been dramatically decreased during the last few years, it has been difficult to keep things going.

If you have any comments or questions about the changes and fixes mentioned in this topic, feel free to post them in this topic:



Changes regarding death / death reasons.

  • When you die in a vehicle, the damage you received before entering the vehicle cannot affect the death message.
    In R2, when you received damage before entering a vehicle, for example someone shot you with an Uzi, then when you entered a vehicle and died inside the vehicle due to the vehicle exploding, then the person who shot you before entering the vehicle would be marked as your killer and the weapon he used as the death reason (in this example Uzi).
  • When someone blows up your car with some weapon and you blow up inside it, (s)he will be marked as your killer and the weapon which was used is also shown.
    Now every time your vehicle gets shot and blows up because of that damage, the person who shot it will be marked as your killer and the death reason will also be recorded. This works even with rockets.
  • Kill commands from server should no longer cause anyone to be marked as your killer.
    In R2, the only way for the server to kill a player was to set health to zero. That, however, made the last person to damage you responsible for the death. Now, every time player's health is set to zero, his/her last damage type and damage source will be reset.

Changes regarding quitting.

  • Exiting from esc menu now reports the player as "leaving" instead of "timeout". Also it should not pop up error messages then anymore.
    In R2 exiting from the menu always reported that the player left because of "timeout". Since that is confusing, not really correct, and also delayed, it was changed so that it would properly report the player as "leaving" the server. In R2 exiting from the menu also popped error messages for some people, which is also fixed now.
  • Reduced exit splash screen duration
    The splash screen when exiting from the menu isn't shown for that long anymore. For people who prefer to exit that way, this might make leaving a server more convenient.
  • When a player crashes, his exit message reports him "crashed".
    This also makes the player exit for others immediately, so you don't have to wonder whether he has alt+tabbed out of the game or crashed.

This is just a tiny fragment of features and bugfixes. Be sure to check this thread every once in a while.


Vehicle synchronization improvements.

  • Vehicles move and turn more smoothly now.
    The rotation of vehicles changes more smoothly and also the speed of vehicle stays relatively stable compared to how it worked in R2. Now it is very easy to stay on top of a vehicle without falling off and the radar also doesn't jump when you are on the vehicle or a passenger in it.
  • Vehicles are less slippery.
    When you walk on vehicles, you don't fall off easily anymore because they are not slippery anymore. This also helps when surfing on a vehicle, especially when taking sharp turns. There is no artificial "glueing to the vehicle" though.
  • Vehicle surfing is synchronized.
    Standing on a vehicle is synchronized for other players so that they don't see you lagging behind, but they actually see you properly standing/running/doing whatever you are doing on it.

Some of this (1 and 3) can be seen in this video:


Changes with first person aim and headshots.

  • First person aim no longer warps when someone spawns.
    First person aim, either with sniper, rocket launcher or with any other weapon that supports it, used to end when any player spawned in the server in R2. With many players online, this was extremely annoying for some players.
  • Fixed the bug when remote players' shooting animation was constantly reset while the local player was in FP aim.
    In R2 when you tried to shoot someone who was in first person aim, your shooting animation often reset on his/her screen, which made the other player almost invulnerable to many weapons. This has since been fixed and it should now be possible to properly damage people with any weapon regardless of whether they are using first person aim or not.
  • Fixed the bug when remote players' move animation didn't stop while local player was in FP aim.
    It used to be that when you were in first person aim, other people's walking/running animations wouldn't end when they stopped and you would simply see them running on one place. This is now fixed.
  • Proper death reason and killer when performing a headshot on a player with armour.
    When you did a headshot on someone who had armour in R2, you would simply see that (s)he died of no reason and noone would be marked as the killer. This bug no longer occurs.


New console and chatbox.

  • Text in the console and chatbox has a black outline.
    This makes it more easily readable, although lighter colors are recommended. This also eliminates the need for a box behind the normal chat area.
  • Text supports color changes inside messages.
    You can now have multiple different colors used in the same message. The syntax for that is [#HEXHEX], for example [#FFFF00] for yellow. Semitransparent colors are at the most for special internal uses only, for example the names of unspawned players in the chat.
  • Text supports different fonts.
    Any font installed on the machine can be used for the chatbox. You can change the font either with the /font command while in game or from the console configuration file, which is created when VC:MP is first executed. You can also specify the extra horizontal space between characters of a font, since some fonts might look better with a non-zero extra space.
  • Players can define a timeout for chatbox messages, after which the messages will disappear from the chatbox.
    The messages will still be in the console. Some people might prefer not to have ancient messages wasting space on their screen. The timeout can be set in the console configuration file. People who don't like the text to disappear can specify 0 as the value, which means it doesn't disappear.
  • Players can define how many lines are shown in the chatbox and console.
    This can be changed in the console configuration file.
  • Command line stores 20 last commands entered by the player.
    You can switch between the last commands with up and down arrows. Command line also remembers the current typed text when going through history lines. Otherwise its functionality is largely identical to the old command line.
  • Players can spawn the console by pressing TAB.
    By pressing TAB you can spawn a console which remembers up to 1000 previous lines that the player received and allows you to scroll through them. You can scroll the console history with mousewheel. When you press insert, you enter the console history mode which allows you to also scroll console with up and down arrows and scroll by page at a time with page up/page down keys. When not in console history mode, up and down arrows scrolls command line history and page up/page down scrolls console history one line at a time.
  • Players can see the timestamp of console messages when they hold Ctrl+U.
    This allows everyone to easily check when some message was sent.
  • Command line supports pasted text.
    You can use Ctrl+V to paste text that will be appended to the current text in the command line.

Here is a video demonstrating the new console:


Build mode changes.

  • Vehicle command (/v) now works in build mode. The vehicle can also be driven.
    In previous versions when you tried to drive a vehicle that was spawned with /v, it either caused a crash on entering or the vehicle couldn't be moved or driven.
  • When in build mode, command line doesn't react to online mode commands anymore.
    It used to cause a crash when you accidentally used a command in build mode that is only available in online mode.
  • Weapon commands (/setwep and /clearwep) were added to build mode.
    These functions can be used to set weapons which can be saved for class descriptions using the /save command.
Usage: /setwep [weapon_id] [ammo]
Usage: /clearwep

  • Quit command (/q) no longer crashes in build mode.
    Previously caused a crash.
  • Skin command (/skin) in build mode doesn't allow skin 8 to be used, because it doesn't exist.
    Previously caused a crash.


New miscellaneous commands.

  • Added 5 utility commands.
    These functions can be useful when looking for the ID of a vehicle, weapon, object etc.
    Sample of modelsearch:
/inf_modelsearch gun
(1) Found 'chromegun' at 277.
(2) Found 'minigun' at 290.
(3) Found 'minigun2' at 294.
... and 3 more.

Usage: /inf_getwepid [weapon_name]
Usage: /inf_getwepname [weapon_id]
Usage: /inf_getvehid [vehicle_name]
Usage: /inf_getmodelname [model_id]
Usage: /inf_modelsearch [model_name]

  • Savepos command (/save) also saves current skin and weapons for a class.
    If the player has more than three weapons, it also outputs a warning and only saves 3 of those weapons.
    Sample /save output:
Class = 0 12 -1022.9858 184.6826 11.2494 143.5805 14 100 25 800 30 500
AddPlayerClass(12, -1022.9858, 184.6826, 11.2494, 143.5805, 14, 100, 25, 800, 30, 500);

// custom label!
Vehicle = 204 -1025.4694 179.7530 10.9614 0.7965 16 16
CreateVehicle(204, -1025.4694, 179.7530, 10.9614, 0.7965, 16, 16); // hermes

  • Savepos command (/save) now also supports custom labels and also outputs a pawn function call.
    This makes it more useful, since the output doesn't have to be converted to a different format by the user now.


Changes related to weapons.

  • Melee weapons work properly now.
    All melee weapons now do proper damage to other players, including baseball bat, chainsaw, hammer and so on. They used to do damage very rarely on previous versions.
  • Wallglitch cannot be done anymore.
    Now you can't shoot through walls if you walk so close to it that while shooting the weapon actually goes through the wall. Now when you try to do that, you only see the animation, but no shots are made.
  • Fixed a rare crash with projectiles.
    If a person whose projectile was still in the game respawned, other players could experience a crash. This mostly happened only when returning to game from paused state where the game had to quickly process all the packets that had been sent during that time.