[include] GetRepairPrice
|
|
Herro[CM] |
Дата: Среда, 09.09.2015, 20:43 | Сообщение # 1
|
Бывалый
Сообщений: 425
Статус: Offline
|
Данный include собирает статус повреждения транспортных средств на каждом компоненте транспортного средства (бампер/дверь итд)
Include Код /* 2014, 18th of June. Credits: GiGi / d3ll / Brandon_More - Coder (Edited) Kalcor - a_samp.inc (functions) Mmartin - Original coder. */ #include <a_samp> stock GetRepairPrice(vehicleid, &price) { new panels, doors, lights, tires; GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires); // Vehicle perhiferals new front_left_panel = 0xf & panels; new front_right_panel = ( ( 0xf << 4 ) & panels ) >> 4; new rear_left_panel = ( ( 0xf << 8 ) & panels ) >> 8; new rear_right_panel = ( ( 0xf << 12 ) & panels ) >> 12; new wind_shield = ( ( 0xf << 16 ) & panels ) >> 16; new front_bumper = ( ( 0xf << 20 ) & panels ) >> 20; new rear_bumper = ( ( 0xf << 24 ) & panels ) >> 24; new hood = 0xf & doors; new trunk = ( ( 0xf << 8 ) & doors ) >> 8; // Vehicle seats new front_left_seat = ( ( 0xf << 16 ) & doors ) >> 16; new front_right_seat = ( ( 0xf << 24 ) & doors ) >> 24; new rear_left_seat = ( ( 0xf << 32 ) & doors ) >> 32; new rear_right_seat = ( ( 0xf << 40 ) & doors ) >> 40; // Tires new tire_front_left = 1 & tires; new tire_front_right = ( ( 1 << 1 ) & tires ) >> 1; new tire_rear_left = ( ( 1 << 2 ) & tires ) >> 2; new tire_rear_right = ( ( 1 << 3 ) & tires ) >> 3; // Comparing the information together new panel_add = floatround( ( front_left_panel + front_right_panel + rear_left_panel + rear_right_panel + wind_shield + front_bumper + rear_bumper ) / 0.21 ); new door_add = floatround( ( hood + trunk + front_left_seat + front_right_seat + rear_left_seat + rear_right_seat ) / 0.24 ); new tire_add = floatround( ( tire_front_left + tire_front_right + tire_rear_left + tire_rear_right ) / 0.04 ); new pprice = 1 * panel_add; new dprice = 1 * door_add; new tprice = 2 * tire_add; new Float:iHealth; GetVehicleHealth(vehicleid, iHealth); new engineprice = floatround( ( floatround ( iHealth - 1000 ) * ( -1 ) ) * 0.75 ); price = engineprice + tprice + dprice + pprice; }
Добавление в скрипт/мод Код #include <GetRepairPrice>
Функция: Код GetRepairPrice(vehicleid, price);
Пример:
Код COMMAND:fixcar(playerid, params[]) { if(IsPlayerInAnyVehicle(playerid) == 1) { new vehicleid = GetPlayerVehicleID(playerid); new iPrice; GetRepairPrice(vehicleid, iPrice); if(GetPlayerMoney(playerid) >= iPrice) { return RepairVehicle(vehicleid); } else return SendClientMessage(playerid, -1, "Не достаточно денег для ремонта транспортного средства"); } else return SendClientMessage(playerid, -1, "Вы не в машине!");
Когда нет знания, есть мнение.
Сообщение отредактировал Herro[CM] - Среда, 09.09.2015, 20:43 |
|
|
|
Surex |
Дата: Суббота, 02.07.2016, 14:03 | Сообщение # 2
|
Боец
Сообщений: 137
Статус: Offline
|
полезно!
|
|
|
|
Плисс |
Дата: Вторник, 19.07.2016, 21:25 | Сообщение # 3
|
Боец
Сообщений: 70
Статус: Offline
|
Кросс,полезная темка!
|
|
|
|
James_Lombardo |
Дата: Пятница, 20.01.2017, 22:11 | Сообщение # 4
|
Боец
Сообщений: 131
Статус: Offline
|
Полезная тема!
Аккаунт разрешен администратором Sponge_Noob Я здесь уже 999-й день https://vk.com/id401812964
|
|
|
|
SlowsizeCM |
Дата: Суббота, 28.01.2017, 23:33 | Сообщение # 5
|
Боец
Сообщений: 78
Статус: Offline
|
Полезно!
|
|
|
|