更新日志
v1.3.1.2748 (最新版本)
open.mp 服务器的新版本终于发布了,其中有大量修复、大量性能改进和一些新增功能.
我们的启动器现在也获得了新的更新,只需打开启动器并通过更新对话框更新即可。有关更新日志,请点击此处阅读: https://github.com/openmultiplayer/launcher/releases/tag/v1.4.0
服务器
新增:
- 将服务器logo配置变量添加到 config.json, 允许服务器设置显示在启动器和 Discord 状态中的logo.
- 为对话框响应添加更多数据有效性检查.
- 为菜单行添加有效性检查.
- 添加人类可读的 HTTP 错误.
- 通用 SA-MP API 兼容性的新定义. (
#define SAMP_COMPAT
) - 消除传统脚本应用程序警告的新定义. (
#define LEGACY_SCRIPTING_API
)
更改:
- 当脚本(filterscript)(未)加载时, 删除不必要的 OnPlayerConnect 和 OnPlayerDisconnect。取而代之的是引入 OnScriptLoadPlayer 和 OnScriptUnloadPlayer 回调.
- 从运行时警告中移除了一堆pawn原生已废弃内容.
- 检查 CDN URL 的有效性.
- 当传播时停止观察者同步.
- 生命值和护甲的默认值.
- 提高响应 Scores 和 Pings RPC 的性能。(记分板)
- 将无效武器插槽更改为
-1
修复:
- 修复我们从一开始就在处理的臭名昭著的 RakNet 崩溃问题,该问题影响了一些服务器.
- 修复在极少数情况下使用格式时字符串不显示的问题.
- 修复加载多个脚本时 crashdetect 无法找到文件名和行号的问题.
- 修复大量 RakNet 崩溃问题,内部内存管理更安全.
- 修复若干连接问题,并适当清理内部玩家池.
- 修复 GetGameText 函数给出错误/损坏的值.
- 修复当用户的windows设置为使用非符号名称的语言时,open.mp windows版本无法加载的问题.
- 修正
qawno/filterscript.new
和qawno/gamemode.new
文件中的回调标题.
v1.2.0.2670
点击此处展开
我们鼓励所有 open.mp 服务器更新到该版本。该版本不仅在性能上有明显改善,而且还进行了重要的安全修复.
服务器
新增:
- 新增配置变量,用于设置在 open.mp 启动器 中显示的横幅和 discord 邀请链接.
- 用于连接信息的新配置变量. (
logging.log_connection_messages
) - 用于动画验证的新配置变量. (
game.validate_animations
) - 新定义允许在代码中使用混合拼写功能. (
#define MIXED_SPELLINGS
)
修复:
- 一些安全修复.
- 播报系统现在默认使用 IPv4,而不是在可用时使用 IPv6.
- 修复
Get(Player)ObjectMaterial(Text)
以错误的格式和 modelid 返回颜色的问题. - 修复
Get(Player)Gravity
返回整数而不是浮点数. - 在不同地方验证造成伤害的原因(武器).
- 同步封禁,以便在需要时同时封禁多名玩家.
v1.1.0.2612
点击此处展开
open.mp 现已脱离 RC 阶段, 我们很高兴地宣布,我们终于足够稳定,可以走上持续开发的道路了. 在 v1.1.0.2612 版本中, 我们修复了大量错误和问题,并解决了许多行为差异. 因此,请确保您更新到最新版本,并顺利运行您的服务器.
open.mp 启动器终于发布了,您现在可以可靠地浏览服务器、选择要玩的服务器并加入它了! 与以往使用 samp launcher 的体验相比,它将为您带来更多新功能,让您获得更好的体验. 可在该网址找到 https://github.com/openmultiplayer/launcher/releases
服务器
新增:
- x64 版本的 omp-server.
- 自动在插件名称中添加
.so
.
更改:
- 在
Move(Player)Object
函数中返回estimatedTime
.
修复:
- 修复了当传递无效的
vehicleid
时GetVehicleLastDriver
返回 0 的问题.
RC2
点击此处展开
open.mp 服务器的候选发布版本 2 (RC2) .
服务器
新的函数:
已废弃的功能:
- GetPlayer3DTextLabelVirtualW
- SetPlayer3DTextLabelDrawDist
- GetPlayer3DTextLabelDrawDist
- SendClientMessagef
- GameTextForPlayerf
- SendPlayerMessageToPlayerf
- SendClientMessageToAllf
- GameTextForAllf
- SendPlayerMessageToAllf
- SendRconCommandf
- AllowAdminTeleport
- GetPlayerPoolSize
- GetVehiclePoolSize
- GetActorPoolSize
- GetServerVarAsString
- GetServerVarAsFloat
- TextDrawColor
- TextDrawBoxColor
- TextDrawBackgroundColor
- TextDrawSetPreviewVehCol
- PlayerTextDrawColor
- PlayerTextDrawBoxColor
- PlayerTextDrawBackgroundColor
- PlayerTextDrawSetPreviewVehCol
- TextDrawGetColor
- TextDrawGetBoxColor
- TextDrawGetBackgroundColor
- TextDrawGetPreviewVehCol
- PlayerTextDrawGetColor
- PlayerTextDrawGetBoxColor
- PlayerTextDrawGetBackgroundCol
- PlayerTextDrawGetPreviewVehCol
- db_num_rows
- db_get_mem_handle
- db_get_result_mem_handle
- SelectObject
- EditObject
- EditPlayerObject
- CancelEdit
- SetObjectsDefaultCameraCol
- SetObjectNoCameraCol
- IsObjectNoCameraCol
- SetPlayerObjectNoCameraCol
- IsPlayerObjectNoCameraCol
- GetPlayerCameraTargetPlayerObj
- GetObjectTarget
- GetPlayerObjectTarget
- GetPlayerDialog
- fmkdir
- dcreate
- GetVehicleTower
- ChangeVehicleColor
修复:
- 修复 Linux legacy插件需要使用
.so
的问题. - 向其他玩家正确显示附加对象.
- 修复加载无效pawn内存时崩溃的问题.
RC1
点击此处展开
open.mp 服务器的候选发布版本 1 (RC1)!我们现已脱离测试阶段.
服务器
新增:
- 为
AddMenuItem
,Create3DTextLabel
,CreateMenu
,CreatePlayer3DTextLabel
,CreatePlayerTextDraw
,GameTextForAll
,GameTextForPlayer
,PlayerTextDrawSetString
,SendClientMessage
,SendClientMessageToAll
,SendRconCommand
,SetMenuColumnHeader
,SetObjectMaterialText
,SetPlayerObjectMaterialText
,SetPVarString
,SetSVarString
,ShowPlayerDialog
,TextDrawCreate
,TextDrawSetString
,Update3DTextLabelText
,UpdatePlayer3DTextLabelText
函数新增了\{Float, _}:...
. 它们现在都已格式化.
修复:
- 降低内存.
Beta v0.0.11.2331
点击此处展开
服务器
新的函数:
- TogglePlayerWidescreen
- IsPlayerWidescreenToggled
- GetSpawnInfo
- GetPlayerSkillLevel
- GetPlayerWeather
- IsPlayerCheckpointActive
- GetPlayerCheckpoint
- IsPlayerRaceCheckpointActive
- GetPlayerRaceCheckpoint
- GetPlayerWorldBounds
- IsPlayerInModShop
- GetPlayerSirenState
- GetPlayerLandingGearState
- GetPlayerHydraReactorAngle
- GetPlayerTrainSpeed
- GetPlayerZAim
- GetPlayerSurfingOffsets
- GetPlayerRotationQuat
- GetPlayerDialogID
- GetPlayerSpectateID
- GetPlayerSpectateType
- GetPlayerRawIp
- SetPlayerGravity
- GetPlayerGravity
- SetPlayerAdmin
- IsPlayerSpawned
- IsPlayerControllable
- IsPlayerCameraTargetEnabled
- TogglePlayerGhostMode
- GetPlayerGhostMode
- GetPlayerBuildingsRemoved
- GetPlayerAttachedObject
- SendClientMessagef
- GameTextForPlayerf
- SendPlayerMessageToPlayerf
- RemovePlayerWeapon
- HidePlayerDialog
- IsPlayerUsingOfficialClient
- AllowPlayerTeleport
- IsPlayerTeleportAllowed
- AllowPlayerWeapons
- ArePlayerWeaponsAllowed
- IsValidTextDraw
- IsTextDrawVisibleForPlayer
- TextDrawGetString
- TextDrawSetPos
- TextDrawGetLetterSize
- TextDrawGetTextSize
- TextDrawGetPos
- TextDrawGetColor
- TextDrawGetBoxColor
- TextDrawGetBackgroundColor
- TextDrawGetShadow
- TextDrawGetOutline
- TextDrawGetFont
- TextDrawIsBox
- TextDrawIsProportional
- TextDrawIsSelectable
- TextDrawGetAlignment
- TextDrawGetPreviewModel
- TextDrawGetPreviewRot
- TextDrawGetPreviewVehCol
- TextDrawSetStringForPlayer
- IsValidPlayerTextDraw
- IsPlayerTextDrawVisible
- PlayerTextDrawGetString
- PlayerTextDrawSetPos
- PlayerTextDrawGetLetterSize
- PlayerTextDrawGetTextSize
- PlayerTextDrawGetPos
- PlayerTextDrawGetColor
- PlayerTextDrawGetBoxColor
- PlayerTextDrawGetBackgroundCol
- PlayerTextDrawGetShadow
- PlayerTextDrawGetOutline
- PlayerTextDrawGetFont
- PlayerTextDrawIsBox
- PlayerTextDrawIsProportional
- PlayerTextDrawIsSelectable
- PlayerTextDrawGetAlignment
- PlayerTextDrawGetPreviewModel
- PlayerTextDrawGetPreviewRot
- PlayerTextDrawGetPreviewVehCol
- IsValidGangZone
- IsPlayerInGangZone
- IsGangZoneVisibleForPlayer
- GangZoneGetColorForPlayer
- GangZoneGetFlashColorForPlayer
- IsGangZoneFlashingForPlayer
- GangZoneGetPos
- UseGangZoneCheck
- CreatePlayerGangZone
- PlayerGangZoneDestroy
- PlayerGangZoneShow
- PlayerGangZoneHide
- PlayerGangZoneFlash
- PlayerGangZoneStopFlash
- IsValidPlayerGangZone
- IsPlayerInPlayerGangZone
- IsPlayerGangZoneVisible
- PlayerGangZoneGetColor
- PlayerGangZoneGetFlashColor
- IsPlayerGangZoneFlashing
- PlayerGangZoneGetPos
- UsePlayerGangZoneCheck
- GetObjectDrawDistance
- GetObjectMoveSpeed
- GetObjectTarget
- GetObjectMovingTargetPos
- GetObjectMovingTargetRot
- GetObjectAttachedData
- GetObjectAttachedOffset
- GetObjectSyncRotation
- IsObjectMaterialSlotUsed
- GetObjectMaterial
- GetObjectMaterialText
- IsObjectNoCameraCol
- GetPlayerObjectDrawDistance
- SetPlayerObjectMoveSpeed
- GetPlayerObjectMoveSpeed
- GetPlayerObjectTarget
- GetPlayerObjectMovingTargetPos
- GetPlayerObjectMovingTargetRot
- GetPlayerObjectAttachedData
- GetPlayerObjectAttachedOffset
- GetPlayerObjectSyncRotation
- IsPlayerObjectMaterialSlotUsed
- GetPlayerObjectMaterial
- GetPlayerObjectMaterialText
- IsPlayerObjectNoCameraCol
- GetPlayerSurfingPlayerObjectID
- GetPlayerCameraTargetPlayerObj
- GetObjectType
- IsValidPickup
- IsPickupStreamedIn
- GetPickupPos
- GetPickupModel
- GetPickupType
- GetPickupVirtualWorld
- SetPickupPos
- SetPickupModel
- SetPickupType
- SetPickupVirtualWorld
- ShowPickupForPlayer
- HidePickupForPlayer
- IsPickupHiddenForPlayer
- IsMenuDisabled
- IsMenuRowDisabled
- GetMenuColumns
- GetMenuItems
- GetMenuPos
- GetMenuColumnWidth
- GetMenuColumnHeader
- GetMenuItem
- IsValid3DTextLabel
- Is3DTextLabelStreamedIn
- Get3DTextLabelText
- Get3DTextLabelColor
- Get3DTextLabelPos
- Set3DTextLabelDrawDistance
- Get3DTextLabelDrawDistance
- Get3DTextLabelLOS
- Set3DTextLabelLOS
- Set3DTextLabelVirtualWorld
- Get3DTextLabelVirtualWorld
- Get3DTextLabelAttachedData
- IsValidPlayer3DTextLabel
- GetPlayer3DTextLabelText
- GetPlayer3DTextLabelColor
- GetPlayer3DTextLabelPos
- SetPlayer3DTextLabelDrawDist
- GetPlayer3DTextLabelDrawDist
- GetPlayer3DTextLabelLOS
- SetPlayer3DTextLabelLOS
- GetPlayer3DTextLabelVirtualW
- GetPlayer3DTextLabelAttached
- GetVehicleSpawnInfo
- SetVehicleSpawnInfo
- GetVehicleColor
- GetVehiclePaintjob
- GetVehicleInterior
- GetVehicleNumberPlate
- SetVehicleRespawnDelay
- GetVehicleRespawnDelay
- GetVehicleTower
- GetVehicleCab
- GetVehicleOccupiedTick
- HasVehicleBeenOccupied
- IsVehicleOccupied
- GetVehicleRespawnTick
- IsVehicleDead
- ToggleVehicleSirenEnabled
- IsVehicleSirenEnabled
- GetVehicleModelCount
- GetVehicleLastDriver
- GetVehicleDriver
- GetVehicleModelsUsed
- GetVehicleSirenState
- GetVehicleLandingGearState
- GetVehicleHydraReactorAngle
- GetVehicleTrainSpeed
- GetVehicleMatrix
- GetActorSkin
- SetActorSkin
- GetActorSpawnInfo
- GetActorAnimation
- ToggleChatTextReplacement
- ChatTextReplacementToggled
- GetAvailableClasses
- GetPlayerClass
- EditPlayerClass
- GetWeaponSlot
- ClearBanList
- IsBanned
- IsValidNickName
- AllowNickNameCharacter
- IsNickNameCharacterAllowed
- AddServerRule
- SetServerRule
- IsValidServerRule
- RemoveServerRule
- SendClientMessageToAllf
- GameTextForAllf
- SendPlayerMessageToAllf
- SendRconCommandf
- GetRunningTimers
- GetVehicles
- GetPlayers
- GetActors
- AllowAdminTeleport
- IsAdminTeleportAllowed
- AllowInteriorWeapons
- AreInteriorWeaponsAllowed
- AreAllAnimationsEnabled
- EnableAllAnimations
- GetWeather
新的回调: