Система спидометра бензина, мили
Всем привет выкладываю свой спидометр копия Diamond, Автор Я Mist
Переменные:
PHP код:
new Text:speedusebox[MAX_PLAYERS];
new Text:namevehicle[MAX_PLAYERS];
new Text:fuelvehicle[MAX_PLAYERS];
new Text:speedvehicle[MAX_PLAYERS];
new Text:millagevehicle[MAX_PLAYERS];
new Text:healthvehicle[MAX_PLAYERS];
new Text:statusengine[MAX_PLAYERS];
new Text:statuslock[MAX_PLAYERS];
new Text:statuslamp[MAX_PLAYERS];
new speedtimer[MAX_PLAYERS];
enum TRANSPORT {
Float:trFuel,
Float:trMillage,
Float:trExpense,
Float:trHealth,
Float:trPosX,
Float:trPosY,
Float:trPosZ
};
new gTransport[MAX_VEHICLES][TRANSPORT];
OnGameModeInit()
PHP код:
ManualVehicleEngineAndLights();
for(new veh = 0; veh < MAX_VEHICLES; veh++) {
gTransport[veh][trFuel] = 50;
gTransport[veh][trExpense] = 0.1;
SetVehicleParamsEx(veh, false, false, false, false, false, false, false);
}
OnPlayerConnect(playerid)
PHP код:
speedusebox[playerid] = TextDrawCreate(606.000000, 357.625000, "usebox");
TextDrawLetterSize(speedusebox[playerid], 0.000000, 7.849999);
TextDrawTextSize(speedusebox[playerid], 425.500000, 0.000000);
TextDrawAlignment(speedusebox[playerid], 1);
TextDrawColor(speedusebox[playerid], 0);
TextDrawUseBox(speedusebox[playerid], true);
TextDrawBoxColor(speedusebox[playerid], 102);
TextDrawSetShadow(speedusebox[playerid], 0);
TextDrawSetOutline(speedusebox[playerid], 0);
TextDrawFont(speedusebox[playerid], 0);
namevehicle[playerid] = TextDrawCreate(428.500000, 346.500000, "Clower");
TextDrawLetterSize(namevehicle[playerid], 0.449999, 1.600000);
TextDrawAlignment(namevehicle[playerid], 1);
TextDrawColor(namevehicle[playerid], -1);
TextDrawSetShadow(namevehicle[playerid], 0);
TextDrawSetOutline(namevehicle[playerid], 1);
TextDrawBackgroundColor(namevehicle[playerid], 51);
TextDrawFont(namevehicle[playerid], 0);
TextDrawSetProportional(namevehicle[playerid], 1);
fuelvehicle[playerid] = TextDrawCreate(467.000000, 362.250000, "FUEL: 100L");
TextDrawLetterSize(fuelvehicle[playerid], 0.388999, 0.956876);
TextDrawAlignment(fuelvehicle[playerid], 1);
TextDrawColor(fuelvehicle[playerid], -1);
TextDrawSetShadow(fuelvehicle[playerid], 0);
TextDrawSetOutline(fuelvehicle[playerid], 1);
TextDrawBackgroundColor(fuelvehicle[playerid], 51);
TextDrawFont(fuelvehicle[playerid], 2);
TextDrawSetProportional(fuelvehicle[playerid], 1);
speedvehicle[playerid] = TextDrawCreate(450.500000, 372.750000, "SPEED: 170KM/H");
TextDrawLetterSize(speedvehicle[playerid], 0.388998, 0.956875);
TextDrawAlignment(speedvehicle[playerid], 1);
TextDrawColor(speedvehicle[playerid], -1);
TextDrawSetShadow(speedvehicle[playerid], 0);
TextDrawSetOutline(speedvehicle[playerid], 1);
TextDrawBackgroundColor(speedvehicle[playerid], 51);
TextDrawFont(speedvehicle[playerid], 2);
TextDrawSetProportional(speedvehicle[playerid], 1);
millagevehicle[playerid] = TextDrawCreate(455.500000, 395.500000, "MILLAGE: 0.00");
TextDrawLetterSize(millagevehicle[playerid], 0.388998, 0.956875);
TextDrawAlignment(millagevehicle[playerid], 1);
TextDrawColor(millagevehicle[playerid], -1);
TextDrawSetShadow(millagevehicle[playerid], 0);
TextDrawSetOutline(millagevehicle[playerid], 1);
TextDrawBackgroundColor(millagevehicle[playerid], 51);
TextDrawFont(millagevehicle[playerid], 2);
TextDrawSetProportional(millagevehicle[playerid], 1);
healthvehicle[playerid] = TextDrawCreate(459.000000, 383.687500, "HEALTH: 100");
TextDrawLetterSize(healthvehicle[playerid], 0.388998, 0.956875);
TextDrawAlignment(healthvehicle[playerid], 1);
TextDrawColor(healthvehicle[playerid], -1);
TextDrawSetShadow(healthvehicle[playerid], 0);
TextDrawSetOutline(healthvehicle[playerid], 1);
TextDrawBackgroundColor(healthvehicle[playerid], 51);
TextDrawFont(healthvehicle[playerid], 2);
TextDrawSetProportional(healthvehicle[playerid], 1);
statusengine[playerid] = TextDrawCreate(433.000000, 409.500000, "ENGINE");
TextDrawLetterSize(statusengine[playerid], 0.431499, 1.490623);
TextDrawAlignment(statusengine[playerid], 1);
TextDrawColor(statusengine[playerid], -1979184897);
TextDrawSetShadow(statusengine[playerid], 0);
TextDrawSetOutline(statusengine[playerid], 1);
TextDrawBackgroundColor(statusengine[playerid], 51);
TextDrawFont(statusengine[playerid], 2);
TextDrawSetProportional(statusengine[playerid], 1);
statuslock[playerid] = TextDrawCreate(501.500000, 409.500000, "LOCK");
TextDrawLetterSize(statuslock[playerid], 0.431499, 1.490623);
TextDrawAlignment(statuslock[playerid], 1);
TextDrawColor(statuslock[playerid], -1979184897);
TextDrawSetShadow(statuslock[playerid], 0);
TextDrawSetOutline(statuslock[playerid], 1);
TextDrawBackgroundColor(statuslock[playerid], 51);
TextDrawFont(statuslock[playerid], 2);
TextDrawSetProportional(statuslock[playerid], 1);
statuslamp[playerid] = TextDrawCreate(552.000000, 409.500000, "LAMP");
TextDrawLetterSize(statuslamp[playerid], 0.431499, 1.490623);
TextDrawAlignment(statuslamp[playerid], 1);
TextDrawColor(statuslamp[playerid], -1979184897);
TextDrawSetShadow(statuslamp[playerid], 0);
TextDrawSetOutline(statuslamp[playerid], 1);
TextDrawBackgroundColor(statuslamp[playerid], 51);
TextDrawFont(statuslamp[playerid], 2);
TextDrawSetProportional(statuslamp[playerid], 1);
OnPlayerStateChange(playerid, newstate, oldstate)
PHP код:
if(newstate == PLAYER_STATE_DRIVER) {
if(!enginenone(GetPlayerVehicleID(playerid))) {
new veh = GetPlayerVehicleID(playerid);
GetPlayerPos(playerid, gTransport[veh][trPosX], gTransport[veh][trPosY], gTransport[veh][trPosZ]);
TextDrawShowForPlayer(playerid, speedusebox[playerid]);
TextDrawShowForPlayer(playerid, namevehicle[playerid]);
TextDrawShowForPlayer(playerid, fuelvehicle[playerid]);
TextDrawShowForPlayer(playerid, speedvehicle[playerid]);
TextDrawShowForPlayer(playerid, millagevehicle[playerid]);
TextDrawShowForPlayer(playerid, healthvehicle[playerid]);
TextDrawShowForPlayer(playerid, statusengine[playerid]);
TextDrawShowForPlayer(playerid, statuslock[playerid]);
TextDrawShowForPlayer(playerid, statuslamp[playerid]);
speedtimer[playerid] = SetTimerEx("TransportUpdate", 300, true, "i", playerid);
}
}
else if(newstate == PLAYER_STATE_ONFOOT) {
TextDrawHideForPlayer(playerid, speedusebox[playerid]);
TextDrawHideForPlayer(playerid, namevehicle[playerid]);
TextDrawHideForPlayer(playerid, fuelvehicle[playerid]);
TextDrawHideForPlayer(playerid, speedvehicle[playerid]);
TextDrawHideForPlayer(playerid, millagevehicle[playerid]);
TextDrawHideForPlayer(playerid, healthvehicle[playerid]);
TextDrawHideForPlayer(playerid, statusengine[playerid]);
TextDrawHideForPlayer(playerid, statuslock[playerid]);
TextDrawHideForPlayer(playerid, statuslamp[playerid]);
KillTimer(speedtimer[playerid]);
}
OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
PHP код:
else if(newkeys & 1) { // CTRL
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
new engine, lights, alarm, doors, bonnet, boot, objective;
new veh = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(veh, engine, lights, alarm, doors, bonnet, boot, objective);
if(engine == 0) {
SetVehicleParamsEx(veh, true, lights, alarm, doors, bonnet, boot, objective);
}
else {
SetVehicleParamsEx(veh, false, lights, alarm, doors, bonnet, boot, objective);
}
if(gTransport[veh][trFuel] < 1.0) {
SendClientMessage(playerid, -1, "{FFFF00} [Информация] {FFFFFF}В вашем автомобиле нет бензина!");
SetVehicleParamsEx(veh, false, lights, alarm, doors, bonnet, boot, objective);
}
if(gTransport[veh][trHealth] <= 350) {
SendClientMessage(playerid, -1, "{FFFF00} [Информация] {FFFFFF}Двигатель заглох! Вызовите механика /call (611)");
SetVehicleParamsEx(veh, false, lights, alarm, doors, bonnet, boot, objective);
}
}
}
else if(newkeys & 4) { // ALT
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
new engine, lights, alarm, doors, bonnet, boot, objective;
new veh = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(veh, engine, lights, alarm, doors, bonnet, boot, objective);
if(lights == 0) {
SetVehicleParamsEx(veh, engine, true, alarm, doors, bonnet, boot, objective);
}
else {
SetVehicleParamsEx(veh, engine, false, alarm, doors, bonnet, boot, objective);
}
}
}
В конец мода
PHP код:
forward TransportUpdate(playerid);
public TransportUpdate(playerid) {
new veh = GetPlayerVehicleID(playerid);
new str[256];
GetVehicleHealth(veh, gTransport[veh][trHealth]);
format(str, sizeof(str), "~w~SPEED: ~g~%d~w~KM/H", SpeedVehicle(playerid));
TextDrawSetString(speedvehicle[playerid], str);
format(str, sizeof(str), "~w~FUEL: ~b~%d~w~L", floatround(gTransport[veh][trFuel]));
TextDrawSetString(fuelvehicle[playerid], str);
format(str, sizeof(str), "~w~MILLAGE: ~y~%.1f~w~KM", gTransport[veh][trMillage]);
TextDrawSetString(millagevehicle[playerid], str);
format(str, sizeof(str), "~w~HEALTH: ~p~%.0f~w~", gTransport[veh][trHealth]/10);
TextDrawSetString(healthvehicle[playerid], str);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(veh, engine, lights, alarm, doors, bonnet, boot, objective);
if(engine == 0) TextDrawSetString(statusengine[playerid], "~r~ENGINE");
else TextDrawSetString(statusengine[playerid], "~g~ENGINE");
if(lights == 0) TextDrawSetString(statuslamp[playerid], "~r~LAMP");
else TextDrawSetString(statuslamp[playerid], "~g~LAMP");
if(doors == 0) TextDrawSetString(statuslock[playerid], "~r~LOCK");
else TextDrawSetString(statuslock[playerid], "~g~LOCK");
if(GetPlayerDistanceFromPoint(playerid, gTransport[veh][trPosX], gTransport[veh][trPosY], gTransport[veh][trPosZ]) > 70.3) {
gTransport[veh][trMillage] += 0.1;
gTransport[veh][trFuel] -= gTransport[veh][trExpense];
GetPlayerPos(playerid, gTransport[veh][trPosX], gTransport[veh][trPosY], gTransport[veh][trPosZ]);
}
if(gTransport[veh][trFuel] < 1.0) {
SetVehicleParamsEx(veh, false, lights, alarm, doors, bonnet, boot, objective);
}
if(gTransport[veh][trHealth] <= 350) {
SetVehicleParamsEx(veh, false, lights, alarm, doors, bonnet, boot, objective);
}
/*
new Text:speedusebox[MAX_PLAYERS];
new Text:namevehicle[MAX_PLAYERS];
new Text:fuelvehicle[MAX_PLAYERS];
new Text:speedvehicle[MAX_PLAYERS];
new Text:millagevehicle[MAX_PLAYERS];
new Text:healthvehicle[MAX_PLAYERS];
new Text:statusengine[MAX_PLAYERS];
new Text:statuslock[MAX_PLAYERS];
new Text:statuslamp[MAX_PLAYERS];
*/
return 1;
}
Скрин:
http://ihost.pro-pawn.ru/image.php?di=55W6