Ria
Добрый день Уважаемые пользователи портала Pawno-Info
С вами я Ria и я делаю сегодня мануал по созданию нового спидометара для вашего самп сервера
Скриншот
И так начнем
К всем #define
К всем new
К всем текст драйвам
В public OnPlayerDisconnect(playerid, reason)
В public OnPlayerSpawn(playerid)
В public OnPlayerDeath(playerid, killerid, reason)
В конец мода
В public OnPlayerStateChange(playerid, newstate, oldstate)
В public OnPlayerExitVehicle(playerid, vehicleid)
В public OnPlayerUpdate(playerid)
В конец мода
Вот и все
Говорю сразу
Вырезано из FS
Автор выреза Я
С вами я Ria и я делаю сегодня мануал по созданию нового спидометара для вашего самп сервера
Скриншот
И так начнем
К всем #define
PHP:
#define GetVehicleModelName(%1) Vehiclename[%1-400]
#define VehicleSpeed_1 false
#define VehicleSpeed_2 true
#define VehicleSpeed_A 0
#define VehicleSpeed_B 6
К всем new
PHP:
new bool:R_Vehicle[MAX_PLAYERS] = false;
new Text:Vehname[MAX_PLAYERS];
new Text:VehicleSpeed[MAX_PLAYERS];
new Text:KMH[MAX_PLAYERS];
new Text:Speedometer_R[MAX_PLAYERS];
new Text:SpeeedBox;
new Text:SpeedName;
new Vehiclename[ ][ ] =
{
"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 (LSPD)",
"Police Car (SFPD)",
"Police Car (LVPD)",
"Police Ranger",
"Picador",
"S.W.A.T. Van",
"Alpha",
"Phoenix",
"Glendale",
"Sadler",
"Luggage Trailer",
"Luggage Trailer",
"Stair Trailer",
"Boxville",
"Farm Plow",
"Utility Trailer"
};
К всем текст драйвам
PHP:
SpeeedBox = TextDrawCreate(437.000000,372.000000,"~n~~n~~n~~n~~n~");
SpeedName = TextDrawCreate(469.000000,349.000000,"Speedometer");
TextDrawUseBox(SpeeedBox,1);
TextDrawBoxColor(SpeeedBox,0xffffff33);
TextDrawTextSize(SpeeedBox,616.000000,0.000000);
TextDrawUseBox(SpeedName,1);
TextDrawBoxColor(SpeedName,0xffffff33);
TextDrawTextSize(SpeedName,585.000000,5.000000);
TextDrawAlignment(SpeeedBox,0);
TextDrawAlignment(SpeedName,0);
TextDrawBackgroundColor(SpeeedBox,0x000000ff);
TextDrawBackgroundColor(SpeedName,0xffffff66);
TextDrawFont(SpeeedBox,1);
TextDrawLetterSize(SpeeedBox,1.000000,1.000000);
TextDrawFont(SpeedName,0);
TextDrawLetterSize(SpeedName,0.799999,1.900000);
TextDrawColor(SpeeedBox,0xffffffff);
TextDrawColor(SpeedName,0x000000ff);
TextDrawSetOutline(SpeeedBox,1);
TextDrawSetOutline(SpeedName,1);
TextDrawSetProportional(SpeeedBox,1);
TextDrawSetProportional(SpeedName,1);
TextDrawSetShadow(SpeeedBox,1);
TextDrawSetShadow(SpeedName,1);
VehicleSpeedTextDraw_R();
В public OnPlayerDisconnect(playerid, reason)
PHP:
R_Vehicle[playerid] = VehicleSpeed_1;
В public OnPlayerSpawn(playerid)
PHP:
R_Vehicle[playerid] = VehicleSpeed_1;
В public OnPlayerDeath(playerid, killerid, reason)
PHP:
R_Vehicle[playerid] = VehicleSpeed_1;
В конец мода
PHP:
forward OnFilterScriptExit()
public OnFilterScriptExit()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
TextDrawDestroy(Speedometer_R[i]);
TextDrawHideForPlayer(i, Vehname[i]);
TextDrawHideForPlayer(i, Speedometer_R[i]);
TextDrawHideForPlayer(i, VehicleSpeed[i]);
TextDrawHideForPlayer(i, KMH[i]);
}
return 1;
}
В public OnPlayerStateChange(playerid, newstate, oldstate)
PHP:
if(newstate == PLAYER_STATE_DRIVER)
{
new String[64];
new String_R[64];
//******************************************************************************
//VehicleName
format(String, sizeof(String), "Vehicle:");
TextDrawSetString(Speedometer_R[playerid], String);
TextDrawShowForPlayer(playerid, Speedometer_R[playerid]);
format(String, sizeof(String), "%s", GetVehicleModelName(GetVehicleModel(GetPlayerVehicleID(playerid))));
TextDrawSetString(Vehname[playerid], String);
TextDrawShowForPlayer(playerid, Vehname[playerid]);
//******************************************************************************
// Vehicle KM/H
format(String_R, sizeof(String_R), "KM/H", GetPlayerSpeed(playerid));
TextDrawSetString(VehicleSpeed[playerid], String);
TextDrawShowForPlayer(playerid, KMH[playerid]);
format(String, sizeof(String), "%d", GetPlayerSpeed(playerid));
TextDrawSetString(VehicleSpeed[playerid], String);
TextDrawShowForPlayer(playerid, VehicleSpeed[playerid]);
//******************************************************************************
TextDrawShowForPlayer(playerid, SpeeedBox);
TextDrawShowForPlayer(playerid, SpeedName);
R_Vehicle[playerid] = VehicleSpeed_2;
}
else if(newstate == PLAYER_STATE_ONFOOT)
{
R_Vehicle[playerid] = VehicleSpeed_1;
TextDrawHideForPlayer(playerid, Speedometer_R[playerid]);
TextDrawHideForPlayer(playerid, VehicleSpeed[playerid]);
TextDrawHideForPlayer(playerid, KMH[playerid]);
TextDrawHideForPlayer(playerid, Vehname[playerid]);
TextDrawHideForPlayer(playerid, SpeeedBox);
TextDrawHideForPlayer(playerid, SpeedName);
}
В public OnPlayerExitVehicle(playerid, vehicleid)
PHP:
R_Vehicle[playerid] = VehicleSpeed_1;
TextDrawHideForPlayer(playerid, Speedometer_R[playerid]);
TextDrawHideForPlayer(playerid, VehicleSpeed[playerid]);
TextDrawHideForPlayer(playerid, KMH[playerid]);
TextDrawHideForPlayer(playerid, Vehname[playerid]);
TextDrawHideForPlayer(playerid, SpeeedBox);
TextDrawHideForPlayer(playerid, SpeedName);
PHP:
if(IsPlayerInAnyVehicle(playerid))
{
if(bool:R_Vehicle[playerid] == VehicleSpeed_2)
{
static UpdateSpeed_R[MAX_PLAYERS];
if(UpdateSpeed_R[playerid] >= VehicleSpeed_B)
{
//******************************************************************************
//Vehicle Name
new string[64];
format(string, sizeof(string), "Vehicle:");
TextDrawSetString(Speedometer_R[playerid], string);
format(string, sizeof(string), "%s", GetVehicleModelName(GetVehicleModel(GetPlayerVehicleID(playerid))));
TextDrawSetString(Vehname[playerid], string);
//******************************************************************************
// Vehicle Speed
format(string, sizeof(string), "KM/H:");
TextDrawSetString(Text:KMH[playerid], string);
format(string, sizeof(string), "%d", GetPlayerSpeed(playerid));
TextDrawSetString(VehicleSpeed[playerid], string);
UpdateSpeed_R[playerid] = VehicleSpeed_A;
//******************************************************************************
return 1;
}
else UpdateSpeed_R[playerid] ++;
}
}
return 1;
}
//______________________________________________________________________________
VehicleSpeedTextDraw_R()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
//Vehicle Name
Speedometer_R[i] = TextDrawCreate(440.000000,380.000000,"Vehicle Name:");
TextDrawAlignment(Speedometer_R[i],0);
TextDrawBackgroundColor(Speedometer_R[i],0x000000ff);
TextDrawFont(Speedometer_R[i],1);
TextDrawLetterSize(Speedometer_R[i],0.299999,1.300000);
TextDrawColor(Speedometer_R[i],0xffffffff);
TextDrawSetOutline(Speedometer_R[i],1);
TextDrawSetProportional(Speedometer_R[i],1);
TextDrawSetShadow(Speedometer_R[i],1);
//Vehicle Name_1
Vehname[i] = TextDrawCreate(520.000000,382.000000,"_");
TextDrawAlignment(Vehname[i],0);
TextDrawBackgroundColor(Vehname[i],0xff000066);
TextDrawFont(Vehname[i],1);
TextDrawLetterSize(Vehname[i],0.399999,1.000000);
TextDrawColor(Vehname[i],0xffffffff);
TextDrawSetOutline(Vehname[i],1);
TextDrawSetProportional(Vehname[i],1);
TextDrawSetShadow(Vehname[i],1);
//Vehicle K/MH
KMH[i] = TextDrawCreate(441.000000,390.000000,"K/MH:");
TextDrawAlignment(KMH[i],0);
TextDrawBackgroundColor(KMH[i],0x000000ff);
TextDrawFont(KMH[i],1);
TextDrawLetterSize(KMH[i],0.599999,2.599999);
TextDrawColor(KMH[i],0xffffffff);
TextDrawSetOutline(KMH[i],1);
TextDrawSetProportional(KMH[i],1);
TextDrawSetShadow(KMH[i],1);
//Vehicle K/MH_2
VehicleSpeed[i] = TextDrawCreate(511.000000,398.000000,"_");
TextDrawAlignment(VehicleSpeed[i],0);
TextDrawBackgroundColor(VehicleSpeed[i],0x0000ff66);
TextDrawFont(VehicleSpeed[i],2);
TextDrawLetterSize(VehicleSpeed[i],1.000000,1.400000);
TextDrawColor(VehicleSpeed[i],0xffffffff);
TextDrawSetOutline(VehicleSpeed[i],1);
TextDrawSetProportional(VehicleSpeed[i],1);
TextDrawSetShadow(VehicleSpeed[i],1);
}
PHP:
stock GetPlayerSpeed(playerid)
{
new Float:ST[4];
if(IsPlayerInAnyVehicle(playerid))
GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
else GetPlayerVelocity(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)) * 253.3;
return floatround(ST[3]);
}
Вот и все
Говорю сразу
Вырезано из FS
Автор выреза Я
Последнее редактирование:
