How to add custom stuff !
[howto] I/O functionality »

Sebastian

  • VC:MP Beta Tester
  • Something like this: hga hga hga
  • Posts: 1,163
How to add custom stuff !
« on October 16th, 2014, 10:43 PM »Last edited
Here are video tutorials about how to import and load custom objects'n'maps in MEd
https://forum.vc-mp.org/?topic=8343.0



Since VC:MP 0.4 Release Candidate was released we can test all of it's features, so this include custom weapons/objects/sprites/map icons.

But I saw that new 0.4 servers don't have custom stuff like that, so I assume that scripters have no idea about how to add them.


So I'm here to teach you ! :D



In the first video tutorial I will show you how to add custom weapons to your server !
Here we go: http://youtu.be/8NuE9pFSkgg
(click to show/hide)
1. Custom weapons


1st step: Install "7-zip" program, because you will need to archive the needed files into a .7z archive.
(you can download the program from the link in description)
2nd step: Find (or create) the weapon you want to import in your server.
(I will give you a "sniper" as example, converted by Silent Viper from Max Payne 2)
3rd step: Make sure you have all needed files from this list:


weaponname.xml
Describes the weapon and its settings, like in weapon.dat. logicalid is the same as the <weapon> specified in the filename.
weaponname_icon.png (optional, but you better add it)
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, but you better add it)
The model for the weapon. If not given, the client will use the same model as the logical weapon ID.
weaponname.txd (optional, but you better add it)
The texture for the weapon. If not given, the client will use default textures for the logical weapon ID.
stretch_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 effect that should be played when you fire.


4th step: Open "7-zip" program, and create the ".7z" archive, but we need to think a bit about it's name.


The name should have 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.
name - the name of the weapon.

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

We will use this name:   w100_s8_l28_sniper.7z
100 - because it is the first weapon in my example server.
8 - because it is part of sniper&laser class.
28 - because it is the id of the default sniper of Vice City
sniper - because it is the name of the custom weapon


5th step: Since the archive is done, you can move it to ".../server/store/weapons/...here"
6th step: Open your server, spawn the weapon with ID 100, and have fun testing it ! :D

That's all, I hope you will success ! Good luck ! ;)
Credits: Seby (me) & Stormeus (for written tutorial in forum)

Second tutorial is about adding Custom Objects to your server !
Here we go:  http://youtu.be/3RF3muBCtbk
(click to show/hide)
2. Custom objects


1st step: Make sure you have "7-zip" program installed on your computer, because you need it to archive the needed files.
Better to not remove it ever. :)
2nd step: Find (or create) the objects you want to import in your server.
(I will give you an object from SAiVC as example, so credits goes to it's developers)
3rd step: Make sure you have all needed files from this list:


objects.xml
The file that contain object's settings; you set there the .dff, .txd anc .col for that object.
Note: You need just one file like this one, because you will write there all custom objects you add.
Another note: Do not include "objects.xml" in the archive, because it need to be somewhere else in the store directory.
(.../server/store/objects/...here)
objectname.dff
The model of the custom object you want to import.
objectname.txd
The texture of the custom object.
objectname.col (if you don't add it, use <collision type="none" />)
The colision of the custom object.
It can be solid, but it's optional.


4th step: Open "7-zip" program, and create the ".7z" archive, but we need to think a bit about it's name.
The archive's name format is this:  objectname_unp.7z
Atention ! Only the ".dff" , ".txd" and ".col" files should be in the archive.
5th step: Since the archive is done, we can take care of "objects.xml".
There, like in any ".xml" file, we need a code that is recognized by VC:MP.
(watch the video to see it)
We need to set every filename and value in the right object group.

6th step: Now all are ready to be moved in your server's directory !
The "objectname_unp.7z" archive should  be moved to ".../server/store/...here"
and the "objects.xml" should be moved to ".../server/store/objects/...here"

7th step: Open your server, spawn the object with ID 6000, and have fun testing it ! :D

Note: IDs of Custom Objects starts with 6000.
(<object id="23"> in .xml means 6023)

That's all, I hope you will success ! Good luck ! ;)
Credits: Seby (me) & Thijn (for written tutorial in forum)

Third tutorial is about adding Custom Map Icons !
Here we go:  http://youtu.be/ELzttCNMzYI
(click to show/hide)
3. Custom map icons


This time you don't need "7-zip" program. :P
1st step: Find (or create) the map icons you want to import in your server.
Note: All images should be ".png", so if them are not, then you have to convert them with an Image Editor.
By the way, you can save the image as "png" using the standard "Paint" program too. Use "Save As" !
(I will give you 3 examples found on google, so all credits goes to their developers)
2nd step: Name the images.
The format of the name should be like this:   m<id>_name.png
Custom map icons starts with ID 100, so the first file should be named "m100_name.png",
second "m101_name.png",
third "m102_name.png", etc.

3th step: Now all are ready to be moved in your server's directory !
Move them to ".../server/store/mapicons/...here"
4th step: Open your server, create the markers with ID 100+, and have fun testing it ! :D

That's all, I hope you will success ! Good luck ! ;)
Credits: Seby (me)

4th tutorial is about adding Custom Sprites !
Here we go:  http://youtu.be/pMtOmOcZnWA
(click to show/hide)
4. Custom sprites (images)


This time you don't need "7-zip" program too. :P
1st step: Find (or create) the images you want to import in your server.
Sprites can't be .gif but .jpg .png
(I will give you an image ".jpg" found on google, so all credits goes to their developers)
2nd step: Name the images.
This time, the name of the images doesn't have a format, so you are free to name them as you wish.
But pay atention, you will add these images in your server calling their names.

3th step: Now move the images to the correct directory, from your server directory !
Move them to ".../server/store/sprites/...here"
4th step: Open your server, create the sprites, and have fun testing it ! :D

Some notes: To add sprites to your server, you need screen's coords. (x and y)
X for horizontal, Y for vertical.
For x=0 , y=0, means the image will be in top left, there are these coords.


That's all, I hope you will success ! Good luck ! ;)
Credits: Seby (me)

5th, and the last tutorial, is about adding Custom (static) Maps !
Here we go: http://youtu.be/mtKQ7cxi8D0
(click to show/hide)
5. Custom Maps


What am I going to explain you ??
Well, VC:MP has now the ability of creating whole new static maps that cannot be edited using scripts.
These static maps are like ".ipl" files, but with different format, that will be permanently created on map, not like objects created by CreateObject function. (<- them are removed when you are far away, and recreated when you are near them)
So if you want to add an island, better to create it using the way I will present you today, because if the island is (for e.g.) at docks (on water), and you are at North Point Mall and want to teleport to it, you will not fall in water, but you will be teleported in the right place. If you would use CreateObject to create that map, you would fall in water because the object would not be created as fast as your teleportation.

1st step: Find (or create) the static map you want to import in your server.
(I will use "Akina Hill 2.0" as example, created by SanyaSpy   )
VC:MP Static Maps can use Vice City's default objects too, but I will use a custom map to can show you that we can add much more files in one ".7z" archive, then just add them in "objects.xml".
VC:MP opens all archives located in "...server/store/...here" and just choose the respective files you write in "objects.xml".
You can set, for an object from archive "a", the texture from an object from archive "b", and the colision from an object from archive "c".

2nd step: Make sure the static map has ".ipl" files. (the ".ide" file is "optional")
If it has the ".ide" file too, then you can take from there the render distance, and flags value.
Look, I set the distance and flags value that I found in the ".ide" file.
This is what you can find in the "optional" .ide file:
ID, ModelName, TextureName, ObjectCount, DrawDist, Flags

Example:
4802, akina01, akina, 1, 299, 0

3rd step: Convert the ".ipl" file to the ".xml" file you need.
http://thijn.minelord.com/vcmp/iplConvert/
^ this is a converter made by Thijn.

You just add the code there, then save it in a file ".xml".
I will leave the link in the description. (like everytime)
Atention (only if you create a static map using custom objects): After you convert the ".ipl" file to ".xml", you should check all object IDs from there. Why ? Because developers of that map used another object IDs than you do. They made the map for single player, but you want it for multiplayer.
So you should change the object IDs with the respective IDs written in "objects.xml".

4th step: Name your map file.
There is no name format, so you are free to name it as you wish.
5th step: Now all are ready to be moved in your server's directory !
The ".xml" file should be located in: "...server/store/maps/...here"
6th step: Open your server, and take a look at your new static map ! :P

That's all, I hope you will success ! Good luck ! ;)
Credits: Seby (me)

6th tutorial is about adding Custom Skins to your server !
Here we go:  https://youtu.be/CtP8cxu89gk
(click to show/hide)
6. Custom skins


1st step: Make sure you have "7-zip" program installed on your computer, because you need it to archive the needed files.
Better to not remove it ever. :)
2nd step: Find (or create) the skin/player model you want to import in your server.
(I will give you a Fat Tommy skin as example, so credits goes to MauriceVC2002)
3rd step: Make sure you have all needed files from this list:


objects.xml
The file that contain skin's settings.
objectname.dff
The model of the custom skin you want to import.
objectname.txd
The texture of the custom skin.



4th step: Open skinname.xml and write the afferent code information:
Code: [Select]
<?xml version="1.0" encoding="ASCII"?>
<skin>
 <basic>
  <name></name>
  <animgroup></animgroup>
  <animfile></animfile> <!--not really used -->
  <overrideanims></overrideanims>
 </basic>
</skin>
name = simply your skin name; in our case: Fat Tommy
animgroup and animfiles can be found in VC/data/default.ide
Format:
# modelId, ModelName, TxdName, Default pedtype,
# animGroup(man,cop,woman,fatwoman,sexywoman...), cars can drive mask(in hex),
# animfile, radio1, radio2

We gonna pick the animgroup “fatman” and animfile “sunbathe”
20, HMOBE, HMOBE, CIVMALE, STAT_TOURIST, fatman, 437, sunbathe, 7,5
overrideanims is a bool (true/false) – it overrides/not the default Tommy anims.
(if you gonna override them, player won’t be able to move left/right anymore, as it will go just forward/backward anyway)
5th step: Open "7-zip" program, and create the ".7z" archive, but we need to think a bit about it's name.
The archive's name format is this:  z<skinID>_skinname.7z
Atention ! Custom skin IDs start from 200 and go up to 299 (iirc)
6th step: Now all are ready to be moved in your server's directory !
The "z<skinID>_skinname.7z" archive should  be moved to ".../server/store/...here"
and the "objects.xml" should be moved to ".../server/store/skins/...here"

7th step: Open your server, try your custom skin (id), and have fun testing it ! :D

That's all, I hope you will success ! Good luck ! ;)
Credits: Sebastian (me)



I hope you will success ! Good luck !

Angelo

  • Newbie
  • Posts: 5

Sk

  • Jr. Member
  • Posts: 67

Sebastian

  • VC:MP Beta Tester
  • Something like this: hga hga hga
  • Posts: 1,163
Re: ▌Video ▌How to add custom stuff !
« Reply #3, on November 6th, 2014, 06:58 PM »
Due to the logic and understable limit of 20000 characters for a post, I couldn't update the first post. But I will write & copy & paste here:


After many requests for the .xml files, I have decided to post them here, so everybody can get them whenever want. ;)

1. Custom Weapon
(click to show/hide)
<?xml version="1.0" encoding="ASCII"?>
<weapon>
   <basic>
      <name>Sniper</name>
      <logicalid>28</logicalid>
   </basic>

   <properties>
      <type>instant_hit</type>
      <range>100.000000</range>
      <firerate>180</firerate>
      <reload>1401</reload>
      <clipsize>7</clipsize>
      <damage>125</damage>
      <speed>-1.000000</speed>
      <radius>-1.000000</radius>
      <lifespan>-1.000000</lifespan>
      <spread>-1.000000</spread>
      <offset>
         <x>0.000000</x>
         <y>0.660000</y>
         <z>0.050000</z>
      </offset>
      <animgroup>unarmed</animgroup>
      <animstart>2</animstart>
      <animend>8</animend>
      <animfire>3</animfire>
      <anim2start>0</anim2start>
      <anim2end>10</anim2end>
      <anim2fire>3</anim2fire>
      <animbreak>99</animbreak>
      <modelindex>286</modelindex>
      <model2index>-1</model2index>
      <flags>00000100</flags>
      <weaponslot>8</weaponslot>
   </properties>
</weapon>

2. Custom Object  (SA Beach House)
(click to show/hide)
<?xml version="1.0" encoding="ASCII"?>
<objectlist>
   <object id="0">
      <flags value="0" />
      <texture path="sanmonbhut1_law2.txd" />
      <collision path="sanmonbhut1_law2.col" />   
      <model path="sanmonbhut1_law2.dff" distance="200" />
   </object>
</objectlist>

3. Custom (static) Maps
(click to show/hide)
<?xml version="1.0" encoding="ASCII"?>
<objectlist>
   <object id="0">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision path="akina01.col" />
      <model path="akina01.dff" distance="299" />
   </object>
   <object id="1">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision path="akina02.col" />
      <model path="akina02.dff" distance="299" />
   </object>
   <object id="2">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision path="akina03.col" />
      <model path="akina03.dff" distance="299" />
   </object>
   <object id="3">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision path="akina04.col" />
      <model path="akina04.dff" distance="299" />
   </object>
   <object id="4">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision path="akina05.col" />
      <model path="akina05.dff" distance="299" />
   </object>
   <object id="5">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision path="akina06.col" />
      <model path="akina06.dff" distance="299" />
   </object>
   <object id="6">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision path="akina07.col" />
      <model path="akina07.dff" distance="299" />
   </object>
   <object id="7">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision path="akina08.col" />
      <model path="akina08.dff" distance="299" />
   </object>
   <object id="8">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision path="akina09.col" />
      <model path="akina09.dff" distance="299" />
   </object>
   <object id="9">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision path="akina10.col" />
      <model path="akina10.dff" distance="299" />
   </object>
   <object id="10">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision path="akina11.col" />
      <model path="akina11.dff" distance="299" />
   </object>
   <object id="11">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision type="none" />   
      <model path="LODakina01.dff" distance="20000" />
   </object>
   <object id="12">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision type="none" />   
      <model path="LODakina02.dff" distance="20000" />
   </object>
   <object id="13">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision type="none" />   
      <model path="LODakina03.dff" distance="20000" />
   </object>
   <object id="14">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision type="none" />   
      <model path="LODakina04.dff" distance="20000" />
   </object>
   <object id="15">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision type="none" />   
      <model path="LODakina05.dff" distance="20000" />
   </object>
   <object id="16">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision type="none" />   
      <model path="LODakina06.dff" distance="20000" />
   </object>
   <object id="17">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision type="none" />   
      <model path="LODakina07.dff" distance="20000" />
   </object>
   <object id="18">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision type="none" />   
      <model path="LODakina08.dff" distance="20000" />
   </object>
   <object id="19">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision type="none" />   
      <model path="LODakina09.dff" distance="20000" />
   </object>
   <object id="20">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision type="none" />   
      <model path="LODakina10.dff" distance="20000" />
   </object>
   <object id="21">
      <flags value="0" />
      <texture path="akina.txd" />
      <collision type="none" />   
      <model path="LODakina11.dff" distance="20000" />
   </object>
</objectlist>
(click to show/hide)
<?xml version="1.0" encoding="ASCII" ?>
<itemlist>
   <item model="6000" name="akina01">
      <position x="797.989" y="-899.052" z="99.527" />
      <rotation format="axisangle" x="7.50663908266e-06" y="7.50664904244e-06" z="-0.707106312054" angle="-0.707107250239" />
   </item>
   <item model="6001" name="akina02">
      <position x="836.913" y="-1089.231" z="118.779" />
      <rotation format="axisangle" x="7.50663908266e-06" y="7.50664904244e-06" z="-0.707106312054" angle="-0.707107250239" />
   </item>
   <item model="6002" name="akina03">
      <position x="851.047" y="-1403.575" z="119.664" />
      <rotation format="axisangle" x="7.50663908266e-06" y="7.50664904244e-06" z="-0.707106312054" angle="-0.707107250239" />
   </item>
   <item model="6003" name="akina04">
      <position x="627.768" y="-877.659" z="76.778" />
      <rotation format="axisangle" x="7.50663908266e-06" y="7.50664904244e-06" z="-0.707106312054" angle="-0.707107250239" />
   </item>
   <item model="6004" name="akina05">
      <position x="643.923" y="-1116.631" z="118.48" />
      <rotation format="axisangle" x="7.50663908266e-06" y="7.50664904244e-06" z="-0.707106312054" angle="-0.707107250239" />
   </item>
   <item model="6005" name="akina06">
      <position x="645.643" y="-1425.893" z="92.86" />
      <rotation format="axisangle" x="7.50663908266e-06" y="7.50664904244e-06" z="-0.707106312054" angle="-0.707107250239" />
   </item>
   <item model="6006" name="akina07">
      <position x="462.916" y="-881.026" z="41.399" />
      <rotation format="axisangle" x="7.50663908266e-06" y="7.50664904244e-06" z="-0.707106312054" angle="-0.707107250239" />
   </item>
   <item model="6007" name="akina08">
      <position x="519.799" y="-1116.273" z="76.44" />
      <rotation format="axisangle" x="7.50663908266e-06" y="7.50664904244e-06" z="-0.707106312054" angle="-0.707107250239" />
   </item>
   <item model="6008" name="akina09">
      <position x="390.964" y="-1120.047" z="60.804" />
      <rotation format="axisangle" x="7.50663908266e-06" y="7.50664904244e-06" z="-0.707106312054" angle="-0.707107250239" />
   </item>
   <item model="6009" name="akina10">
      <position x="524.366" y="-1366.789" z="84.883" />
      <rotation format="axisangle" x="7.50663908266e-06" y="7.50664904244e-06" z="-0.707106312054" angle="-0.707107250239" />
   </item>
   <item model="6010" name="akina11">
      <position x="393.184" y="-1375.16" z="67.559" />
      <rotation format="axisangle" x="8.04703153408e-06" y="8.04704221085e-06" z="-0.707106312048" angle="-0.707107250233" />
   </item>
   <item model="6011" name="lodakina01">
      <position x="797.989" y="-899.052" z="99.527" />
      <rotation format="axisangle" x="0" y="0" z="0.707106312094" angle="0.707107250279" />
   </item>
   <item model="6012" name="lodakina02">
      <position x="836.913" y="-1089.23" z="118.779" />
      <rotation format="axisangle" x="0" y="0" z="0.707106312094" angle="0.707107250279" />
   </item>
   <item model="6013" name="lodakina03">
      <position x="851.047" y="-1403.58" z="119.664" />
      <rotation format="axisangle" x="0" y="0" z="0.707106312094" angle="0.707107250279" />
   </item>
   <item model="6014" name="lodakina04">
      <position x="627.768" y="-877.659" z="76.778" />
      <rotation format="axisangle" x="0" y="0" z="0.707106312094" angle="0.707107250279" />
   </item>
   <item model="6015" name="lodakina05">
      <position x="643.923" y="-1116.63" z="118.48" />
      <rotation format="axisangle" x="0" y="0" z="0.707106312094" angle="0.707107250279" />
   </item>
   <item model="6016" name="lodakina06">
      <position x="645.643" y="-1425.89" z="92.86" />
      <rotation format="axisangle" x="0" y="0" z="0.707106312094" angle="0.707107250279" />
   </item>
   <item model="6017" name="lodakina07">
      <position x="462.916" y="-881.026" z="41.399" />
      <rotation format="axisangle" x="0" y="0" z="0.707106312094" angle="0.707107250279" />
   </item>
   <item model="6018" name="lodakina08">
      <position x="519.799" y="-1116.27" z="76.44" />
      <rotation format="axisangle" x="0" y="0" z="0.707106312094" angle="0.707107250279" />
   </item>
   <item model="6019" name="lodakina09">
      <position x="390.964" y="-1120.05" z="60.804" />
      <rotation format="axisangle" x="0" y="0" z="0.707106312094" angle="0.707107250279" />
   </item>
   <item model="6020" name="lodakina10">
      <position x="524.366" y="-1366.79" z="84.883" />
      <rotation format="axisangle" x="0" y="0" z="0.707106312094" angle="0.707107250279" />
   </item>
   <item model="6021" name="lodakina11">
      <position x="393.184" y="-1375.16" z="67.559" />
      <rotation format="axisangle" x="0" y="0" z="0.707106312094" angle="0.707107250279" />
   </item>
</itemlist>

MacTavish

  • Hero Member
  • Nicks( Kusanagi, Beztone, RATHORE )
  • Posts: 811

Grand Hunting Project
Join #SLC, #KAKAN, #Doom, #GHP @LUnet

Retired VC:MP Player/Scripter :P

Honey

  • Full Member
  • Posts: 136

aadb

  • Newbie
  • Posts: 10
Re: ▌Video ▌How to add custom stuff !
« Reply #6, on January 4th, 2015, 07:03 PM »Last edited on January 4th, 2015, 07:17 PM
Thanks for the tutorials, i tried to get the custom map things working but without any succes
Underneath my maps and objects xml code allong with my files.

Code: [Select]
<?xml version="1.0" encoding="ASCII"?>
<objectlist>
    <object id="0">
        <flags value="0" />
        <collision path="roadp1.col" />
        <texture path="roadp1.txd" />
        <model path="road_p1_1.dff" distance="250" />
</object>
  <object id="1">
        <flags value="0" />
        <collision path="roadp1.col" />
        <texture path="roadp1.txd" />
        <model path="road_p2_1.dff" distance="250" />
</object>
<object id="2">
        <flags value="0" />
        <collision path="roadp1.col" />
        <texture path="roadp1.txd" />
        <model path="road_p3_1.dff" distance="250" />
</object>
<object id="3">
        <flags value="0" />
        <collision path="roadp1.col" />
        <texture path="roadp1.txd" />
        <model path="road_p2_2.dff" distance="250" />
</object>
<object id="4">
        <flags value="0" />
        <collision path="roadp1.col" />
        <texture path="roadp1.txd" />
        <model path="road_p4.dff" distance="250" />
</object>
<object id="5">
        <flags value="0" />
        <collision path="roadp1.col" />
        <texture path="roadp1.txd" />
        <model path="road_p5_1.dff" distance="250" />
</object>
<object id="6">
        <flags value="0" />
        <collision path="roadp1.col" />
        <texture path="roadp1.txd" />
        <model path="road_p6_1.dff" distance="250" />
</object>
</objectlist>

Code: [Select]
<?xml version="1.0" encoding="ASCII" ?>
<itemlist>
<item model="6000" name="road_p1_1">
<position x="-1897.47" y="-1188.56" z="12.1842" />
<rotation format="axisangle" x="1.0" y="-1" z="" angle="" />
</item>
<item model="6000" name="road_p1_1">
<position x="-2159.29" y="-1123.6" z="12.1842" />
<rotation format="axisangle" x="1.0" y="-1" z="" angle="" />
</item>
<item model="6000" name="road_p1_1">
<position x="-2159.29" y="-1172.82" z="12.1842" />
<rotation format="axisangle" x="1.0" y="-1" z="" angle="" />
</item>
<item model="6000" name="road_p1_1">
<position x="-1995.9" y="-1123.6" z="12.1842" />
<rotation format="axisangle" x="1.0" y="-1" z="" angle="" />
</item>
<item model="6000" name="road_p1_1">
<position x="-1995.9" y="-1172.82" z="12.1842" />
<rotation format="axisangle" x="1.0" y="-1" z="" angle="" />
</item>
<item model="6000" name="road_p1_1">
<position x="-1897.47" y="-1237.78" z="12.1842" />
<rotation format="axisangle" x="1.0" y="-1" z="" angle="" />
</item>
<item model="6000" name="road_p1_1">
<position x="-2237.04" y="-1172.82" z="12.1842" />
<rotation format="axisangle" x="1.0" y="-1" z="" angle="" />
</item>
<item model="6002" name="road_p3_1">
<position x="-2181.92" y="-1115.73" z="17.1055" />
<rotation format="axisangle" x="1.0" y="-1" z="" angle="" />
</item>
<item model="6002" name="road_p3_1">
<position x="-2016.57" y="-1115.73" z="17.1055" />
<rotation format="axisangle" x="1.0" y="-1" z="" angle="" />
</item>
<item model="6003" name="road_p2_2">
<position x="-2058.4" y="-1115.73" z="12.1842" />
<rotation format="axisangle" x="1.0" y="-1" z="" angle="" />
</item>
<item model="6003" name="road_p2_2">
<position x="-2198.16" y="-1229.9" z="12.1842" />
<rotation format="axisangle" x="1.0" y="-1" z="" angle="" />
</item>
<item model="6003" name="road_p2_2">
<position x="-2045.6" y="-1115.73" z="12.1842" />
<rotation format="axisangle" x="1.0" y="-1" z="" angle="" />
</item>
<item model="6004" name="road_p4">
<position x="-1939.3" y="-1115.73" z="12.1842" />
<rotation format="axisangle" x="1.0" y="-1" z="" angle="" />
</item>
<item model="6005" name="road_p5_1">
<position x="-1897.47" y="-1156.08" z="12.1842" />
<rotation format="axisangle" x="1.0" y="-1" z="" angle="" />
</item>
<item model="6001" name="road_p2_1">
<position x="-2171.59" y="-1217.6" z="12.1842" />
<rotation format="axisangle" x="0.707107" y="-1" z="" angle="" />
</item>
<item model="6000" name="road_p1_1">
<position x="-2089.4" y="-1115.73" z="12.1842" />
<rotation format="axisangle" x="0.707107" y="-1" z="" angle="" />
</item>
<item model="6001" name="road_p2_1">
<position x="-2008.2" y="-1078.82" z="12.1842" />
<rotation format="axisangle" x="0.0" y="-1" z="" angle="" />
</item>
<item model="6001" name="road_p2_1">
<position x="-2224.74" y="-1128.03" z="12.1842" />
<rotation format="axisangle" x="0.707107" y="-1" z="" angle="" />
</item>
<item model="6001" name="road_p2_1">
<position x="-2146.98" y="-1078.82" z="12.1842" />
<rotation format="axisangle" x="0.707107" y="-1" z="" angle="" />
</item>
<item model="6001" name="road_p2_1">
<position x="-1909.78" y="-1128.03" z="12.1842" />
<rotation format="axisangle" x="0.0" y="-1" z="" angle="" />
</item>
<item model="6001" name="road_p2_1">
<position x="-2008.2" y="-1217.6" z="12.1842" />
<rotation format="axisangle" x="-0.707107" y="-1" z="" angle="" />
</item>
<item model="6001" name="road_p2_1">
<position x="-2048.56" y="-1242.21" z="12.1842" />
<rotation format="axisangle" x="-0.707107" y="-1" z="" angle="" />
</item>
<item model="6001" name="road_p2_1">
<position x="-2048.56" y="-1282.56" z="12.1842" />
<rotation format="axisangle" x="-1.0" y="-1" z="" angle="" />
</item>
<item model="6001" name="road_p2_1">
<position x="-1909.78" y="-1282.56" z="12.1842" />
<rotation format="axisangle" x="-0.707107" y="-1" z="" angle="" />
</item>
<item model="6002" name="road_p3_1">
<position x="-2136.65" y="-1115.73" z="17.1055" />
<rotation format="axisangle" x="0.0" y="-1" z="" angle="" />
</item>
<item model="6002" name="road_p3_1">
<position x="-1971.29" y="-1115.73" z="17.1055" />
<rotation format="axisangle" x="0.0" y="-1" z="" angle="" />
</item>
<item model="6001" name="road_p2_1">
<position x="-2224.74" y="-1217.6" z="12.1842" />
<rotation format="axisangle" x="1.0" y="-1" z="" angle="" />
</item>
<item model="6000" name="road_p1_1">
<position x="-2003.77" y="-1294.86" z="12.1842" />
<rotation format="axisangle" x="0.707107" y="-1" z="" angle="" />
</item>
<item model="6000" name="road_p1_1">
<position x="-2102.2" y="-1066.52" z="12.1842" />
<rotation format="axisangle" x="0.707107" y="-1" z="" angle="" />
</item>
<item model="6000" name="road_p1_1">
<position x="-2052.99" y="-1066.52" z="12.1842" />
<rotation format="axisangle" x="0.707107" y="-1" z="" angle="" />
</item>
<item model="6000" name="road_p1_1">
<position x="-1954.56" y="-1294.86" z="12.1842" />
<rotation format="axisangle" x="0.707107" y="-1" z="" angle="" />
</item>
<item model="6000" name="road_p1_1">
<position x="-1864.79" y="-1192.21" z="14.8176" />
<rotation format="axisangle" x="0.707107" y="-1" z="" angle="" />
</item>
<item model="6006" name="road_p6_1">
<position x="-1817.5" y="-1192.69" z="18.0786" />
<rotation format="axisangle" x="1.0" y="-1" z="" angle="" />
</item>
</itemlist>

Files to download
https://www.sendspace.com/file/i3z3q4

If anyone could help me out to get these files working or tell me what i am doing wrong or maybe a wrong file format i dont know

Thanks in advance

EDIT: filling in the """ with 0.0 at the angle above doesnt help either same for the Z="" filling in with 0.0 so please help me out.

Sebastian

  • VC:MP Beta Tester
  • Something like this: hga hga hga
  • Posts: 1,163
Re: ▌Video ▌How to add custom stuff !
« Reply #7, on January 4th, 2015, 11:21 PM »Last edited on January 4th, 2015, 11:27 PM
First of all, when you add custom stuff, I suggest you to enable the debugger. You can do it by using this command: "/setconfig game_showdebug 1".
It will show you if all custom stuff is loaded or not. And if it is not loaded, you will get messages about the problem.

After I tried your map, I have seen that it can't read the Z position, so this means you cannot just leave emty that parameter. Fill it with "0.0".
Then I retried the map, and there was no error message, but the map still didn't appear.

Why ? Because you loaded everyobject with a .col that had multiple .col inside.... so this will never work. You have to name the .col you want, from the main .col.
And you are doing it by using this syntax:
Code: [Select]
<collision patch="main.col" name="forModel" />

main.col = main colision file,
forModel = the colision needed for the model. (and exists in the main.col)

After I did that, tried to load the map again, but still no success... The objects are not appearing.
I set the first object to be without a colision, and it appeared.
(you can set it by changing "path" to "type", and the name of colision to "none". Like this: <collision type="none" />)

So... I don't know what is really happening. Maybe the colision is corrupted or something ?
There is still a chance to make it work: export the colisions from the roadp1.col, and load them one by one.
(you can do it using COL Editor 2)

EDIT: Just tried, and it still doesn't work. Something is wrong with the collisions. No idea what you can do.
You can try it in single player first, to see if it works there. (but I very doubt it)

aadb

  • Newbie
  • Posts: 10
Re: ▌Video ▌How to add custom stuff !
« Reply #8, on January 5th, 2015, 05:39 PM »Last edited on January 5th, 2015, 07:18 PM
Thanks for the quick reply,

i will re- export the collision files and see if that solves the problem maybe a wrong collision version or something.

Hope that solves it if not i really need to check what's wrong with my models,

Will post my progress back here if i get it working.

EDIT: replaced all the colfiles with dummy's of existing vice city objects and now they all show except that all the coordinates are all messed up ( maybe my mistake with the pivots in 3dsmax by resetting some of them) 

Hopefully by rebuilding the whole model and re-exporting all the models again might get it working at least all the stuff is loaded and showing the main problem is indeed the colfiles.  I am using Colleditor 2 , and 3dsmax to export them but maybe back to the old method and tools to get the colfiles working again. Will keep you updated once i finished all of this.

Sebastian

  • VC:MP Beta Tester
  • Something like this: hga hga hga
  • Posts: 1,163

aadb

  • Newbie
  • Posts: 10
Re: ▌Video ▌How to add custom stuff !
« Reply #10, on January 5th, 2015, 09:17 PM »Last edited on January 5th, 2015, 09:19 PM
Sorry for the double post but i guess its better so it will be noticed.
Got all the objects now working but just got one problem now which i had earlier when disabling all the objects.

I have been converting the IPL export from MAP-IO/ 3dsmax to XML format but somehow it is getting totally messed up
the converter i have been using is the one you also use http://thijn.minelord.com/vcmp/iplConvert/

underneath is my original output from 3dsmax, when i convert it using that site the rotations, Z values etc are left blank or converted the wrong way.

Code: [Select]
6000, road_p1_1, 0, -2237.04, -1172.82, 10.511, 0.0, 0.0, 0.0, 1.0, -1
6000, road_p1_1, 0, -2159.29, -1172.82, 10.511, 0.0, 0.0, 0.0, 1.0, -1
6000, road_p1_1, 0, -2159.28, -1123.6, 10.511, 0.0, 0.0, 0.0, 1.0, -1
6000, road_p1_1, 0, -1954.56, -1294.86, 10.511, 0.0, 0.0, -0.707107, 0.707107, -1
6000, road_p1_1, 0, -2089.4, -1115.73, 10.511, 0.0, 0.0, -0.707107, 0.707107, -1
6000, road_p1_1, 0, -2102.2, -1066.52, 10.511, 0.0, 0.0, -0.707107, 0.707107, -1
6000, road_p1_1, 0, -2052.99, -1066.52, 10.511, 0.0, 0.0, -0.707107, 0.707107, -1
6000, road_p1_1, 0, -2003.77, -1294.86, 10.511, 0.0, 0.0, -0.707107, 0.707107, -1
6000, road_p1_1, 0, -1897.47, -1188.56, 10.511, 0.0, 0.0, 0.0, 1.0, -1
6000, road_p1_1, 0, -1995.9, -1123.6, 10.511, 0.0, 0.0, 0.0, 1.0, -1
6000, road_p1_1, 0, -1995.9, -1172.82, 10.511, 0.0, 0.0, 0.0, 1.0, -1
6000, road_p1_1, 0, -1897.47, -1237.78, 10.511, 0.0, 0.0, 0.0, 1.0, -1
6005, road_p5_1, 0, -1897.47, -1156.08, 12.1842, 0.0, 0.0, 0.0, 1.0, -1
6003, road_p2_2, 0, -2045.6, -1115.73, 12.1842, 0.0, 0.0, -0.707107, 0.707107, -1
6004, road_p4, 0, -1940.78, -1115.73, 12.1842, 0.0, 0.0, -0.707107, 0.707107, -1
6003, road_p2_2, 0, -2058.4, -1115.73, 12.1842, 0.0, 0.0, -0.707107, 0.707107, -1
6003, road_p2_2, 0, -2198.16, -1229.9, 12.1842, 0.0, 0.0, -0.707107, 0.707107, -1
6006, road_p6_1, 0, -1824.88, -1192.69, 12.8814, 0.0, 0.0, -0.707107, 0.707107, -1
6006, road_p6_1, 0, -1864.79, -1192.21, 13.1444, 0.0, 0.0, -0.707107, 0.707107, -1
6002, road_p3_1, 0, -2016.57, -1115.73, 17.1055, 0.0, 0.0, -0.707107, 0.707107, -1
6002, road_p3_1, 0, -1971.29, -1115.73, 17.1055, 0.0, 0.0, 0.707107, 0.707107, -1
6002, road_p3_1, 0, -2136.65, -1115.73, 17.1055, 0.0, 0.0, 0.707107, 0.707107, -1
6002, road_p3_1, 0, -2181.92, -1115.73, 17.1055, 0.0, 0.0, -0.707107, 0.707107, -1
6001, road_p2_1, 0, -2008.2, -1078.82, 12.1842, 0.0, 0.0, 0.0, 1.0, -1
6001, road_p2_1, 0, -2224.74, -1128.03, 12.1842, 0.0, 0.0, -0.707107, 0.707107, -1
6001, road_p2_1, 0, -2048.56, -1242.21, 12.1842, 0.0, 0.0, -0.707107, 0.707107, -1
6001, road_p2_1, 0, -1909.78, -1128.03, 12.1842, 0.0, 0.0, 0.0, 1.0, -1
6001, road_p2_1, 0, -2048.56, -1282.56, 12.1842, 0.0, 0.0, 1.0, 0.0, -1
6001, road_p2_1, 0, -1909.78, -1282.56, 12.1842, 0.0, 0.0, 0.707107, 0.707107, -1
6001, road_p2_1, 0, -2146.98, -1078.82, 12.1842, 0.0, 0.0, -0.707107, 0.707107, -1
6001, road_p2_1, 0, -2008.2, -1217.6, 12.1842, 0.0, 0.0, 0.707107, 0.707107, -1
6001, road_p2_1, 0, -2171.59, -1217.6, 12.1842, 0.0, 0.0, 0.707107, 0.707107, -1
6001, road_p2_1, 0, -2224.74, -1217.6, 12.1842, 0.0, 0.0, 1.0, 0.0, -1

This is what it should look like


Thanks for now, i hope to get the track sorted cause it now seems to be the XML which is trowing all the stuff arround and not on the right positions or rotations

PS: here are my new files if you want to check it out:
https://www.sendspace.com/file/yp4ibx

Sebastian

  • VC:MP Beta Tester
  • Something like this: hga hga hga
  • Posts: 1,163
Re: ▌Video ▌How to add custom stuff !
« Reply #11, on January 5th, 2015, 09:47 PM »Last edited on January 6th, 2015, 01:28 PM
Well, first of all you should know somehting: thijn's converter is only for VC ".ipl" to VC:MP 0.4 ".xml".
This is the format used in Vice City for iteam placement:
Quote
ID, ModelName, Interior, PosX, PosY, PosZ, ScaleX, ScaleY, ScaleZ, RotX, RotY, RotZ, RotW
And, from what I see, your .ipl doesn not meet all parameters.

You should add the missing parameters in your ipl.
So for example this:
Code: [Select]
6000, road_p1_1, 0, -2237.04, -1172.82, 10.511, 0.0, 0.0, 0.0, 1.0, -1

will become this:
Code: [Select]
6000, road_p1_1, 0, -2237.04, -1172.82, 10.511, 1, 1, 1, 0.0, 0.0, 0.0, 1.0

Instead of that ScaleX,Y,Z you can use value 1 for each one.
And... you should remove that -1 from the end of line.

Try this, and it should work.

PS: The scale is not counted, so just give a random value.

aadb

  • Newbie
  • Posts: 10
Re: ▌Video ▌How to add custom stuff !
« Reply #12, on January 6th, 2015, 05:42 PM »Last edited on January 6th, 2015, 06:18 PM
Thanks my racetrack is now fully working, forgot to put VC export mode on in 3dsmax so the IPL lines were in gta-sa format.

Will post some screenshots later on.

Because of its simple design i can now make endless racetracks and just export the IPL and convert them.

Screenshot

Sebastian

  • VC:MP Beta Tester
  • Something like this: hga hga hga
  • Posts: 1,163
Re: ▌Video ▌How to add custom stuff !
« Reply #13, on January 6th, 2015, 06:21 PM »
woah :D looks nice.
waiting for new screens, with new projects. :)

Good luck, and welcome to Vice City Multiplayer 0.4 !

aadb

  • Newbie
  • Posts: 10
Re: ▌Video ▌How to add custom stuff !
« Reply #14, on January 6th, 2015, 07:45 PM »
Quote from sseebbyy on January 6th, 2015, 06:21 PM
woah :D looks nice.
waiting for new screens, with new projects. :)

Good luck, and welcome to Vice City Multiplayer 0.4 !
Hope to get back into modding again maybe a topic of map releases is something people would like