问题描述
我正在使用 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,51.3438);
SetPlayerFacingAngle(playerid,-279.1916);
return 1;
}
问题截图:
预期结果的屏幕截图:
正如您在第一个屏幕截图中看到的,播放器皮肤比正常皮肤更暗。
我尝试过的:
我尝试重新排列代码,例如在 SetPlayerCameraPos()
之前调用 SetPlayerPos()
。
我还尝试使用计时器在设置玩家位置和相机位置之前添加延迟。
我还尝试使用 TogglePlayerSpectating
方法来确保所有东西都被玩家的相机加载。
但结果还是一样。
谢谢,
解决方法
这是由您所在环境的天气 ID 而非相机位置引起的照明效果。
您有两个选择:
尝试更改世界时间 - 使用 SetWorldTime() 或 SetPlayerTime 或使用 SetWeather() 或 SetPlayerWeather() 更改天气。我建议尝试使用天气 ID 10。