- 0
вместо целого числа миллионы. Спидометр
Вопрос от
Antoxa39
,
Вопросы
Лучший ответ
@Antoxa39, %f используется при передаче вещественных чисел. Для передачи целочисленных, коим и является ID игрока (playerid), используют %d или %i. Также обращаю ваше внимание на то, что интервал для вызова таймера задается в миллисекундах. Боюсь, каждую миллисекунду вызывать таймер для расчета скорости - перебор. Поменяю это значение на половину секунды (1000 миллисекунд = 1 секунда).
SetTimerEx("getspeed", 0.5 * 1000, true, "%i", playerid);
Следующая проблема состоит в том, что вы имеете вещественное число, но выводите его как целое. Следует либо округлить соответствующей функцией, либо все же выводить вещественное число. Но, коль уж вы ожидаете увидеть целочисленное, выполним округление.
public getspeed(playerid) {
new Float:cord[3];
GetVehicleVelocity(GetPlayerVehicleID(playerid),cord[0], cord[1], cord[2]);
new Float:veloc = floatsqroot(floatpower(floatabs(cord[0]), 2.0) + floatpower(floatabs(cord[1]), 2.5) + floatpower(floatabs(cord[2]), 2.0)) * 181.3;
new str[25];
format(str,sizeof(str),"KM/H %d",floatround(veloc));
PlayerTextDrawSetString(playerid,speed[playerid],str);
return 1;
}
Сходу больше не вижу проблем.
Эта тема закрыта для публикации ответов.
-
Последние посетители 0 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
-
Похожий контент
-
От Mister Odin
new
g_teleport_list[39][E_TELEPORT_LIST] = { {"Спавн пгт.Батырево", 1802.3612, 2508.4824, 15.8887}, {"Спавн г.Арзамас", -113.5887, 977.7222, 12.0346}, {"Спавн г.Южный", 2744.2770, -2446.7246, 21.8988}, {"Центральный банк", 1852.020385,2040.791381,15.892713}, {"Рублёвка", -837.7783, 888.6161, 12.7232}, {"Казино", 1332.4252, 2358.7014, 17.6641}, {"Битва за контейнеры", 614.5167, 1722.3566, 12.0709}, {"Автосалон низкого класса", 2493.9616, -722.9544, 12.3315}, {"Автосалон среднего класса", 1407.7449, 455.4801, 13.1630}, {"Автосалон высокого класса", -14.0637, 2614.5664, 10.9892}, {"Мотосалон Harley Davidson", 785.720153, 750.465087, 12.000024}, {"Автошкола", 1909.174438,2227.679687,15.708162}, {"Военкомат", 1916.778564,2302.411376,15.574637}, {"Правительство области", -139.140975,593.789611,12.145712}, {"Отдел полиции №1 (ГИБДД)", 1906.805786,-2234.382812,11.257631}, {"Отдел полиции №2 (УМВД)", 2581.309326,-2416.139892,21.960090}, {"Отдел ФСБ", 1823.904663,2095.636718,15.848405}, {"Городская больница г.Арзамас", -285.797210,581.851562,12.120290}, {"СМИ", -317.708038,821.221679,13.051450}, {"Воинская часть", 1703.197265,1678.025878,15.279437}, {"Арзамасская ОПГ", 438.705322,1046.505126,12.002637}, {"Батыревская ОПГ", 1941.203857,2161.006591,15.705187}, {"Лыткаринская ОПГ", -2346.002441,75.257041,21.002962}, {"Шахта", 2381.5727, 1726.4451, -2.1506}, {"Завод", -1062.6697, 2204.1894, 38.0964}, {"Инкосация", 1864.1374, 2011.7136, 15.8546}, {"Транспортная Компания", 2362.1115, 1972.5627, 15.5530}, {"База механиков", 1840.918090,-118.025146,15.695312}, {"Курьерская служба доставки", 2764.509765,-2396.882568,21.890625}, {"Аренда автобуса(Южный)", 2771.041992,-2454.780761,21.845964}, {"Аренда автобуса(Арзамас)", -127.487670,943.652648,12.142824}, {"Аренда автобуса(Батырево)", 1798.986328,2529.591552,15.664262}, {"Гоночная трасса", -1568.7784, 1611.8305, 36.3971}, {"Дом на горе", -789.5397, -456.7479, 741.1422}, {"СТО и тюнинг-ателье", 1856.1375, -122.3266, 15.6888}, {"Аренда транспорта пгт.Батырево", 1763.641723,2255.673339,15.865348}, {"Аренда транспорта г.Арзамас", -36.923530,1360.673583,12.002090}, {"Аренда транспорта г.Южный", 1966.599975,-2603.943603,10.820312}, {"Тайный интерьер в Лыткарино", -2424.5818, 2846.3291, 40.7908} };
-
Опубликовано · Жалоба
вот код паблика
вот OnPlayerStateChange(function)
if(newstate == PLAYER_STATE_DRIVER)
{
PlayerTextDrawShow(playerid,speed[playerid]);
SetTimerEx("getspeed", 1, true, "%f", playerid);
}
if(newstate == PLAYER_STATE_ONFOOT)
{
PlayerTextDrawHide(playerid,speed[playerid]);
}
тд:
new PlayerText:speed[MAX_PLAYERS];
Поделиться сообщением
Ссылка на сообщение