Автор: Gameyer
Что мы делаем?
Мы делаем красивое вращение камеры при выборе клааса (или при выборе скина) с вращением самого скина, что выглядит довольно не плохо.
Как это сделать?
Я расскажу как это сделать и как сделать удобное встраивание координат.
Начнём.
Создадим 5 глобальных переменных. это X, Y, Z. Я их создал с координтами верхушки пирамиды в Лас Вентурасе. И ещё 2 это для таймера и поворота скина.
Code: Select all
new Float:X = 2323.6848;//Где стоит скин X
new Float:Y = 1283.3385;//Где стоит скин Y
new Float:Z = 97.5187;//Где стоит скин Z
new SpawnTimer[MAX_PLAYERS];
new SpawnAngle[MAX_PLAYERS];
В паблике OnPlayerRequestClass(playerid,classid) запустим таймер, который будет вращать камеру.
Code: Select all
SpawnTimer[playerid] = SetTimerEx("MovingCamera",50,1,"i",playerid);
В паблике OnPlayerRequestSpawn(playerid) убьем таймер, чтобы при спавне камера не кружилась.
Code: Select all
KillTimer(SpawnTimer[playerid]);
И в любую часть мода (добавьте в самый низ) мы добавим паблик, отвечающий за вращение камеры.
Code: Select all
forward MovingCamera(playerid);
public MovingCamera(playerid)
{
SetPlayerInterior(playerid,0);//Интерьер игрока
SetPlayerPos(playerid,X,Y,Z);//Позиция игрока
SetPlayerCameraPos(playerid,X - 2.0 * floatsin(float(-SpawnAngle[playerid]),degrees),Y - 10.0 * floatcos(float(-SpawnAngle[playerid]),degrees),Z + 3.0);//Настройки вращения камеры
SetPlayerCameraLookAt(playerid,X,Y,Z - 0.5);//Куда смотрит камера
SetPlayerFacingAngle(playerid,SpawnAngle[playerid]-180.0);//Поварачиваем игрока
SpawnAngle[playerid]++;
return 1;
}
Всё готово.
Теперь на вашем сервере очень красивый и прятный выбор скина.
Это подойдет как для дм, так и для других серверов.