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=327295)



Онлайн карта на стене дома. - Sergey_Walter - 20.03.2012

Решил создать карту на стене и сделать перемещение пимпочки на карте зависящей от какого либо перемещения человека, машины:

PHP код:
#include <a_samp>
new sosok;
public 
OnFilterScriptInit()
{
    
SetTimer("UpdateMap"3001);
    return 
1;
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if(
strcmp(cmdtext"/sosok"true) == 0)
    {
        
CreateObject(191681628.10, -1370.8519.33,   90.0290.0090.00);
        
CreateObject(191691626.60, -1370.8519.33,   90.0490.0290.04);
        
CreateObject(191701628.10, -1370.8517.83,   89.9490.0090.00);
        
CreateObject(191711626.60, -1370.8517.83,   89.9889.9090.00);
        
sosok CreateObject(191771627.35, -1370.8218.58,   270.000.000.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:xFloat:yFloat:z;
    for(new 
iGetMaxPlayers(); != ji++)
    {
        if(!
IsPlayerConnected(i)) continue;
        
GetPlayerPos(ixyz);
        if(
< -3000 || 3000 || < -3000 || 3000) continue;
        
        new 
Float:PosXFloat:PosY;
        
        if(
0PosY 207 224 * -3000;
        else if(
>= 0PosY 207 224 3000;
        
        if(
0PosX 316 - -320 3000;
        else if(
>= 0PosX 316 320 3000;
        
MoveObject(sosokPosX, -1370.8165PosY5);
    }
    return 
1;

Помогите подобрать правильные вычисления

к примеру:

PosY = 207 + 224 * -y / 3000; под игриком например -1368

PosY должна получится 18, я так то сделал (18 = 10 + 17 * 1368 / 3000) но при моём перемещении цифра очень быстро меняется а мне надо к примеру чтоб прошёл 30 координат а цифра 18 увеличилась к примеру на 1 сотую (18.1)

Данный код делал по примеру карты от OkStyle, надеюсь на его помощь


Re: Онлайн карта на стене дома. - Stepashka - 20.03.2012

Тут где-то в общей ветке скриптов было готовое решение.


Re: Онлайн карта на стене дома. - Sergey_Walter - 20.03.2012

всё ненадо высчитал))