01.03.2015, 22:41
I type the command displays the dialog, but when I choose the function of dialog he disappears and nothing happens, since I changed the id of dialog and nothing, someone help me please? + rep
//==============================[ Includes ]====================================
#include <a_samp>
#include <zcmd>
#include <GetVehicleColor>
#include <sscanf2>
#include <YSI\y_ini>
//==============================[ Definitions ]=================================
#define SPD ShowPlayerDialog
#define DSL DIALOG_STYLE_LIST
#define DSI DIALOG_STYLE_INPUT
#define D_TOP "Tuning by Dimi"
#define D_OK "Ok"
#define D_CANCEL "Cancel"
#define D_TEXT "Paintjobs\nCores\nEscapamentos\nAmortecedor dianteiro\nAmortecedor Traseiro\nTeto\nSpoilers\nSaias laterais\nRodas\nCar Stereo\nHidraulica\nNitro"
#define T_FILE "Tuning/%s.ini"
#define TG_FILE "TGarage/%d.ini"
#define MAX_GARAGES 100
#define dialog_TUNING 2342
#define dialog_TUNING_2 2578
#define COLOR_PRICE 100
#define COLOR_RED 0xfa5555AA
#define COLOR_ORANGE 0xFF6600FF
#define SendErrorMessage(%0,%1) \
SendClientMessage(%0, COLOR_RED, "ERROR | {FFFFFF} "%1)
//===========================[ News and Enums ]=================================
new PlayerText:TuningBuy[ MAX_PLAYERS ][ 14 ];
enum Vehicle {
vVehID,
vOwner[ MAX_PLAYER_NAME ],
bool:vTuned,
vSpoiler,
vHood,
vRoof,
vSkirt,
vLamps,
vNitro,
vExhaust,
vWheels,
vStereo,
vHydraulics,
vFrontBumper,
vRearBumper,
vRightVent,
vLeftVent,
vColor1,
vColor2,
vPaintJob
}
new VehicleInfo[ MAX_VEHICLES ][ Vehicle ];
enum aaa {
Float:Position[ 3 ],
Text3D:tg3D,
tgPickup,
}
new tGarage[ MAX_GARAGES ][ aaa ];
enum PaintjobInfi {
vehID,
pNumber,
pPrice,
pName[ 12 ]
};
#define NUMBER_TYPE_PAINTJOB 36
static const
pjInfo[ NUMBER_TYPE_PAINTJOB ][ PaintjobInfi ] = {
{ 483, 0, 100, "Paintjob 1" },
{ 534, 0, 100, "Paintjob 1" },
{ 534, 1, 100, "Paintjob 2" },
{ 534, 2, 100, "Paintjob 3" },
{ 535, 0, 100, "Paintjob 1" },
{ 535, 1, 100, "Paintjob 2" },
{ 535, 2, 100, "Paintjob 3" },
{ 536, 0, 100, "Paintjob 1" },
{ 536, 1, 100, "Paintjob 2" },
{ 536, 2, 100, "Paintjob 3" },
{ 558, 0, 100, "Paintjob 1" },
{ 558, 1, 100, "Paintjob 2" },
{ 558, 2, 100, "Paintjob 3" },
{ 559, 0, 100, "Paintjob 1" },
{ 559, 1, 100, "Paintjob 2" },
{ 559, 2, 100, "Paintjob 3" },
{ 560, 0, 100, "Paintjob 1" },
{ 560, 1, 100, "Paintjob 2" },
{ 560, 2, 100, "Paintjob 3" },
{ 561, 0, 100, "Paintjob 1" },
{ 561, 1, 100, "Paintjob 2" },
{ 561, 2, 100, "Paintjob 3" },
{ 562, 0, 100, "Paintjob 1" },
{ 562, 1, 100, "Paintjob 2" },
{ 562, 2, 100, "Paintjob 3" },
{ 565, 0, 100, "Paintjob 1" },
{ 565, 1, 100, "Paintjob 2" },
{ 565, 2, 100, "Paintjob 3" },
{ 567, 0, 100, "Paintjob 1" },
{ 567, 1, 100, "Paintjob 2" },
{ 567, 2, 100, "Paintjob 3" },
{ 575, 0, 100, "Paintjob 1" },
{ 575, 1, 100, "Paintjob 2" },
{ 576, 0, 100, "Paintjob 1" },
{ 576, 1, 100, "Paintjob 2" },
{ 576, 2, 100, "Paintjob 3" }
};
enum ComponentsInfo {
cID,
cName[ 40 ],
cPrice,
cType
};
#define MAX_COMPONENTS 194
static const
cInfo[ MAX_COMPONENTS ][ ComponentsInfo ] = {
{ 1000, "Pro Spoiler", 100, CARMODTYPE_SPOILER },
{ 1001, "Win Spoiler", 100, CARMODTYPE_SPOILER },
{ 1002, "Drag Spoiler", 100, CARMODTYPE_SPOILER },
{ 1003, "Alpha Spoiler", 100, CARMODTYPE_SPOILER },
{ 1004, "Champ Scoop Hood", 100, CARMODTYPE_HOOD },
{ 1005, "Fury Scoop Hood", 100, CARMODTYPE_HOOD },
{ 1006, "Roof Scoop Roof", 100, CARMODTYPE_ROOF },
{ 1007, "Right Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1008, "5x Nitrous", 100, CARMODTYPE_NITRO },
{ 1009, "2x Nitrous", 100, CARMODTYPE_NITRO },
{ 1010, "10x Nitrous", 100, CARMODTYPE_NITRO },
{ 1011, "Race Scoop Hood", 100, CARMODTYPE_HOOD },
{ 1012, "Worx Scoop Hood", 100, CARMODTYPE_HOOD },
{ 1013, "Round Fog Lamp", 100, CARMODTYPE_LAMPS },
{ 1014, "Champ Spoiler", 100, CARMODTYPE_SPOILER },
{ 1015, "Race Spoiler", 100, CARMODTYPE_SPOILER },
{ 1016, "Worx Spoiler", 100, CARMODTYPE_SPOILER },
{ 1017, "Left Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1018, "Upswept Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1019, "Twin Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1020, "Large Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1021, "Medium Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1022, "Small Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1023, "Fury Spoiler", 100, CARMODTYPE_SPOILER },
{ 1024, "Square Fog Lamp", 100, CARMODTYPE_LAMPS },
{ 1025, "Offroad Wheels", 100, CARMODTYPE_WHEELS },
{ 1026, "Right Alien Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1027, "Left Alien Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1028, "Alien Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1029, "X-Flow Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1030, "Left X-Flow Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1031, "Right X-Flow Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1032, "Alien Roof Vent", 100, CARMODTYPE_ROOF },
{ 1033, "X-Flow Roof Vent", 100, CARMODTYPE_ROOF },
{ 1034, "Alien Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1035, "X-Flow Roof Vent", 100, CARMODTYPE_ROOF },
{ 1036, "Right Alien Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1037, "X-Flow Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1038, "Alien Roof Vent", 100, CARMODTYPE_ROOF },
{ 1039, "Left X-Flow Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1040, "Left Alien Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1041, "Right X-Flow Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1042, "Right Chrome Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1043, "Slamin Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1044, "Chrome Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1045, "X-Flow Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1046, "Alien Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1047, "Right Alien Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1048, "Right X-Flow Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1049, "Alien Spoiler", 100, CARMODTYPE_SPOILER },
{ 1050, "X-Flow Spoiler", 100, CARMODTYPE_SPOILER },
{ 1051, "Left Alien Sideskirt", 100, CARMODTYPE_SPOILER },
{ 1052, "Left X-Flow Sideskirt", 100, CARMODTYPE_SPOILER },
{ 1053, "X-Flow Roof", 100, CARMODTYPE_ROOF },
{ 1054, "Alien Roof", 100, CARMODTYPE_ROOF },
{ 1055, "Alien Roof", 100, CARMODTYPE_ROOF },
{ 1056, "Right Alien Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1057, "Right X-Flow Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1058, "Alien Spoiler", 100, CARMODTYPE_SPOILER },
{ 1059, "X-Flow Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1060, "X-Flow Spoiler", 100, CARMODTYPE_SPOILER },
{ 1061, "X-Flow Roof", 100, CARMODTYPE_ROOF },
{ 1062, "Left Alien Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1063, "Left X-Flow Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1064, "Alien Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1065, "Alien Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1066, "X-Flow Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1067, "Alien Roof", 100, CARMODTYPE_ROOF },
{ 1068, "X-Flow Roof", 100, CARMODTYPE_ROOF },
{ 1069, "Right Alien Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1070, "Right X-Flow Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1071, "Left Alien Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1072, "Left X-Flow Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1073, "Shadow Wheels", 100, CARMODTYPE_WHEELS },
{ 1074, "Mega Wheels", 100, CARMODTYPE_WHEELS },
{ 1075, "Rimshine Wheels", 100, CARMODTYPE_WHEELS },
{ 1076, "Wires Wheels", 100, CARMODTYPE_WHEELS },
{ 1077, "Classic Wheels", 100, CARMODTYPE_WHEELS },
{ 1078, "Twist Wheels", 100, CARMODTYPE_WHEELS },
{ 1079, "Cutter Wheels", 100, CARMODTYPE_WHEELS },
{ 1080, "Switch Wheels", 100, CARMODTYPE_WHEELS },
{ 1081, "Grove Wheels", 100, CARMODTYPE_WHEELS },
{ 1082, "Import Wheels", 100, CARMODTYPE_WHEELS },
{ 1083, "Dollar Wheels", 100, CARMODTYPE_WHEELS },
{ 1084, "Trance Wheels", 100, CARMODTYPE_WHEELS },
{ 1085, "Atomic Wheels", 100, CARMODTYPE_WHEELS },
{ 1086, "Stereo Wheels", 100, CARMODTYPE_STEREO },
{ 1087, "Hydraulics", 100, CARMODTYPE_HYDRAULICS },
{ 1088, "Alien Roof", 100, CARMODTYPE_ROOF },
{ 1089, "X-Flow Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1090, "Right Alien Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1091, "X-Flow Roof", 100, CARMODTYPE_ROOF },
{ 1092, "Alien Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1093, "Right X-Flow Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1094, "Left Alien Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1095, "Right X-Flow Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1096, "Ahab Wheels", 100, CARMODTYPE_WHEELS },
{ 1097, "Virtual Wheels", 100, CARMODTYPE_WHEELS },
{ 1098, "Access Wheels", 100, CARMODTYPE_WHEELS },
{ 1099, "Left Chrome Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1100, "Chrome Grill", 100, -1 }, // Bullbar
{ 1101, "Left `Chrome Flames` Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1102, "Left `Chrome Strip` Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1103, "Covertible Roof", 100, CARMODTYPE_ROOF },
{ 1104, "Chrome Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1105, "Slamin Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1106, "Right `Chrome Arches`", 100, CARMODTYPE_SIDESKIRT },
{ 1107, "Left `Chrome Strip` Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1108, "Right `Chrome Strip` Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1109, "Chrome", 100, -1 }, // Bullbar
{ 1110, "Slamin", 100, -1 }, // Bullbar
{ 1111, "Little Sign?", 100, -1 }, // sig
{ 1112, "Little Sign?", 100, -1 }, // sig
{ 1113, "Chrome Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1114, "Slamin Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1115, "Chrome", 100, -1 }, // Bullbar
{ 1116, "Slamin", 100, -1 }, // Bullbar
{ 1117, "Chrome Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1118, "Right `Chrome Trim` Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1119, "Right `Wheelcovers` Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1120, "Left `Chrome Trim` Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1121, "Left `Wheelcovers` Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1122, "Right `Chrome Flames` Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1123, "Bullbar Chrome Bars", 100, -1 }, // Bullbar
{ 1124, "Left `Chrome Arches` Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1125, "Bullbar Chrome Lights", 100, -1 }, // Bullbar
{ 1126, "Chrome Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1127, "Slamin Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1128, "Vinyl Hardtop", 100, CARMODTYPE_ROOF },
{ 1129, "Chrome Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1130, "Hardtop Roof", 100, CARMODTYPE_ROOF },
{ 1131, "Softtop Roof", 100, CARMODTYPE_ROOF },
{ 1132, "Slamin Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1133, "Right `Chrome Strip` Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1134, "Right `Chrome Strip` Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1135, "Slamin Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1136, "Chrome Exhaust", 100, CARMODTYPE_EXHAUST },
{ 1137, "Left `Chrome Strip` Sideskirt", 100, CARMODTYPE_SIDESKIRT },
{ 1138, "Alien Spoiler", 100, CARMODTYPE_SPOILER },
{ 1139, "X-Flow Spoiler", 100, CARMODTYPE_SPOILER },
{ 1140, "X-Flow Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1141, "Alien Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1142, "Left Oval Vents", 100, CARMODTYPE_VENT_LEFT },
{ 1143, "Right Oval Vents", 100, CARMODTYPE_VENT_RIGHT },
{ 1144, "Left Square Vents", 100, CARMODTYPE_VENT_LEFT },
{ 1145, "Right Square Vents", 100, CARMODTYPE_VENT_RIGHT },
{ 1146, "X-Flow Spoiler", 100, CARMODTYPE_SPOILER },
{ 1147, "Alien Spoiler", 100, CARMODTYPE_SPOILER },
{ 1148, "X-Flow Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1149, "Alien Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1150, "Alien Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1151, "X-Flow Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1152, "X-Flow Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1153, "Alien Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1154, "Alien Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1155, "Alien Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1156, "X-Flow Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1157, "X-Flow Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1158, "X-Flow Spoiler", 100, CARMODTYPE_SPOILER },
{ 1159, "Alien Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1160, "Alien Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1161, "X-Flow Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1162, "Alien Spoiler", 100, CARMODTYPE_SPOILER },
{ 1163, "X-Flow Spoiler", 100, CARMODTYPE_SPOILER },
{ 1164, "Alien Spoiler", 100, CARMODTYPE_SPOILER },
{ 1165, "X-Flow Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1166, "Alien Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1167, "X-Flow Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1168, "Alien Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1169, "Alien Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1170, "X-Flow Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1171, "Alien Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1172, "X-Flow Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1173, "X-Flow Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1174, "Chrome Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1175, "Slamin Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1176, "Chrome Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1177, "Slamin Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1178, "Slamin Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1179, "Chrome Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1180, "Chrome Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1181, "Slamin Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1182, "Chrome Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1183, "Slamin Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1184, "Chrome Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1185, "Slamin Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1186, "Slamin Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1187, "Chrome Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1188, "Slamin Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1189, "Chrome Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1190, "Slamin Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1191, "Chrome Front Bumper", 100, CARMODTYPE_FRONT_BUMPER },
{ 1192, "Chrome Rear Bumper", 100, CARMODTYPE_REAR_BUMPER },
{ 1193, "Slamin Rear Bumper", 100, CARMODTYPE_REAR_BUMPER }
};
enum tpi {
tID,
tType,
bool:tPaintjob,
PJColor[ 2 ]
};
new TPInfo[ MAX_PLAYERS ][ tpi ];
new globalstring[ 128 ];
//=================================[ Functions ]=================================
stock CreatePlayerTextDraws( playerid ) {
TuningBuy[ playerid ][ 0 ] = CreatePlayerTextDraw(playerid, 425.125000, 338.666687, "usebox");
PlayerTextDrawLetterSize(playerid, TuningBuy[ playerid ][ 0 ], 0.000000, 8.627778);
PlayerTextDrawTextSize(playerid, TuningBuy[ playerid ][ 0 ], 216.125000, 0.000000);
PlayerTextDrawAlignment(playerid, TuningBuy[ playerid ][ 0 ], 1);
PlayerTextDrawColor(playerid, TuningBuy[ playerid ][ 0 ], 0);
PlayerTextDrawUseBox(playerid, TuningBuy[ playerid ][ 0 ], true);
PlayerTextDrawBoxColor(playerid, TuningBuy[ playerid ][ 0 ], 102);
PlayerTextDrawSetShadow(playerid, TuningBuy[ playerid ][ 0 ], 0);
PlayerTextDrawSetOutline(playerid, TuningBuy[ playerid ][ 0 ], 0);
PlayerTextDrawFont(playerid, TuningBuy[ playerid ][ 0 ], 0);
TuningBuy[ playerid ][ 1 ] = CreatePlayerTextDraw(playerid, 319.375000, 337.749847, "Hidraulica");
PlayerTextDrawLetterSize(playerid, TuningBuy[ playerid ][ 1 ], 0.386249, 1.156664);
PlayerTextDrawAlignment(playerid, TuningBuy[ playerid ][ 1 ], 2);
PlayerTextDrawColor(playerid, TuningBuy[ playerid ][ 1 ], -1);
PlayerTextDrawSetShadow(playerid, TuningBuy[ playerid ][ 1 ], 0);
PlayerTextDrawSetOutline(playerid, TuningBuy[ playerid ][ 1 ], 1);
PlayerTextDrawBackgroundColor(playerid, TuningBuy[ playerid ][ 1 ], 51 );
PlayerTextDrawFont(playerid, TuningBuy[ playerid ][ 1 ], 2);
PlayerTextDrawSetProportional(playerid, TuningBuy[ playerid ][ 1 ], 1 );
PlayerTextDrawSetSelectable(playerid, TuningBuy[ playerid ][ 1 ], false );
TuningBuy[ playerid ][ 2 ] = CreatePlayerTextDraw(playerid, 198.375000, 361.583282, "-");
PlayerTextDrawLetterSize(playerid, TuningBuy[ playerid ][ 2 ], 18.981874, 0.514999);
PlayerTextDrawAlignment(playerid, TuningBuy[ playerid ][ 2 ], 1);
PlayerTextDrawColor(playerid, TuningBuy[ playerid ][ 2 ], -10092289);
PlayerTextDrawSetShadow(playerid, TuningBuy[ playerid ][ 2 ], 0);
PlayerTextDrawSetOutline(playerid, TuningBuy[ playerid ][ 2 ], 1);
PlayerTextDrawBackgroundColor(playerid, TuningBuy[ playerid ][ 2 ], 51);
PlayerTextDrawFont(playerid, TuningBuy[ playerid ][ 2 ], 2);
PlayerTextDrawSetProportional(playerid, TuningBuy[ playerid ][ 2 ], 1);
TuningBuy[ playerid ][ 3 ] = CreatePlayerTextDraw(playerid, 222.500000, 352.916656, "Left `Chrome Flames` Sideskirt");
PlayerTextDrawLetterSize(playerid, TuningBuy[ playerid ][ 3 ], 0.244999, 1.092499);
PlayerTextDrawAlignment(playerid, TuningBuy[ playerid ][ 3 ], 1);
PlayerTextDrawColor(playerid, TuningBuy[ playerid ][ 3 ], -1);
PlayerTextDrawSetShadow(playerid, TuningBuy[ playerid ][ 3 ], 0);
PlayerTextDrawSetOutline(playerid, TuningBuy[ playerid ][ 3 ], 1);
PlayerTextDrawBackgroundColor(playerid, TuningBuy[ playerid ][ 3 ], 51);
PlayerTextDrawFont(playerid, TuningBuy[ playerid ][ 3 ], 2);
PlayerTextDrawSetProportional(playerid, TuningBuy[ playerid ][ 3 ], 1);
TuningBuy[ playerid ][ 4 ] = CreatePlayerTextDraw(playerid, 222.500000, 365.000000, "Preco: ~w~10000$");
PlayerTextDrawLetterSize(playerid, TuningBuy[ playerid ][ 4 ], 0.244999, 1.092499);
PlayerTextDrawAlignment(playerid, TuningBuy[ playerid ][ 4 ], 1);
PlayerTextDrawColor(playerid, TuningBuy[ playerid ][ 4 ], -1);
PlayerTextDrawSetShadow(playerid, TuningBuy[ playerid ][ 4 ], 0);
PlayerTextDrawSetOutline(playerid, TuningBuy[ playerid ][ 4 ], 1);
PlayerTextDrawBackgroundColor(playerid, TuningBuy[ playerid ][ 4 ], 51);
PlayerTextDrawFont(playerid, TuningBuy[ playerid ][ 4 ], 2);
PlayerTextDrawSetProportional(playerid, TuningBuy[ playerid ][ 4 ], 1);
TuningBuy[ playerid ][ 5 ] = CreatePlayerTextDraw(playerid, 215.125000, 372.999877, "-");
PlayerTextDrawLetterSize(playerid, TuningBuy[ playerid ][ 5 ], 6.743125, 0.444999);
PlayerTextDrawAlignment(playerid, TuningBuy[ playerid ][ 5 ], 1);
PlayerTextDrawColor(playerid, TuningBuy[ playerid ][ 5 ], -10092289);
PlayerTextDrawSetShadow(playerid, TuningBuy[ playerid ][ 5 ], 0);
PlayerTextDrawSetOutline(playerid, TuningBuy[ playerid ][ 5 ], 1);
PlayerTextDrawBackgroundColor(playerid, TuningBuy[ playerid ][ 5 ], 51);
PlayerTextDrawFont(playerid, TuningBuy[ playerid ][ 5 ], 2);
PlayerTextDrawSetProportional(playerid, TuningBuy[ playerid ][ 5 ], 1);
TuningBuy[ playerid ][ 6 ] = CreatePlayerTextDraw(playerid, 206.750000, 347.166564, "-");
PlayerTextDrawLetterSize(playerid, TuningBuy[ playerid ][ 6 ], 18.981874, 0.514999);
PlayerTextDrawAlignment(playerid, TuningBuy[ playerid ][ 6 ], 1);
PlayerTextDrawColor(playerid, TuningBuy[ playerid ][ 6 ], -10092289);
PlayerTextDrawSetShadow(playerid, TuningBuy[ playerid ][ 6 ], 0);
PlayerTextDrawSetOutline(playerid, TuningBuy[ playerid ][ 6 ], 1);
PlayerTextDrawBackgroundColor(playerid, TuningBuy[ playerid ][ 6 ], 51);
PlayerTextDrawFont(playerid, TuningBuy[ playerid ][ 6 ], 2);
PlayerTextDrawSetProportional(playerid, TuningBuy[ playerid ][ 6 ], 1);
TuningBuy[ playerid ][ 7 ] = CreatePlayerTextDraw(playerid, 385.000000, 381.500000, "ld_beat:right");
PlayerTextDrawLetterSize(playerid, TuningBuy[ playerid ][ 7 ], 0.449999, 1.600000);
PlayerTextDrawTextSize(playerid, TuningBuy[ playerid ][ 7 ], 27.500000, 13.416657);
PlayerTextDrawAlignment(playerid, TuningBuy[ playerid ][ 7 ], 2);
PlayerTextDrawColor(playerid, TuningBuy[ playerid ][ 7 ], -1);
PlayerTextDrawUseBox(playerid, TuningBuy[ playerid ][ 7 ], true);
PlayerTextDrawBoxColor(playerid, TuningBuy[ playerid ][ 7 ], 255);
PlayerTextDrawSetShadow(playerid, TuningBuy[ playerid ][ 7 ], 0);
PlayerTextDrawSetOutline(playerid, TuningBuy[ playerid ][ 7 ], 1);
PlayerTextDrawBackgroundColor(playerid, TuningBuy[ playerid ][ 7 ], 51);
PlayerTextDrawFont(playerid, TuningBuy[ playerid ][ 7 ], 4);
PlayerTextDrawSetProportional(playerid, TuningBuy[ playerid ][ 7 ], 1);
PlayerTextDrawSetSelectable(playerid, TuningBuy[ playerid ][ 7 ], true);
TuningBuy[ playerid ][ 8 ] = CreatePlayerTextDraw(playerid, 230.375000, 381.916473, "ld_beat:left");
PlayerTextDrawLetterSize(playerid, TuningBuy[ playerid ][ 8 ], 0.449999, 1.600000);
PlayerTextDrawTextSize(playerid, TuningBuy[ playerid ][ 8 ], 27.500000, 13.416657);
PlayerTextDrawAlignment(playerid, TuningBuy[ playerid ][ 8 ], 2);
PlayerTextDrawColor(playerid, TuningBuy[ playerid ][ 8 ], -1);
PlayerTextDrawUseBox(playerid, TuningBuy[ playerid ][ 8 ], true);
PlayerTextDrawBoxColor(playerid, TuningBuy[ playerid ][ 8 ], 255);
PlayerTextDrawSetShadow(playerid, TuningBuy[ playerid ][ 8 ], 0);
PlayerTextDrawSetOutline(playerid, TuningBuy[ playerid ][ 8 ], 1);
PlayerTextDrawBackgroundColor(playerid, TuningBuy[ playerid ][ 8 ], 51);
PlayerTextDrawFont(playerid, TuningBuy[ playerid ][ 8 ], 4);
PlayerTextDrawSetProportional(playerid, TuningBuy[ playerid ][ 8 ], 1);
PlayerTextDrawSetSelectable(playerid, TuningBuy[ playerid ][ 8 ], true);
TuningBuy[ playerid ][ 9 ] = CreatePlayerTextDraw(playerid, 320.000000, 381.499938, "Comprar");
PlayerTextDrawTextSize(playerid, TuningBuy[ playerid ][ 9 ], 23.000000, 13.000000 );
PlayerTextDrawLetterSize(playerid, TuningBuy[ playerid ][ 9 ], 0.421249, 1.360832 );
PlayerTextDrawAlignment(playerid, TuningBuy[ playerid ][ 9 ], 2);
PlayerTextDrawColor(playerid, TuningBuy[ playerid ][ 9 ], -1);
PlayerTextDrawSetShadow(playerid, TuningBuy[ playerid ][ 9 ], 0);
PlayerTextDrawSetOutline(playerid, TuningBuy[ playerid ][ 9 ], 1);
PlayerTextDrawBackgroundColor(playerid, TuningBuy[ playerid ][ 9 ], 51);
PlayerTextDrawFont(playerid, TuningBuy[ playerid ][ 9 ], 2);
PlayerTextDrawSetProportional(playerid, TuningBuy[ playerid ][ 9 ], 1);
PlayerTextDrawSetSelectable(playerid, TuningBuy[ playerid ][ 9 ], true);
TuningBuy[ playerid ][ 10 ] = CreatePlayerTextDraw(playerid, 200.000000, 396.416656, "-");
PlayerTextDrawLetterSize(playerid, TuningBuy[ playerid ][ 10 ], 18.981874, 0.514999);
PlayerTextDrawAlignment(playerid, TuningBuy[ playerid ][ 10 ], 1);
PlayerTextDrawColor(playerid, TuningBuy[ playerid ][ 10 ], -10092289);
PlayerTextDrawSetShadow(playerid, TuningBuy[ playerid ][ 10 ], 0);
PlayerTextDrawSetOutline(playerid, TuningBuy[ playerid ][ 10 ], 1);
PlayerTextDrawBackgroundColor(playerid, TuningBuy[ playerid ][ 10 ], 51);
PlayerTextDrawFont(playerid, TuningBuy[ playerid ][ 10 ], 2);
PlayerTextDrawSetProportional(playerid, TuningBuy[ playerid ][ 10 ], 1);
TuningBuy[ playerid ][ 11 ] = CreatePlayerTextDraw(playerid, 225.000000, 401.916595, "Menu Equipar Veiculos");
PlayerTextDrawLetterSize(playerid, TuningBuy[ playerid ][ 11 ], 0.258749, 0.987497);
PlayerTextDrawAlignment(playerid, TuningBuy[ playerid ][ 11 ], 1);
PlayerTextDrawColor(playerid, TuningBuy[ playerid ][ 11 ], -1);
PlayerTextDrawSetShadow(playerid, TuningBuy[ playerid ][ 11 ], 0);
PlayerTextDrawSetOutline(playerid, TuningBuy[ playerid ][ 11 ], 1);
PlayerTextDrawBackgroundColor(playerid, TuningBuy[ playerid ][ 11 ], 51);
PlayerTextDrawFont(playerid, TuningBuy[ playerid ][ 11 ], 2);
PlayerTextDrawSetProportional(playerid, TuningBuy[ playerid ][ 11 ], 1);
TuningBuy[ playerid ][ 12 ] = CreatePlayerTextDraw(playerid, 203.500000, 411.416839, "-");
PlayerTextDrawLetterSize(playerid, TuningBuy[ playerid ][ 12 ], 18.981874, 0.514998);
PlayerTextDrawAlignment(playerid, TuningBuy[ playerid ][ 12 ], 1);
PlayerTextDrawColor(playerid, TuningBuy[ playerid ][ 12 ], -10092289);
PlayerTextDrawSetShadow(playerid, TuningBuy[ playerid ][ 12 ], 0);
PlayerTextDrawSetOutline(playerid, TuningBuy[ playerid ][ 12 ], 1);
PlayerTextDrawBackgroundColor(playerid, TuningBuy[ playerid ][ 12 ], 51);
PlayerTextDrawFont(playerid, TuningBuy[ playerid ][ 12 ], 2);
PlayerTextDrawSetProportional(playerid, TuningBuy[ playerid ][ 12 ], 1);
TuningBuy[ playerid ][ 13 ] = CreatePlayerTextDraw(playerid, 404.500000, 337.999877, "ld_beat:cross");
PlayerTextDrawLetterSize(playerid, TuningBuy[ playerid ][ 13 ], 0.449999, 1.600000);
PlayerTextDrawTextSize(playerid, TuningBuy[ playerid ][ 13 ], 17.500000, 8.749991);
PlayerTextDrawAlignment(playerid, TuningBuy[ playerid ][ 13 ], 2);
PlayerTextDrawColor(playerid, TuningBuy[ playerid ][ 13 ], -1);
PlayerTextDrawUseBox(playerid, TuningBuy[ playerid ][ 13 ], true);
PlayerTextDrawBoxColor(playerid, TuningBuy[ playerid ][ 13 ], 255);
PlayerTextDrawSetShadow(playerid, TuningBuy[ playerid ][ 13 ], 0);
PlayerTextDrawSetOutline(playerid, TuningBuy[ playerid ][ 13 ], 1);
PlayerTextDrawBackgroundColor(playerid, TuningBuy[ playerid ][ 13 ], 51);
PlayerTextDrawFont(playerid, TuningBuy[ playerid ][ 13 ], 4);
PlayerTextDrawSetProportional(playerid, TuningBuy[ playerid ][ 13 ], 1);
PlayerTextDrawSetSelectable(playerid, TuningBuy[ playerid ][ 13 ], true);
}
//==============================================================================
GetNearestTGarage( playerid ) {
for(new i = 1; i < MAX_GARAGES; i++) {
if( IsPlayerInRangeOfPoint( playerid, 10.0, tGarage[ i ][ Position ][ 0 ], tGarage[ i ][ Position ][ 1 ], tGarage[ i ][ Position ][ 2 ] ) ) { return i; }
}
return -1;
}
//==============================================================================
forward SaveTGarage( id );
public SaveTGarage( id ) {
new iFile[ 40 ];
format( iFile, sizeof( iFile ), TG_FILE, id );
new INI:File = INI_Open( iFile );
INI_WriteFloat( File, "Position1", tGarage[ id ][ Position ][ 0 ] );
INI_WriteFloat( File, "Position2", tGarage[ id ][ Position ][ 1 ] );
INI_WriteFloat( File, "Position3", tGarage[ id ][ Position ][ 2 ] );
INI_Close( File );
return 1;
}
//==============================================================================
forward LoadTGarage( id, name[], value[] );
public LoadTGarage( id, name[], value[] ) {
INI_Float( "Position1", tGarage[ id ][ Position ][ 0 ] );
INI_Float( "Position2", tGarage[ id ][ Position ][ 1 ] );
INI_Float( "Position3", tGarage[ id ][ Position ][ 2 ] );
return true;
}
//==============================================================================
forward SaveTuning( playerid, vehicleid, string[] );
public SaveTuning( playerid, vehicleid, string[] ) {
new Color1, Color2;
GetVehicleColor( vehicleid, Color1, Color2 );
new file[ 40 ];
format( file, sizeof( file ), T_FILE, string );
if( fexist( file ) ) return 1;
new INI:File = INI_Open( file );
INI_SetTag( File, "Info" );
INI_WriteInt( File, "VehID", GetVehicleModel( vehicleid ) );
INI_WriteString( File, "Owner", GetName( playerid ) );
INI_WriteBool( File, "Tuned", VehicleInfo[ vehicleid ][ vTuned ] );
INI_WriteInt( File, "Spoiler", VehicleInfo[ vehicleid ][ vSpoiler ] );
INI_WriteInt( File, "Hood", VehicleInfo[ vehicleid ][ vHood ] );
INI_WriteInt( File, "Roof", VehicleInfo[ vehicleid ][ vRoof ] );
INI_WriteInt( File, "Skirt", VehicleInfo[ vehicleid ][ vSkirt ] );
INI_WriteInt( File, "Lamps", VehicleInfo[ vehicleid ][ vLamps ] );
INI_WriteInt( File, "Nitro", VehicleInfo[ vehicleid ][ vNitro ] );
INI_WriteInt( File, "Exhaust", VehicleInfo[ vehicleid ][ vExhaust ] );
INI_WriteInt( File, "Wheels", VehicleInfo[ vehicleid ][ vWheels ] );
INI_WriteInt( File, "Stereo", VehicleInfo[ vehicleid ][ vStereo ] );
INI_WriteInt( File, "Hydraulics", VehicleInfo[ vehicleid ][ vHydraulics ] );
INI_WriteInt( File, "FrontBumper", VehicleInfo[ vehicleid ][ vFrontBumper ] );
INI_WriteInt( File, "RearBumper", VehicleInfo[ vehicleid ][ vRearBumper ] );
INI_WriteInt( File, "RightVent", VehicleInfo[ vehicleid ][ vRightVent ] );
INI_WriteInt( File, "LeftVent", VehicleInfo[ vehicleid ][ vLeftVent ] );
INI_WriteInt( File, "PaintJob", VehicleInfo[ vehicleid ][ vPaintJob ] );
INI_WriteInt( File, "Color1", Color1 );
INI_WriteInt( File, "Color2", Color2 );
INI_Close( File );
return true;
}
//==============================================================================
forward LoadTuning( id, name[], value[] );
public LoadTuning( id, name[], value[] ) {
INI_Int( "VehID", VehicleInfo[ id ][ vVehID ] );
INI_String( "Owner", VehicleInfo[ id ][ vOwner ], MAX_PLAYER_NAME );
INI_Bool( "Tuned", VehicleInfo[ id ][ vTuned ] );
INI_Int( "Spoiler", VehicleInfo[ id ][ vSpoiler ] );
INI_Int( "Hood", VehicleInfo[ id ][ vHood ] );
INI_Int( "Roof", VehicleInfo[ id ][ vRoof ] );
INI_Int( "Skirt", VehicleInfo[ id ][ vSkirt ] );
INI_Int( "Lamps", VehicleInfo[ id ][ vLamps ] );
INI_Int( "Nitro", VehicleInfo[ id ][ vNitro ] );
INI_Int( "Exhaust", VehicleInfo[ id ][ vExhaust ] );
INI_Int( "Wheels", VehicleInfo[ id ][ vWheels ] );
INI_Int( "Stereo", VehicleInfo[ id ][ vStereo ] );
INI_Int( "Hydraulics", VehicleInfo[ id ][ vHydraulics ] );
INI_Int( "FrontBumper", VehicleInfo[ id ][ vFrontBumper ] );
INI_Int( "RearBumper", VehicleInfo[ id ][ vRearBumper ] );
INI_Int( "RightVent", VehicleInfo[ id ][ vRightVent ] );
INI_Int( "LeftVent", VehicleInfo[ id ][ vLeftVent ] );
INI_Int( "PaintJob", VehicleInfo[ id ][ vPaintJob ] );
INI_Int( "Color1", VehicleInfo[ id ][ vColor1 ] );
INI_Int( "Color2", VehicleInfo[ id ][ vColor2 ] );
return true;
}
//==============================================================================
stock SetTune( vehicleid ) {
if( VehicleInfo[ vehicleid ][ vTuned ] ) {
if( VehicleInfo[ vehicleid ][ vPaintJob ] != 255 ) ChangeVehiclePaintjob( vehicleid, VehicleInfo[ vehicleid ][ vPaintJob ] );
if( VehicleInfo[ vehicleid ][ vSpoiler ] != -1 ) AddVehicleComponent( vehicleid, VehicleInfo[ vehicleid ][ vSpoiler ] );
if( VehicleInfo[ vehicleid ][ vHood ] != -1 ) AddVehicleComponent( vehicleid, VehicleInfo[ vehicleid ][ vHood ] );
if( VehicleInfo[ vehicleid ][ vRoof ] != -1 ) AddVehicleComponent( vehicleid, VehicleInfo[ vehicleid ][ vRoof ] );
if( VehicleInfo[ vehicleid ][ vSkirt ] != -1 ) AddVehicleComponent( vehicleid, VehicleInfo[ vehicleid ][ vSkirt ] );
if( VehicleInfo[ vehicleid ][ vLamps ] != -1 ) AddVehicleComponent( vehicleid, VehicleInfo[ vehicleid ][ vLamps ] );
if( VehicleInfo[ vehicleid ][ vNitro ] != -1 ) AddVehicleComponent( vehicleid, VehicleInfo[ vehicleid ][ vNitro ] );
if( VehicleInfo[ vehicleid ][ vExhaust ] != -1 ) AddVehicleComponent( vehicleid, VehicleInfo[ vehicleid ][ vWheels ] );
if( VehicleInfo[ vehicleid ][ vWheels ] != -1 ) AddVehicleComponent( vehicleid, VehicleInfo[ vehicleid ][ vWheels ] );
if( VehicleInfo[ vehicleid ][ vStereo ] != -1 ) AddVehicleComponent( vehicleid, VehicleInfo[ vehicleid ][ vStereo ] );
if( VehicleInfo[ vehicleid ][ vHydraulics ] != -1 ) AddVehicleComponent( vehicleid, VehicleInfo[ vehicleid ][ vHydraulics ] );
if( VehicleInfo[ vehicleid ][ vFrontBumper ] != -1 ) AddVehicleComponent( vehicleid, VehicleInfo[ vehicleid ][ vFrontBumper ] );
if( VehicleInfo[ vehicleid ][ vRearBumper ] != -1 ) AddVehicleComponent( vehicleid, VehicleInfo[ vehicleid ][ vRearBumper ] );
if( VehicleInfo[ vehicleid ][ vRightVent ] != -1 ) AddVehicleComponent( vehicleid, VehicleInfo[ vehicleid ][ vRightVent ] );
if( VehicleInfo[ vehicleid ][ vLeftVent ] != -1 ) AddVehicleComponent( vehicleid, VehicleInfo[ vehicleid ][ vLeftVent ] );
}
}
//==============================================================================
stock AddComponentToVehicle( vehicleid, componentid ) {
if( VehicleInfo[ vehicleid ][ vTuned ] ) {
if( GetVehicleComponentType( componentid ) == CARMODTYPE_SPOILER ) {
VehicleInfo[ vehicleid ][ vSpoiler ] = componentid;
if( VehicleInfo[ vehicleid ][ vSpoiler ] != -1 ) AddVehicleComponent( vehicleid, componentid );
}
else if( GetVehicleComponentType( componentid ) == CARMODTYPE_HOOD ) {
VehicleInfo[ vehicleid ][ vHood ] = componentid;
if( VehicleInfo[ vehicleid ][ vHood ] != -1 ) AddVehicleComponent( vehicleid, componentid );
}
else if( GetVehicleComponentType( componentid ) == CARMODTYPE_ROOF ) {
VehicleInfo[ vehicleid ][ vRoof ] = componentid;
if( VehicleInfo[ vehicleid ][ vRoof ] != -1 ) AddVehicleComponent( vehicleid, componentid );
}
else if( GetVehicleComponentType( componentid ) == CARMODTYPE_SIDESKIRT ) {
VehicleInfo[ vehicleid ][ vSkirt ] = componentid;
if( VehicleInfo[ vehicleid ][ vSkirt ] != -1 ) AddVehicleComponent( vehicleid, componentid );
}
else if( GetVehicleComponentType( componentid ) == CARMODTYPE_LAMPS ) {
VehicleInfo[ vehicleid ][ vLamps ] = componentid;
if( VehicleInfo[ vehicleid ][ vLamps ] != -1 ) AddVehicleComponent( vehicleid, componentid );
}
else if( GetVehicleComponentType( componentid ) == CARMODTYPE_NITRO ) {
VehicleInfo[ vehicleid ][ vNitro ] = componentid;
if( VehicleInfo[ vehicleid ][ vNitro ] != -1 ) AddVehicleComponent( vehicleid, componentid );
}
else if( GetVehicleComponentType( componentid ) == CARMODTYPE_EXHAUST ) {
VehicleInfo[ vehicleid ][ vExhaust ] = componentid;
if( VehicleInfo[ vehicleid ][ vExhaust ] != -1 ) AddVehicleComponent( vehicleid, componentid );
}
else if( GetVehicleComponentType( componentid ) == CARMODTYPE_WHEELS ) {
VehicleInfo[ vehicleid ][ vWheels ] = componentid;
if( VehicleInfo[ vehicleid ][ vWheels ] != -1 ) AddVehicleComponent( vehicleid, componentid );
}
else if( GetVehicleComponentType( componentid ) == CARMODTYPE_STEREO ) {
VehicleInfo[ vehicleid ][ vStereo ] = componentid;
if( VehicleInfo[ vehicleid ][ vStereo ] != -1 ) AddVehicleComponent( vehicleid, componentid );
}
else if( GetVehicleComponentType( componentid ) == CARMODTYPE_HYDRAULICS ) {
VehicleInfo[ vehicleid ][ vHydraulics ] = componentid;
if( VehicleInfo[ vehicleid ][ vHydraulics ] != -1 ) AddVehicleComponent( vehicleid, componentid );
}
else if( GetVehicleComponentType( componentid ) == CARMODTYPE_FRONT_BUMPER ) {
VehicleInfo[ vehicleid ][ vFrontBumper ] = componentid;
if( VehicleInfo[ vehicleid ][ vFrontBumper ] != -1 ) AddVehicleComponent( vehicleid, componentid );
}
else if( GetVehicleComponentType( componentid ) == CARMODTYPE_REAR_BUMPER ) {
VehicleInfo[ vehicleid ][ vRearBumper ] = componentid;
if( VehicleInfo[ vehicleid ][ vRearBumper ] != -1 ) AddVehicleComponent( vehicleid, componentid );
}
else if( GetVehicleComponentType( componentid ) == CARMODTYPE_VENT_RIGHT ) {
VehicleInfo[ vehicleid ][ vRightVent ] = componentid;
if( VehicleInfo[ vehicleid ][ vRightVent ] != -1 ) AddVehicleComponent( vehicleid, componentid );
}
else if( GetVehicleComponentType( componentid ) == CARMODTYPE_VENT_LEFT ) {
VehicleInfo[ vehicleid ][ vLeftVent ] = componentid;
if( VehicleInfo[ vehicleid ][ vLeftVent ] != -1 ) AddVehicleComponent( vehicleid, componentid );
}
}
}
//==============================================================================
stock NextIDGarage(const len) {
new id = (-1);
for( new loop = ( 0 ), provjera = ( -1 ), Data_[ 64 ] = "\0"; loop != len; ++ loop ) {
provjera = ( loop+1 );
format( Data_, ( sizeof Data_ ), TG_FILE, provjera );
if(!fexist(Data_)) {
id = ( provjera );
break; } }
return ( id );
}
//==============================================================================
stock IsComponentidCompatible( modelid, componentid ) {
if( componentid == 1025 || componentid == 1073 || componentid == 1074 || componentid == 1075 || componentid == 1076 ||
componentid == 1077 || componentid == 1078 || componentid == 1079 || componentid == 1080 || componentid == 1081 ||
componentid == 1082 || componentid == 1083 || componentid == 1084 || componentid == 1085 || componentid == 1096 ||
componentid == 1097 || componentid == 1098 || componentid == 1087 || componentid == 1086 ) {
return componentid;
}
switch( modelid ) {
case 400: if( componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1013 || componentid == 1024 || componentid == 1008 || componentid == 1009 || componentid == 1010 ) return componentid;
case 401: if( componentid == 1005 || componentid == 1004 || componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 114 || componentid == 1020 || componentid == 1019 || componentid == 1013 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1003 || componentid == 1017 || componentid == 1007) return componentid;
case 402: if( componentid == 1009 || componentid == 1009 || componentid == 1010 ) return componentid;
case 404: if( componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1013 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1002 || componentid == 1016 || componentid == 1000 || componentid == 1017 || componentid == 1007) return componentid;
case 405: if( componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1001 || componentid == 1014 || componentid == 1023 || componentid == 1000) return componentid;
case 409: if( componentid == 1009 ) return componentid;
case 410: if( componentid == 1019 || componentid == 1021 || componentid == 1020 || componentid == 1013 || componentid == 1024 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1001 || componentid == 1023 || componentid == 1003 || componentid == 1017 || componentid == 1007) return componentid;
case 411: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 412: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 415: if( componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1001 || componentid == 1023 || componentid == 1003 || componentid == 1017 || componentid == 1007) return componentid;
case 418: if( componentid == 1020 || componentid == 1021 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1002 || componentid == 1016) return componentid;
case 419: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 420: if( componentid == 1005 || componentid == 1004 || componentid == 1021 || componentid == 1019 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1001 || componentid == 1003) return componentid;
case 421: if( componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1014 || componentid == 1023 || componentid == 1016 || componentid == 1000) return componentid;
case 422: if( componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1013 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1017 || componentid == 1007) return componentid;
case 426: if( componentid == 1005 || componentid == 1004 || componentid == 1021 || componentid == 1019 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1003) return componentid;
case 429: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 436: if( componentid == 1020 || componentid == 1021 || componentid == 1022 || componentid == 1019 || componentid == 1013 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1003 || componentid == 1017 || componentid == 1007) return componentid;
case 438: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 439: if( componentid == 1003 || componentid == 1023 || componentid == 1001 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1017 || componentid == 1007 || componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1013) return componentid;
case 442: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 445: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 451: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 458: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 466: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 467: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 474: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 475: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 477: if( componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1017 || componentid == 1007) return componentid;
case 478: if( componentid == 1005 || componentid == 1004 || componentid == 1012 || componentid == 1020 || componentid == 1021 || componentid == 1022 || componentid == 1013 || componentid == 1024 || componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 479: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 480: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 489: if( componentid == 1005 || componentid == 1004 || componentid == 1020 || componentid == 1019 || componentid == 1018 || componentid == 1013 || componentid == 1024 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1002 || componentid == 1016 || componentid == 1000) return componentid;
case 491: if( componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1014 || componentid == 1023 || componentid == 1003 || componentid == 1017 || componentid == 1007) return componentid;
case 492: if( componentid == 1005 || componentid == 1004 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1016 || componentid == 1000) return componentid;
case 496: if( componentid == 1006 || componentid == 1017 || componentid == 1007 || componentid == 1011 || componentid == 1019 || componentid == 1023 || componentid == 1001 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1003 || componentid == 1002 || componentid == 1142 || componentid == 1143 || componentid == 1020) return componentid;
case 500: if( componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1013 || componentid == 1024 || componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 506: if( componentid == 1009) return componentid;
case 507: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 516: if( componentid == 1004 || componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1002 || componentid == 1015 || componentid == 1016 || componentid == 1000 || componentid == 1017 || componentid == 1007) return componentid;
case 517: if( componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1002 || componentid == 1023 || componentid == 1016 || componentid == 1003 || componentid == 1017 || componentid == 1007) return componentid;
case 518: if( componentid == 1005 || componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1018 || componentid == 1013 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1023 || componentid == 1003 || componentid == 1017 || componentid == 1007) return componentid;
case 526: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 527: if( componentid == 1021 || componentid == 1020 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1001 || componentid == 1014 || componentid == 1015 || componentid == 1017 || componentid == 1007) return componentid;
case 529: if( componentid == 1012 || componentid == 1011 || componentid == 1020 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1023 || componentid == 1003 || componentid == 1017 || componentid == 1007) return componentid;
case 533: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 534: if( componentid == 1126 || componentid == 1127 || componentid == 1179 || componentid == 1185 || componentid == 1100 || componentid == 1123 || componentid == 1125 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1180 || componentid == 1178 || componentid == 1101 || componentid == 1122 || componentid == 1124 || componentid == 1106) return componentid;
case 535: if( componentid == 1109 || componentid == 1110 || componentid == 1113 || componentid == 1114 || componentid == 1115 || componentid == 1116 || componentid == 1117 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1120 || componentid == 1118 || componentid == 1121 || componentid == 1119) return componentid;
case 536: if( componentid == 1104 || componentid == 1105 || componentid == 1182 || componentid == 1181 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1184 || componentid == 1183 || componentid == 1128 || componentid == 1103 || componentid == 1107 || componentid == 1108) return componentid;
case 540: if( componentid == 1004 || componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1019 || componentid == 1018 || componentid == 1024 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1023 || componentid == 1017 || componentid == 1007) return componentid;
case 541: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 542: if( componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1014 || componentid == 1015) return componentid;
case 545: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 546: if( componentid == 1004 || componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1019 || componentid == 1018 || componentid == 1024 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1002 || componentid == 1001 || componentid == 1023 || componentid == 1017 || componentid == 1007) return componentid;
case 547: if( componentid == 1142 || componentid == 1143 || componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1016 || componentid == 1003 || componentid == 1000) return componentid;
case 549: if( componentid == 1012 || componentid == 1011 || componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1001 || componentid == 1023 || componentid == 1003 || componentid == 1017 || componentid == 1007) return componentid;
case 550: if( componentid == 1005 || componentid == 1004 || componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1023 || componentid == 1003) return componentid;
case 551: if( componentid == 1005 || componentid == 1020 || componentid == 1021 || componentid == 1019 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1002 || componentid == 1023 || componentid == 1016 || componentid == 1003) return componentid;
case 555: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 558: if( componentid == 1092 || componentid == 1089 || componentid == 1166 || componentid == 1165 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1168 || componentid == 1167 || componentid == 1088 || componentid == 1091 || componentid == 1164 || componentid == 1163 || componentid == 1094 || componentid == 1090 || componentid == 1095 || componentid == 1093) return componentid;
case 559: if( componentid == 1065 || componentid == 1066 || componentid == 1160 || componentid == 1173 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1159 || componentid == 1161 || componentid == 1162 || componentid == 1158 || componentid == 1067 || componentid == 1068 || componentid == 1071 || componentid == 1069 || componentid == 1072 || componentid == 1070 || componentid == 1009) return componentid;
case 560: if( componentid == 1028 || componentid == 1029 || componentid == 1169 || componentid == 1170 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1141 || componentid == 1140 || componentid == 1032 || componentid == 1033 || componentid == 1138 || componentid == 1139 || componentid == 1027 || componentid == 1026 || componentid == 1030 || componentid == 1031) return componentid;
case 561: if( componentid == 1064 || componentid == 1059 || componentid == 1155 || componentid == 1157 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1154 || componentid == 1156 || componentid == 1055 || componentid == 1061 || componentid == 1058 || componentid == 1060 || componentid == 1062 || componentid == 1056 || componentid == 1063 || componentid == 1057) return componentid;
case 562: if( componentid == 1034 || componentid == 1037 || componentid == 1171 || componentid == 1172 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1149 || componentid == 1148 || componentid == 1038 || componentid == 1035 || componentid == 1147 || componentid == 1146 || componentid == 1040 || componentid == 1036 || componentid == 1041 || componentid == 1039) return componentid;
case 565: if( componentid == 1046 || componentid == 1045 || componentid == 1153 || componentid == 1152 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1150 || componentid == 1151 || componentid == 1054 || componentid == 1053 || componentid == 1049 || componentid == 1050 || componentid == 1051 || componentid == 1047 || componentid == 1052 || componentid == 1048) return componentid;
case 566: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 567: if( componentid == 1129 || componentid == 1132 || componentid == 1189 || componentid == 1188 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1187 || componentid == 1186 || componentid == 1130 || componentid == 1131 || componentid == 1102 || componentid == 1133) return componentid;
case 575: if( componentid == 1044 || componentid == 1043 || componentid == 1174 || componentid == 1175 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1176 || componentid == 1177 || componentid == 1099 || componentid == 1042) return componentid;
case 576: if( componentid == 1136 || componentid == 1135 || componentid == 1191 || componentid == 1190 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1192 || componentid == 1193 || componentid == 1137 || componentid == 1134) return componentid;
case 579: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 580: if( componentid == 1020 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1023 || componentid == 1017 || componentid == 1007) return componentid;
case 585: if( componentid == 1142 || componentid == 1143 || componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1019 || componentid == 1018 || componentid == 1013 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1023 || componentid == 1003 || componentid == 1017 || componentid == 1007) return componentid;
case 587: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 589: if( componentid == 1005 || componentid == 1004 || componentid == 1144 || componentid == 1145 || componentid == 1020 || componentid == 1018 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1024 || componentid == 1013 || componentid == 1006 || componentid == 1016 || componentid == 1000 || componentid == 1017 || componentid == 1007) return componentid;
case 600: if( componentid == 1005 || componentid == 1004 || componentid == 1020 || componentid == 1022 || componentid == 1018 || componentid == 1013 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1017 || componentid == 1007) return componentid;
case 602: if( componentid == 1008 || componentid == 1009 || componentid == 1010) return componentid;
case 603: if( componentid == 1144 || componentid == 1145 || componentid == 1142 || componentid == 1143 || componentid == 1020 || componentid == 1019 || componentid == 1018 || componentid == 1024 || componentid == 1008 || componentid == 1009 || componentid == 1010 || componentid == 1006 || componentid == 1001 || componentid == 1023 || componentid == 1017 || componentid == 1007) return componentid;
}
return false;
}
//==============================================================================
stock GetVehicleCameraPos( vehicleid, &Float:x, &Float:y, &Float:z, Float:xoff=0.0, Float:yoff=0.0, Float:zoff=0.0 ) { // credits Pasha
new Float:rot;
GetVehicleZAngle( vehicleid, rot );
rot = 360 - rot;
GetVehiclePos( vehicleid, x, y, z );
x = floatsin( rot, degrees ) * yoff + floatcos( rot, degrees ) * xoff + x;
y = floatcos( rot, degrees ) * yoff - floatsin( rot, degrees ) * xoff + y;
z = zoff + z;
}
//==============================================================================
stock TuningTDControl( playerid, bool:show ) {
if( show == true ) {
for( new i = 0; i < 14; i ++ ) {
PlayerTextDrawShow( playerid, TuningBuy[ playerid ][ i ] );
}
}
else if( show == false ) {
for( new i = 0; i < 14; i ++ ) {
PlayerTextDrawHide( playerid, TuningBuy[ playerid ][ i ]);
}
}
}
//==============================================================================
ResetTuningInfo( playerid ) {
TPInfo[ playerid ][ tID ] = -1;
TPInfo[ playerid ][ tType ] = -1;
TPInfo[ playerid ][ tPaintjob ] = false;
TPInfo[ playerid ][ PJColor ] = -1;
TPInfo[ playerid ][ PJColor ] = -1;
}
//==============================================================================
stock ResetTuning( vehid ) {
if( VehicleInfo[ vehid ][ vTuned ] ) {
VehicleInfo[ vehid ][ vTuned ] = false;
VehicleInfo[ vehid ][ vSpoiler ] = -1;
VehicleInfo[ vehid ][ vHood ] = -1;
VehicleInfo[ vehid ][ vRoof ] = -1;
VehicleInfo[ vehid ][ vSkirt ] = -1;
VehicleInfo[ vehid ][ vLamps ] = -1;
VehicleInfo[ vehid ][ vNitro ] = -1;
VehicleInfo[ vehid ][ vExhaust ] = -1;
VehicleInfo[ vehid ][ vWheels ] = -1;
VehicleInfo[ vehid ][ vStereo ] = -1;
VehicleInfo[ vehid ][ vHydraulics ] = -1;
VehicleInfo[ vehid ][ vFrontBumper ] = -1;
VehicleInfo[ vehid ][ vRearBumper ] = -1;
VehicleInfo[ vehid ][ vRightVent ] = -1;
VehicleInfo[ vehid ][ vLeftVent ] = -1;
VehicleInfo[ vehid ][ vPaintJob ] = 255;
}
}
//==============================================================================
stock GetName( id ) {
new ime[MAX_PLAYER_NAME];
GetPlayerName(id, ime, sizeof ime);
return ime;
}
//==============================================================================
public OnFilterScriptInit( ) {
print("\n--------------------------------------");
print(" Advanced Tuning System by Dimi");
print("--------------------------------------\n");
for(new i = 1; i < MAX_GARAGES; i++) {
new file[ 50 ];
format( file, sizeof( file ), TG_FILE, i );
if( fexist( file ) ) {
INI_ParseFile( file, "LoadTGarage", .bExtra = true, .extra = i );
tGarage[ i ][ tg3D ] = Create3DTextLabel( "{FFFFFF}Para Tunar Seu Veiculo use\n{ff6600}[ /tunar ]", -1, tGarage[ i ][ Position ][ 0 ], tGarage[ i ][ Position ][ 1 ], tGarage[ i ][ Position ][ 2 ], 15.0, 0, 1 );
tGarage[ i ][ tgPickup ] = CreatePickup( 1239, 1, tGarage[ i ][ Position ][ 0 ], tGarage[ i ][ Position ][ 1 ], tGarage[ i ][ Position ][ 2 ], -1 );
}
}
for( new i = 0; i < MAX_VEHICLES; i++ ) {
VehicleInfo[ i ][ vTuned ] = false;
VehicleInfo[ i ][ vSpoiler ] = -1;
VehicleInfo[ i ][ vHood ] = -1;
VehicleInfo[ i ][ vRoof ] = -1;
VehicleInfo[ i ][ vSkirt ] = -1;
VehicleInfo[ i ][ vLamps ] = -1;
VehicleInfo[ i ][ vNitro ] = -1;
VehicleInfo[ i ][ vExhaust ] = -1;
VehicleInfo[ i ][ vWheels ] = -1;
VehicleInfo[ i ][ vStereo ] = -1;
VehicleInfo[ i ][ vHydraulics ] = -1;
VehicleInfo[ i ][ vFrontBumper ] = -1;
VehicleInfo[ i ][ vRearBumper ] = -1;
VehicleInfo[ i ][ vRightVent ] = -1;
VehicleInfo[ i ][ vLeftVent ] = -1;
VehicleInfo[ i ][ vPaintJob ] = 255;
}
return 1;
}
//==============================================================================
public OnFilterScriptExit( ) {
return 1;
}
//==============================================================================
public OnPlayerConnect( playerid ) {
CreatePlayerTextDraws( playerid );
ResetTuningInfo( playerid );
return 1;
}
//==============================================================================
public OnPlayerDisconnect( playerid, reason ) {
return 1;
}
//==============================================================================
public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[] ) {
switch( dialogid ) {
case dialog_TUNING: {
if( response ) {
if( !IsPlayerInAnyVehicle( playerid ) ) return SendErrorMessage( playerid, "Vocк Precisa Estar Em Um Veiculo." );
if( GetPlayerState( playerid ) != PLAYER_STATE_DRIVER ) return SendErrorMessage( playerid, "Vocк Precisa Ser O Motorista." );
new vehicleid = GetPlayerVehicleID( playerid ), Float:Pos[ 6 ];
TPInfo[ playerid ][ tID ] = -1;
switch( listitem ) {
case 0: {
for( new i = 0; i < NUMBER_TYPE_PAINTJOB; i++ ) {
if( pjInfo[ i ][ vehID ] == GetVehicleModel( vehicleid ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum Paintjob Compativel Com Esse Veiculo." );
new pid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tPaintjob ] = true;
GetVehicleColor( vehicleid, TPInfo[ playerid ][ PJColor ][ 0 ], TPInfo[ playerid ][ PJColor ][ 1 ] );
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
ChangeVehicleColor( vehicleid, 1, 1 );
ChangeVehiclePaintjob( vehicleid, pjInfo[ pid ][ pNumber ] );
format( globalstring, sizeof( globalstring ), "%s", pjInfo[ pid ][ pName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "price: ~w~%d$", pjInfo[ pid ][ pPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 4, 0, 5 );
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 1: {
SPD( playerid, dialog_TUNING_2, DSI, D_TOP, "Coloque Cor1 ID E Cor2 ID.\nExemplo: 0 1", D_OK, D_CANCEL );
}
case 2: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_EXHAUST ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_EXHAUST;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], -2, -5, 0 );
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 3: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_FRONT_BUMPER ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_FRONT_BUMPER;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 0, 6, 0.5 ); // done
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 4: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_REAR_BUMPER ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_REAR_BUMPER;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 0, -6, 0.5 ); // done
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 5: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_ROOF ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_ROOF;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 0, 6, 2 ); // done
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 6: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_SPOILER ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_SPOILER;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 0, -6, 2 ); // done
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 7: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_SIDESKIRT ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_SIDESKIRT;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 4, 0, 0.5 );
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 8: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_WHEELS ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_WHEELS;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 4, 0, 0.5 ); // done
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 9: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_STEREO ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_STEREO;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 0, -6, 2 );
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 10: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_HYDRAULICS ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_HYDRAULICS;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 2, 2, 2 );
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
case 11: {
for( new i = 0; i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == CARMODTYPE_NITRO ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
TPInfo[ playerid ][ tID ] = i;
break;
}
}
}
if( TPInfo[ playerid ][ tID ] == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
new cid = TPInfo[ playerid ][ tID ];
TPInfo[ playerid ][ tType ] = CARMODTYPE_NITRO;
TPInfo[ playerid ][ tPaintjob ] = false;
TogglePlayerControllable( playerid, false );
TuningTDControl( playerid, true );
format( globalstring, sizeof( globalstring ), "%s", cInfo[ cid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ cid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ cid ][ cID ] );
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 0, -6, 2 ); // done
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
}
}
else if( !response ) {
SetCameraBehindPlayer( playerid );
}
}
case dialog_TUNING_2: {
if( !response ) return 1;
if( response ) {
if( !IsPlayerInAnyVehicle( playerid ) ) return SendErrorMessage( playerid, "Vocк Precisa Estar Em Um Veiculo." );
if( GetPlayerState( playerid ) != PLAYER_STATE_DRIVER ) return SendErrorMessage( playerid, "Vocк Precisa Ser O Motorista" );
new vehicleid = GetPlayerVehicleID( playerid );
if( GetPlayerMoney( playerid ) < COLOR_PRICE ) return SendErrorMessage( playerid, "O Seu Dinheiro й insuficiente." );
new b1, b2;
if( sscanf( inputtext, "ii", b1, b2 ) ) return SPD( playerid, dialog_TUNING_2, DSI, D_TOP, "Coloque Cor1 ID E Cor2 ID.\nExemplo: 0 1", D_OK, D_CANCEL );
if( b1 < 0 || b2 < 0 || b1 > 255 || b2 > 255 ) return SendErrorMessage( playerid, "Cor ID nгo pode ser superior a partir de 255 ou inferior a 0!");
ChangeVehicleColor( vehicleid, b1, b2 );
GivePlayerMoney( playerid, COLOR_PRICE );
SPD( playerid, dialog_TUNING, DSL, D_TOP, D_TEXT, D_OK, D_CANCEL );
}
}
}
return true;
}
//==============================================================================
public OnVehicleSpawn( vehicleid ) {
SetTune( vehicleid );
return true;
}
//==============================================================================
public OnPlayerClickPlayerTextDraw( playerid, PlayerText:playertextid ) {
if( _:playertextid != INVALID_TEXT_DRAW ) {
if( playertextid == TuningBuy[ playerid ][ 7 ] ) { // desno
if( !IsPlayerInAnyVehicle( playerid ) ) return SendErrorMessage( playerid, "Vocк Precisa Estar Em Um Veiculo." );
if( GetPlayerState( playerid ) != PLAYER_STATE_DRIVER ) return SendErrorMessage( playerid, "Vocк Precisa Ser O Motorista." );
if( TPInfo[ playerid ][ tPaintjob ] == false ) {
new compid = -1, vehicleid = GetPlayerVehicleID( playerid );
for( new i = ( TPInfo[ playerid ][ tID ]+1 ); i < MAX_COMPONENTS; i++ ) {
if( cInfo[ i ][ cType ] == TPInfo[ playerid ][ tType ] ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
compid = i;
break;
}
}
}
if( compid == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo" );
RemoveVehicleComponent( vehicleid, cInfo[ TPInfo[ playerid ][ tID ] ][ cID ] );
TPInfo[ playerid ][ tID ] = compid;
format( globalstring, sizeof( globalstring ), "%s", cInfo[ compid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ compid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ compid ][ cID ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
else if( TPInfo[ playerid ][ tPaintjob ] == true ) {
new paintid = -1, vehicleid = GetPlayerVehicleID( playerid );
for( new i = ( TPInfo[ playerid ][ tID ]+1 ); i < NUMBER_TYPE_PAINTJOB; i++ ) {
if( pjInfo[ i ][ vehID ] == GetVehicleModel( vehicleid ) ) {
paintid = i;
break;
}
}
if( paintid == -1 ) return SendErrorMessage( playerid, "Nenhum paintjob compatнvel com o seu modelo de veнculo." );
TPInfo[ playerid ][ tID ] = paintid;
format( globalstring, sizeof( globalstring ), "%s", pjInfo[ paintid ][ pName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", pjInfo[ paintid ][ pPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
ChangeVehiclePaintjob( vehicleid, pjInfo[ paintid ][ pNumber ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
}
if( playertextid == TuningBuy[ playerid ][ 8 ] ) { // levo
if( TPInfo[ playerid ][ tPaintjob ] == false ) {
if( !IsPlayerInAnyVehicle( playerid ) ) return SendErrorMessage( playerid, "Vocк Precisa Estar Em Um Veiculo." );
if( GetPlayerState( playerid ) != PLAYER_STATE_DRIVER ) return SendErrorMessage( playerid, "Vocк Precisa Ser O Motorista." );
new compid = -1, vehicleid = GetPlayerVehicleID( playerid );
for( new i = (TPInfo[ playerid ][ tID ]-1); i > 0; i-- ) {
if( cInfo[ i ][ cType ] == TPInfo[ playerid ][ tType ] ) {
if( cInfo[ i ][ cID ] == IsComponentidCompatible( GetVehicleModel( vehicleid ), cInfo[ i ][ cID ] ) ) {
compid = i;
break;
}
}
}
if( compid == -1 ) return SendErrorMessage( playerid, "Nenhum dos componentes compatнveis espйcies selecionadas para o seu modelo de veнculo." );
RemoveVehicleComponent( vehicleid, cInfo[ TPInfo[ playerid ][ tID ] ][ cID ] );
TPInfo[ playerid ][ tID ] = compid;
format( globalstring, sizeof( globalstring ), "%s", cInfo[ compid ][ cName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", cInfo[ compid ][ cPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
AddVehicleComponent( vehicleid, cInfo[ compid ][ cID ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
else if( TPInfo[ playerid ][ tPaintjob ] == true ) {
new paintid = -1, vehicleid = GetPlayerVehicleID( playerid );
for( new i = (TPInfo[ playerid ][ tID ]-1); i > 0; i-- ) {
if( pjInfo[ i ][ vehID ] == GetVehicleModel( vehicleid ) ) {
paintid = i;
break;
}
}
if( paintid == -1 ) return SendErrorMessage( playerid, "Nenhum paintjob compatнvel com o seu modelo de veнculo." );
TPInfo[ playerid ][ tID ] = paintid;
format( globalstring, sizeof( globalstring ), "%s", pjInfo[ paintid ][ pName ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 3 ], globalstring );
format( globalstring, sizeof( globalstring ), "Preco: ~w~%d$", pjInfo[ paintid ][ pPrice ] );
PlayerTextDrawSetString( playerid, TuningBuy[ playerid ][ 4 ], globalstring );
ChangeVehiclePaintjob( vehicleid, pjInfo[ paintid ][ pNumber ] );
SelectTextDraw( playerid, COLOR_ORANGE );
}
}
if( playertextid == TuningBuy[ playerid ][ 9 ] ) { // buy
if( !IsPlayerInAnyVehicle( playerid ) ) return SendErrorMessage( playerid, "Vocк Precisa Estar Em Um Veiculo." );
if( GetPlayerState( playerid ) != PLAYER_STATE_DRIVER ) return SendErrorMessage( playerid, "Vocк Precisa Ser O Motorista." );
new Float:Pos[ 6 ], vehicleid = GetPlayerVehicleID( playerid );
if( TPInfo[ playerid ][ tPaintjob ] == false ) {
if( GetPlayerMoney( playerid ) < cInfo[ TPInfo[ playerid ][ tID ] ][ cPrice ] ) return SendErrorMessage( playerid, "O Seu Dinheiro й insuficiente." );
new cid = TPInfo[ playerid ][ tID ];
RemoveVehicleComponent( vehicleid, cInfo[ TPInfo[ playerid ][ tID ] ][ cID ] );
VehicleInfo[ vehicleid ][ vTuned ] = true;
AddComponentToVehicle( vehicleid, cInfo[ cid ][ cID ] );
GivePlayerMoney( playerid, -cInfo[ TPInfo[ playerid ][ tID ] ][ cPrice ] );
}
else if( TPInfo[ playerid ][ tPaintjob ] == true ) {
if( GetPlayerMoney( playerid ) < pjInfo[ TPInfo[ playerid ][ tID ] ][ pPrice ] ) return SendErrorMessage( playerid, "O Seu Dinheiro й insuficiente." );
new paintid = TPInfo[ playerid ][ tID ];
VehicleInfo[ vehicleid ][ vTuned ] = true;
VehicleInfo[ vehicleid ][ vPaintJob ] = pjInfo[ paintid ][ pNumber ];
GivePlayerMoney( playerid, -pjInfo[ TPInfo[ playerid ][ tID ] ][ pPrice ] );
ChangeVehicleColor( vehicleid, TPInfo[ playerid ][ PJColor ][ 0 ], TPInfo[ playerid ][ PJColor ][ 1 ] );
ChangeVehiclePaintjob( vehicleid, pjInfo[ paintid ][ pNumber ] );
}
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 0, 6, 2 );
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
CancelSelectTextDraw( playerid );
TuningTDControl( playerid, false );
TogglePlayerControllable( playerid, true );
SPD( playerid, dialog_TUNING, DSL, D_TOP, D_TEXT, D_OK, D_CANCEL );
}
if( playertextid == TuningBuy[ playerid ][ 13 ] ) { // close
if( !IsPlayerInAnyVehicle( playerid ) ) return SendErrorMessage( playerid, "Vocк Precisa Estar Em Um Veiculo." );
if( GetPlayerState( playerid ) != PLAYER_STATE_DRIVER ) return SendErrorMessage( playerid, "Vocк Precisa Ser O Motorista." );
new Float:Pos[ 6 ], vehicleid = GetPlayerVehicleID( playerid );
if( TPInfo[ playerid ][ tPaintjob ] == false ) {
RemoveVehicleComponent( vehicleid, cInfo[ TPInfo[ playerid ][ tID ] ][ cID ] );
SetTune( vehicleid );
}
else if( TPInfo[ playerid ][ tPaintjob ] == true ) {
ChangeVehiclePaintjob( vehicleid, 3 );
ChangeVehicleColor( vehicleid, TPInfo[ playerid ][ PJColor ][ 0 ], TPInfo[ playerid ][ PJColor ][ 1 ] );
}
GetVehicleCameraPos( vehicleid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ], 0, 6, 2 );
SetPlayerCameraPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
GetVehiclePos( vehicleid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
SetPlayerCameraLookAt( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
CancelSelectTextDraw( playerid );
TuningTDControl( playerid, false );
TogglePlayerControllable( playerid, true );
SPD( playerid, dialog_TUNING, DSL, D_TOP, D_TEXT, D_OK, D_CANCEL );
}
}
return true;
}
//================================[ Commands ]==================================
CMD:tunar( playerid, params[] ) {
if( GetNearestTGarage( playerid ) == -1 ) return SendErrorMessage( playerid, "Vocк Primeiro Precisa Estar Em Um Ponto De Equipaзгo." );
SPD( playerid, dialog_TUNING, DSL, D_TOP, D_TEXT, D_OK, D_CANCEL );
return true;
}
//==============================================================================
CMD:removertunar( playerid, params[] ) {
if( GetNearestTGarage( playerid ) == -1 ) return SendErrorMessage( playerid, "Vocк Primeiro Precisa Estar Em Um Ponto De Equipaзгo." );
if( !IsPlayerInAnyVehicle( playerid ) ) return SendErrorMessage( playerid, "Vocк Precisa Estar Em Um Veiculo." );
if( GetPlayerState( playerid ) != PLAYER_STATE_DRIVER ) return SendErrorMessage( playerid, "Vocк Precisa Ser O Motorista." );
new vehicleid = GetPlayerVehicleID( playerid ), componentid;
ResetTuning( vehicleid );
ChangeVehiclePaintjob( vehicleid, 3 );
for( new i; i < 14; i++ ) {
componentid = GetVehicleComponentInSlot( vehicleid, i );
if( componentid != 0 )
RemoveVehicleComponent( vehicleid, componentid );
}
SendClientMessage( playerid, -1, "Tunaзгo Removida." );
return true;
}
//==============================================================================
CMD:salvartunar( playerid, params[] ) {
new file[ 80 ], tuningname[ 40 ];
if( sscanf( params,"s[40]", tuningname ) ) return SendClientMessage( playerid, -1, "Use: /salvartunar [ nome ]");
if( !IsPlayerInAnyVehicle( playerid ) ) return SendErrorMessage( playerid, "Vocк Precisa Estar Em Um Veiculo." );
if( GetPlayerState( playerid ) != PLAYER_STATE_DRIVER ) return SendErrorMessage( playerid, "Vocк Precisa Ser O Motorista." );
new vehicleid = GetPlayerVehicleID( playerid );
format( file, sizeof( file ), T_FILE, tuningname );
if( fexist( file ) ) return SendErrorMessage( playerid, "Jб existe salvo com esse nome!");
format( globalstring, sizeof( globalstring ), "Salvo com sucesso com nome%s", tuningname );
SendClientMessage( playerid, -1, globalstring );
SaveTuning( playerid, vehicleid, tuningname );
return true;
}
//==============================================================================
CMD:carregartunar( playerid, params[] ) {
new file[ 80 ], tuningname[ 40 ];
if( sscanf( params,"s[40]", tuningname ) ) return SendClientMessage( playerid, -1, "Use: /carregartunar [ nome ]");
if( !IsPlayerInAnyVehicle( playerid ) ) return SendErrorMessage( playerid, "Vocк Precisa Estar Em Um Veiculo." );
if( GetPlayerState( playerid ) != PLAYER_STATE_DRIVER ) return SendErrorMessage( playerid, "Vocк Precisa Ser O Motorista." );
new vehicleid = GetPlayerVehicleID( playerid );
if( VehicleInfo[ vehicleid ][ vTuned ] == true ) return SendErrorMessage( playerid, "Este Veiculo Ja Estб Tunado." );
format( file, sizeof( file ), T_FILE, tuningname );
if( !fexist( file ) ) return SendErrorMessage( playerid, "Nгo existem salvo com esse nome!");
INI_ParseFile( file, "LoadTuning", .bExtra = true, .extra = vehicleid );
if( strcmp( GetName( playerid ), VehicleInfo[ vehicleid ][ vOwner ], true ) == 0 ) {
if( GetVehicleModel( vehicleid ) != VehicleInfo[ vehicleid ][ vVehID ] ) return SendErrorMessage( playerid, "Esta Funзгo Nгo Й Disponivel Para Seu Veiculo." );
format( globalstring, sizeof( globalstring ), "carregado com кxito com o nome %s", tuningname );
SendClientMessage( playerid, -1, globalstring );
SetTune( vehicleid );
ChangeVehicleColor( vehicleid, VehicleInfo[ vehicleid ][ vColor1 ], VehicleInfo[ vehicleid ][ vColor2 ] );
}
else return SendErrorMessage( playerid, "vocк nгo й um proprietбrio." );
return true;
}
//==============================================================================
CMD:criargaragem( playerid, params[] ) {
if( !IsPlayerAdmin( playerid ) ) return SendErrorMessage( playerid, "Vocк Precisa Estar Logado Na Rcon." );
new i = NextIDGarage( MAX_GARAGES ), Float:Pos[ 3 ], file[ 40 ];
GetPlayerPos( playerid, Pos[ 0 ], Pos[ 1 ], Pos[ 2 ] );
format( file, sizeof( file ), TG_FILE, i );
if( fexist( file ) ) return SendErrorMessage( playerid, "ID de garagem jб existe!" );
tGarage[ i ][ Position ][ 0 ] = Pos[ 0 ];
tGarage[ i ][ Position ][ 1 ] = Pos[ 1 ];
tGarage[ i ][ Position ][ 2 ] = Pos[ 2 ];
tGarage[ i ][ tg3D ] = Create3DTextLabel( "{FFFFFF}Para Tunar Seu Veiculo Use\n{ff6600}[ /tunar ]", -1, tGarage[ i ][ Position ][ 0 ], tGarage[ i ][ Position ][ 1 ], tGarage[ i ][ Position ][ 2 ], 15.0, 0, 1 );
tGarage[ i ][ tgPickup ] = CreatePickup( 1239, 1, tGarage[ i ][ Position ][ 0 ], tGarage[ i ][ Position ][ 1 ], tGarage[ i ][ Position ][ 2 ], -1 );
SaveTGarage( i );
return true;
}
//==============================================================================
CMD:removergaragem( playerid, params[] ) {
if( !IsPlayerAdmin( playerid ) ) return SendErrorMessage( playerid, "Vocк Precisa Estar Logado Na Rcon." );
new i = GetNearestTGarage( playerid );
if( i == -1 ) return SendErrorMessage( playerid, "Vocк deve estar em pickup para remover." );
tGarage[ i ][ Position ][ 0 ] = 0.0;
tGarage[ i ][ Position ][ 1 ] = 0.0;
tGarage[ i ][ Position ][ 2 ] = 0.0;
DestroyPickup( tGarage[ i ][ tgPickup ] );
Delete3DTextLabel( tGarage[ i ][ tg3D ] );
new file[ 50 ];
format( file, sizeof( file ), TG_FILE, i );
if( fexist( file ) ) { fremove( file ); }
SendClientMessage( playerid, COLOR_RED, "Garagem Removida." );
return true;
}
//==============================================================================
CMD:blablak( playerid, params[] ) { // test cmd
GivePlayerMoney( playerid, 10000 );
return true;
}
//==============================================================================
CMD:veh1( playerid, params[] ) { // test cmd
new Float:Pos[ 3 ];
GetPlayerPos( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
new carid = CreateVehicle( 560, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ], 0.0, -1, -1, -1 );
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(carid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(carid, 1, lights, alarm, 0, 0, 0, objective);
return true;
}
//==============================================================================
CMD:veh2( playerid, params[] ) { // test cmd
new Float:Pos[ 3 ];
GetPlayerPos( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
new carid = CreateVehicle( 402, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ], 0.0, -1, -1, -1 );
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(carid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(carid, 1, lights, alarm, 0, 0, 0, objective);
return true;
}
//==============================================================================
CMD:veh3( playerid, params[] ) { // test cmd
new Float:Pos[ 3 ];
GetPlayerPos( playerid, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ] );
new carid = CreateVehicle( 562, Pos[ 0 ],Pos[ 1 ],Pos[ 2 ], 0.0, -1, -1, -1 );
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(carid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(carid, 1, lights, alarm, 0, 0, 0, objective);
return true;
}
public OnDialogResponse(....)
{
return 0;//here, it will pass the dialog id to another script if the dialog id is not found here.
}
|
Replace return 1 with return 0 under OnDialogResponse in all the Filterscripts and Gamemode.
pawn Код:
|