Custom Files: Difference between revisions

From Vice City Multiplayer
Jump to navigation Jump to search
Caution icon
This wiki is using an old backup from 2020
Some information may be old/missing
No edit summary
No edit summary
Line 144: Line 144:


For sniper rifles and RPGs; the texture used for the scope when zoomed in. If not given, the client will use default scopes.
For sniper rifles and RPGs; the texture used for the scope when zoomed in. If not given, the client will use default scopes.
'''gunshot.wav (optional)'''
The sound when weapon shooting. If not given, the client will use default sound.


[[Category:Server_Documentation]]
[[Category:Server_Documentation]]

Revision as of 06:54, 7 February 2015

Sprite

Place your images inside the folder <root>/store/sprites/

e.g. /store/sprites/Filename.png

Then use the function CreateSprite in your script like so:

CreateSprite("Filename.png", x, y, rX, rY, rotation, alpha)

Maps

Inside your root server folder create the following folders:

<root>/store/maps

<root>/store/objects


Inside the maps folder place an xml file with any name you want with the following structure:

<?xml version="1.0" encoding="ASCII" ?>
<itemlist>	
	<item model="6000" name="drugstoreint">
		<position x="-856.7597046" y="-79.71799469" z="12.73265266" />
		<rotation format="axisangle" x="0.0" y="0.0" z="0.0" angle="1.0" />
	</item>

	<item model="6001" name="drugstoreext">
		<position x="-856.3429565" y="-79.98773956" z="12.64423846" />
		<rotation format="axisangle" x="0.0" y="0.0" z="0.0" angle="1.0" />
	</item>
</itemlist>

The IPL files have the following structure:

1474, drugstoreint, 0, -856.7597046, -79.71799469, 12.73265266, 1, 1, 1, 0, 0, 0, 1

model name (useless) x y z (useless) (useless) (useless) rot.x rot.y rot.z rot.angle

Objects

Custom object models start with ID 6000.

Create a file called objects.xml in the objects folder with the following structure:

<?xml version="1.0" encoding="ASCII"?>
<objectlist>
	<object id="0">
		<flags value="0" />
		<collision path="drugstoreint.col" />
		<texture path="chem2.txd" />
		<model path="drugstoreint.dff" distance="350" />
	</object>
	<object id="1">
		<flags value="0" />
		<collision path="drugstoreext.col" />
		<texture path="chem.txd" />
		<model path="drugstoreext.dff" distance="350" />
	</object>
</objectlist>

After you've done all that, zip up your col, diff and txd files using 7zip. The file extension must be .7z

Place the .7z with a filename like <somename>_unp.7z in the store folder.

You can also forget the map file and use the custom model IDs (6000+) inside your script.

Weapons

The weapons file is same as MVL(Maxo's Vehicle Loader), so you can use the mod you find on the internet.

Create a new 7-Zip (7z) archive in <root>/store/weapons with a filename in this format:

w<id>_s<slot>_l<weapon>_name.7z

<id> - starting from 100 and increasing with each weapon you add; the ID used by the weapon in-game.

<slot> - the weapon slot the weapon uses, with 0 being fist, 1 being melee, etc.

<weapon> - the ID of the weapon your custom weapon behaves like; putting 6 in here will make your weapon behave like a baseball bat.

Note: If <weapon> is 81, it will act as a hat, and the player will use fists for melee.


The contents of the file are as follows:

weaponname.xml

Describes the weapon and its settings, like in weapon.dat. logicalid is the same as the <weapon> specified in the filename. The following describes a pike used in the public beta server that acts as a baseball bat. If you are specifying a firearm, you will need to modify this.

<?xml version="1.0" encoding="ASCII"?>
<weapon>
	<basic>
		<name>Pike</name>
		<logicalid>6</logicalid>
	</basic>

	<properties>
		<type>melee</type>
		<range>2.000000</range>
		<firerate>450</firerate>
		<reload>100</reload>
		<clipsize>1000</clipsize>
		<damage>21</damage>
		<speed>-1.000000</speed>
		<radius>0.800000</radius>
		<lifespan>-1.000000</lifespan>
		<spread>-1.000000</spread>
		<offset>
			<x>0.100000</x>
			<y>1.800000</y>
			<z>0.300000</z>
		</offset>
		<animgroup>baseball</animgroup>
		<animstart>5</animstart>
		<animend>20</animend>
		<animfire>16</animfire>
		<anim2start>3</anim2start>
		<anim2end>17</anim2end>
		<anim2fire>11</anim2fire>
		<animbreak>99</animbreak>
		<modelindex>-1</modelindex>
		<model2index>-1</model2index>
		<flags>00102000</flags>
		<weaponslot>1</weaponslot>
	</properties>
</weapon>

weaponname_icon.png (optional)

The icon for the weapon that will be used in-game. If not specified, a blank icon is used.

animgroup.ifp (optional)

The animation group file used for the weapon. If not given, the client will use the default animation group provided by Vice City.

weaponname.dff (optional)

The model for the weapon. If not given, the client will use the same model as the logical weapon ID, i.e. the baseball bat in this example.

weaponname.txd (optional)

The texture for the weapon. If not given, the client will use default textures for the logical weapon ID.

scope.png (optional)

For sniper rifles and RPGs; the texture used for the scope when zoomed in. If not given, the client will use default scopes.

gunshot.wav (optional) The sound when weapon shooting. If not given, the client will use default sound.