Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //--------------------// INCLUDES
- #include <a_samp>
- #include <sqlitei>
- #include <zcmd>
- #include <foreach>
- //--------------------// DEFINES
- #define MAX_PLAYER 100
- #define MAX_VEHICLE 300
- #define MAX_VIP_VEHICLE 500
- #define GANG_POLICE_ID 1
- #define GANG_GROVE_ID 2
- #define GANG_BALLAS_ID 3
- #define GANG_VAGOS_ID 4
- #define GANG_AZTECAS_ID 5
- #define GANG_NBOYS_ID 6
- #define COLOR_RED 0xBB0000FF
- #define COLOR_WHITE 0xFFFFFFFF
- #define COLOR_GOLD 0xFFD700FF
- #define COLOR_BLUE 0x2587CEFF
- #define COLOR_GRAY 0xDDDDDDFF
- #define COLOR_GREEN 0x366718FF
- #define COLOR_RED 0xBB0000FF
- #define COLOR_PURPLE 0x895BD9FF
- #define COLOR_YELLOW 0xFAA505FF
- #define DIALOG_TITLE "GANGS OF LOS SANTOS "
- #define MODE_VERSION "0.1 BETA"
- #define BYTES_PER_CELL 4
- #define DATA_BASE_PATH "GLS/GLS.db"
- //--------------------// VARIABLES, ETC...
- enum PLAYER_INFO_ENUM
- {
- bool:REGISTERED,
- bool:LOGGED,
- bool:P_VEHMODDED,
- P_NAME[24],
- P_WEAPON[13],
- P_AMMO[13],
- Float: PX,
- Float: PY,
- Float: PZ,
- Float: PA,
- P_SKIN,
- P_MONEY,
- P_INTERIOR,
- P_GPS,
- P_DM,
- P_RACEID,
- P_TUTORIAL,
- P_ID,
- P_GANGID,
- }
- new PLAYER_INFO[MAX_PLAYER][PLAYER_INFO_ENUM];
- enum dB_VEHICLE_ENUM
- {
- bool:dB_VEHICLE_LOCKED,
- dB_VEHICLE_OWNER[24], // Nome do dono.
- dB_VEHICLE_NAME[50], // Nome do veículo.
- dB_VEHICLE_KEYS[100],
- dB_VEHICLE_PLATE[10], // Nome da placa.
- Float: dB_VEHICLE_X, // Pos. X.
- Float: dB_VEHICLE_Y, // Pos. Y.
- Float: dB_VEHICLE_Z, // Pos. Z.
- Float: dB_VEHICLE_A, // Pos. A.
- Float: dB_VEHICLE_HEALTH, // Life.
- Text3D:dB_VEHICLE_TEXT,
- dB_VEHICLE_ID, // ID da tabela Vehicles, do dataBase.
- dB_VEHICLE_GID, // GID da tabela Vehicles, do dataBase.
- dB_VEHICLE_MODEL, // Modelo.
- dB_VEHICLE_OID, // ID do dono do veículo da tabela Users, do dataBase.
- dB_VEHICLE_SPOILER, // Componentes...
- dB_VEHICLE_HOOD,
- dB_VEHICLE_ROOF,
- dB_VEHICLE_SIDESKIRT,
- dB_VEHICLE_LAMPS,
- dB_VEHICLE_NITRO,
- dB_VEHICLE_EXHAUST,
- dB_VEHICLE_WHEELS,
- dB_VEHICLE_STEREO,
- dB_VEHICLE_HYDRAULICS,
- dB_VEHICLE_FB,
- dB_VEHICLE_RB,
- dB_VEHICLE_VR,
- dB_VEHICLE_VL, // Fim dos componentes.
- dB_VEHICLE_COLOR1,
- dB_VEHICLE_COLOR2,
- dB_VEHICLE_PAINTJOB,
- dB_VEHICLE_STATUS,
- dB_VEHICLE_DOORSARMOUR, // Blindagem...
- dB_VEHICLE_TIRESARMOUR,
- dB_VEHICLE_LIGHTSARMOUR,
- dB_VEHICLE_PANELSARMOUR, // Fim das blindagens...
- }
- new dB_VEHICLES[MAX_VEHICLE][dB_VEHICLE_ENUM];
- new dB_VEHICLE_CREATE[MAX_VEHICLE] = {-1, ...};
- static GROVE_SKINS[3] = { 105, 106, 107 };
- static BALLAS_SKINS[3] = { 102, 103, 104 };
- static VAGOS_SKINS[3] = { 108, 109, 110 };
- static AZTECAS_SKINS[3] = { 114, 115, 116 };
- static NBOYS_SKINS[3] = { 121, 122, 123 };
- static POLICE_SKINS[3] = { 121, 122, 123 };
- new DB:DATA_BASE;
- new VEHICLE_NAMES[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"}
- };
- //--------------------// FORWARDS, NATIVES...
- forward LoadVehicles();
- main()
- {
- print("\n Gangs of Los Santos - Gamemode made by Roger Gomes Costa \n");
- }
- //-------------------// STOCKS, NEW FUNCTIONS...
- stock SendClientMessageEx(playerid, color, fstring[], {Float, _}:...)
- {
- static const STATIC_ARGS = 3;
- new n = (numargs() - STATIC_ARGS) * BYTES_PER_CELL;
- if(n)
- {
- new message[144], arg_start, arg_end;
- #emit CONST.alt fstring
- #emit LCTRL 5
- #emit ADD
- #emit STOR.S.pri arg_start
- #emit LOAD.S.alt n
- #emit ADD
- #emit STOR.S.pri arg_end
- do
- {
- #emit LOAD.I
- #emit PUSH.pri
- arg_end -= BYTES_PER_CELL;
- #emit LOAD.S.pri arg_end
- }
- while(arg_end > arg_start);
- #emit PUSH.S fstring
- #emit PUSH.C 144
- #emit PUSH.ADR message
- n += BYTES_PER_CELL * 3;
- #emit PUSH.S n
- #emit SYSREQ.C format
- n += BYTES_PER_CELL;
- #emit LCTRL 4
- #emit LOAD.S.alt n
- #emit ADD
- #emit SCTRL 4
- return SendClientMessage(playerid, color, message);
- } else
- return SendClientMessage(playerid, color, fstring);
- }
- stock SendClientMessageToAllEx(color, fstring[], {Float, _}:...)
- {
- #if defined DEBUG_MODE
- #if !defined DEBUG_NO_FUNCTIONS
- printf("[DEBUG] stock SendClientMessageToAllEx(color #%x, fstring '%s')", color, fstring);
- #endif
- #endif
- static const STATIC_ARGS = 2;
- new n = (numargs() - STATIC_ARGS) * BYTES_PER_CELL;
- if(n)
- {
- new message[144], arg_start, arg_end;
- #emit CONST.alt fstring
- #emit LCTRL 5
- #emit ADD
- #emit STOR.S.pri arg_start
- #emit LOAD.S.alt n
- #emit ADD
- #emit STOR.S.pri arg_end
- do
- {
- #emit LOAD.I
- #emit PUSH.pri
- arg_end -= BYTES_PER_CELL;
- #emit LOAD.S.pri arg_end
- }
- while(arg_end > arg_start);
- #emit PUSH.S fstring
- #emit PUSH.C 144
- #emit PUSH.ADR message
- n += BYTES_PER_CELL * 3;
- #emit PUSH.S n
- #emit SYSREQ.C format
- n += BYTES_PER_CELL;
- #emit LCTRL 4
- #emit LOAD.S.alt n
- #emit ADD
- #emit SCTRL 4
- return SendClientMessageToAll(color, message);
- } else
- return SendClientMessageToAll(color, fstring);
- }
- #define SendClientMessage SendClientMessageEx
- #define SendClientMessageToAll SendClientMessageToAllEx
- stock GetPlayerNameEx(playerid)
- {
- new szName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, szName, MAX_PLAYER_NAME);
- return szName;
- }
- #define GetPlayerName GetPlayerNameEx
- stock Float: GetDistanceBetweenPoints(Float: x1, Float: y1, Float: z1, Float: x2, Float: y2, Float: z2)
- return VectorSize(x1 - x2, y1 - y2, z1 - z2);
- stock Float: SQLiteGetResultFloatAssoc(DBResult: dbresult, field[])
- {
- new szResult[16];
- db_get_field_assoc(dbresult, field, szResult, sizeof(szResult));
- return floatstr(szResult);
- }
- stock SQLiteGetResultIntAssoc(DBResult: dbresult, field[])
- {
- new szResult[16];
- db_get_field_assoc(dbresult, field, szResult, sizeof(szResult));
- return strval(szResult);
- }
- stock LoadStaticVehiclesFromFile(const filename[])
- {
- new File:file_ptr;
- new line[256];
- new var_from_line[64];
- new vehicletype;
- new Float:SpawnX;
- new Float:SpawnY;
- new Float:SpawnZ;
- new Float:SpawnRot;
- new Color1, Color2;
- new index;
- new vehicles_loaded;
- file_ptr = fopen(filename,filemode:io_read);
- if(!file_ptr) return 0;
- vehicles_loaded = 0;
- while(fread(file_ptr,line,256) > 0)
- {
- index = 0;
- // Read type
- index = token_by_delim(line,var_from_line,',',index);
- if(index == (-1)) continue;
- vehicletype = strval(var_from_line);
- if(vehicletype < 400 || vehicletype > 611) continue;
- // Read X, Y, Z, Rotation
- index = token_by_delim(line,var_from_line,',',index+1);
- if(index == (-1)) continue;
- SpawnX = floatstr(var_from_line);
- index = token_by_delim(line,var_from_line,',',index+1);
- if(index == (-1)) continue;
- SpawnY = floatstr(var_from_line);
- index = token_by_delim(line,var_from_line,',',index+1);
- if(index == (-1)) continue;
- SpawnZ = floatstr(var_from_line);
- index = token_by_delim(line,var_from_line,',',index+1);
- if(index == (-1)) continue;
- SpawnRot = floatstr(var_from_line);
- // Read Color1, Color2
- index = token_by_delim(line,var_from_line,',',index+1);
- if(index == (-1)) continue;
- Color1 = strval(var_from_line);
- index = token_by_delim(line,var_from_line,';',index+1);
- Color2 = strval(var_from_line);
- //printf("%d,%.2f,%.2f,%.2f,%.4f,%d,%d",vehicletype,SpawnX,SpawnY,SpawnZ,SpawnRot,Color1,Color2);
- AddStaticVehicleEx(vehicletype,SpawnX,SpawnY,SpawnZ,SpawnRot,Color1,Color2,(30*60)); // respawn 30 minutes
- /*new numplate_test[32+1];
- format(numplate_test,32,"GRLC{44AA33}%d",vid);
- SetVehicleNumberPlate(vid, numplate_test);*/
- vehicles_loaded++;
- }
- fclose(file_ptr);
- printf("Loaded %d vehicles from: %s",vehicles_loaded,filename);
- return vehicles_loaded;
- }
- stock token_by_delim(const string[], return_str[], delim, start_index)
- {
- new x=0;
- while(string[start_index] != EOS && string[start_index] != delim) {
- return_str[x] = string[start_index];
- x++;
- start_index++;
- }
- return_str[x] = EOS;
- if(string[start_index] == EOS) start_index = (-1);
- return start_index;
- }
- //-------------------// CALLBACKS, PUBLICS...
- public OnGameModeInit()
- {
- if(fexist(DATA_BASE_PATH))
- {
- DATA_BASE = db_open(DATA_BASE_PATH);
- print("SQLite OK! banco de dados carregado com sucesso!");
- }
- else
- {
- print("SQLite ERRO! bando de dados do servidor não foi encontrado. Fechando...");
- SendRconCommand("Exit");
- }
- SetGameModeText("Gangues of L.S.");
- ManualVehicleEngineAndLights();
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- return 1;
- }
- public OnGameModeExit()
- {
- // Fechar bando de dados...
- db_close(DATA_BASE);
- return 1;
- }
- public LoadVehicles()
- {
- // Veiculos públicos
- LoadStaticVehiclesFromFile("vehicles/ls_law.txt");
- LoadStaticVehiclesFromFile("vehicles/ls_airport.txt");
- LoadStaticVehiclesFromFile("vehicles/ls_gen_inner.txt");
- LoadStaticVehiclesFromFile("vehicles/ls_gen_outer.txt");
- new szString[100],
- DBResult:ResultQuery;
- format(szString, sizeof szString, "SELECT * FROM Vehicles");
- ResultQuery = db_query(DATA_BASE, szString);
- if(db_num_rows(ResultQuery))
- {
- for(new i = 0; i < db_num_rows(ResultQuery); i++)
- {
- new vehid;
- vehid = SQLiteGetResultIntAssoc(ResultQuery, "ID");
- db_get_field_assoc(ResultQuery, "Owner", dB_VEHICLES[vehid][dB_VEHICLE_OWNER], 24);
- db_get_field_assoc(ResultQuery, "Plate", dB_VEHICLES[vehid][dB_VEHICLE_PLATE], 10);
- dB_VEHICLES[vehid][dB_VEHICLE_OID] = SQLiteGetResultIntAssoc(ResultQuery, "OID");
- dB_VEHICLES[vehid][dB_VEHICLE_GID] = SQLiteGetResultIntAssoc(ResultQuery, "GID");
- dB_VEHICLES[vehid][dB_VEHICLE_MODEL] = SQLiteGetResultIntAssoc(ResultQuery, "Model");
- dB_VEHICLES[vehid][dB_VEHICLE_SPOILER] = SQLiteGetResultIntAssoc(ResultQuery, "Spoiler");
- dB_VEHICLES[vehid][dB_VEHICLE_HOOD] = SQLiteGetResultIntAssoc(ResultQuery, "Hood");
- dB_VEHICLES[vehid][dB_VEHICLE_ROOF] = SQLiteGetResultIntAssoc(ResultQuery, "Roof");
- dB_VEHICLES[vehid][dB_VEHICLE_SIDESKIRT] = SQLiteGetResultIntAssoc(ResultQuery, "Sideskirt");
- dB_VEHICLES[vehid][dB_VEHICLE_LAMPS] = SQLiteGetResultIntAssoc(ResultQuery, "Lamps");
- dB_VEHICLES[vehid][dB_VEHICLE_NITRO] = SQLiteGetResultIntAssoc(ResultQuery, "Nitro");
- dB_VEHICLES[vehid][dB_VEHICLE_EXHAUST] = SQLiteGetResultIntAssoc(ResultQuery, "Exhaust");
- dB_VEHICLES[vehid][dB_VEHICLE_WHEELS] = SQLiteGetResultIntAssoc(ResultQuery, "Wheels");
- dB_VEHICLES[vehid][dB_VEHICLE_STEREO] = SQLiteGetResultIntAssoc(ResultQuery, "Stereo");
- dB_VEHICLES[vehid][dB_VEHICLE_HYDRAULICS] = SQLiteGetResultIntAssoc(ResultQuery, "Hydraulics");
- dB_VEHICLES[vehid][dB_VEHICLE_FB] = SQLiteGetResultIntAssoc(ResultQuery, "FB");
- dB_VEHICLES[vehid][dB_VEHICLE_RB] = SQLiteGetResultIntAssoc(ResultQuery, "RB");
- dB_VEHICLES[vehid][dB_VEHICLE_VR] = SQLiteGetResultIntAssoc(ResultQuery, "VR");
- dB_VEHICLES[vehid][dB_VEHICLE_VL] = SQLiteGetResultIntAssoc(ResultQuery, "VL");
- dB_VEHICLES[vehid][dB_VEHICLE_X] = SQLiteGetResultIntAssoc(ResultQuery, "PosX");
- dB_VEHICLES[vehid][dB_VEHICLE_Y] = SQLiteGetResultIntAssoc(ResultQuery, "PosY");
- dB_VEHICLES[vehid][dB_VEHICLE_Z] = SQLiteGetResultIntAssoc(ResultQuery, "PosZ");
- dB_VEHICLES[vehid][dB_VEHICLE_A] = SQLiteGetResultIntAssoc(ResultQuery, "PosA");
- dB_VEHICLES[vehid][dB_VEHICLE_PAINTJOB] = SQLiteGetResultIntAssoc(ResultQuery, "Paintjob");
- dB_VEHICLES[vehid][dB_VEHICLE_COLOR1] = SQLiteGetResultIntAssoc(ResultQuery, "Color1");
- dB_VEHICLES[vehid][dB_VEHICLE_COLOR2] = SQLiteGetResultIntAssoc(ResultQuery, "Color2");
- dB_VEHICLES[vehid][dB_VEHICLE_TIRESARMOUR] = SQLiteGetResultIntAssoc(ResultQuery, "TiresArmour");
- dB_VEHICLES[vehid][dB_VEHICLE_DOORSARMOUR] = SQLiteGetResultIntAssoc(ResultQuery, "DoorsArmour");
- dB_VEHICLES[vehid][dB_VEHICLE_PANELSARMOUR] = SQLiteGetResultIntAssoc(ResultQuery, "PanelsArmour");
- dB_VEHICLES[vehid][dB_VEHICLE_LIGHTSARMOUR] = SQLiteGetResultIntAssoc(ResultQuery, "LightsArmour");
- dB_VEHICLES[vehid][dB_VEHICLE_HEALTH] = SQLiteGetResultFloatAssoc(ResultQuery, "Health");
- dB_VEHICLE_CREATE[vehid] = CreateVehicle(dB_VEHICLES[vehid][dB_VEHICLE_MODEL], dB_VEHICLES[vehid][dB_VEHICLE_X], dB_VEHICLES[vehid][dB_VEHICLE_Y], dB_VEHICLES[vehid][dB_VEHICLE_Z], dB_VEHICLES[vehid][dB_VEHICLE_A], dB_VEHICLES[vehid][dB_VEHICLE_COLOR1], dB_VEHICLES[vehid][dB_VEHICLE_COLOR2], -1);
- if(dB_VEHICLES[vehid][dB_VEHICLE_PAINTJOB] != -1) ChangeVehiclePaintjob(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_PAINTJOB]);
- AddVehicleComponent(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_SPOILER]);
- AddVehicleComponent(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_HOOD]);
- AddVehicleComponent(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_ROOF]);
- AddVehicleComponent(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_SIDESKIRT]);
- AddVehicleComponent(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_LAMPS]);
- AddVehicleComponent(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_NITRO]);
- AddVehicleComponent(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_EXHAUST]);
- AddVehicleComponent(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_WHEELS]);
- AddVehicleComponent(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_STEREO]);
- AddVehicleComponent(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_HYDRAULICS]);
- AddVehicleComponent(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_FB]);
- AddVehicleComponent(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_RB]);
- AddVehicleComponent(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_VR]);
- AddVehicleComponent(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_VL]);
- dB_VEHICLES[vehid][dB_VEHICLE_LOCKED] = true;
- SetVehicleHealth(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_HEALTH]);
- SetVehicleNumberPlate(dB_VEHICLE_CREATE[vehid], dB_VEHICLES[vehid][dB_VEHICLE_OWNER]);
- SetVehicleParamsForPlayer(dB_VEHICLE_CREATE[vehid], i, 0, 0);
- SetVehicleParamsEx(dB_VEHICLE_CREATE[vehid], 0, 0, 0, 0, 0, 0, 0);
- dB_VEHICLES[vehid][dB_VEHICLE_STATUS] = 0;
- if(!db_next_row(ResultQuery))
- break;
- //SetVehicleToRespawn(i);
- }
- }
- else print("\nSQLite INFO! (LoadVehicles) não há veículos inseridos no banco de dados.\n");
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- if(PLAYER_INFO[playerid][LOGGED])
- SpawnPlayer(playerid);
- else
- {
- new RANDON_SKIN = random(3);
- SetPlayerFacingAngle(playerid, 180.0);
- SetPlayerPos(playerid, 1936.5768,1400.4121,9.2578);
- SetPlayerCameraPos(playerid, 1937.3613,1398.9027,9.2578);
- SetPlayerCameraLookAt(playerid, 1937.3220,1401.9604,9.2578, CAMERA_CUT);
- if(classid == 0) // POLICE
- {
- SetPlayerSkin(playerid, POLICE_SKINS[RANDON_SKIN]);
- PLAYER_INFO[playerid][P_GANGID] = GANG_POLICE_ID;
- SendClientMessage(playerid, COLOR_WHITE, "classid: %d gang: %d", classid, GANG_POLICE_ID);
- }
- else if(classid == 1) // GROVE
- {
- SetPlayerSkin(playerid, GROVE_SKINS[RANDON_SKIN]);
- PLAYER_INFO[playerid][P_GANGID] = GANG_GROVE_ID;
- }
- else if(classid == 2) // BALLAS
- {
- SetPlayerSkin(playerid, BALLAS_SKINS[RANDON_SKIN]);
- PLAYER_INFO[playerid][P_GANGID] = GANG_BALLAS_ID;
- }
- else if(classid == 3) // VAGOS
- {
- SetPlayerSkin(playerid, VAGOS_SKINS[RANDON_SKIN]);
- PLAYER_INFO[playerid][P_GANGID] = GANG_VAGOS_ID;
- }
- else if(classid == 4) // AZTECAS
- {
- SetPlayerSkin(playerid, AZTECAS_SKINS[RANDON_SKIN]);
- PLAYER_INFO[playerid][P_GANGID] = GANG_AZTECAS_ID;
- }
- else if(classid == 5) // DA NANG BOYZ
- {
- SetPlayerSkin(playerid, NBOYS_SKINS[RANDON_SKIN]);
- PLAYER_INFO[playerid][P_GANGID] = GANG_NBOYS_ID;
- }
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- /*
- PLAYER_INFO[playerid][REGISTERED] = false;
- PLAYER_INFO[playerid][LOGGED] = false;
- new szString[100],
- DBResult:QueryResult;
- format(szString, 128, "SELECT * FROM Users WHERE Nick = '%s'", GetPlayerName(playerid));
- QueryResult = db_query(DATA_BASE, szString);
- if(db_num_rows(QueryResult))
- {
- PLAYER_INFO[playerid][REGISTERED] = true;
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, DIALOG_TITLE, "CONTA CADASTRADA\n\nINFORME A SENHA ABAIXO:", "LOGAR", "SAIR");
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, DIALOG_TITLE, "CONTA NÃO CADASTRADA\n\nDIGITE UMA SENHA PARA CADASTRAR:", "CADASTRAR", "SAIR");
- }*/
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- SetVehiclePos(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_X], dB_VEHICLES[vehicleid][dB_VEHICLE_Y], dB_VEHICLES[vehicleid][dB_VEHICLE_Z]);
- SetVehicleZAngle(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_A]);
- ChangeVehicleColor(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_COLOR1], dB_VEHICLES[vehicleid][dB_VEHICLE_COLOR2]);
- ChangeVehiclePaintjob(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_PAINTJOB]);
- AddVehicleComponent(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_SPOILER]);
- AddVehicleComponent(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_HOOD]);
- AddVehicleComponent(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_ROOF]);
- AddVehicleComponent(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_SIDESKIRT]);
- AddVehicleComponent(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_LAMPS]);
- AddVehicleComponent(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_NITRO]);
- AddVehicleComponent(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_EXHAUST]);
- AddVehicleComponent(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_WHEELS]);
- AddVehicleComponent(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_STEREO]);
- AddVehicleComponent(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_HYDRAULICS]);
- AddVehicleComponent(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_FB]);
- AddVehicleComponent(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_RB]);
- AddVehicleComponent(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_VR]);
- AddVehicleComponent(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_VL]);
- //SetVehicleNumberPlate(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_PLATE]);
- dB_VEHICLES[vehicleid][dB_VEHICLE_STATUS] = 0;
- SetVehicleParamsEx(vehicleid, 0, 0, 0, 1, 0, 0, 0);
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- GameTextForPlayer(playerid, VEHICLE_NAMES[GetVehicleModel(GetPlayerVehicleID(playerid)) - 400], 3000, 4);
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- /*
- SQLite VEHICLES
- Posição do veículo
- */
- if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
- {
- new VehicleID = GetPlayerVehicleID(playerid), szString[200];
- for(new i = 0; i < MAX_VEHICLE; i++)
- {
- if(VehicleID == dB_VEHICLE_CREATE[i])
- {
- format(szString, sizeof szString, "UPDATE Vehicles SET PosX = %f, PosY = %f, PosZ = %f, posA = %f WHERE ID = %d", dB_VEHICLES[VehicleID][dB_VEHICLE_X], dB_VEHICLES[VehicleID][dB_VEHICLE_Y], dB_VEHICLES[VehicleID][dB_VEHICLE_Z], dB_VEHICLES[VehicleID][dB_VEHICLE_A], dB_VEHICLES[VehicleID][dB_VEHICLE_ID]);
- db_query(DATA_BASE, szString);
- if(!db_changes(DATA_BASE))
- {
- SendClientMessage(playerid, COLOR_RED, "Erro no banco de dados (parte: StateChange). Contate um administrador.");
- printf("SQLite ERROR! (OnPlayerStateChange) Posição do veículo: %d (db-id:%d) não pode ser salvo", VehicleID, dB_VEHICLES[VehicleID][dB_VEHICLE_ID]);
- }
- break;
- }
- }
- }
- return 1;
- }
- public OnVehicleDamageStatusUpdate(vehicleid, playerid)
- {
- #pragma unused playerid
- new panels, doors, lights, tires, szString[200];
- GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
- if(dB_VEHICLES[vehicleid][dB_VEHICLE_DOORSARMOUR] == 1) doors = encode_doors(0, 0, 0, 0, 0, 0); // fix all doors //fell off - (4, 4, 4, 4, 0, 0)
- if(dB_VEHICLES[vehicleid][dB_VEHICLE_PANELSARMOUR] == 1) panels = encode_panels(0, 0, 0, 0, 0, 0, 0); // fix all panels //fell off - (3, 3, 3, 3, 3, 3, 3)
- if(dB_VEHICLES[vehicleid][dB_VEHICLE_TIRESARMOUR] == 1) tires = encode_tires(0, 0, 0, 0); // fix all tires
- if(dB_VEHICLES[vehicleid][dB_VEHICLE_LIGHTSARMOUR] == 1) lights = encode_lights(0, 0, 0, 0); // fix all lights
- UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
- /*
- SQLite VEHICLES
- Health, DoorsArmour, TiresArmour, BonnetArmour e LightsArmour
- */
- GetVehicleHealth(vehicleid, dB_VEHICLES[vehicleid][dB_VEHICLE_HEALTH]);
- format(szString, sizeof szString, "UPDATE Vehicles SET DoorsArmour = %d, LightsArmour = %f, PanelsArmour = %f, TiresArmour = %f, Health = %f WHERE ID = %d", dB_VEHICLES[vehicleid][dB_VEHICLE_DOORSARMOUR], dB_VEHICLES[vehicleid][dB_VEHICLE_LIGHTSARMOUR], dB_VEHICLES[vehicleid][dB_VEHICLE_PANELSARMOUR], dB_VEHICLES[vehicleid][dB_VEHICLE_TIRESARMOUR], dB_VEHICLES[vehicleid][dB_VEHICLE_HEALTH], dB_VEHICLES[vehicleid][dB_VEHICLE_ID]);
- db_query(DATA_BASE, szString);
- if(!db_changes(DATA_BASE))
- printf("SQLite ERROR! (OnVehicleDamageStatusUpdate) Vehicleid: %d, Player: %s", vehicleid, GetPlayerName(playerid));
- return 1;
- }
- encode_tires(tire1, tire2, tire3, tire4) return tire1 | (tire2 << 1) | (tire3 << 2) | (tire4 << 3);
- encode_panels(flp, frp, rlp, rrp, windshield, front_bumper, rear_bumper)
- {
- return flp | (frp << 4) | (rlp << 8) | (rrp << 12) | (windshield << 16) | (front_bumper << 20) | (rear_bumper << 24);
- }
- encode_doors(bonnet, boot, driver_door, passenger_door, behind_driver_door, behind_passenger_door)
- {
- #pragma unused behind_driver_door
- #pragma unused behind_passenger_door
- return bonnet | (boot << 8) | (driver_door << 16) | (passenger_door << 24);
- }
- encode_lights(light1, light2, light3, light4)
- {
- return light1 | (light2 << 1) | (light3 << 2) | (light4 << 3);
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- if(GetPlayerInterior(playerid) == 0)
- {
- SendClientMessageToAll(COLOR_RED, "AntiCheater: veículo %d equipado com componente %d pelo jogador %s fora da garagem de tuning!", vehicleid, componentid, GetPlayerName(playerid));
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREEN, "Server: veículo %d equipado.", vehicleid);
- PLAYER_INFO[playerid][P_VEHMODDED] = true; // Confirmar que o jogador tunou o veículo
- }
- return 1;
- }
- public OnEnterExitModShop(playerid, enterexit, interiorid)
- {
- if(enterexit == 1)
- {
- printf("LOG! %s entrou em uma garagem de tuning!", GetPlayerName(playerid));
- SendClientMessage(playerid, COLOR_WHITE, "Carlos (dono da oficina): {999999} bem vindo, meu chapa! Escolhas suas peças e tune a sua caranga!");
- }
- else if(enterexit == 0)
- {
- printf("LOG! %s saiu de uma garagem de tuning!", GetPlayerName(playerid));
- // Confirmar se o jogador tunou mesmo o carro. Caso use cheater de tunar carro, ele não salva os componentes...
- // A variável P_VEHMODDED fica false...
- if(PLAYER_INFO[playerid][P_VEHMODDED])
- {
- printf("LOG! %s saiu de uma garagem de tuning e tunou seu carro!", GetPlayerName(playerid));
- SendClientMessage(playerid, COLOR_WHITE, "Carlos (dono da oficina): {999999} Gostou das peças, mano? Volte sempre que precisar tunar seu carro!");
- if(IsPlayerInAnyVehicle(playerid))
- {
- new VehicleID = GetPlayerVehicleID(playerid),
- szString[200];
- dB_VEHICLES[VehicleID][dB_VEHICLE_SPOILER] = GetVehicleComponentInSlot(VehicleID, CARMODTYPE_SPOILER);
- dB_VEHICLES[VehicleID][dB_VEHICLE_HOOD] = GetVehicleComponentInSlot(VehicleID, CARMODTYPE_HOOD);
- dB_VEHICLES[VehicleID][dB_VEHICLE_ROOF] = GetVehicleComponentInSlot(VehicleID, CARMODTYPE_ROOF);
- dB_VEHICLES[VehicleID][dB_VEHICLE_SIDESKIRT] = GetVehicleComponentInSlot(VehicleID, CARMODTYPE_SIDESKIRT);
- dB_VEHICLES[VehicleID][dB_VEHICLE_LAMPS] = GetVehicleComponentInSlot(VehicleID, CARMODTYPE_LAMPS);
- dB_VEHICLES[VehicleID][dB_VEHICLE_NITRO] = GetVehicleComponentInSlot(VehicleID, CARMODTYPE_NITRO);
- dB_VEHICLES[VehicleID][dB_VEHICLE_EXHAUST] = GetVehicleComponentInSlot(VehicleID, CARMODTYPE_EXHAUST);
- dB_VEHICLES[VehicleID][dB_VEHICLE_WHEELS] = GetVehicleComponentInSlot(VehicleID, CARMODTYPE_WHEELS);
- dB_VEHICLES[VehicleID][dB_VEHICLE_STEREO] = GetVehicleComponentInSlot(VehicleID, CARMODTYPE_STEREO);
- dB_VEHICLES[VehicleID][dB_VEHICLE_HYDRAULICS] = GetVehicleComponentInSlot(VehicleID, CARMODTYPE_HYDRAULICS);
- dB_VEHICLES[VehicleID][dB_VEHICLE_FB] = GetVehicleComponentInSlot(VehicleID, CARMODTYPE_FRONT_BUMPER);
- dB_VEHICLES[VehicleID][dB_VEHICLE_RB] = GetVehicleComponentInSlot(VehicleID, CARMODTYPE_REAR_BUMPER);
- dB_VEHICLES[VehicleID][dB_VEHICLE_VR] = GetVehicleComponentInSlot(VehicleID, CARMODTYPE_VENT_RIGHT);
- dB_VEHICLES[VehicleID][dB_VEHICLE_VL] = GetVehicleComponentInSlot(VehicleID, CARMODTYPE_VENT_LEFT);
- // Só salva os componentes de tuning...
- format(szString, sizeof szString, "UPDATE Vehicles SET Spoiler = %d, Hood = %d, Roof = %d, Sideskirt = %d WHERE ID = %d",
- dB_VEHICLES[VehicleID][dB_VEHICLE_SPOILER],
- dB_VEHICLES[VehicleID][dB_VEHICLE_HOOD],
- dB_VEHICLES[VehicleID][dB_VEHICLE_ROOF],
- dB_VEHICLES[VehicleID][dB_VEHICLE_SIDESKIRT],
- dB_VEHICLES[VehicleID][dB_VEHICLE_ID]);
- db_query(DATA_BASE, szString);
- if(!db_changes(DATA_BASE))
- print("SQLite ERROR! (OnEnterExitModShop) 1 query: update não pode ser feito.");
- format(szString, sizeof szString, "UPDATE Vehicles SET \
- Lamps = %d, \
- Nitro = %d, \
- Exhaust = %d, \
- Wheels = %d \
- WHERE ID = %d",
- dB_VEHICLES[VehicleID][dB_VEHICLE_LAMPS],
- dB_VEHICLES[VehicleID][dB_VEHICLE_NITRO],
- dB_VEHICLES[VehicleID][dB_VEHICLE_EXHAUST],
- dB_VEHICLES[VehicleID][dB_VEHICLE_WHEELS],
- dB_VEHICLES[VehicleID][dB_VEHICLE_ID]);
- db_query(DATA_BASE, szString);
- if(!db_changes(DATA_BASE))
- print("SQLite ERROR! (OnEnterExitModShop) 2 query: update não pode ser feito.");
- format(szString, sizeof szString, "UPDATE Vehicles SET \
- Stereo = %d, \
- Hydraulics = %d, \
- FB = %d, \
- RB = %d \
- WHERE ID = %d",
- dB_VEHICLES[VehicleID][dB_VEHICLE_STEREO],
- dB_VEHICLES[VehicleID][dB_VEHICLE_HYDRAULICS],
- dB_VEHICLES[VehicleID][dB_VEHICLE_FB],
- dB_VEHICLES[VehicleID][dB_VEHICLE_RB],
- dB_VEHICLES[VehicleID][dB_VEHICLE_ID]);
- db_query(DATA_BASE, szString);
- if(!db_changes(DATA_BASE))
- print("SQLite ERROR! (OnEnterExitModShop) 3 query: update não pode ser feito.");
- format(szString, sizeof szString, "UPDATE Vehicles SET \
- VR = %d, \
- VL = %d, \
- WHERE ID = %d",
- dB_VEHICLES[VehicleID][dB_VEHICLE_VR],
- dB_VEHICLES[VehicleID][dB_VEHICLE_VL],
- dB_VEHICLES[VehicleID][dB_VEHICLE_ID]);
- db_query(DATA_BASE, szString);
- if(!db_changes(DATA_BASE))
- print("SQLite ERROR! (OnEnterExitModShop) 4 query: update não pode ser feito.");
- format(szString, sizeof szString, "UPDATE Vehicles SET \
- dB_VEHICLE_COLOR1 = %d, \
- dB_VEHICLE_COLOR2 = %d, \
- dB_VEHICLE_PAINTJOB = %d, \
- WHERE ID = %d",
- dB_VEHICLES[VehicleID][dB_VEHICLE_COLOR1],
- dB_VEHICLES[VehicleID][dB_VEHICLE_COLOR2],
- dB_VEHICLES[VehicleID][dB_VEHICLE_PAINTJOB],
- dB_VEHICLES[VehicleID][dB_VEHICLE_ID]);
- db_query(DATA_BASE, szString);
- if(!db_changes(DATA_BASE))
- print("SQLite ERROR! (OnEnterExitModShop) 5 query: update não pode ser feito.");
- }
- } else SendClientMessage(playerid, COLOR_WHITE, "Carlos (dono da oficina): {999999} E ai, não gostou de nada hoje? Volte outro dia para comprar peças!");
- }
- return true;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- dB_VEHICLES[vehicleid][dB_VEHICLE_PAINTJOB] = paintjobid;
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- dB_VEHICLES[vehicleid][dB_VEHICLE_COLOR1] = color1;
- dB_VEHICLES[vehicleid][dB_VEHICLE_COLOR2] = color2;
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- if(PLAYER_INFO[playerid][P_GANGID] == PLAYER_INFO[playerid][P_GANGID])
- SetPlayerMarkerForPlayer(playerid, forplayerid, GetPlayerColor(playerid));
- else
- SetPlayerMarkerForPlayer(playerid, forplayerid, GetPlayerColor(forplayerid));
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- if(PLAYER_INFO[playerid][P_GANGID] != PLAYER_INFO[playerid][P_GANGID])
- SetPlayerMarkerForPlayer(playerid, forplayerid, (GetPlayerColor(forplayerid)&0xFFFFFF00));
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- if(dB_VEHICLES[vehicleid][dB_VEHICLE_GID] != -1)
- {
- if(dB_VEHICLES[vehicleid][dB_VEHICLE_GID] == PLAYER_INFO[forplayerid][P_GANGID])
- SetVehicleParamsForPlayer(vehicleid, forplayerid, 0, 0);
- else
- SetVehicleParamsForPlayer(vehicleid, forplayerid, 0, 1);
- }
- else
- {
- if(dB_VEHICLES[vehicleid][dB_VEHICLE_OID] == PLAYER_INFO[forplayerid][P_ID])
- SetVehicleParamsForPlayer(vehicleid, forplayerid, 0, 0);
- else
- {
- if(dB_VEHICLES[vehicleid][dB_VEHICLE_LOCKED] == true) SetVehicleParamsForPlayer(vehicleid, forplayerid, 0, 1);
- else if(dB_VEHICLES[vehicleid][dB_VEHICLE_LOCKED] == false) SetVehicleParamsForPlayer(vehicleid, forplayerid, 0, 0);
- }
- }
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- //---------------------------// COMANDOS
- zcmd:destrancar(playerid, params[])
- {
- if(!IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid, COLOR_RED, "Erro: você precisa estar em um veículo!");
- else if(dB_VEHICLES[GetPlayerVehicleID(playerid)][dB_VEHICLE_OID] != PLAYER_INFO[playerid][P_ID]) SendClientMessage(playerid, COLOR_RED, "Erro: esse carro não é seu para destrancá-lo!");
- {
- SendClientMessage(playerid, COLOR_GOLD, "Server: veículo destrancado!");
- dB_VEHICLES[GetPlayerVehicleID(playerid)][dB_VEHICLE_LOCKED] = false;
- foreach(new i : Player)
- {
- if(i != playerid)
- {
- SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid), i, 0, 0);
- }
- }
- }
- return true;
- }
- zcmd:trancar(playerid, params[])
- {
- if(!IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid, COLOR_RED, "Erro: você precisa estar em um veículo!");
- else if(dB_VEHICLES[GetPlayerVehicleID(playerid)][dB_VEHICLE_OID] != PLAYER_INFO[playerid][P_ID]) SendClientMessage(playerid, COLOR_RED, "Erro: esse carro não é seu para trancá-lo!");
- {
- SendClientMessage(playerid, COLOR_GOLD, "Server: veículo trancado!");
- dB_VEHICLES[GetPlayerVehicleID(playerid)][dB_VEHICLE_LOCKED] = true;
- foreach(new i : Player)
- {
- if(i != playerid)
- {
- SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid), i, 0, 1);
- }
- }
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement