Question

Спойлер

public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ)
{
     new string[128];
     if(pInfo[playerid][pAdmin] >= 5)
     {
         SetPlayerInterior(playerid, 0);
         SetPlayerVirtualWorld(playerid, 0);
         if (GetPlayerState(playerid) == 2) SetVehiclePos(GetPlayerVehicleID(playerid), fX, fY, fZ);
         else SetPlayerPos(playerid, fX, fY, fZ);
         format(string, sizeof(string), "Âû óñïåøíî òåëåïîðòèðîâàëèñü. Êîîðäèíàòû: X - %d Y - %d Z - %d",fX, fY, fZ);
         SendClientMessage(playerid,COLOR_WHITE,string);
     }
     return true;
}

 

 

Вообще проблема в том что первые 2 раза всё нормально перемещает но потом куда не кликай тпешит в одну и ту же точку в чём проблема?

Snbb77LJ5Ho.jpg

Share this post


Link to post

1 answer to this question

  • 2

Для начала прочитайте о том, что значат %s, %d, %f (взял в расчёт самые "популярные");

Это "заменители" для форматного вывода, если какое-то данное будет известно только во время работы кода, а не перед его началом, в данном случае - координаты

%d - просто число

%f - дробное число

%s - строчка

Вы указали %d, а значит формат не учитывает точку, и пишет число без неё, что бы вывод был нормальным поставьте %f:

format(string, sizeof(string), "Âû óñïåøíî òåëåïîðòèðîâàëèñü. Êîîðäèíàòû: X - %f Y - %f Z - %f",fX, fY, fZ);

Так же о том, что fX, fY и fZ - дробные числа, говорит тэг в объявлении паблика: 

Float:fX, Float:fY, Float:fZ

Так же можете использовать:

%.2а

Это округлит данные до 2-й цифры после запятой (в нашем случае)

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Tufxgod
      By Tufxgod
      Пойду на проект в качестве разработчика.
      Опыт в павн 2 года, умею писать системы любой сложности, владею mysql.
      Пишите в лс!
    • tivan666ban
      By tivan666ban
      дедуги в консоли при подключении к серверу: [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
      [debug]  Stack pointer (STK) is 0xFFFEC394, heap pointer (HEA) is 0x1B40
      [debug] AMX backtrace:
      [debug] #0 00000000 in public OnPlayerConnect () in Untitled.amx