20.03.2012, 17:57
Решил создать карту на стене и сделать перемещение пимпочки на карте зависящей от какого либо перемещения человека, машины:
Помогите подобрать правильные вычисления
к примеру:
PosY = 207 + 224 * -y / 3000; под игриком например -1368
PosY должна получится 18, я так то сделал (18 = 10 + 17 * 1368 / 3000) но при моём перемещении цифра очень быстро меняется а мне надо к примеру чтоб прошёл 30 координат а цифра 18 увеличилась к примеру на 1 сотую (18.1)
Данный код делал по примеру карты от OkStyle, надеюсь на его помощь
PHP код:
#include <a_samp>
new sosok;
public OnFilterScriptInit()
{
SetTimer("UpdateMap", 300, 1);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/sosok", true) == 0)
{
CreateObject(19168, 1628.10, -1370.85, 19.33, 90.02, 90.00, 90.00);
CreateObject(19169, 1626.60, -1370.85, 19.33, 90.04, 90.02, 90.04);
CreateObject(19170, 1628.10, -1370.85, 17.83, 89.94, 90.00, 90.00);
CreateObject(19171, 1626.60, -1370.85, 17.83, 89.98, 89.90, 90.00);
sosok = CreateObject(19177, 1627.35, -1370.82, 18.58, 270.00, 0.00, 0.00);
SetPlayerCameraPos(playerid,1626.8065,-1364.7648,19.4418);
SetPlayerCameraLookAt(playerid,1627.3491,-1370.9197,18.5732);
}
return 0;
}
forward UpdateMap();
public UpdateMap()
{
new Float:x, Float:y, Float:z;
for(new i, j = GetMaxPlayers(); i != j; i++)
{
if(!IsPlayerConnected(i)) continue;
GetPlayerPos(i, x, y, z);
if(y < -3000 || y > 3000 || x < -3000 || x > 3000) continue;
new Float:PosX, Float:PosY;
if(y < 0) PosY = 207 + 224 * -y / 3000;
else if(y >= 0) PosY = 207 - 224 * y / 3000;
if(x < 0) PosX = 316 - -x * 320 / 3000;
else if(x >= 0) PosX = 316 + x * 320 / 3000;
MoveObject(sosok, PosX, -1370.8165, PosY, 5);
}
return 1;
}
к примеру:
PosY = 207 + 224 * -y / 3000; под игриком например -1368
PosY должна получится 18, я так то сделал (18 = 10 + 17 * 1368 / 3000) но при моём перемещении цифра очень быстро меняется а мне надо к примеру чтоб прошёл 30 координат а цифра 18 увеличилась к примеру на 1 сотую (18.1)
Данный код делал по примеру карты от OkStyle, надеюсь на его помощь