SA-MP Forums Archive
Неправильно работает floatsin(cos) - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Неправильно работает floatsin(cos) (/showthread.php?tid=392015)



Неправильно работает floatsin(cos) - 14_KaPaT - 12.11.2012

Здравствуйте, такой баг возник уже давненько с переходом на samp 0.3e. Вот участок кода
Код HTML:
public RotateBirdView1()
{
    if (Server[StopCounting] <= 0)return StopWatching2();
    CP1[0]  = TmpCP1[0];
    CP1[1]  = TmpCP1[1];
    if(ReverseCamera == false)
    {
    CP1[0] += (-170 * floatsin(times, degrees));
    CP1[1] += (-170 * floatcos(times, degrees));
    }
    else
    {
    CP1[0] += (170 * floatsin(times, degrees));
    CP1[1] += (170 * floatcos(times, degrees));
    }
    CP1[0] += (170 * floatsin(times, degrees));
    CP1[1] += (170 * floatcos(times, degrees));
        foreach(i)if (Player[i][pPlaying] == true)
        {
            SetPlayerCameraPos(i, CP1[0]+1, CP1[1], TmpCP1[2] + 50);
            SetPlayerCameraLookAt(i, ArenaCP[0], ArenaCP[1], ArenaCP[2]);
        }

    if (times >= 360.0)times = 0.0;
    else times += 1.3;
    SetTimer("RotateBirdView1", 50, 0);
    return 1;
}
Дело в том что камера должна вращаться вокруг арены, но проблема в том что у некоторых игроков камера кадрами подходит к арене и совсем не крутится, интересный факт, каждый раз у разных игроков такой баг, причем остальные говорят что у них все отлично, на 0.3d такой проблемы никогда не было


Re: Неправильно работает floatsin(cos) - Gameyer - 12.11.2012

Причет здесь синус и косинус? их никто уже давно не менял.
Если не можешь правильно вырезать код из nWo то попытайся частями.


Re: Неправильно работает floatsin(cos) - 14_KaPaT - 13.11.2012

я не вырезаю, такая проблема в оригинале тренировочного мода и не только у меня. Я думал может в 0.3e как то изменили параметры этих функций по этому и подумал что проблема в этом. Есть еще идеи по поводу причины возникновения данного бага ?


Re: Неправильно работает floatsin(cos) - Stepashka - 13.11.2012

Quote:
Originally Posted by 14_KaPaT
Посмотреть сообщение
я не вырезаю, такая проблема в оригинале тренировочного мода и не только у меня. Я думал может в 0.3e как то изменили параметры этих функций по этому и подумал что проблема в этом. Есть еще идеи по поводу причины возникновения данного бага ?
Ответ.


Re: Неправильно работает floatsin(cos) - 14_KaPaT - 13.11.2012

Товарищ степашка я может бы и согласился с данной статьей, но мод не редактировался особо, оригинальный nwo и на 0.3d работало исправно


Re: Неправильно работает floatsin(cos) - Stepashka - 13.11.2012

  1. Попробуйте для начала не использовать в одних операциях переменные разных типов.
  2. Есть готовые проверенные функции для того что вы написали, причем очень криво, начните использовать их.



Re: Неправильно работает floatsin(cos) - jhonyxakep - 13.11.2012

Quote:

Попробуйте для начала не использовать в одних операциях переменные разных типов.

Неужели округлилось?


Re: Неправильно работает floatsin(cos) - Stepashka - 14.11.2012

Quote:
Originally Posted by jhonyxakep
Посмотреть сообщение
Неужели округлилось?
На самом деле использование в одной операции integer вместе с float дает непредсказуемый результат на разных системах.


Re: Неправильно работает floatsin(cos) - jhonyxakep - 15.11.2012

Тут всё от компилятора зависит, а не от системы.

Я вот смотрю на циферки 170.

14_KaPaT, вы используете везде градусы, и называете разворотом камеры (ReverseCamera) разворот в 170 градусов. 360/2=180 вообщето.