3

我正在使用 pawn 语言在 SAMP 服务器上工作,但是自从我开始研究 SAMP 播放器皮肤选择类以来,我就开始面临一个问题。问题是当玩家请求一个类时,所有皮肤都会变暗。

我的代码:

public OnPlayerRequestClass(playerid, classid) {
    SetPlayerPos(playerid, 154.1271, -1951.8545, 51.3438);
    SetPlayerCameraPos(playerid, 148.6122, -1951.0000, 52.7962);
    SetPlayerCameraLookAt(playerid, 154.1271, -1951.8545, 51.3438);
    SetPlayerFacingAngle(playerid, -279.1916);
    return 1;
}

问题截图:

在此处输入图像描述

预期结果的截图:

在此处输入图像描述

正如您在第一个屏幕截图中看到的那样,玩家的皮肤比正常皮肤更黑。

我试过的:

我曾尝试重新排列代码,例如调用SetPlayerCameraPos()before SetPlayerPos()。在设置播放器位置和相机位置之前,我还尝试使用计时器添加延迟。我也尝试过使用TogglePlayerSpectating方法来确保所有东西都被玩家的相机加载。但还是一样的结果。

如果您知道此问题的任何解决方案,请分享。

谢谢你,

4

1 回答 1

0

这是由环境的天气 ID(而不是相机位置)引起的照明效果。

你有两个选择:

尝试更改世界时间 - 使用 SetWorldTime() 或 SetPlayerTime 或使用 SetWeather() 或 SetPlayerWeather() 更改天气。我建议尝试天气 id 10。

于 2021-03-18T10:35:08.633 回答