- 0
вместо целого числа миллионы. Спидометр
Вопросы
Лучший ответ
@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 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
-
Похожий контент
-
От Владислав Малиновский
SWEEK RUSSIA — онлайн игра на телефон с открытым миром, в котором Вы можете создать персонажей вместе со своими друзьями и начать весело проводить время. Вы можете продвигаться по сюжету квестовых миссий или же начать игру с зарабатывания денег в транспортной компании. Создавать организации, подниматься по карьерной лестнице. Заполучив влияние над другими игроками - попробуй себя в роли Президента.
Нам нужны ответственные люди на должность главного администратора. Если вы считаете себя адекватным и ответственным, отпишите в vk.com/devmaksim или t.me/raphmarci.
Официальный сайт проекта - sweekrussia.ru
Официальный форум проекта - forum.sweekrussia.ru
Официальное сообщество VK - vk.com/sweekrussia.game
Официальный TG канал - t.me/sweek_dev
-
От bogdan295@gmai
Здраствуйте, я создавал новую организации когда дело дашло до пикапов они не создаются
new lssd1; new lssd2; else if(pickupid == lssd2)// Вход { SetPlayerInteriorEx(playerid,0); SetPPos(playerid,1567.5510,-1657.9956,5.3859); SetPlayerFacingAngle(playerid, 500); return true; } else if(pickupid == lssd1)// Вsход { SetPlayerInteriorEx(playerid,0); SetPPos(playerid,630.0542,-572.0032,16.3359); SetPlayerFacingAngle(playerid, 500); return true; } lssd2 = CreatePickupAC(1318,1,626.9653,-571.8394,17.9207, 147); // вход лссд lssd1 = CreatePickupAC(1318,1,1567.4720,-1660.6494,5.3859, 147); // выход лссд Что я сделал не так?
-
Antoxa39 Dance 80-90, mmm Nice) 22
вот код паблика
вот 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];
Поделиться сообщением
Ссылка на сообщение