Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <zcmd>
- // messages
- #define OPTION_SCM 0 // SendClientMessage
- #define OPTION_GTP 1 // GameTextForPlayer
- #define OPTION_TXD 2 // TextDrawShowForPlayer
- // positions
- #define POS_X 0
- #define POS_Y 1
- #define POS_Z 2
- #define POS_A 3
- stock iCreateVehicle(playerid, msgmode, msgstring[], modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_d);
- stock OptionMessageGameText(allplayers, time, style);
- stock OptionMessageClient(allplayers, color);
- new VehicleColoursTableRGBA[256] = {
- // The existing colours from San Andreas
- 0x000000FF, 0xF5F5F5FF, 0x2A77A1FF, 0x840410FF, 0x263739FF, 0x86446EFF, 0xD78E10FF, 0x4C75B7FF, 0xBDBEC6FF, 0x5E7072FF,
- 0x46597AFF, 0x656A79FF, 0x5D7E8DFF, 0x58595AFF, 0xD6DAD6FF, 0x9CA1A3FF, 0x335F3FFF, 0x730E1AFF, 0x7B0A2AFF, 0x9F9D94FF,
- 0x3B4E78FF, 0x732E3EFF, 0x691E3BFF, 0x96918CFF, 0x515459FF, 0x3F3E45FF, 0xA5A9A7FF, 0x635C5AFF, 0x3D4A68FF, 0x979592FF,
- 0x421F21FF, 0x5F272BFF, 0x8494ABFF, 0x767B7CFF, 0x646464FF, 0x5A5752FF, 0x252527FF, 0x2D3A35FF, 0x93A396FF, 0x6D7A88FF,
- 0x221918FF, 0x6F675FFF, 0x7C1C2AFF, 0x5F0A15FF, 0x193826FF, 0x5D1B20FF, 0x9D9872FF, 0x7A7560FF, 0x989586FF, 0xADB0B0FF,
- 0x848988FF, 0x304F45FF, 0x4D6268FF, 0x162248FF, 0x272F4BFF, 0x7D6256FF, 0x9EA4ABFF, 0x9C8D71FF, 0x6D1822FF, 0x4E6881FF,
- 0x9C9C98FF, 0x917347FF, 0x661C26FF, 0x949D9FFF, 0xA4A7A5FF, 0x8E8C46FF, 0x341A1EFF, 0x6A7A8CFF, 0xAAAD8EFF, 0xAB988FFF,
- 0x851F2EFF, 0x6F8297FF, 0x585853FF, 0x9AA790FF, 0x601A23FF, 0x20202CFF, 0xA4A096FF, 0xAA9D84FF, 0x78222BFF, 0x0E316DFF,
- 0x722A3FFF, 0x7B715EFF, 0x741D28FF, 0x1E2E32FF, 0x4D322FFF, 0x7C1B44FF, 0x2E5B20FF, 0x395A83FF, 0x6D2837FF, 0xA7A28FFF,
- 0xAFB1B1FF, 0x364155FF, 0x6D6C6EFF, 0x0F6A89FF, 0x204B6BFF, 0x2B3E57FF, 0x9B9F9DFF, 0x6C8495FF, 0x4D8495FF, 0xAE9B7FFF,
- 0x406C8FFF, 0x1F253BFF, 0xAB9276FF, 0x134573FF, 0x96816CFF, 0x64686AFF, 0x105082FF, 0xA19983FF, 0x385694FF, 0x525661FF,
- 0x7F6956FF, 0x8C929AFF, 0x596E87FF, 0x473532FF, 0x44624FFF, 0x730A27FF, 0x223457FF, 0x640D1BFF, 0xA3ADC6FF, 0x695853FF,
- 0x9B8B80FF, 0x620B1CFF, 0x5B5D5EFF, 0x624428FF, 0x731827FF, 0x1B376DFF, 0xEC6AAEFF, 0x000000FF,
- // SA-MP extended colours (0.3x)
- 0x177517FF, 0x210606FF, 0x125478FF, 0x452A0DFF, 0x571E1EFF, 0x010701FF, 0x25225AFF, 0x2C89AAFF, 0x8A4DBDFF, 0x35963AFF,
- 0xB7B7B7FF, 0x464C8DFF, 0x84888CFF, 0x817867FF, 0x817A26FF, 0x6A506FFF, 0x583E6FFF, 0x8CB972FF, 0x824F78FF, 0x6D276AFF,
- 0x1E1D13FF, 0x1E1306FF, 0x1F2518FF, 0x2C4531FF, 0x1E4C99FF, 0x2E5F43FF, 0x1E9948FF, 0x1E9999FF, 0x999976FF, 0x7C8499FF,
- 0x992E1EFF, 0x2C1E08FF, 0x142407FF, 0x993E4DFF, 0x1E4C99FF, 0x198181FF, 0x1A292AFF, 0x16616FFF, 0x1B6687FF, 0x6C3F99FF,
- 0x481A0EFF, 0x7A7399FF, 0x746D99FF, 0x53387EFF, 0x222407FF, 0x3E190CFF, 0x46210EFF, 0x991E1EFF, 0x8D4C8DFF, 0x805B80FF,
- 0x7B3E7EFF, 0x3C1737FF, 0x733517FF, 0x781818FF, 0x83341AFF, 0x8E2F1CFF, 0x7E3E53FF, 0x7C6D7CFF, 0x020C02FF, 0x072407FF,
- 0x163012FF, 0x16301BFF, 0x642B4FFF, 0x368452FF, 0x999590FF, 0x818D96FF, 0x99991EFF, 0x7F994CFF, 0x839292FF, 0x788222FF,
- 0x2B3C99FF, 0x3A3A0BFF, 0x8A794EFF, 0x0E1F49FF, 0x15371CFF, 0x15273AFF, 0x375775FF, 0x060820FF, 0x071326FF, 0x20394BFF,
- 0x2C5089FF, 0x15426CFF, 0x103250FF, 0x241663FF, 0x692015FF, 0x8C8D94FF, 0x516013FF, 0x090F02FF, 0x8C573AFF, 0x52888EFF,
- 0x995C52FF, 0x99581EFF, 0x993A63FF, 0x998F4EFF, 0x99311EFF, 0x0D1842FF, 0x521E1EFF, 0x42420DFF, 0x4C991EFF, 0x082A1DFF,
- 0x96821DFF, 0x197F19FF, 0x3B141FFF, 0x745217FF, 0x893F8DFF, 0x7E1A6CFF, 0x0B370BFF, 0x27450DFF, 0x071F24FF, 0x784573FF,
- 0x8A653AFF, 0x732617FF, 0x319490FF, 0x56941DFF, 0x59163DFF, 0x1B8A2FFF, 0x38160BFF, 0x041804FF, 0x355D8EFF, 0x2E3F5BFF,
- 0x561A28FF, 0x4E0E27FF, 0x706C67FF, 0x3B3E42FF, 0x2E2D33FF, 0x7B7E7DFF, 0x4A4442FF, 0x28344EFF
- };
- new VehicleNames[212][] = {
- {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},{"Dumper"},
- {"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},{"Pony"},{"Mule"},
- {"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},{"Washington"},
- {"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},{"Enforcer"},{"Securicar"},
- {"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer 1"},{"Previon"},
- {"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},
- {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"},
- {"Speeder"},{"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"},
- {"Skimmer"},{"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},
- {"Sanchez"},{"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},
- {"Rustler"},{"ZR-350"},{"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},
- {"Baggage"},{"Dozer"},{"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"},
- {"Jetmax"},{"Hotring"},{"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"},
- {"Mesa"},{"RC Goblin"},{"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},
- {"Super GT"},{"Elegant"},{"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"},
- {"Tanker"}, {"Roadtrain"},{"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},
- {"NRG-500"},{"HPV1000"},{"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"},
- {"Willard"},{"Forklift"},{"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},
- {"Blade"},{"Freight"},{"Streak"},{"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"},
- {"Firetruck LA"},{"Hustler"},{"Intruder"},{"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"},
- {"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},{"Monster A"},{"Monster B"},{"Uranus"},{"Jester"},
- {"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},{"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},
- {"Bandito"},{"Freight Flat"},{"Streak Carriage"},{"Kart"},{"Mower"},{"Duneride"},{"Sweeper"},
- {"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},{"Stafford"},{"BF-400"},{"Newsvan"},
- {"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},{"Club"},{"Freight Carriage"},
- {"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},{"Police Car (SFPD)"},
- {"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},{"Phoenix"},{"Glendale"},
- {"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},{"Boxville"},{"Farm Plow"},
- {"Utility Trailer"}
- };
- enum _:DialogIDs{
- M_SPAWN = 888
- };
- enum E_VEH_DATA{
- v_id,
- v_lastid,
- v_modelid,
- Float:v_pos[4],
- v_color1,
- v_color2,
- // Compra/Venda
- v_owner[MAX_PLAYER_NAME],
- v_price,
- v_plate
- };
- enum E_VEH_TUNING{
- t_componentid,
- t_nitro
- };
- enum E_SCM_SYSTEM{
- g_allPlayers,
- _color
- };
- enum E_GTP_SYSTEM{
- g_allPlayers,
- _time,
- _style
- };
- enum E_TXD_SYSTEM{
- g_allPlayers
- };
- new
- // Text message
- PlayerText:g_pMessage[MAX_PLAYERS],
- Text:g_gMessage,
- g_szString[128],
- // Vehicle data
- VehicleInfo[MAX_PLAYERS][E_VEH_DATA],
- // Config system
- g_optionTextDraw[E_TXD_SYSTEM],
- g_optionGameText[E_GTP_SYSTEM],
- g_optionClientMessage[E_SCM_SYSTEM],
- Float:g_velocityVeh[4]
- ;
- public OnFilterScriptInit(){
- print("sys_vehicles by iShock");
- OptionMessageGameText(false, 5000, 1);
- OptionMessageClient(false, 0xFFFF00FF);
- return 1;
- }
- public OnFilterScriptExit(){
- printf("Sistema de veículos descarregado!");
- return 1;
- }
- public OnPlayerConnect(playerid){
- g_pMessage[playerid] = CreatePlayerTextDraw(playerid, 240.0, 580.0, "_");
- g_gMessage = TextDrawCreate(100.0, 100.0, "_");
- return 1;
- }
- CMD:vmenu(playerid, params[]){
- ShowPlayerDialog(playerid, M_SPAWN, DIALOG_STYLE_LIST,
- "Vehicle menu",
- "Criar\n\
- Tunar\n\
- Garagem",
- "enter", "exit"
- );
- return 1;
- }
- CMD:vid(playerid, params[]){
- new
- Float:px,
- Float:py,
- Float:pz,
- Float:pa,
- string[128]
- ;
- iGetPos(playerid, px, py, pz, pa);
- format(string, sizeof(string), "Você criou um veículo - Modelo:%s", GetVehicleName(strval(params)));
- iCreateVehicle(playerid, OPTION_GTP, string, strval(params), px, py, pz+2.0, pa, 0, 0, -1);
- return 1;
- }
- CMD:vlast(playerid, params[]){
- GetLastVehicle_Pos(playerid);
- return 1;
- }
- CMD:getv(playerid, params[]){
- new
- Float:_xPos,
- Float:_yPos,
- Float:_zPos,
- Float:_anglePos
- ;
- iGetPos(playerid, _xPos, _yPos, _zPos, _anglePos);
- return 1;
- }
- iGetPos(playerid, &Float:x,&Float:y, &Float:z, &Float:angle){
- if (GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
- GetVehiclePos(GetPlayerVehicleID(playerid), x, y, z);
- GetVehicleVelocity(GetPlayerVehicleID(playerid), g_velocityVeh[0], g_velocityVeh[1], g_velocityVeh[2]);
- GetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
- }
- else {
- GetPlayerPos(playerid, x, y, z);
- GetPlayerFacingAngle(playerid, angle);
- }
- }
- GetLastVehicle_Pos(playerid){
- new Float:f_tmp[4];
- if (!GetPlayerVehicleID(playerid)){
- GetPlayerPos(playerid, f_tmp[POS_X], f_tmp[POS_Y], f_tmp[POS_Z]);
- SetVehiclePos(VehicleInfo[playerid][v_lastid], f_tmp[POS_X], f_tmp[POS_Y], f_tmp[POS_Z]);
- PutPlayerInVehicle(playerid, VehicleInfo[playerid][v_lastid], 0);
- } else {
- SendClientMessage(playerid, 0xFF0000FF, "Você precisa sair do veículo atual!");
- }
- return 0;
- }
- iCreateVehicle(playerid, msgmode, msgstring[], modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_d){
- if ( 400 <= modelid <= 611){
- if (VehicleInfo[playerid][v_lastid]){
- RemovePlayerFromVehicle(playerid);
- new i;
- while( i != 75){ i++;}
- DestroyVehicle(VehicleInfo[playerid][v_lastid]);
- }
- VehicleInfo[playerid][v_id] = CreateVehicle(modelid, x, y, z, angle, color1, color2, respawn_d);
- VehicleInfo[playerid][v_lastid] = VehicleInfo[playerid][v_id];
- VehicleInfo[playerid][v_modelid] = modelid;
- VehicleInfo[playerid][v_pos][POS_X] = x;
- VehicleInfo[playerid][v_pos][POS_Y] = y;
- VehicleInfo[playerid][v_pos][POS_Z] = z;
- VehicleInfo[playerid][v_pos][POS_A] = angle;
- SetVehicleVirtualWorld(VehicleInfo[playerid][v_id], GetPlayerVirtualWorld(playerid));
- LinkVehicleToInterior(VehicleInfo[playerid][v_id], GetPlayerInterior(playerid));
- PutPlayerInVehicle(playerid, VehicleInfo[playerid][v_id], 0);
- SetVehicleVelocity(VehicleInfo[playerid][v_id], g_velocityVeh[POS_X], g_velocityVeh[POS_Y], g_velocityVeh[POS_Z]);
- } else {
- VehicleInfo[playerid][v_id] = INVALID_VEHICLE_ID;
- format(g_szString, sizeof(g_szString), "Internal error - ID:%d"); //Não finalizado
- SendClientMessage(playerid,-1, g_szString);
- }
- SendMessage(playerid, msgstring, msgmode);
- return VehicleInfo[playerid][v_id];
- }
- SendMessage(playerid, const string[], msgmode){
- if (string[0] || strlen(string) > 3){
- switch (msgmode){
- case OPTION_SCM:{
- if (!g_optionClientMessage[g_allPlayers]){
- SendClientMessage(playerid, g_optionClientMessage[_color], string);
- } else {
- SendClientMessageToAll(g_optionClientMessage[_color], string);
- }
- }
- case OPTION_GTP:{
- if (!g_optionGameText[g_allPlayers]){
- GameTextForPlayer(playerid, string, g_optionGameText[_time], g_optionGameText[_style]);
- } else{
- GameTextForAll(string, g_optionGameText[_time], g_optionGameText[_style]);
- }
- }
- case OPTION_TXD: {
- if (!g_optionTextDraw[g_allPlayers]){
- PlayerTextDrawShow(playerid, g_pMessage[playerid]);
- } else{
- TextDrawShowForAll( g_gMessage);
- }
- }
- default:{
- print(string);
- }
- }
- }
- return 1;
- }
- GetVehicleName(model){
- new L_szString[35];
- L_szString = "model unknown";
- if(400 <= model <= 611)
- strcat((L_szString[0]= '\0', L_szString), VehicleNames[model - 400]);
- return L_szString;
- }
- OptionMessageGameText(allplayers, time, style){
- g_optionGameText[g_allPlayers] = allplayers;
- g_optionGameText[_time] = time;
- g_optionGameText[_style] = style;
- }
- OptionMessageClient(allplayers, color){
- g_optionClientMessage[g_allPlayers] = allplayers;
- g_optionClientMessage[_color] = color;
- }
- //--------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement