Difference between revisions of "SC3 Changelog"
(5 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
{| class="wikitable" | {| class="wikitable" | ||
! SoldatServer Version !! Changelog | ! SoldatServer Version !! Changelog | ||
+ | |- | ||
+ | | 2.8.2 || | ||
+ | + Added procedure [[TActivePlayer.RequestDiscordToken]] | ||
+ | + Added [[TGame.OnSteamAuth]] event | ||
+ | + Added [[TActivePlayer.SteamID]] and [[TActivePlayer.SteamIDString]] properties | ||
+ | + Added [[TMath|ScriptMath]] unit | ||
+ | + Added arctan to SC2 | ||
+ | + Added SC3 [[TActivePlayer.ChangeTeam|TActivePlayer.ChangeTeam(Team, JoinType)]] | ||
+ | + Added missing [[TActivePlayer.PlaySound]] | ||
+ | + Added Players.Active[] and Players.Active.Count to SC3 | ||
+ | + Added OnBeforeJoinTeam event to SC3 | ||
+ | - Removed TTeam.Add | ||
+ | |||
+ | ~ Modified SC3 Player.OnBeforeRespawn now returns spawn position | ||
+ | ~ Modified SC3 TTeam.Players[] property to return TActivePlayer instead of TPlayer | ||
+ | ~ Modified SC3 TActivePlayer.Dummy is now RW | ||
+ | ~ Modified SC3 TActivePlayer.Alive is now read only (R) | ||
+ | ~ Modified KickPlayer fails on admin only if it's a ping, flood or vote related kick | ||
+ | ~ Modified TPlayer.Health and TPlayer.Vest are RW now | ||
+ | ~ Marked SC3 OnTCPCommand as deprecated | ||
+ | ~ Moved OnBeforeMapChange event to fire at round end (5s before "real" map switch) | ||
+ | |||
+ | * Fixed SC3 OnLeaveGame giving wrong team parameter, possibly crashing the server | ||
+ | * Fixed SC3 OnAdminCommand sometimes not honoring the result | ||
+ | * Fixed SC3 TActivePlayer.ChangeTeam not honoring Team parameter correctly | ||
+ | * Fixed ForceWeapon function working with wrong Gun objects | ||
+ | * Fixed console executed commands not calling Game.OnAdminCommand in SC3 | ||
+ | * Fixed regenerating polygons not calling OnPlayerDamage | ||
+ | * Fixed TActivePlayer.Ping is always 1 #666 | ||
|- | |- | ||
| 2.8.1 || | | 2.8.1 || | ||
Line 28: | Line 57: | ||
|- | |- | ||
| 2.8.0 || | | 2.8.0 || | ||
− | + Added basic conversion functions to SC3: | + | + Added basic conversion functions to SC3: {{link|ScriptCore3|weap2obj}}, {{link|ScriptCore3|menu2obj}}, {{link|ScriptCore3|obj2weap}}, {{link|ScriptCore3|obj2menu}}, {{link|ScriptCore3|weap2menu}}, {{link|ScriptCore3|menu2weap}} |
+ Added missing [[TGame.TickCount]] to SC3 | + Added missing [[TGame.TickCount]] to SC3 | ||
+ Added missing [[TActivePlayer.KeyFlagThrow]] to SC3 | + Added missing [[TActivePlayer.KeyFlagThrow]] to SC3 | ||
Line 34: | Line 63: | ||
* Fixed [[TActivePlayer.OnWeaponChange]] was sometimes called too late | * Fixed [[TActivePlayer.OnWeaponChange]] was sometimes called too late | ||
* Fixed added missing [[TPlayer.Vest|Vest]] property to SC3 [[TPlayer]] | * Fixed added missing [[TPlayer.Vest|Vest]] property to SC3 [[TPlayer]] | ||
− | * Fixed [[TScript. | + | * Fixed [[TScript.Name]] in SC3 Legacy mode contained full path instead of just folder name |
* Fixed unpredictable [[TActivePlayer.OnWeaponChange|OnWeaponChange]] behavior when calling [[TActivePlayer.ForceWeapon|ForceWeapon]] from within | * Fixed unpredictable [[TActivePlayer.OnWeaponChange|OnWeaponChange]] behavior when calling [[TActivePlayer.ForceWeapon|ForceWeapon]] from within | ||
* Fixed wrong player coordinates in [[TActivePlayer.OnAfterRespawn|OnAfterRespawn]] (SC3 only) | * Fixed wrong player coordinates in [[TActivePlayer.OnAfterRespawn|OnAfterRespawn]] (SC3 only) | ||
Line 100: | Line 129: | ||
|- | |- | ||
| 2.7.8 || | | 2.7.8 || | ||
− | + Added SC3 function [[ScriptCore3.StrToDateTime]](const S: string): TDateTime; | + | + Added SC3 function [[ScriptCore3.StrToDateTime|StrToDateTime]](const S: string): TDateTime; |
+ Added SC3 event [[TGame.OnTCPCommand]](Ip: string; Port: Word; Command: string): Boolean; | + Added SC3 event [[TGame.OnTCPCommand]](Ip: string; Port: Word; Command: string): Boolean; | ||
+ Added SC3 event [[TActivePlayer.OnKitPickup]](Player: TActivePlayer; Kit: TActiveMapObject) | + Added SC3 event [[TActivePlayer.OnKitPickup]](Player: TActivePlayer; Kit: TActiveMapObject) | ||
Line 106: | Line 135: | ||
+ Added SC3 procedure [[TActivePlayer.WorldText]](Layer: Byte; Text: string; Delay: Integer; Color: Longint; Scale, X, Y: Single) | + Added SC3 procedure [[TActivePlayer.WorldText]](Layer: Byte; Text: string; Delay: Integer; Color: Longint; Scale, X, Y: Single) | ||
+ Added SC3 procedure [[TPlayers.WorldText]](Layer: Byte; Text: string; Delay: Integer; Color: Longint; Scale, X, Y: Single) | + Added SC3 procedure [[TPlayers.WorldText]](Layer: Byte; Text: string; Delay: Integer; Color: Longint; Scale, X, Y: Single) | ||
− | + Added SC3 | + | + Added SC3 event [[TGame.OnAdminConnect]](Ip: string; Port: Word) |
− | + Added SC3 | + | + Added SC3 event [[TGame.OnAdminDisconnect]](Ip: string; Port: Word) |
+ Added SC3 procedure [[TActivePlayer.SetVelocity]](VelX, VelY: Single) | + Added SC3 procedure [[TActivePlayer.SetVelocity]](VelX, VelY: Single) | ||
+ Added SC3 function [[TGame.TOnAdminCommand]](Player: TActivePlayer; Command: string): boolean | + Added SC3 function [[TGame.TOnAdminCommand]](Player: TActivePlayer; Command: string): boolean |
Latest revision as of 09:50, 10 May 2020
Full releases
SoldatServer Version | Changelog |
---|---|
2.8.2 |
+ Added procedure TActivePlayer.RequestDiscordToken + Added TGame.OnSteamAuth event + Added TActivePlayer.SteamID and TActivePlayer.SteamIDString properties + Added ScriptMath unit + Added arctan to SC2 + Added SC3 TActivePlayer.ChangeTeam(Team, JoinType) + Added missing TActivePlayer.PlaySound + Added Players.Active[] and Players.Active.Count to SC3 + Added OnBeforeJoinTeam event to SC3 - Removed TTeam.Add ~ Modified SC3 Player.OnBeforeRespawn now returns spawn position ~ Modified SC3 TTeam.Players[] property to return TActivePlayer instead of TPlayer ~ Modified SC3 TActivePlayer.Dummy is now RW ~ Modified SC3 TActivePlayer.Alive is now read only (R) ~ Modified KickPlayer fails on admin only if it's a ping, flood or vote related kick ~ Modified TPlayer.Health and TPlayer.Vest are RW now ~ Marked SC3 OnTCPCommand as deprecated ~ Moved OnBeforeMapChange event to fire at round end (5s before "real" map switch) * Fixed SC3 OnLeaveGame giving wrong team parameter, possibly crashing the server * Fixed SC3 OnAdminCommand sometimes not honoring the result * Fixed SC3 TActivePlayer.ChangeTeam not honoring Team parameter correctly * Fixed ForceWeapon function working with wrong Gun objects * Fixed console executed commands not calling Game.OnAdminCommand in SC3 * Fixed regenerating polygons not calling OnPlayerDamage * Fixed TActivePlayer.Ping is always 1 #666 |
2.8.1 |
+ Added TActiveBullet.Owner property (Read only) + Added TScript.OnUnhandledException ~ Modified TPlayer.Alive, IsAdmin, Human and Dummy properties to also check if player is active and return accordingly. ~ Modified TActivePlayer.Deaths is now Read-Write ~ Modified TScript.OnException to be a procedure instead of function ~ Modified SC3 exception handler now unloads the script if exception is thrown ~ Modified SC3 exception handler should output more meaningful messages, even with debug mode off ~ Modified TActivePlayer.Kick, added Reason parameter ~ Modified TPlayers.Add, added JoinType parameter ~ Modified TPlayer.Health and TPlayer.Vest are now stored as decimal values ~ Modified TPlayer.Health type is now Single ~ Modified TActivePlayer.OnDamage event now accepts Damage parameter as Single instead of Integer, return type changed accordingly * Fixed issues with SC3 FileAPI sometimes not working properly * Fixed TScript.Unload and TScript.Recompile either not working or crashing * Fixed SC3 TScript.OnException message sometimes being empty * Fixed SC3 OnKill provided WeaponID value instead of BulletID * Fixed ForceWeapon sometimes didn't apply ammo * Fixed TActivePlayer.OnVoteKickStart crashing when vote started by the server due to cheat detection * Fixed SC3 script recompilation crashed the server when the new version had compile time errors. |
2.8.0 |
+ Added basic conversion functions to SC3: weap2obj, menu2obj, obj2weap, obj2menu, weap2menu, menu2weap + Added missing TGame.TickCount to SC3 + Added missing TActivePlayer.KeyFlagThrow to SC3 * Fixed TActivePlayer.OnWeaponChange was sometimes called too late * Fixed added missing Vest property to SC3 TPlayer * Fixed TScript.Name in SC3 Legacy mode contained full path instead of just folder name * Fixed unpredictable OnWeaponChange behavior when calling ForceWeapon from within * Fixed wrong player coordinates in OnAfterRespawn (SC3 only) * Fixed TActivePlayer.OnWeaponChange event sometimes called with weird weapon parameters * Fixed incorrect Weapon being passed to TActivePlayer.OnKill * Fixed TActivePlayer.Move not broadcasted to players when set on bot * Fixed TActivePlayer.SetVelocity not broadcasted to players when set on bot * Fixed Random function in SC2 producing weird results * Fixed SC3 sometimes throwing access violations when hitting exception (most noticable when trying to load non existing dll |
2.7.9 |
+ Added SC3 property TActivePlayer.IsProne (read only - boolean) + Added SC3 property TActivePlayer.MouseAimX (read write - SmallInt) (write only works on bots) + Added SC3 property TActivePlayer.MouseAimY (read write - SmallInt) (write only works on bots) + Added SC3 TGame.AdminPassword property (string - read write) + Added SC3 object constants: OBJECT_ALPHA_FLAG, OBJECT_BRAVO_FLAG, OBJECT_POINTMATCH_FLAG, OBJECT_USSOCOM, OBJECT_DESERT_EAGLE, OBJECT_HK_MP5, OBJECT_AK74, OBJECT_STEYR_AUG, OBJECT_SPAS12, OBJECT_RUGER77, OBJECT_M79, OBJECT_BARRET_M82A1, OBJECT_MINIMI, OBJECT_MINIGUN, OBJECT_RAMBO_BOW, OBJECT_MEDICAL_KIT, OBJECT_GRENADE_KIT, OBJECT_FLAMER_KIT, OBJECT_PREDATOR_KIT, OBJECT_VEST_KIT, OBJECT_BERSERK_KIT, OBJECT_CLUSTER_KIT, OBJECT_PARACHUTE, OBJECT_COMBAT_KNIFE, OBJECT_CHAINSAW, OBJECT_LAW, OBJECT_STATIONARY_GUN + Added SC3 weapon constants: WTYPE_EAGLE, WTYPE_MP5, WTYPE_AK74, WTYPE_STEYRAUG, WTYPE_SPAS12, WTYPE_RUGER77, WTYPE_M79, WTYPE_BARRETT, WTYPE_M249, WTYPE_MINIGUN, WTYPE_USSOCOM, WTYPE_KNIFE, WTYPE_CHAINSAW, WTYPE_LAW, WTYPE_FLAMER, WTYPE_BOW, WTYPE_BOW2, WTYPE_M2, WTYPE_NOWEAPON, WTYPE_FRAGGRENADE, WTYPE_CLUSTERGRENADE, WTYPE_CLUSTER, WTYPE_THROWNKNIFE + Added SC3 function Md5(A: string): string; + Added SC3 type TBannedHW = record HW: string; Time: Integer; Reason: string; end; + Added SC3 type TBannedIP = record IP: ShortString; Time: Integer; Reason: string; end; + Added SC3 class TBanLists (accessible over global variable "Game.BanLists") + Added SC3 procedure TBanLists.AddHWBan(HW, Reason: string; Duration: Integer); + Added SC3 procedure TBanLists.AddIPBan(IP: ShortString; Reason: string; Duration: Integer); + Added SC3 function TBanLists.DelHWBan(HW: string): Boolean; + Added SC3 function TBanLists.DelIPBan(IP: ShortString): Boolean; + Added SC3 function TBanLists.IsBannedHW(HW: string): Boolean; + Added SC3 function TBanLists.IsBannedIP(IP: ShortString): Boolean; + Added SC3 function TBanLists.GetHWBanId(HW: string): Integer; + Added SC3 function TBanLists.GetIPBanId(IP: ShortString): Integer; + Added SC3 property TBanLists.HW (read only - array of TBannedHW) + Added SC3 property TBanLists.IP (read only - array of TBannedIP) + Added SC3 property TBanLists.BannedHWCount: (read only - Integer) + Added SC3 property TBanLists.BannedIPCount (read only - Integer) ~ Modified modifying velocity of bots to be less laggy ~ Modified MovePlayer function to be less laggy on bots ~ Modified SC3 property TActivePlayer.KeyUp access mode to read write (write only works on bots) ~ Modified SC3 property TActivePlayer.KeyLeft access mode to read write (write only works on bots) ~ Modified SC3 property TActivePlayer.KeyRight access mode to read write (write only works on bots) ~ Modified SC3 property TActivePlayer.KeyShoot access mode to read write (write only works on bots) ~ Modified SC3 property TActivePlayer.KeyJetpack access mode to read write (write only works on bots) ~ Modified SC3 property TActivePlayer.KeyGrenade access mode to read write (write only works on bots) ~ Modified SC3 property TActivePlayer.KeyChangeWeap access mode to read write (write only works on bots) ~ Modified SC3 property TActivePlayer.KeyThrow access mode to read write (write only works on bots) ~ Modified SC3 property TActivePlayer.KeyReload access mode to read write (write only works on bots) ~ Modified SC3 property TActivePlayer.KeyCrouch access mode to read write (write only works on bots) ~ Modified SC3 property TActivePlayer.KeyProne access mode to read write (write only works on bots) * Fixed TMap.AddObject function had swapped knife and saw * Fixed votes started via script didn't work properly * Fixed SC3 property TActivePlayer.KeyProne returns position instead pressed key * Fixed SC3 TGame.Password shows admin password instead of game password #604 * Fixed SC3 TGame.Password property was read only * Fixed SC3 joining the game increases sometimes team count by 2 instead of 1 * Fixed SC3 TGame.Teams Player property returned nil or an error |
2.7.8 |
+ Added SC3 function StrToDateTime(const S: string): TDateTime; + Added SC3 event TGame.OnTCPCommand(Ip: string; Port: Word; Command: string): Boolean; + Added SC3 event TActivePlayer.OnKitPickup(Player: TActivePlayer; Kit: TActiveMapObject) + Added SC3 event TActivePlayer.OnFlagDrop(Player: TActivePlayer; Flag: TActiveFlag; Team: Byte; Thrown: Boolean) + Added SC3 procedure TActivePlayer.WorldText(Layer: Byte; Text: string; Delay: Integer; Color: Longint; Scale, X, Y: Single) + Added SC3 procedure TPlayers.WorldText(Layer: Byte; Text: string; Delay: Integer; Color: Longint; Scale, X, Y: Single) + Added SC3 event TGame.OnAdminConnect(Ip: string; Port: Word) + Added SC3 event TGame.OnAdminDisconnect(Ip: string; Port: Word) + Added SC3 procedure TActivePlayer.SetVelocity(VelX, VelY: Single) + Added SC3 function TGame.TOnAdminCommand(Player: TActivePlayer; Command: string): boolean + Added SC3 function TGame.TOnTCPMessage(Ip: string; Port: Word; Text: string): boolean + Added SC3 function TMap.CreateBulletVector(A, B: TVector; HitM: Single; sStyle: Byte; Owner: TActivePlayer): Integer + Added SC3 function TMap.CreateBullet(X, Y, VelX, VelY, HitM_ Single; sStyle: Byte; Owner: TActivePlayer): Integer + Added SC3 function Distance(X1, X2, Y1, Y2: Single): Single + Added SC3 property TActivePlayer.IsAdmin (read write - Boolean) + Added SC3 property TGame.CurrentMap (read only - string) + Added SC3 class TMapsList (accessible over global variable "Game.MapsList") + Added SC3 procedure TMapsList.AddMap(Name: string) + Added SC3 procedure TMapsList.RemoveMap(Name: string) + Added SC3 function TMapsList.GetMapIdByName(Name: string): Integer + Added SC3 property TMapsList.Map (read only - array of string) + Added SC3 property TMapsList.CurrentMapId (read write - Integer) + Added SC3 property TMapsList.MapsCount (read only - Integer) + Added SC3 class TGlobal (accessible over global variable "Global") + Added SC3 property TGlobal.DateSeparator (read write - string) + Added SC3 property TGlobal.ShortDateFormat (read write - string) + Added SC3 class TActiveMapBullet (accessible over global Byte array "Map.Bullets") + Added SC3 function TActiveMapBullet.GetOwnerWeaponId: Integer + Added SC3 property TActiveMapBullet.ID (read only - Byte) + Added SC3 property TActiveMapBullet.Active (read only - Boolean) + Added SC3 property TActiveMapBullet.X (read only - Single) + Added SC3 property TActiveMapBullet.Y (read only - Single) + Added SC3 property TActiveMapBullet.VelX (read only - Single) + Added SC3 property TActiveMapBullet.VelY (read only - Single) ~ Modified SC3 type TOnKillEvent declaration to procedure(Killer, Victim: TActivePlayer; BulletID: Byte) ~ Modified SC3 type TOnTCPMessageEvent declaration to procedure(Ip: string; Port: Word; Message: string) ~ Modified request game log line from "IP:PORT requesting game..." to "IP:PORT|HWID requesting game..." ~ Modified SC3 procedure name TActivePlayer.Forward altered to TActivePlayer.ForwardTo ~ Modified SC3 type TOnRequestEvent declaration to function(Ip, Hw: string; Port: Word; State: Byte; Forwarded: Boolean; Password: string): Integer ~ Modified SC3 type TOnDamageEvent declaration to function(Shooter, Victim: TActivePlayer; Damage: Integer; Bullet: TActiveMapBullet): Integer * Fixed TOnWeaponChangeEvent does not hold valueable data #582 * Fixed TActiveObject's Style is 0 (Flags) #584 * Fixed TActivePlayer.OnFlagDrop Flag.ID can't be accessed or duplicates #585 * Fixed Player.Alive := FALSE deals damage (doesn't always kill) #586 * Fixed TActivePlayer.Move causes players to drop weapons and flags randomly #142 * Fixed TActivePlayer.Move randomly kills and respawns player #247 * Fixed Server refuses client if TActivePlayer.Move is used on connection #587 * Fixed SC3 TMapObject.Style results to be the same as in wiki * Fixed SC3 using TGame.OnRequest crashes server * Fixed SC3 Variable TGame.VotePercent is always set up on 0 #532 * Fixed SC3 TActivePlayer.Ban always bans for 0 minutes #576 * Fixed OnVoteMap/OnVoteMapStartevents are not working as intended #550 * Fixed SC3 - TActivePlayer.OnWeaponChange does not provide changed weapon information #577 * Fixed SC3 - TActivePlayer.OnKill/TActivePlayer.OnDamage - WeaponType is unpredictable #356 * Fixed TActivePlayer.BigText with layer 0 causes WriteConsole behaviour #400 * Fixed SC3 StrToDate doesn't work as intended #401 * Fixed /recompile <script> hangs up admin client #578 * Fixed SC3 Strange TMap.RayCast values when walking "into" the wall #395 * Fixed SC3 some server crashes after unhandled exception * Fixed SC3 some function results could be ignored in some cases |
Other versions
2.7.8.b2 |
+ event TGame.OnTCPCommand + function StrToDateTime * OnKillEvent declaration changed (Killer, Victim: TActivePlayer; BulletID: Byte) * TOnTCPMessageEvent declaration changed (Ip: string; Port: Word; Message: string) * Fixed TOnWeaponChangeEvent does not hold valueable data #582 * Fixed TActiveObject's Style is 0 (Flags) #584 * Fixed Player.Alive := FALSE deals damage (doesn't always kill) #586 * Fixed TPlayer.OnFlagDrop Flag.ID can't be accessed or duplicates #585 * Fixed MovePlayer causes players to drop weapons and flags randomly #142 * Fixed MovePlayer randomly kills and respawns player #247 * Fixed Server refuses client if MovePlayer is used on connection #587 * Fixed SC3 TMapObject.Style results to be the same as in wiki * Fixed SC3 using TGame.OnRequest crashes server * Reverted "Modified SC3 type TOnKillEvent declaration changed (Killer, Victim: TActivePlayer; Bullet: TActiveMapBullet)" |
2.7.8.b1 |
+ event TActivePlayer.OnKitPickup + event TActivePlayer.OnFlagDrop + procedure TActivePlayer.WorldText + procedure TPlayers.WorldText + event TGame.OnAdminConnect + event TGame.OnAdminDisconnect + procedure TActivePlayer.SetVelocity + event TGame.OnAdminCommand + event TGame.OnTCPMessage + function TMap.CreateBulletVector + function TMap.CreateBullet + function Distance + property TActivePlayer.IsAdmin + property TGame.CurrentMap + class TMapsList + procedure TMapsList.AddMap + procedure TMapsList.RemoveMap + function TMapsList.GetMapIdByName + property TMapsList.Map + property TMapsList.CurrentMapId + property TMapsList.MapsCount + class TGlobal + property TGlobal.DateSeparator + property TGlobal.ShortDateFormat + class TActiveMapBullet + function TActiveMapBullet.GetOwnerWeaponId + property TActiveMapBullet.ID + property TActiveMapBullet.Active + property TActiveMapBullet.Style + property TActiveMapBullet.X + property TActiveMapBullet.Y + property TActiveMapBullet.VelX + property TActiveMapBullet.VelY * procedure name TActivePlayer.Forward altered to TActivePlayer.ForwardTo * TOnRequestEvent declaration changed (+ Hw) * TOnDamageEvent declaration changed (BulletID: Byte to Bullet: TActiveMapBullet) * TOnKillEvent declaration changed (BulletID: Byte to Bullet: TActiveMapBullet) |