• Страница 1 из 1
  • 1
Модератор форума: [east_side]_trane, drifter-dron, valych, admin  
Как определять скорость игрока , простой спидометр
YmHikДата: Понедельник, 06.06.2011, 16:20:29 | Сообщение # 1

Группа: Пользователи
Сообщений: 76
В нашем спидометре будет 4 TextDraw'a -
1. Speed - Скорость
2. Health - Жизни авто
3. VehicleId - Ид авто
4. Vehicle Name - Название машины


Начнём -
Шаг 1-ый : Создадим переменные для TextDraw'a
Code

new Text:Speed[MAX_PLAYERS];
new Text:Health[MAX_PLAYERS];
new Text:Vid[MAX_PLAYERS];
new Text:VName[MAX_PLAYERS];

Шаг 2-ой : Создадим сам TextDraw -
2.1. Это скорость
Code

Speed[playerid] = TextDrawCreate(20, 203,"~w~KM/H - ~r~0"); //    
      TextDrawAlignment(Speed[playerid],0); //   
      TextDrawBackgroundColor(Speed[playerid],0x000000FF); //   
      TextDrawFont(Speed[playerid],1); //    
      TextDrawSetOutline(Speed[playerid], 2); //   
      TextDrawLetterSize(Speed[playerid],0.350000,1.300000); //   
      TextDrawColor(Speed[playerid],0xFFFFFFFF);//
      TextDrawSetProportional(Speed[playerid],1); //  

2.2.Это жизни авто
Code
Health[playerid] = TextDrawCreate(20, 223,"~w~Vehicle Health - ~r~0"); //    
      TextDrawAlignment(Health[playerid],0); //   
      TextDrawBackgroundColor(Health[playerid],0x000000FF); //   
      TextDrawFont(Health[playerid],1); //    
      TextDrawSetOutline(Health[playerid], 2); //   
      TextDrawLetterSize(Health[playerid],0.350000,1.300000); //   
      TextDrawColor(Health[playerid],0xFFFFFFFF);//
      TextDrawSetProportional(Health[playerid],1); //  

2.3.Это Ид авто
Code
Vid[playerid] = TextDrawCreate(20, 223,"~w~Vehicle ID - ~r~401"); //    
      TextDrawAlignment(Vid[playerid],0); //   
      TextDrawBackgroundColor(Vid[playerid],0x000000FF); //   
      TextDrawFont(Vid[playerid],1); //    
      TextDrawSetOutline(Vid[playerid], 2); //   
      TextDrawLetterSize(Vid[playerid],0.350000,1.300000); //   
      TextDrawColor(Vid[playerid],0xFFFFFFFF);//
      TextDrawSetProportional(Vid[playerid],1); //

2.4.Это имя авто
Code
VName[playerid] = TextDrawCreate(20, 223,"~w~Vehicle ID - ~r~401"); //    
      TextDrawAlignment(VName[playerid],0); //   
      TextDrawBackgroundColor(VName[playerid],0x000000FF); //   
      TextDrawFont(VName[playerid],1); //    
      TextDrawSetOutline(VName[playerid], 2); //   
      TextDrawLetterSize(VName[playerid],0.350000,1.300000); //   
      TextDrawColor(VName[playerid],0xFFFFFFFF);//
      TextDrawSetProportional(VName[playerid],1); //

3 Шаг Создаём форвард и Паблик Для того чтобы обнавлять TextDraw
3.1 forward
Code

forward TextDrawObnov();

3.2 public
Code

public TextDrawObnov()
{
}

3.3 Запускаем таймер в OnGameModeInit
Code

SetTimer("TextDrawObnov", 1000, 1);

4. Шаг обновляем TextDraw в public TextDrawObnov()
Code

// Ya eto mutil - YmHik blya
//VehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid))-400]
new Speed1[60];
new HealthCar1[60];
new VId1[40];
new VName1[100];
new Float:vhealth;   
GetVehicleHealth(GetPlayerVehicleID(i), vhealth);   
//
for(new i; i<MAX_PLAYERS; i++) // объявляем цикл   
{
format(Speed1, 60, "~w~KM/H - ~r~%d", GetVehicleSpeed(i));
TextDrawSetString(Speed[i], Speed1);   
format(HealthCar1, 60, "~w~Vehicle Health - ~r~%d", vhealth);
TextDrawSetString(Health[i], HealthCar1);   
format(VId1, 30, "~w~Vehicle ID - ~r~%d", GetPlayerVehicleID(i));
TextDrawSetString(Vid[i], HealthCar1);   
format(new VName1, 100, "~w~Vehicle Name - ~r~%s", VehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
TextDrawSetString(VName[i], HealthCar1);   
}

5. Сздадим Массив (в начало мода) -
Code

new VehicleNames[212][] = {// имена транспорта (Взято из LAdmin4)
"Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infern  us",
"Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection",
"Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach",  "Cabbie",
"Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder",
"Reefer","Tropic","Fla  tbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider",
"Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3 50","Walton","Regina",
"Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood",
"Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa","RC Goblin","Hotring A","Hotring B",
"Bloodring Banger","Rancher","Super GT","Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain",
"Nebula","Majestic","Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cem  ent Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
"Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent","Bullet","Cl  over",
"Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Mons  ter A",
"Monster B","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer",
"Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30"  ,"Huntley","Stafford","BF-400","Newsvan","Tug","Trailer A","Emperor",
"Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car","Police Car",
"Police Car","Police Ranger","Picador","S.W.A.T.","Alpha","Phoenix","Glendale","Sadler","L Trailer A","L Trailer B",
"Stair Trailer","Boxville","Farm Plow","U Trailer" };  

6. Последний шаг в конец мода
Code

stock GetVehicleSpeed(playerid)
{    
      new Float:speed[4]; // Объявляем одномерный массив с вещественным типом переменных
      if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),speed[0],speed[1],speed[2]); // Если игрок в каком-либо транспорте, то узнаем скорость его ТС по x, y и z и записываем их в массив
      speed[3] = floatsqroot(floatpower(floatabs(speed[0]), 2.0) + floatpower(floatabs(speed[1]), 2.0) + floatpower(floatabs(speed[2]), 2.0)) * 253.3; // узнаем квадратный корень и записываем в speed[3]
      return floatround(speed[3]); // возвращаем
}  

Забыл -
в OnPlayerStateChange
Code

if(newstate == PLAYER_STATE_DRIVER) // Если игрок стал водителем
{
TextDrawShowForPlayer(playerid, Speed[playerid]); // Теперь он будет показываться
TextDrawShowForPlayer(playerid, Health[playerid]);
TextDrawShowForPlayer(playerid, Vid[playerid]);
TextDrawShowForPlayer(playerid, VName[playerid]);
}  
if(newstate == PLAYER_STATE_ONFOOT) // Если игрок стал пешеходом
{
TextDrawHideForPlayer(playerid, Speed[playerid]);  // скроем текстдрав
TextDrawHideForPlayer(playerid, Health[playerid]);
TextDrawHideForPlayer(playerid, Vid[playerid]);
TextDrawHideForPlayer(playerid, VName[playerid]);
}  





Заказ Граффики


Сообщение отредактировал YmHik - Понедельник, 06.06.2011, 16:29:36
 
СообщениеВ нашем спидометре будет 4 TextDraw'a -
1. Speed - Скорость
2. Health - Жизни авто
3. VehicleId - Ид авто
4. Vehicle Name - Название машины


Начнём -
Шаг 1-ый : Создадим переменные для TextDraw'a
Code

new Text:Speed[MAX_PLAYERS];
new Text:Health[MAX_PLAYERS];
new Text:Vid[MAX_PLAYERS];
new Text:VName[MAX_PLAYERS];

Шаг 2-ой : Создадим сам TextDraw -
2.1. Это скорость
Code

Speed[playerid] = TextDrawCreate(20, 203,"~w~KM/H - ~r~0"); //    
      TextDrawAlignment(Speed[playerid],0); //   
      TextDrawBackgroundColor(Speed[playerid],0x000000FF); //   
      TextDrawFont(Speed[playerid],1); //    
      TextDrawSetOutline(Speed[playerid], 2); //   
      TextDrawLetterSize(Speed[playerid],0.350000,1.300000); //   
      TextDrawColor(Speed[playerid],0xFFFFFFFF);//
      TextDrawSetProportional(Speed[playerid],1); //  

2.2.Это жизни авто
Code
Health[playerid] = TextDrawCreate(20, 223,"~w~Vehicle Health - ~r~0"); //    
      TextDrawAlignment(Health[playerid],0); //   
      TextDrawBackgroundColor(Health[playerid],0x000000FF); //   
      TextDrawFont(Health[playerid],1); //    
      TextDrawSetOutline(Health[playerid], 2); //   
      TextDrawLetterSize(Health[playerid],0.350000,1.300000); //   
      TextDrawColor(Health[playerid],0xFFFFFFFF);//
      TextDrawSetProportional(Health[playerid],1); //  

2.3.Это Ид авто
Code
Vid[playerid] = TextDrawCreate(20, 223,"~w~Vehicle ID - ~r~401"); //    
      TextDrawAlignment(Vid[playerid],0); //   
      TextDrawBackgroundColor(Vid[playerid],0x000000FF); //   
      TextDrawFont(Vid[playerid],1); //    
      TextDrawSetOutline(Vid[playerid], 2); //   
      TextDrawLetterSize(Vid[playerid],0.350000,1.300000); //   
      TextDrawColor(Vid[playerid],0xFFFFFFFF);//
      TextDrawSetProportional(Vid[playerid],1); //

2.4.Это имя авто
Code
VName[playerid] = TextDrawCreate(20, 223,"~w~Vehicle ID - ~r~401"); //    
      TextDrawAlignment(VName[playerid],0); //   
      TextDrawBackgroundColor(VName[playerid],0x000000FF); //   
      TextDrawFont(VName[playerid],1); //    
      TextDrawSetOutline(VName[playerid], 2); //   
      TextDrawLetterSize(VName[playerid],0.350000,1.300000); //   
      TextDrawColor(VName[playerid],0xFFFFFFFF);//
      TextDrawSetProportional(VName[playerid],1); //

3 Шаг Создаём форвард и Паблик Для того чтобы обнавлять TextDraw
3.1 forward
Code

forward TextDrawObnov();

3.2 public
Code

public TextDrawObnov()
{
}

3.3 Запускаем таймер в OnGameModeInit
Code

SetTimer("TextDrawObnov", 1000, 1);

4. Шаг обновляем TextDraw в public TextDrawObnov()
Code

// Ya eto mutil - YmHik blya
//VehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid))-400]
new Speed1[60];
new HealthCar1[60];
new VId1[40];
new VName1[100];
new Float:vhealth;   
GetVehicleHealth(GetPlayerVehicleID(i), vhealth);   
//
for(new i; i<MAX_PLAYERS; i++) // объявляем цикл   
{
format(Speed1, 60, "~w~KM/H - ~r~%d", GetVehicleSpeed(i));
TextDrawSetString(Speed[i], Speed1);   
format(HealthCar1, 60, "~w~Vehicle Health - ~r~%d", vhealth);
TextDrawSetString(Health[i], HealthCar1);   
format(VId1, 30, "~w~Vehicle ID - ~r~%d", GetPlayerVehicleID(i));
TextDrawSetString(Vid[i], HealthCar1);   
format(new VName1, 100, "~w~Vehicle Name - ~r~%s", VehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
TextDrawSetString(VName[i], HealthCar1);   
}

5. Сздадим Массив (в начало мода) -
Code

new VehicleNames[212][] = {// имена транспорта (Взято из LAdmin4)
"Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infern  us",
"Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection",
"Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach",  "Cabbie",
"Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder",
"Reefer","Tropic","Fla  tbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider",
"Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3 50","Walton","Regina",
"Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood",
"Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa","RC Goblin","Hotring A","Hotring B",
"Bloodring Banger","Rancher","Super GT","Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain",
"Nebula","Majestic","Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cem  ent Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
"Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent","Bullet","Cl  over",
"Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Mons  ter A",
"Monster B","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer",
"Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30"  ,"Huntley","Stafford","BF-400","Newsvan","Tug","Trailer A","Emperor",
"Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car","Police Car",
"Police Car","Police Ranger","Picador","S.W.A.T.","Alpha","Phoenix","Glendale","Sadler","L Trailer A","L Trailer B",
"Stair Trailer","Boxville","Farm Plow","U Trailer" };  

6. Последний шаг в конец мода
Code

stock GetVehicleSpeed(playerid)
{    
      new Float:speed[4]; // Объявляем одномерный массив с вещественным типом переменных
      if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),speed[0],speed[1],speed[2]); // Если игрок в каком-либо транспорте, то узнаем скорость его ТС по x, y и z и записываем их в массив
      speed[3] = floatsqroot(floatpower(floatabs(speed[0]), 2.0) + floatpower(floatabs(speed[1]), 2.0) + floatpower(floatabs(speed[2]), 2.0)) * 253.3; // узнаем квадратный корень и записываем в speed[3]
      return floatround(speed[3]); // возвращаем
}  

Забыл -
в OnPlayerStateChange
Code

if(newstate == PLAYER_STATE_DRIVER) // Если игрок стал водителем
{
TextDrawShowForPlayer(playerid, Speed[playerid]); // Теперь он будет показываться
TextDrawShowForPlayer(playerid, Health[playerid]);
TextDrawShowForPlayer(playerid, Vid[playerid]);
TextDrawShowForPlayer(playerid, VName[playerid]);
}  
if(newstate == PLAYER_STATE_ONFOOT) // Если игрок стал пешеходом
{
TextDrawHideForPlayer(playerid, Speed[playerid]);  // скроем текстдрав
TextDrawHideForPlayer(playerid, Health[playerid]);
TextDrawHideForPlayer(playerid, Vid[playerid]);
TextDrawHideForPlayer(playerid, VName[playerid]);
}  

Автор - YmHik
Дата добавления - 06.06.2011 в 16:20:29
  • Страница 1 из 1
  • 1
Поиск:
Загрузка страницы, займет меньше минуты...
Загрузка...

Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
Система телефонов поломалась
Не в себе
фильм скалайн
Трансформеры 3
форсаж 6
Ищу [FS]Для админок на сервер
нужны координаты карты для отметки зон...
Помогите найти мод
pawno урок автоматические ворота
обращение к скриптерам.
Вопросы по скриптингу
Ваши ошибки при компиляции GM/FS

Вопросы по скриптингу

(1081)

Считаем до 1000

(274)

Ваши ошибки при компиляция gm

(260)

Набор в команду

(80)

Ваши ошибки при компиляции GM/FS

(71)

вопроосы по скриптингу от 22.04.2013

(64)

Баннеробмен

(64)

несколько команд на samp 0.3 c

(64)

Оценки сайта samp-pawno.ru

(55)

Заказ хостинга

(51)

Набор в команду(форум)

(45)

Урок №61 по созданию системы авто для GodFather

(45)

admin

(3869)

[east_side]_trane

(443)

TWiX

(316)

valych

(501)

drifter-dron

(477)

danik_rok

(317)

Dimka_71rus

(360)

Drifter96

(300)

MaNb9K

(220)

[MTA]MaPeR5518

(181)

Dima_Tkach

(107)

Nik_Ull

(184)

system32xzxz

(Четверг 09:25:24)

torbin169

(Суббота 23:09:29)

kuchuk_00

(Суббота 17:10:14)

artem_boyko_3

(Суббота 15:57:37)

greggelbak

(Среда 18:29:37)

vladisvlavs

(Среда 13:51:57)

add02102002

(Понедельник 22:37:15)

Диман221

(Понедельник 18:12:45)

almas051004

(Воскресенье 11:05:32)

megasuccessms

(Суббота 14:15:36)

nawe

(Пятница 22:25:23)

swoysb

(Пятница 14:55:29)

Вверх
23:40:43
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2025

vkontakte :samp-pawno.ru: