Requirements:
MW3 Dedicated Server Version > 1.4.382
.NET Framework 3.0
VCRedist2008
VCRedist2010
Installation:
Extract the contents of 'Server Addon' folder in zip in your MW3 Dedicated Server root folder and start the MW3 Server as usual. If it's too hard you may look at this tutorial http://www.itsmods.com/forum/Thread-How-...noobs.html Thanks @JariZ
OldRotation:
If you do not like the standard random rotation of MW3 you can use old cod4 style rotation. To do this you simply add the following entries in your sv_config under [Server]
Code:
[Server]
OldRotation=1
//Enable cod4-style rotation
OldRotationVal=playlist ffa_default map mp_dome playlist sd_default map mp_alpha
//Rotation, change to your desire
- Added signature scans so it should work on future versions without the need of updating
- Fixed a bug in the ClientNum property resulting in wrong ServerClient
- Added many new stuff to the API
- Fixed bug of ServerClient.Other.Velocity.Z value returning the Y value
- Added @JariZ's weaponbuilder (thanks @JariZ)
- Modified OnPlayerDamaged (parameter DamageMod and HitLocation), OnSay (parameter Teamchat) and OnVote (parameter OptionalArgument) events
- Added SayAll and SayTeam function
- Added SetHitLocTable and GetHitLocTable function
- Fixed OldRotation and custom cmds
- Added some more stuff to the API
bool ServerClient.Other.ControlsFrozen//Boolean if the player is frozen, do not use function 'FreezeControls()' anymore, it's obsolete
bool ServerClient.Other.NoClip//Boolean if the player has noclip enabled, do not use function 'EnableNoclip()' anymore, it's obsolete
bool ServerClient.Other.AllowJump//Boolean holding if the player is able to jump
bool ServerClient.Other.isADS//Boolean holding if the player is aiming down sight
bool ServerClient.Other.ButtonPressed(Buttons button)//Returns true or false if the player is pressing the button
bool ServerClient.Other.isAlive//Boolean holding if the player is alive
bool ServerClient.Other.FakeLag//Boolean holding if fake lag is enabled for the client
int ServerClient.Other.MaxHealth//Integer holding the maximum health of a player
int ServerClient.Other.FallDamagePercent//Integer holding the percent of falldamage that is applied (default 100)
bool ServerClient.Other.CurrentWeaponAkimbo//Boolean holding if the current weapon is akimbo (fix for non-working weapons)
int ServerClient.Other.WeaponSlot3//Integer holding the weapon ID in slot 3
bool ServerClient.Other.WeaponSlot3Akimbo//Boolean holding if weapon in slot 3 is akimbo
int ServerClient.Other.WeaponSlot4//Integer holding the weapon ID in slot 4
bool ServerClient.Other.WeaponSlot4Akimbo//Boolean holding if weapon in slot 4 is akimbo
int ServerClient.Other.WeaponSlot5//Integer holding the weapon ID in slot 5
bool ServerClient.Other.WeaponSlot5Akimbo//Boolean holding if weapon in slot 5 is akimbo
int ServerClient.Other.WeaponSlot6//Integer holding the weapon ID in slot 6
bool ServerClient.Other.WeaponSlot6Akimbo//Boolean holding if weapon in slot 6 is akimbo
ServerClient.Ammo struct
CSHARP Code
int ServerClient.Ammo.WeaponSlot3Ammo//Integer holding the ammo in slot 3
int ServerClient.Ammo.WeaponSlot3AmmoClip//Integer holding the ammo clip in slot 3
int ServerClient.Ammo.WeaponSlot3AkimboAmmo//Integer holding the akimbo ammo in slot 3
int ServerClient.Ammo.WeaponSlot4Ammo//Integer holding the ammo in slot 4
int ServerClient.Ammo.WeaponSlot4AmmoClip//Integer holding the ammo clip in slot 4
int ServerClient.Ammo.WeaponSlot4AkimboAmmo//Integer holding the akimbo ammo in slot 4
int ServerClient.Ammo.WeaponSlot5Ammo//Integer holding the ammo in slot 5
int ServerClient.Ammo.WeaponSlot5AmmoClip//Integer holding the ammo clip in slot 5
int ServerClient.Ammo.WeaponSlot5AkimboAmmo//Integer holding the akimbo ammo in slot 5
int ServerClient.Ammo.WeaponSlot6Ammo//Integer holding the ammo in slot 6
int ServerClient.Ammo.WeaponSlot6AmmoClip//Integer holding the ammo clip in slot 6
int ServerClient.Ammo.WeaponSlot6AkimboAmmo//Integer holding the akimbo ammo in slot 6
ServerClient.Other.UAV struct
CSHARP Code
bool ServerClient.Other.UAV.Enabled//Boolean holding if player has UAV
bool ServerClient.Other.UAV.ShowDirection//Boolean holding if UAV shows enemy player direction
bool ServerClient.Other.UAV.FastUpdate//Boolean holding if UAV updates fast
ServerClient.Other.Vision struct
CSHARP Code
void ServerClient.Other.Vision.VisionSetNaked(string vision, string TransitionTime)//Function to change vision, TransitionTime is milliseconds as string
bool ServerClient.Other.Vision.EMPView//Boolean holding EMP view is enabled
bool ServerClient.Other.Vision.RadiationView//Boolean holding if radiation view is enabled (black/white, like in MW2 Afghan when you go out of map)
Entity struct
CSHARP Code
int Entity.EntityNum//Integer holding the entity's ID
void Entity.SetModel(String model)//Function to set the model of an entity
bool Entity.Visible//Boolean holding the entity's visibility
void Entity.Delete()//Function to delete the entity
float Entity.OriginX//Float holding the entity's X origin
float Entity.OriginY//Float holding the entity's Y origin
float Entity.OriginZ//Float holding the entity's Z origin
HudElem struct
CSHARP Code
float HudElem.Sorting//float value for sorting the hudelements (use for overlaying hudelements)
void HudElem.SetString(string text)//Set a text to the HudElement, note: HudElementType must be Text
void HudElem.SetLabel(string text)//Set a label to the HudElement (HudElementType does not matter)
int HudElem.IconWidth//Set the width of the icon
int HudElem.IconHeight//Set the height of the icon
float HudElem.Value//Set a value to the HudElement, note: HudElementType must be Value (many GSC coders know this type)
int HudElem.HudElementNum//Integer holding the HudElement's ID
HudElementTypes HudElem.Type//HudElementTypes type holding the type of the HudElement
Teams HudElem.Team//Teams type holding the HudElement's team
Fonts HudElem.Font//Fonts type holding the HudElement's font
float HudElem.FontScale//float holding the font scale
bool HudElem.HideInMenu//bool if HudElem should hide when in menu
byte HudElem.PointType//byte holding the point type
byte HudElem.AlignOrg//byte holding the alignment from the origin
void HudElem.SetIcon(String icon)//Function to set an icon to the HudElement
int HudElem.ShowToEnt//Integer holding to which entity the HudElem is shown (Entity_World for all)
float HudElem.OriginX//Float holding the HudElement's X origin
float HudElem.OriginY//Float holding the HudElement's Y origin
float HudElem.OriginZ//Float holding the HudElement's Z origin
HudElem.Color//Struct holding the HudElement's color
HudElem.Color struct
CSHARP Code
byte HudElem.Color.R
byte HudElem.Color.G
byte HudElem.Color.B
byte HudElem.Color.A
//Byte holding the HudElement's value for Red-Green-Blue-Alpha
byte HudElem.Color.GlowR
byte HudElem.Color.GlowG
byte HudElem.Color.GlowB
byte HudElem.Color.GlowA
//Byte holding the HudElement's glow value for Red-Green-Blue-Alpha
OnVote(String Vote, ServerClient Client, String OptionalArg)//Optional argument: holds argument for vote if needed (ex. player name when votekicking)
//Note, for compatibility reason old events are still integrated. Do not use these obsolete events and update your plugins to the new events. The old events will eventually be deleted and your plugin will break.
I also planned to include support for TeknoMW3 but sadly most functions changed from 1.4 to 1.5+ so versions < 1.5 are not supported.
Credits:
@Nukem - main creator
agri
R4z8r
CoMPMStR
Chod
s0beit
AlterIW (@NTAuthority)
@zxz0O0 - updating and adding new stuff to the addon
@SuperNovaAO - helping with sigs
@Cyanide - 'owner' of code
@master131
@litgar - testing new version
@estebespt - help testing
@JariZ - weapon builder
Donate:
If you want to support my work you can donate to me
Donations are always appreciated.
Thank you.
(07-11-2012, 20:04)zxz0O0 Wrote: Oh and if someone has problems understanding the new stuff in the API, feel free to ask for an example and I will make one and add it the OP.
(07-11-2012, 20:04)zxz0O0 Wrote: Oh and if someone has problems understanding the new stuff in the API, feel free to ask for an example and I will make one and add it the OP.