SA-MP Forums Archive
игроки друг напротив друга - 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: игроки друг напротив друга (/showthread.php?tid=370434)



игроки друг напротив друга - sanya_gnoy - 20.08.2012

с добрым утром, форумчане. как сделать, чтобы в определённой ситуации (передача денег, например), игроки поворачивались лицом друг к другу и приближались на расстояние воспроизведения анимки?
код
PHP код:
GetPlayerFacingAngle(player1, player1angle)
SetPlayerFacingAngle(player2, player1angle) 
работает немножко не так, нужно выставить точный угол (15" и 195' например)
знаю, что в fsdebug так есть, когда машина спавнится перед игроком независимо от угла обзора.


Re: игроки друг напротив друга - Baks - 20.08.2012

PHP код:
stock TurnPlayerFaceToPlayer(playerid, facingtoid){
new 
Float:Angle, Float:Misc = 5.0, Float:X1, Float:Y1, Float:Z1, Float:X2, Float:Y2, Float:Z2;
GetPlayerPos(playerid, X2, Y2, Z2);
GetPlayerPos(facingtoid, X1, Y1, Z1);
Angle = 180.0-atan2(X2 - X1, Y2 - Y1);
Angle += Misc;
Misc *= -1;
SetPlayerFacingAngle(playerid, Angle + Misc);} 



Re: игроки друг напротив друга - sanya_gnoy - 20.08.2012

спасибо большое, только можно пояснить за вот эти строчки?:

Quote:
Originally Posted by Baks
Посмотреть сообщение
PHP код:
Angle = 180.0-atan2(X2 - X1, Y2 - Y1);
Angle += Misc;
Misc *= -1;
SetPlayerFacingAngle(playerid, Angle + Misc);} 



Re: игроки друг напротив друга - azen - 20.08.2012

словом "тригонометрия" разве что.