- 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 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
-
Похожий контент
-
От Узбек
Всем добрый вечер ребят!
Я начинающий, сегодня я вам сливаю команду 2(шт) на технические работы
Ловите
-
От nazpol9
Привет всем.
У меня имеется мод для самп сервера и VPS с Ubuntu, на котором я пытаюсь его запустить.
В чем суть проблемы: при запуске samp03svr, сервер запускается, но на версии 0.3.DL R-1. Когда я пытаюсь запустить этот же мод локально на Windows, сервер работает на версии 0.3.7 и я могу зайти на него без клиента 0.3.DL.
Для решения этой проблемы я уже пробовал заменять инклуды и исполнительные файлы теми, что есть в архивах на официальном сайте сампа, перекомпилировал мод, и ничего не изменилось.
#include <a_samp> #include <a_mysql> #include <foreach> #include <Pawn.RakNet> #include <streamer> #include <sscanf2> #include <float2> #include <crashdetect> #include <fmt> #include <a_http> #include <Pawn.CMD> #include <Pawn.Regex> #include <requests> #include <callbacks> #include <MD5> #include <mxdate> #include <TOTP> #include <gvar> #include <md-sort> #include <nex-ac> #include <weapon-config> #include <discord-connector> #include <3DTryg> #include <textdraw-streamer>
plugins crashdetect.so streamer.so textdraw-streamer.so sscanf.so pawnraknet.so pawncmd.so mysql.so requests.so profiler.so pawnregex.so TOTP.so gvar.so discord-connector.so
Если у кого-то будут какие-либо догадки, прошу ими поделиться, если понадобится больше информации - я постараюсь её предоставить.
-
Опубликовано · Жалоба
вот код паблика
вот 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];
Поделиться сообщением
Ссылка на сообщение