- 0
Войдите для возможности подписаться
Подписчики
0
handling помощь
Вопрос от
tuki
,
-
Последние посетители 0 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
-
Похожий контент
-
От Mister Odin
new
g_teleport_list[39][E_TELEPORT_LIST] = { {"Спавн пгт.Батырево", 1802.3612, 2508.4824, 15.8887}, {"Спавн г.Арзамас", -113.5887, 977.7222, 12.0346}, {"Спавн г.Южный", 2744.2770, -2446.7246, 21.8988}, {"Центральный банк", 1852.020385,2040.791381,15.892713}, {"Рублёвка", -837.7783, 888.6161, 12.7232}, {"Казино", 1332.4252, 2358.7014, 17.6641}, {"Битва за контейнеры", 614.5167, 1722.3566, 12.0709}, {"Автосалон низкого класса", 2493.9616, -722.9544, 12.3315}, {"Автосалон среднего класса", 1407.7449, 455.4801, 13.1630}, {"Автосалон высокого класса", -14.0637, 2614.5664, 10.9892}, {"Мотосалон Harley Davidson", 785.720153, 750.465087, 12.000024}, {"Автошкола", 1909.174438,2227.679687,15.708162}, {"Военкомат", 1916.778564,2302.411376,15.574637}, {"Правительство области", -139.140975,593.789611,12.145712}, {"Отдел полиции №1 (ГИБДД)", 1906.805786,-2234.382812,11.257631}, {"Отдел полиции №2 (УМВД)", 2581.309326,-2416.139892,21.960090}, {"Отдел ФСБ", 1823.904663,2095.636718,15.848405}, {"Городская больница г.Арзамас", -285.797210,581.851562,12.120290}, {"СМИ", -317.708038,821.221679,13.051450}, {"Воинская часть", 1703.197265,1678.025878,15.279437}, {"Арзамасская ОПГ", 438.705322,1046.505126,12.002637}, {"Батыревская ОПГ", 1941.203857,2161.006591,15.705187}, {"Лыткаринская ОПГ", -2346.002441,75.257041,21.002962}, {"Шахта", 2381.5727, 1726.4451, -2.1506}, {"Завод", -1062.6697, 2204.1894, 38.0964}, {"Инкосация", 1864.1374, 2011.7136, 15.8546}, {"Транспортная Компания", 2362.1115, 1972.5627, 15.5530}, {"База механиков", 1840.918090,-118.025146,15.695312}, {"Курьерская служба доставки", 2764.509765,-2396.882568,21.890625}, {"Аренда автобуса(Южный)", 2771.041992,-2454.780761,21.845964}, {"Аренда автобуса(Арзамас)", -127.487670,943.652648,12.142824}, {"Аренда автобуса(Батырево)", 1798.986328,2529.591552,15.664262}, {"Гоночная трасса", -1568.7784, 1611.8305, 36.3971}, {"Дом на горе", -789.5397, -456.7479, 741.1422}, {"СТО и тюнинг-ателье", 1856.1375, -122.3266, 15.6888}, {"Аренда транспорта пгт.Батырево", 1763.641723,2255.673339,15.865348}, {"Аренда транспорта г.Арзамас", -36.923530,1360.673583,12.002090}, {"Аренда транспорта г.Южный", 1966.599975,-2603.943603,10.820312}, {"Тайный интерьер в Лыткарино", -2424.5818, 2846.3291, 40.7908} };
-
Опубликовано (изменено) · Жалоба
Здравствуйте. Нужна помощь с handling_plugin_v14. Как сделать сохранения в (cfg, mysql). И что бы скорость настраивалась не для одной машины, а именно для модели. Кому не сложно напишите, не одну мне поможете
#define FILTERSCRIPT
// Рекомендуемая версия адаптации: Beta-Testing 2.4.3
// Рекомендуемая версия mp_handling: 1.4
#include <a_samp>
#include <mp_handling>
native IsValidVehicle(vehicleid);
#define HEDITOR_DIALOG_ID (200)
enum E_HEDITOR_PARAM_TYPE
{
PARAM_TYPE_UINT,
PARAM_TYPE_FLOAT,
PARAM_TYPE_BOOL,
PARAM_TYPE_SPECIAL
};
enum E_HEDITOR_STRUCT
{
HEDIT_NAME[40], // parameter name
HEDIT_FORMAT_STR[10], // format string
E_HEDITOR_PARAM_TYPE:HEDIT_TYPE, // parameter type
e_handling_id:HEDIT_ID // e_handling_id id
};
new g_heditor_data[][E_HEDITOR_STRUCT] =
{
{ "Масса", "%.2f", PARAM_TYPE_FLOAT, hd_mass },
{ "Масса поворота", "%.2f", PARAM_TYPE_FLOAT, hd_turn_mass },
{ "Множитель сопротивления", "%.2f", PARAM_TYPE_FLOAT, hd_drag_coeff },
{ "Центр тяжести (X)", "%.2f", PARAM_TYPE_FLOAT, hd_center_of_mass_x },
{ "Центр тяжести (Y)", "%.2f", PARAM_TYPE_FLOAT, hd_center_of_mass_y },
{ "Центр тяжести (Z)", "%.2f", PARAM_TYPE_FLOAT, hd_center_of_mass_z },
{ "Процент высоты (в воде)", "%d", PARAM_TYPE_UINT, hd_percent_submerged },
{ "Сцепление колес", "%.2f", PARAM_TYPE_FLOAT, hd_traction_multiplier },
{ "Показатель сцепления колес", "%.2f", PARAM_TYPE_FLOAT, hd_traction_loss },
{ "Кол-во передач", "%d", PARAM_TYPE_UINT, hd_number_of_gears },
{ "Максимальная скорость", "%.2f", PARAM_TYPE_FLOAT, hd_max_velocity },
{ "Ускорение двигателя", "%.2f", PARAM_TYPE_FLOAT, hd_engine_acceleration },
{ "Привод", "%s", PARAM_TYPE_SPECIAL, hd_drive_type },
{ "Тип двигателя", "%s", PARAM_TYPE_SPECIAL, hd_engine_type },
{ "Сила торможения", "%.2f", PARAM_TYPE_FLOAT, hd_brake_deceleration },
{ "Антиблокировочная система", "%s", PARAM_TYPE_BOOL, hd_abs },
{ "Угол поворота руля (макс.)", "%.2f", PARAM_TYPE_FLOAT, hd_steering_lock },
{ "Множитель повреждений", "%.2f", PARAM_TYPE_FLOAT, hd_collision_damage_mult },
{ "Фары", "%d", PARAM_TYPE_UINT, hd_head_light },
{ "Фонари", "%d", PARAM_TYPE_UINT, hd_tail_light },
{ "Множитель масштаба колес", "%.2f", PARAM_TYPE_FLOAT, hd_wheel_scale }
};
public OnPlayerSpawn(playerid)
{
SendClientMessage(playerid, 0xFFFFFFFF, "Handling Editor - {66CC66}/heditor");
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/heditor", true, 8) == 0)
{
if(strlen(cmdtext) < 9)
{
SendClientMessage(playerid, 0xEEEEEEFF, "Usage: /heditor <vehicle id>");
return 1;
}
new vehicleid = strval(cmdtext[9]);
if(!IsValidVehicle(vehicleid))
{
SendClientMessage(playerid, 0xEEEEEEFF, "Invalid vehicle id");
return 1;
}
ShowHandlingEditor(playerid, vehicleid);
return 1;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case HEDITOR_DIALOG_ID:
{
if(!response)
{
return 1;
}
if(listitem < 0 || listitem > sizeof(g_heditor_data) - 1)
{
return 1;
}
SetPVarInt(playerid, "heditor_param_id", listitem);
ShowEditDialog(
playerid,
g_heditor_data[listitem][HEDIT_TYPE],
g_heditor_data[listitem][HEDIT_ID]
);
return 1;
}
case HEDITOR_DIALOG_ID + 1:
{
new vehicleid = GetPVarInt(playerid, "heditor_vehicle_id");
new param_id = GetPVarInt(playerid, "heditor_param_id");
if(!response)
{
ShowHandlingEditor(playerid, vehicleid);
return 1;
}
new value = 0;
switch(g_heditor_data[param_id][HEDIT_TYPE])
{
case PARAM_TYPE_UINT:
{
SetVehicleHandlingInt(
vehicleid,
g_heditor_data[param_id][HEDIT_ID],
strval(inputtext)
);
}
case PARAM_TYPE_FLOAT:
{
SetVehicleHandlingFloat(
vehicleid,
g_heditor_data[param_id][HEDIT_ID],
floatstr(inputtext)
);
}
case PARAM_TYPE_BOOL:
{
SetVehicleHandlingInt(
vehicleid,
g_heditor_data[param_id][HEDIT_ID],
strval(inputtext) ? 1 : 0
);
}
case PARAM_TYPE_SPECIAL:
{
value = strval(inputtext);
if(value < 0)
{
value = 0;
}
else if(value > 2)
{
value = 2;
}
SetVehicleHandlingInt(
vehicleid,
g_heditor_data[param_id][HEDIT_ID],
strval(inputtext)
);
}
}
ShowHandlingEditor(playerid, vehicleid);
return 1;
}
}
return 1;
}
stock ShowHandlingEditor(playerid, vehicleid)
{
if(!IsValidVehicle(vehicleid))
{
return 1;
}
static
value_text[16],
dialog_text[2048],
value
;
dialog_text = "{FFFFFF}Параметр\t{FFFFFF}Значение";
for(new idx = 0; idx < sizeof(g_heditor_data); idx++)
{
if(g_heditor_data[idx][HEDIT_TYPE] == PARAM_TYPE_FLOAT)
{
GetVehicleHandlingFloat(vehicleid, g_heditor_data[idx][HEDIT_ID], Float:value);
}
else
{
GetVehicleHandlingInt(vehicleid, g_heditor_data[idx][HEDIT_ID], value);
}
if(g_heditor_data[idx][HEDIT_TYPE] == PARAM_TYPE_BOOL)
{
format(value_text, sizeof(value_text), value ? ("есть") : ("нет"));
}
else if(g_heditor_data[idx][HEDIT_TYPE] == PARAM_TYPE_SPECIAL)
{
static const drive_type_str[][8 + 1] =
{
"передний",
"задний",
"полный"
};
static const engine_type_str[][7 + 1] =
{
"бензин",
"дизель",
"электро"
};
switch(g_heditor_data[idx][HEDIT_ID])
{
case hd_drive_type:
{
format(value_text, sizeof(value_text), drive_type_str[value]);
}
case hd_engine_type:
{
format(value_text, sizeof(value_text), engine_type_str[value]);
}
}
}
else
{
format(
value_text,
sizeof(value_text),
g_heditor_data[idx][HEDIT_FORMAT_STR],
value
);
}
format(
dialog_text,
sizeof(dialog_text),
"%s\n{FFFFFF}%s\t{00F400}%s",
dialog_text,
g_heditor_data[idx][HEDIT_NAME],
value_text
);
}
SetPVarInt(playerid, "heditor_vehicle_id", vehicleid);
ShowPlayerDialog(
playerid,
HEDITOR_DIALOG_ID,
DIALOG_STYLE_TABLIST_HEADERS,
"Handling Editor",
dialog_text,
"Выбрать",
"Отмена"
);
return 1;
}
stock ShowEditDialog(playerid, E_HEDITOR_PARAM_TYPE:type, e_handling_id:id)
{
switch(type)
{
case PARAM_TYPE_UINT:
{
ShowPlayerDialog(
playerid,
HEDITOR_DIALOG_ID + 1,
DIALOG_STYLE_INPUT,
"Handling Editor",
"{FFFFFF}Введите число:",
"Изменить",
"Отмена"
);
}
case PARAM_TYPE_FLOAT:
{
ShowPlayerDialog(
playerid,
HEDITOR_DIALOG_ID + 1,
DIALOG_STYLE_INPUT,
"Handling Editor",
"{FFFFFF}Введите дробное число:",
"Изменить",
"Отмена"
);
}
case PARAM_TYPE_BOOL:
{
ShowPlayerDialog(
playerid,
HEDITOR_DIALOG_ID + 1,
DIALOG_STYLE_INPUT,
"Handling Editor",
"{FFFFFF}Введите 0 (нет) или 1 (есть):",
"Изменить",
"Отмена"
);
}
case PARAM_TYPE_SPECIAL:
{
switch(id)
{
case hd_drive_type:
{
ShowPlayerDialog(
playerid,
HEDITOR_DIALOG_ID + 1,
DIALOG_STYLE_INPUT,
"Handling Editor",
"{FFFFFF}0: передний привод\n\
1: задний привод\n\
2: полный привод\n\
\n{FFFFFF}Введите требуемое число:",
"Изменить",
"Отмена"
);
}
case hd_engine_type:
{
ShowPlayerDialog(
playerid,
HEDITOR_DIALOG_ID + 1,
DIALOG_STYLE_INPUT,
"Handling Editor",
"{FFFFFF}0: бензин\n\
1: дизель\n\
2: электро\n\
\n{FFFFFF}Введите требуемое число:",
"Изменить",
"Отмена"
);
}
}
}
}
return 1;
}
Отредактировано пользователем tuki
Поделиться сообщением
Ссылка на сообщение