Topka*
Новичок
Решил выложить интересный спидометр. Автор самого кода : denizx aka skript47. Автор урока/скрипта : wtf? aka n0rze.
Для начало добавим ко всем #define
Далее ко всем new добавим :
Создадим массив с названиями машин:
Далее в OnGameModeInit() добавим текст-дравы и таймер:
В public OnPlayerUpdate(playerid) добавляем:
В public OnVehicleSpawn(vehicleid) вставляем:
Далее создаем сам stock обновление спидометра и вычисление скорости:
P.S. Извиняюсь за кривую табуляцию(также настройте сис-му бензина под свой мод)
Помог ставь (+)
PHP:
#define BoxColor 0xffffffff
#define MPH_KPH_Color "~g~"
#define VehicleMaxSpeed 240
#define GasMax 100
#define CAR_AMOUNT 2000
PHP:
Text:Box,Text:Box2,Text:Func[MAX_PLAYERS],Text:Func2[MAX_PLAYERS],Gas[CAR_AMOUNT],LOCKEDVEH[MAX_VEHICLES];
PHP:
new VehiclesName[][] =
{
"Landstalker", "Bravura", "Buffalo", "Linerunner", "Pereniel", "Sentinel", "Dumper",
"Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus", "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 Truck", "Admiral", "Squalo", "Seasparrow", "Pizzaboy",
"Tram", "Trailer", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed", "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", "ZR-350", "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 Racer", "Hotring Racer", "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", "Cement Truck", "Tow Truck",
"Fortune", "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine",
"Feltzer", "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex",
"Vincent", "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder",
"Primo", "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada",
"Yosemite", "Windsor", "Monster Truck", "Monster Truck", "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", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
"Trailer", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car (LS)",
"Police Car (SF)", "Police Car (LV)", "Police Ranger", "Picador", "S.W.A.T. Van",
"Alpha", "Phoenix", "Glendale", "Sadler", "Luggage Trailer", "Luggage Trailer",
"Stair Trailer", "Boxville", "Farm Plow", "Utility Trailer"
};
PHP:
Box = TextDrawCreate(30.000000,295.000000,"C");
TextDrawUseBox(Box,1);
TextDrawBoxColor(Box,0x00000033);
TextDrawTextSize(Box,150.000000,2.000000);
TextDrawAlignment(Box,0);
TextDrawBackgroundColor(Box,0x000000ff);
TextDrawFont(Box,3);
TextDrawLetterSize(Box,-0.000000,5.000001);
TextDrawColor(Box,BoxColor);
TextDrawSetOutline(Box,1);
TextDrawSetProportional(Box,1);
TextDrawSetShadow(Box,1);
Box2 = TextDrawCreate(30.000000,305.000000,"C");
TextDrawUseBox(Box2,1);
TextDrawBoxColor(Box2,0x00000033);
TextDrawTextSize(Box2,150.000000,8.000000);
TextDrawAlignment(Box2,0);
TextDrawBackgroundColor(Box2,0x000000ff);
TextDrawFont(Box2,1);
TextDrawLetterSize(Box2,-0.000000,3.700001);
TextDrawColor(Box2,BoxColor);
TextDrawSetOutline(Box2,1);
TextDrawSetProportional(Box2,1);
TextDrawSetShadow(Box2,1);
for(new i=0; i<MAX_PLAYERS; i++)
{
Func[i] = TextDrawCreate(35.000000,295.000000,"Loading...");
TextDrawAlignment(Func[i],0);
TextDrawBackgroundColor(Func[i],0x000000ff);
TextDrawFont(Func[i],1);
TextDrawLetterSize(Func[i],0.299999,1.200000);
TextDrawColor(Func[i],0xffffffff);
TextDrawSetOutline(Func[i],1);
TextDrawSetProportional(Func[i],1);
TextDrawSetShadow(Func[i],1);
Func2[i] = TextDrawCreate(35.000000,305.000000,"Loading...");
TextDrawAlignment(Func2[i],0);
TextDrawBackgroundColor(Func2[i],0x000000ff);
TextDrawFont(Func2[i],1);
TextDrawLetterSize(Func2[i],0.299999,1.200000);
TextDrawColor(Func2[i],0xffffffff);
TextDrawSetOutline(Func2[i],1);
TextDrawSetProportional(Func2[i],1);
TextDrawSetShadow(Func2[i],2);
}
PHP:
SpeedoMeterUp(playerid);
PHP:
LOCKEDVEH[vehicleid] = 0;
PHP:
stock SpeedoMeterUp(playerid)
{
new string[256],Float:VehHealth,VehicleStatus[15],vehicle=GetPlayerVehicleID(playerid);
GetVehicleHealth(vehicle, VehHealth);
if(!IsPlayerInAnyVehicle(playerid))
{
TextDrawHideForPlayer(playerid, Box),TextDrawHideForPlayer(playerid, Func[playerid]),TextDrawHideForPlayer(playerid,
}
Box2),TextDrawHideForPlayer(playerid, Func2[playerid]);
format(string,sizeof(string),"~b~Vehicle: ~w~%s~n~~b~VINum: ~w~%d ~b~Health: ~w~%.0f ~n~~b~Status: %s ~n~%sFuel: ~w~%d %sKM/H: ~w~%d",
VehiclesName[GetVehicleModel(GetPlayerVehicleID(playerid))-400],GetPlayerVehicleID(playerid),VehHealth/10,VehicleStatus,MPH_KPH_Color,Gas[GetPlayerVehicleID(playerid)],MPH_KPH_Color,GetPlayerSpeed(playerid));
TextDrawSetString(Func[playerid], string),TextDrawShowForPlayer(playerid, Box),TextDrawShowForPlayer(playerid, Func[playerid]),TextDrawHideForPlayer(playerid, Box2);
if(LOCKEDVEH[GetPlayerVehicleID(playerid)] == 1) return VehicleStatus = "~r~Locked";
if(LOCKEDVEH[GetPlayerVehicleID(playerid)] == 0) return VehicleStatus = "~g~Unlocked";
return 1;
}
stock GetPlayerSpeed(playerid){
new Float:ST[4];
if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 150;
return floatround(ST[3]);
}
Помог ставь (+)
