Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Sebastian

#1186
I thought Diaz's skin replaced a skin that appeared twice, but it replaced a kin that appears only once.
In left you can see the old Skin ID 106, and in right the new one (Diaz):


I suggest you to re-add the old skin with ID 106, and Diaz's skin to replace the skin with ID 130, because ID 130 and ID 171 are exactly the same.
#1187
Support / Re: x64bit Plugins Wierd Error
Oct 19, 2014, 07:20 PM
Quote from: KraTO$ on Oct 19, 2014, 03:42 PMI just Installed 64bit Windows 10 Preview And Its Nice...

OFF-TOPIC: Is it stable enough ? I like the new features, looks better.
#1188
In the old forum we had a board where we could post the bugs and crashes we find, but here no one added it.
I'm waiting for such a board.
#1189
Will death messages remove ever ? Can't see that.
#1190
Snippet Showroom / Re: Hotkeys system :)
Oct 19, 2014, 09:32 AM
Actually, I believe  they will learn in both ways. ;)
I was wondering when someone will post such a script. It is more like a Speed-Boost instead of Nitro.  :D
Good job !
#1191
General Discussion / Re: VCMP 0.3Z server
Oct 17, 2014, 02:47 PM
Check VC:MP 0.3 board from this link: http://forum.vicecitymultiplayer.com/index.php

By the way, I suggest you to use VC:MP 0.4 instead, because it is much more stable, synced and featured.
You can do many more things in 0.4 than in 0.3. :)
#1192
Would be better if you make the paint command to change both colors of the vehicle. :)
Anyway, good job.
#1193
General Discussion / Re: Analyzing asi file
Oct 17, 2014, 12:17 PM
SCM codes, which are used by CLEO.asi, are not loaded anymore by VC:MP.
(maxorator just disabled them)
What this means ? You can't run CLEO scripts anymore. ;)
#1194
Snippet Showroom / [ CMD ] Animations' Pack !
Oct 16, 2014, 09:52 PM
I made a command that contains all "needed" animations for players.
(at least I made it good enough for me, but I wanted to share it with you)

Animations' names: stop, watcha, lean, talk, wave, die^, fall^, fallback^, oo, apply, bu!, arg^, carwback, wback, elbow^, rollback, boss, crawling, rollinfront, falling, roll, beware, idk, look, dumb, aim^, drown, handsup, wut, fu, phone, sit, stand, sell, hm?, onfoot, db^, heal, lay, bored, riot, dance, drunk.
The symbol ^ means the anim has more options. Example: /a dance, /a dance 2, /a dance 3, etc.


Here is the command:
(enjoy :) )
else if(cmd == "a")
{
if(!text)
{
MessagePlayer("[#6666FF]Anims' list: [#FFFF81](/a) stop, watcha, lean, talk, wave, die^, fall^, fallback^, :o, apply, bu!, arg^, carwback, wback, elbow^, rollback, boss, crawling, rollinfront, falling, roll, beware, idk, look, dumb, aim^, drown, handsup, wut, fu, phone, sit, stand, sell, hm?, onfoot, db^, heal, lay, bored, riot, dance, drunk",player);
MessagePlayer("[#6666FF]READ ME -> The symbol ^ means the anim has more options. Example: /a dance, /a dance 2, /a dance 3.",player);
}
else
{
switch(text)
{
case "stop":
player.SetAnim(0,29);
break;
case "watcha":
player.SetAnim(0,7);
break;
case "lean":
player.SetAnim(0,9);
break;
case "talk":
player.SetAnim(0,11);
break;
case "wave":
player.SetAnim(0,12);
break;
case "die":
player.SetAnim(0,17);
break;
case "die 2":
player.SetAnim(0,13);
break;
case "fall":
player.SetAnim(0,25);
break;
case "fall 2":
player.SetAnim(0,37);
break;
case "fallback":
player.SetAnim(0,27);
break;
case "fallback 2":
player.SetAnim(0,43);
break;
case "oo":
player.SetAnim(0,44);
break;
case "apply":
player.SetAnim(0,62);
break;
case "bu!":
player.SetAnim(0,67);
break;
case "arg":
player.SetAnim(0,112);
break;
case "arg 2":
player.SetAnim(0,113);
break;
case "carwback":
player.SetAnim(0,114);
break;
case "wback":
player.SetAnim(0,118);
break;
case "elbow":
player.SetAnim(0,123);
break;
case "elbow 2":
player.SetAnim(0,124);
break;
case "rollback":
player.SetAnim(0,126);
break;
case "boss":
player.SetAnim(0,130);
break;
case "crawling":
player.SetAnim(0,133);
break;
case "rollinfront":
player.SetAnim(0,135);
break;
case "falling":
player.SetAnim(0,144);
break;
case "roll":
player.SetAnim(0,147);
break;
case "beware":
player.SetAnim(0,151);
break;
case "idk":
player.SetAnim(0,152);
break;
case "look":
player.SetAnim(0,153);
break;
case "dumb":
player.SetAnim(0,154);
break;
case "aim":
player.SetAnim(0,155);
break;
case "aim 2":
player.SetAnim(0,157);
break;
case "aim 3":
player.SetAnim(0,160);
break;
case "drown":
player.SetAnim(0,156);
break;
case "handsup":
player.SetAnim(0,161);
break;
case "wut":
player.SetAnim(0,162);
break;
case "fu":
player.SetAnim(0,163);
break;
case "phone":
player.SetAnim(0,166);
break;
case "sit":
player.SetAnim(0,169);
break;
case "stand":
player.SetAnim(0,168);
break;
case "sell":
player.SetAnim(0,171);
break;
case "hm?":
player.SetAnim(0,172);
break;
case "onfoot":
player.SetAnim(3,192);
break;
case "db":
player.SetAnim(3,201);
break;
case "db 2":
player.SetAnim(3,202);
break;
case "db 3":
player.SetAnim(3,203);
break;
case "heal":
player.SetAnim(24,214);
break;
case "lay":
player.SetAnim(25,210);
break;
case "bored":
player.SetAnim(26,215);
break;
case "bored 2":
player.SetAnim(26,216);
break;
case "bored 3":
player.SetAnim(26,217);
break;
case "bored 4":
player.SetAnim(26,218);
break;
case "riot":
player.SetAnim(27,219);
break;
case "riot 2":
player.SetAnim(27,220);
break;
case "riot 3":
player.SetAnim(27,221);
break;
case "riot 4":
player.SetAnim(27,222);
break;
case "riot 5":
player.SetAnim(27,223);
break;
case "riot 6":
player.SetAnim(27,224);
break;
case "riot 7":
player.SetAnim(27,225);
break;
case "dance":
player.SetAnim(28,226);
break;
case "dance 2":
player.SetAnim(28,227);
break;
case "dance 3":
player.SetAnim(28,228);
break;
case "dance 4":
player.SetAnim(28,229);
break;
case "dance 5":
player.SetAnim(28,230);
break;
case "dance 6":
player.SetAnim(28,231);
break;
case "dance 7":
player.SetAnim(28,232);
break;
case "drunk":
player.SetAnim(29,210);
break;
default:
MessagePlayer(">> [#FF3636]This animation doesn't exist. Type '/a' to see the list !",player);
}
}
}
#1195
When devs implemented GUI., textdraws have been moved to client-side scripting.
This system will no longer work, since version 04rel004, and there is really no need for it's adaptation.




Custom Menu System v2.0



Since we are able to use textdraws, sprites, custom objects, weapons etc, it's time to create great and useful things, that will make us, and our players, enjoy the game very very much !!
It's our purpose to make our servers better and better !!

I am happy to present you the first Menu System ever made for Vice City Multiplayer !

Every (sub)menu can now support up to 10 options !

Here you can find all files you need to make it work:

Click here to see the source code of S_CMS_v2.nut, without downloading !



I strongly suggest you to create menus and submenus onServerStart/onScriptLoad !!
Why ? Because you need to keep the evidence of the id of the menu you want to use, so you will not damage any other menu.



Description:
   Custom Menu System by Seby ( aka CMSS ) is a system that gives scripters the ability to create their own INTERACTIVE MENU,
up to 10 options, but every option can also have a submenu (with another 10 options) !!

   Version 2.0 works a lot different than v1.0:
      -Now there are 9 sprites, created when the script is loaded. We only show them when needed.
      -The textdraws are all created right in the moment of accessing the menu, but don't worry, it will not reach the VC:MP limit (256) that fast, because it works in this way: when a player X wants to see a menu that is also shown for  player Y, the textdraws will be just shown to X, not re-created ! So the textdraws will be removed only when there will be no viewer.
      -No more double textdraws. ( 2 textdraws were used for one option, in v1.0 - one grey, one white )
      -To avoid the bugs, a player that is watching a menu and leave the server or just get killed without closing it, everything related to menus will be instantly canceled for him. ( menuRageQuit( player ) )
      -You are now able to set the title of a submenu. (not like before, where the titles were auto-set)
      -No need to manually hide the main menu, when you want to show the submenu ! Just use "menuInstance.ShowSubmenu( player, 5 )" and it will do everything for you. Same goes for HideSubmenu function.

   And maybe more, but I don't remember right now... but take a look at the script, and you will understand. :)
   I made it as understable as I could.

   
   The single thing that stays the same as in v1.0, is the way we save menus' instance: " menu[ ID ] "
   So, when you want to add a submenu for that menu, you will do like this:

menu[3].AddSubmenu( 3, "/Option 3 - blabla", "option 1", "option 2", ... )   
   Keys used to interact with the menu, used in my example, are: UP_ARROW, DOWN_ARROW, SPACEBAR (select), BACKSPACE (back)
   
   I hope I didn't miss anything important.




   Here is the list with the new functions'n'events:   

   Menu functions:
 
  • CreateMenu( title, option1, option2, ... )
  • menuRageQuit( player )
  • menuRageQuitAll( )
  • menuInstance.ShowMenu( player )
  • menuInstance.HideMenu( player )
  • menuInstance.AddSubmenu( optionID of mainmenu, title, option1, option2, ... )
  • menuInstance.ShowSubmenu( player, option )
  • menuInstance.HideSubmenu( player, option )

   Menu events:    
 
  • onPlayerEnterMenu( player, menuID )
  • onPlayerExitMenu( player, menuID )
  • onPlayerSwitchOptionsInMenu( player, menuID, oldOption, newOption )
  • onPlayerSelectInMenu( player, menuID, option )
               
   Submenu events:
  • onPlayerEnterSubmenu( player, menuID, submenuID )
  • onPlayerExitSubmenu( player, menuID, submenuID )
  • onPlayerSwitchOptionsInSubmenu( player, menuID, submenuID, oldOption, newOption )
  • onPlayerSelectInSubmenu( player, menuID, submenuID, option )



Credits
Scripter: Seby
Special thanks goes to those guys because I learnt important squirrel stuff from them:
heekz - he teached me how to create class
Knucis - told me about vargv, and how to use them
Gudio - for supporting me in this whole time (he knows what I mean :D), finding the problem when I thought there is no fix for it and teaching me squirrel important stuff.
#1196
Tutorials / How to add custom stuff !
Oct 16, 2014, 09:43 PM
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
[spoiler=Wordpad's version]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)[/spoiler]

Second tutorial is about adding Custom Objects to your server !
Here we go:  http://youtu.be/3RF3muBCtbk
[spoiler=Wordpad's version]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)[/spoiler]

Third tutorial is about adding Custom Map Icons !
Here we go:  http://youtu.be/ELzttCNMzYI
[spoiler=Wordpad's version]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)[/spoiler]

4th tutorial is about adding Custom Sprites !
Here we go:  http://youtu.be/pMtOmOcZnWA
[spoiler=Wordpad's version]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)[/spoiler]

5th, and the last tutorial, is about adding Custom (static) Maps !
Here we go: http://youtu.be/mtKQ7cxi8D0
[spoiler=Wordpad's version]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)[/spoiler]

6th tutorial is about adding Custom Skins to your server !
Here we go:  https://youtu.be/CtP8cxu89gk
[spoiler=Wordpad's version]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:
<?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)[/spoiler]



I hope you will success ! Good luck !