Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <sscanf2>
- // YSI 5.x
- #include <YSI_Data\y_iterate>
- #define sec * 1000
- forward WaktuServer(playerid);
- forward OnFinishedRepair(playerid, vehicleid);
- enum E_PARAM_TYPE {
- PARAM_ENGINE,
- PARAM_LIGHTS,
- PARAM_ALARM,
- PARAM_DOORS,
- PARAM_BONNET,
- PARAM_BOOT,
- PARAM_OBJECTIVE
- };
- ToggleVehicleParams(vehicleid, E_PARAM_TYPE:type, toggle) {
- new
- engine, lights, alarm,
- doors, bonnet, boot, objective
- ;
- GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- switch (type) {
- case PARAM_ENGINE: engine = toggle;
- case PARAM_LIGHTS: lights = toggle;
- case PARAM_ALARM: alarm = toggle;
- case PARAM_DOORS: doors = toggle;
- case PARAM_BONNET: bonnet = toggle;
- case PARAM_BOOT: boot = toggle;
- case PARAM_OBJECTIVE: objective = toggle;
- }
- SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- return 1;
- }
- IsPlayerNearVehicle(playerid, Float:range = 1.5) {
- foreach (new i : StreamedVehicle[playerid]) {
- new
- Float:vehX, Float:vehY, Float:vehZ;
- GetVehiclePos(vehicleid, vehX, vehY, vehZ);
- if (IsPlayerInRangeOfPoint(playerid, range, vehX, vehY, vehZ))
- return i;
- }
- return INVALID_VEHICLE_ID;
- }
- public WaktuServer(playerid)
- {
- if (IsPlayerInAnyVehicle(playerid)) {
- new
- Float:health,
- vehicleid = GetPlayerVehicleID(playerid);
- GetVehicleHealth(vehicleid, health);
- if (health <= 350.0) {
- if (GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
- ToggleVehicleParams(vehicleid, PARAM_ENGINE, false);
- GameTextForPlayer(playerid,
- /* Title */
- "Mesin mobil rusak parah\n\
- Hubungi mechanic segera!",
- /* Additional Parameters */
- 200, 5
- );
- }
- }
- }
- return 1;
- }
- public OnFinishedRepair(playerid, vehicleid) {
- if (!IsValidVehicle(vehicleid))
- return 0;
- SetVehicleHealth(vehicleid, 100.0);
- return 1;
- }
- public OnFilterScriptInit()
- {
- SetTimer("WaktuServer", 1000, true);
- return 1;
- }
- CMD:vhealth(playerid, params[])
- {
- new
- vehicleid, Float:vHealth;
- if (sscanf(params, "if", vehicleid, vHealth))
- return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /vhealth <vehid (gunakan /dl)> <health value>");
- if (!IsValidVehicle(vehicleid))
- return SendClientMessage(playerid, COLOR_WHITE, "ERROR: invalid vehicle id");
- SetVehicleHealth(vehicleid, vHealth);
- SendClientMessage(playerid, -1, "Kesehatan mesin di rubah");
- return 1;
- }
- CMD:repair(playerid, params[]) {
- new
- vehicleid;
- if ((vehicleid = IsPlayerNearVehicle(playerid)) == INVALID_VEHICLE_ID)
- return SendClientMessage(playerid, COLOR_WHITE, "Anda tidak dekat mobil apapun");
- PlayerPlaySound(playerid, 1100, 0.0, 0.0, 0.0);
- ToggleVehicleParams(vehicleid, PARAM_BONNET, true);
- //cmd_makan(playerid);
- SetTimerEx(#OnFinishedRepair, 60 sec, false, "ii", playerid, vehicleid);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement