Download Images Pack and ImageObjectFirst add if server start get check all images using in scripts. Next create pack, add checksum for this pack, next if player try join to server first check does he have soundpack if dont have he must download serversoundpack, if have check checksum if is good player can join if not download again.
Next create tables:
TImageObjectImagePath:String; R
ImageObjectID: int64; R
LayerType: byte; RW
Layer: integer; RW
TimeStart: int64; RW
PosX,PosY,Transparency,Time,StrengthenTime, DisappearanceTime,Rotate,Scale: single; RW
Paint: boolean; RW
Color: longint; RW
TInterfaceObjectImagePath:String; R
InterfacesObjectID: int64; R
Layer: integer; RW
TimeStart: int64; RW
PosX,PosY,Transparency,Time,StrengthenTime, DisappearanceTime,Rotate,Scale: single; RW
Paint: boolean; RW
Color: longint; RW
Next add new function:
function:
AddImage(ImagePath:String; LayerType: byte; Layer: integer; PosX,PosY,Rotate,Scale,Transparency,Time,StrengthenTime,DisappearanceTime: single; TimeStart: int64; Paint: boolean; Color: longint;): TImageObject;
ImagePath - Destination image file.
LayerType - 1 back 2 midle 3 front as in polyworks.
Layer - Image layer.
PosX - Position X map cords.
PosY - Position Y map cords.
Rotate - Rotating angle image.
Scale - Scaling the image size in percent.
Transparency - Transparency 0 to 100 in precent.
Time - 0 to until further notice, >0 image duration.
TimeStart - Frame number if animated image. 0 to start, ignore it if image don`t be animated.
StrengthenTime - Resume effect, the appearance of the image from alpha to color. Is time the duration of this effect. 0 to off.
DisappearanceTime - The effect is analogous to the above, it's all about the disappearance of the image. Is time the duration of this effect. 0 to off.
Paint - Coloring true or false.
Color - If Paint is true next coloring for this color.
And new function InterfaceImage: (Some may know from 1.5.1f however, you can use only selected elements and here you can use all downloaded items)
function:
AddInterfaceImage(ImagePath:String; Layer: integer; PosX,PosY,Rotate,Scale,Transparency,Time,StrengthenTime,DisappearanceTime: single; TimeStart: int64; Paint: boolean; Color: longint;): TInterfaceObject;
ImagePath - Destination image file.
Layer - Image layer.
Rotate - Rotating angle image.
Scale - Scaling the image size in percent.
PosX - Position X inteface cords (But, you need to fix scaling to higher resolutions, because as with bigtext on low resolution u see text in right corner but on big resolution u see text on middle)
PosY - Position Y inteface cords (But, you need to fix scaling to higher resolutions, because as with bigtext on low resolution u see text in right corner but on big resolution u see text on middle)
Transparency - Transparency 0 to 100 in precent.
Time - 0 to until further notice, >0 image duration.
TimeStart - Frame number if animated image. 0 to start, ignore it if image don`t be animated.
StrengthenTime - Resume effect, the appearance of the image from alpha to color. Is time the duration of this effect. 0 to off.
DisappearanceTime - The effect is analogous to the above, it's all about the disappearance of the image. Is time the duration of this effect. 0 to off.
Paint - Coloring true or false.
Color - If Paint is true next coloring for this color.
Next add procedure:
procedure:
ImageObejctKill(ImageObjectID: int64); This function immediately removes ImageObject.
procedure:
InterfacesObejctKill(InterfacesObjectID: int64); This function immediately removes InterfaceObject.
Download Sound PackThe same system as the imageobject for download soundpack.
First create tables.
TPlaySoundPlayID: int64; R
SoundPath: string; R
PosX,PosY,TimeStart,TimeEnd,Volume,StrengthenTime, DisappearanceTime: single; RW
Next add new function:
function
PlaySound(SoundPath: string; PosX,PosY,TimeStart,TimeEnd,Volume,StrengthenTime, DisappearanceTime: single) TPlaySound;
SoundPath - Path to sound (Plese add can mp3 codec no only wav)
PosX - Position X
PosY - Position Y
TimeStart - Start time. 0 is start from the beginning.
TimeEnd - End time. 0 is end at the very end.
Volume - Volume in precent.
StrengthenTime - Sound reinforcement. Duration of reinforcement.
DisappearanceTime - Decrease volume. Duration of decrease volume.
function
PlaySoundOverall(SoundPath: string; TimeStart,TimeEnd,Volume,StrengthenTime, DisappearanceTime: single) TPlaySound;
SoundPath - Path to sound (Plese add can mp3 codec no only wav)
TimeStart - Start time. 0 is start from the beginning.
TimeEnd - End time. 0 is end at the very end.
Volume - Volume in precent.
StrengthenTime - Sound reinforcement. Duration of reinforcement.
DisappearanceTime - Decrease volume. Duration of decrease volume.
Next add procedure:
procedure:
PlaySoundKill(PlayID: int64); This function immediately removes PlaySound.
Download Custrom ModOpen Server.ini and
[GAME]
...
CustromServerMod=Example soldatserverfolder/MeDiabloWeaponsPack/
...
If server start server create package and and checksum. Files those are default in soldat, they are skipping.
Server Custrom Mod package have in a container "gostek-gfx" "interface-gfx" "objects-gfx" "sfx" "sparks-gfx" "txt" "weapons-gfx".
And analogy as in the above two cases, downloading and checking is performed. But player if server have this option must use downloaded pack. When entering the server, it automatically gets activated.
If server recompile scripts again, check if media data has changed, and if changed create new pack and players must download again. Or create a system that can only replace the files in your package, whose sum control does not match the server.
The checksum so that if a group of servers have the same set of sounds is not to charge separately for each server the same package. Of course, modifying the package will change its checksum.
Change and add in Weapons Mod:First change:ModifierHead=
ModifierChest=
ModifierLegs=
Let each of these values, however, will be different although marginally.
Next add:[Info]
Name=Default mod
Version=1.7.2
HidenWMinServerName=True|False - Lets hide this stubborn thing. In the server name. there is a corresponding tab.
Next add in all weapons:RecoilPlayer= (How do you shoot with a minigun or a spasm to feel the rejection of the player)
ShootMultiple=(How many missiles should be fired, For example, shotgun shoots 2 bulllets)
ShootVelMax= (
ShootVelMin= For these shots to be delayed, shotgun shots are not flying evenly )
ExplodeTime= Some things like grenade or m79 bullet is exploding we can change it plese. See cluster granade explode in air :O Nice effects
And this good for createbullet explode create
Effects= You can create some fun effects example 1 is if bullet hit this creates a small explosion
I believe that these few simple steps will create us many new servers and will attract many modscreators:) New servers and mods = new players Because new interesting stuff