VeNoM_1

Helping for creating orgveh

Dec 1st, 2023
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 48.48 KB | Help | 0 0
  1. // This is a comment
  2. // uncomment the line below if you want to write a filterscript
  3. //#define FILTERSCRIPT
  4.  
  5. #include <a_samp>
  6. #include <crashdetect>
  7. #include <streamer>
  8. #include <sscanf2>
  9. #include <sqlitei>
  10. #include <samp_bcrypt>
  11. #include <TSConnector>
  12. #include <zcmd>
  13. // #include <progress2>
  14.  
  15.  
  16. #define TS_IP "192.168.0.104"
  17. #define TS_PORT 5899
  18. #define TS_QUSER "serveradmin"
  19. #define TS_QPASS "yCIMjvmy"
  20. #define RANK_STATUS_W 40 // Status Off Player:
  21. #define RANK_STATUS_ON 41 // Player Is Online
  22. #define RANK_STATUS_OFF 42 // Player Is Offline
  23.  
  24. #define SERVER_DATABASE "server.db"
  25. #define ORG_DATABASE "org.db"
  26. #define REGISTER_DIALOG 0
  27. #define LOGIN_DIALOG 1
  28. #define LSPD_DIALOG 2
  29.  
  30. #define SSCANF_NO_NICE_FEATURES
  31.  
  32.  
  33. #define CHANNEL_ONLINE_USERS 19 // ID Off Online Users: 00 Channel
  34. #define CHANNEL_SAMP_ONLINE_USERS 20 // ID Off SA:MP Server's Online Users: 00 Channel
  35.  
  36.  
  37. #define RANDOM_MESSAGE "Press Y to turn on/off the engine"
  38. #define RANDOM_MESSAGE1 "Press N to turn on/off the lights"
  39. #define RANDOM_MESSAGE2 "Remember to turn off your lights and engine"
  40. #define RANDOM_MESSAGETIMEINMINUTES 3
  41.  
  42. #define MODERATOR 1
  43. #define HELPER 2
  44. #define ADMIN 3
  45.  
  46. #define VIP 1
  47. #define VIPSLIVER 2
  48. #define VIPGOLD 3
  49.  
  50. #define MAX_ORGS 3
  51.  
  52. new TS_Onlines;
  53. new TS_SampOnlines;
  54. new DB:server_database;
  55. new DB:org_database;
  56. new DBResult:database_result;
  57. new DBResult:orgResult;
  58.  
  59. new engine, lights, alarm, doors, bonnet, boot, objective;
  60. new hpickup, hexitpickup, shopdoor, shopinterior;
  61. new Orgtiune[35], RankOrgiune[15],orgcp,orgdoor;
  62. enum player_data
  63. {
  64.     player_admin,
  65.     player_score,
  66.     player_kills,
  67.     player_deaths,
  68.     player_vips,
  69.     bool:player_logged
  70. };
  71. new PlayerData[MAX_PLAYERS][player_data];
  72.  
  73. new const RandomWeather[][1]=
  74. {
  75.     {1},{2},{3},{4},{5},{6},{7},{8},{9},{10}
  76. };
  77. new const RandomWorldTime[24][1] =
  78. {
  79.     {0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19},{20},{21},{22},{23}
  80.  
  81. };
  82.  
  83.  
  84. enum org_data
  85. {
  86.     Color,
  87.     Vcolor,
  88.     car1,
  89.     car2,
  90.     car3,
  91.     car4,
  92.     car5,
  93.     Skin1,
  94.     Skin2,
  95.     Lskin,
  96.     Genre
  97. };
  98. new OrgData[MAX_ORGS][org_data];
  99.  
  100.  
  101. enum pInfo
  102. {
  103.     Member,
  104.     Leader,
  105.     rank,
  106.     punish
  107. };
  108. new PlayerInfo[MAX_PLAYERS][pInfo];
  109. new request[MAX_PLAYERS];
  110.  
  111. stock GetName(playerid)
  112. {
  113.     new name[MAX_PLAYER_NAME];
  114.     GetPlayerName(playerid, name, sizeof(name));
  115.     return name;
  116. }
  117.  
  118. stock DB_Escape(text[])//Credits: Y_Less
  119. {
  120.     new ret[80 * 2], ch, i, j;
  121.     while ((ch = text[i++]) && j < sizeof (ret))
  122.     {
  123.         if (ch == '\'')
  124.         {
  125.             if (j < sizeof (ret) - 2)
  126.             {
  127.                 ret[j++] = '\'';
  128.                 ret[j++] = '\'';
  129.             }
  130.         }
  131.         else if (j < sizeof (ret))
  132.         {
  133.             ret[j++] = ch;
  134.         }
  135.         else
  136.         {
  137.             j++;
  138.         }
  139.     }
  140.     ret[sizeof (ret) - 1] = '\0';
  141.     return ret;
  142. }
  143.  
  144. stock SaveAccount(playerid)
  145. {
  146.     new query[256];
  147.     if(PlayerData[playerid][player_logged] == true)
  148.     {
  149.         format(query, sizeof(query),
  150.         "UPDATE `USERS` SET ADMIN ='%d',SCORE = '%d', KILLS = '%d', DEATHS = '%d',MONEY='%d',VIPS='%d' WHERE `NAME` = '%s' COLLATE NOCASE",PlayerData[playerid][player_admin] ,GetPlayerScore(playerid), PlayerData[playerid][player_kills], PlayerData[playerid][player_deaths],GetPlayerMoney(playerid), PlayerData[playerid][player_vips],DB_Escape(GetName(playerid)));
  151.         database_result = db_query(server_database, query);
  152.         db_free_result(database_result);
  153.     }
  154.     return 1;
  155. }
  156. #if defined FILTERSCRIPT
  157. #define MAX_STRING_LENGTH 256
  158. #define MAX_HOUSES 1000
  159.  
  160. #else
  161.  
  162. main()
  163. {
  164.     print("\n----------------------------------");
  165.     print(" Blank Gamemode by your name here");
  166.     print("----------------------------------\n");
  167. }
  168.  
  169. #endif
  170.  
  171. forward TS_UpdateOnlineP();
  172. forward TS_UpdateOnlineM();
  173.  
  174.  
  175. public OnGameModeInit()
  176. {
  177.     // Don't use these lines if it's a filterscript
  178.     SetGameModeText("Freeroam/Roleplay");
  179.     DisableInteriorEnterExits();
  180.     ManualVehicleEngineAndLights();
  181.     AddPlayerClass(265,1958.3783,1343.1572,15.3746,270.1425,0,0,0,0,-1,-1);
  182.     AddPlayerClass(1,1958.3783,1343.1572,15.3746,270.1425,0,0,0,0,-1,-1);
  183.     AddPlayerClass(6,1958.3783,1343.1572,15.3746,270.1425,0,0,0,0,-1,-1);
  184.     AddPlayerClass(17,1958.3783,1343.1572,15.3746,270.1425,0,0,0,0,-1,-1);
  185.     AddPlayerClass(20,1958.3783,1343.1572,15.3746,270.1425,0,0,0,0,-1,-1);
  186.     AddStaticVehicle(522,2037.5870,999.1473,10.2098,0.0949,3,8); //
  187.     AddStaticVehicle(415,288.4731,-1156.2267,80.6818,232.7656,36,1); //
  188.  
  189.     AddStaticVehicle(479,2041.2722,1354.9692,10.4661,0.0172,55,41); // v1
  190.     AddStaticVehicle(466,2040.3693,1345.2960,10.4138,0.7682,16,76); // v2
  191.  
  192.  
  193.     hpickup = CreatePickup(1239, 1, 300.1755,-1154.3840,81.3905, -1);
  194.     hexitpickup = CreatePickup(1239, 1,235.2930,1186.6810,1080.2578, -1);
  195.  
  196.     shopdoor = CreatePickup(19198,1,2194.9414,1991.1180,12.2969, -1);
  197.     shopinterior = CreatePickup(19198, 1, -25.5558,-187.3017,1003.5469, -1);
  198.     new orgid;
  199.     OrgData[orgid][car1] = CreateVehicle(523,1543.5261,-1684.3247,5.4620,271.8893,0,0, -1, 0);
  200.     OrgData[orgid][car2] = CreateVehicle(523,1543.3291,-1679.4897,5.4574,272.1422,0,0, -1, 0);
  201.     OrgData[orgid][car3] = CreateVehicle(523,1542.9851,-1675.6777,5.4611,270.0225,0,0, -1, 0);
  202.     OrgData[orgid][car4] = CreateVehicle(596,1558.3250,-1710.3898,5.6137,179.7677,0,0, -1, 0);
  203.     OrgData[orgid][car5] = CreateVehicle(596,1564.7969,-1710.3781,5.6117,176.7310,0,0, -1, 0);
  204.  
  205.     server_database = db_open(SERVER_DATABASE);
  206.     org_database = db_open(ORG_DATABASE);
  207.  
  208.     db_query(org_database, "CREATE TABLE IF NOT EXIST `ORGS`(`NAME`, `MEMBER`, 'LEADER', `RANK`, `PUNISH`)");
  209.    
  210.     db_query(server_database, "CREATE TABLE IF NOT EXISTS `USERS` (`NAME`, `PASS`, `ADMIN`,`SCORE`, `KILLS`, `DEATHS`,`MONEY`,`VIPS`)");
  211.  
  212.  
  213.     //AddVehicleModel(6615,"infernus.dff","infernus.txd",0,"sports","Infernus"," ",3, 5,0,0,0,1.0,1.0,0);
  214.  
  215.     new rw = random(sizeof (RandomWeather));
  216.     SetWeather(RandomWeather[rw][0]);
  217.  
  218.     new rt = random(sizeof(RandomWorldTime));
  219.     SetWorldTime(RandomWorldTime[rt][0]);
  220.     return 1;
  221. }
  222.  
  223. public OnGameModeExit()
  224. {
  225.     db_close(server_database);
  226.     db_close(org_database);
  227.     return 1;
  228. }
  229.  
  230. public TS_UpdateOnlineP()
  231. {
  232.     new channelname[512];
  233.     format(channelname, sizeof(channelname), "[cspacer]TS Online Users : [%d/1024]", TS_Onlines);
  234.     TSC_SetChannelName(CHANNEL_ONLINE_USERS, channelname);
  235.     return 1;
  236. }
  237.  
  238. public TS_UpdateOnlineM()
  239. {
  240.     new channelname[512];
  241.     format(channelname, sizeof(channelname), "[cspacer]TS Online Users : [%d/1024]", TS_Onlines);
  242.     TSC_SetChannelName(CHANNEL_ONLINE_USERS, channelname);
  243.     return 1;
  244. }
  245.  
  246. IsPlayerOnline(const nick[])
  247. {
  248.     if(!nick[0]) return INVALID_PLAYER_ID; // empty nick
  249.  
  250.     static name[MAX_PLAYER_NAME + 1];
  251.     for(new i, g = GetMaxPlayers(); i < g; i++)
  252.         if(IsPlayerConnected(i))
  253.         {
  254.             GetPlayerName(i, name, sizeof(name));
  255.             if(!strcmp(nick, name))
  256.                 return i;
  257.         }
  258.  
  259.     return INVALID_PLAYER_ID;
  260. }
  261.  
  262. public TSC_OnError(TSC_ERROR_TYPE:error_type, error_id, const error_msg[])
  263. {
  264.     printf("%s", error_msg);
  265.     return 1;
  266. }
  267.  
  268. public TSC_OnClientConnect(clientid, nickname[])
  269. {
  270.     TS_Onlines +=1;
  271.     TS_UpdateOnlineP();
  272.     TSC_RemoveClientFromServerGroup(clientid, RANK_STATUS_W);
  273.  
  274.     // player is online
  275.     TSC_RemoveClientFromServerGroup(clientid, RANK_STATUS_ON);
  276.     // player is offline
  277.     TSC_RemoveClientFromServerGroup(clientid, RANK_STATUS_OFF);
  278.  
  279.  
  280.     new Online = IsPlayerOnline(nickname);
  281.     new Online2[128];
  282.     TSC_AddClientToServerGroup(clientid, RANK_STATUS_W);
  283.  
  284.     if(Online != INVALID_PLAYER_ID) // or if you don't want ID use if(IsPlayerOnline(targetname) != INVALID_PLAYER_ID)
  285.     {
  286.         // player is online
  287.         Online2 = "[color=green]Online[/color]";
  288.         TSC_AddClientToServerGroup(clientid, RANK_STATUS_ON);
  289.  
  290.     }
  291.     else
  292.     {
  293.         // player is offline
  294.         Online2 = "[color=red]Offline[/color]";
  295.         TSC_AddClientToServerGroup(clientid, RANK_STATUS_OFF);
  296.  
  297.     }
  298.     new string[512];
  299.     format(string, sizeof(string), "Welcome [color=green]%s[/color]\n Your status in samp server : %s", nickname, Online2);
  300. //    print(string);
  301.     TSC_SendClientMessage(clientid, string);
  302.  
  303. //    TSC_AddClientToServerGroup(clientid, TS_SERVER_GROUP_PLAYER);
  304.     return 1;
  305. }
  306.  
  307. public TSC_OnClientDisconnect(clientid, reasonid, reasonmsg[])
  308. {
  309.     TS_Onlines -=1;
  310.     TS_UpdateOnlineM();
  311.     return 1;
  312. }
  313.  
  314. public OnPlayerRequestClass(playerid, classid)
  315. {
  316.     SetPlayerColor(playerid, 0x800080FF);
  317.     SetPlayerInterior(playerid,14);
  318.     SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
  319.     SetPlayerFacingAngle(playerid, 270.0);
  320.     SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
  321.     SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
  322.     return 1;
  323. }
  324.  
  325. public OnPlayerConnect(playerid)
  326. {
  327.     TogglePlayerClock(playerid, 1);
  328.     TS_SampOnlines++;
  329.     UpdateSampOnlinesChannel();
  330.     new PlayerIP[24];
  331.     GetPlayerIp(playerid, PlayerIP, sizeof(PlayerIP));
  332.     new ClientID = TSC_GetClientIdByIpAddress(PlayerIP);
  333.     new ClientDes[200];
  334.     new PlayerName[24];
  335.  
  336.     GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
  337.     format(ClientDes, sizeof(ClientDes), "Player's name in SA-MP: %s", PlayerName);
  338.     TSC_SetClientDescription(ClientID, ClientDes);
  339.  
  340.     SetPlayerScore(playerid, 10);
  341.    
  342.     PlayerData[playerid][player_kills] = 0;
  343.     PlayerData[playerid][player_deaths] = 0;
  344.    
  345.     PlayerData[playerid][player_logged] = false;
  346.    
  347.     new query[128],Field[256];
  348.     format(query, sizeof(query), "SELECT `NAME` FROM `USERS` WHERE `NAME` = '%s' COLLATE NOCASE", DB_Escape(GetName(playerid)));
  349.     database_result = db_query(server_database, query);
  350.     if(db_num_rows(database_result))
  351.     {
  352.         ShowPlayerDialog(playerid, LOGIN_DIALOG, DIALOG_STYLE_PASSWORD, "{FFFFFF}Account Login", "{FFFFFF}Please enter your password below to login to your account:", "Enter", "Leave");
  353.     }
  354.     else
  355.     {
  356.         ShowPlayerDialog(playerid, REGISTER_DIALOG, DIALOG_STYLE_PASSWORD, "{FFFFFF}Register Account", "{FFFFFF}Please enter a password below to register an account:", "Enter", "Leave");
  357.     }
  358.  
  359.     PlayerInfo[playerid][Member] = -255;
  360.     PlayerInfo[playerid][Leader] = 0;
  361.     request[playerid] = -255;
  362.  
  363.  
  364.     format(query, sizeof(query), "SELECT * FROM `ORGS` WHERE NAME = '%q'", DB_Escape(GetName(playerid)));
  365.     orgResult = db_query(org_database, query);
  366.  
  367.     if(db_num_rows(orgResult))
  368.     {
  369.         db_get_field_assoc(orgResult, "Member", Field, 128);
  370.         PlayerInfo[playerid][Member] = strval(Field);
  371.         db_get_field_assoc(orgResult, "Leader", Field, 128);
  372.         PlayerInfo[playerid][Leader] = strval(Field);
  373.         db_get_field_assoc(orgResult, "Rank", Field, 128);
  374.         PlayerInfo[playerid][rank] = strval(Field);
  375.         db_get_field_assoc(orgResult, "Punish", Field, 128);
  376.         PlayerInfo[playerid][punish] = strval(Field);
  377.     }
  378.  
  379.     else
  380.     {
  381.         format(query, sizeof(query), "INSERT INTO `ORGS` (`Name`) VALUES ('%q')", DB_Escape(GetName(playerid)));
  382.         db_free_result(db_query(org_database, query));
  383.         PlayerInfo[playerid][Member] = -255;
  384.         PlayerInfo[playerid][Leader] = 0;
  385.         PlayerInfo[playerid][rank] = 0;
  386.         request[playerid] = -255;
  387.         PlayerInfo[playerid][punish] = 0;
  388.     }
  389.     db_free_result(orgResult);
  390.  
  391.     return 1;
  392. }
  393.  
  394. public OnPlayerDisconnect(playerid, reason)
  395. {
  396.     TS_SampOnlines --;
  397.     UpdateSampOnlinesChannel();
  398.  
  399.     new PlayerIP[24];
  400.     GetPlayerIp(playerid, PlayerIP, sizeof(PlayerIP));
  401.     new ClientID = TSC_GetClientIdByIpAddress(PlayerIP);
  402.     new ClientDes[200];
  403.     format(ClientDes, sizeof(ClientDes), "");
  404.     TSC_SetClientDescription(ClientID, ClientDes);
  405.  
  406.     SaveAccount(playerid);
  407.     SavePlayerFaction(playerid);
  408.  
  409.  
  410.     return 1;
  411. }
  412.  
  413. forward UpdateSampOnlinesChannel();
  414. public UpdateSampOnlinesChannel()
  415. {
  416.     new channelname[512];
  417.     format(channelname, sizeof(channelname), "[cspacer]SA-MP Online Users : [%d/%d]", TS_SampOnlines, GetMaxPlayers());
  418.     TSC_SetChannelName(CHANNEL_SAMP_ONLINE_USERS, channelname);
  419.     return 1;
  420. }
  421.  
  422. public OnPlayerSpawn(playerid)
  423. {
  424.     if(PlayerInfo[playerid][Member] == 1 || PlayerInfo[playerid][Leader] == 1)
  425.     {
  426.         GivePlayerWeapon(playerid, 24, 64);
  427.         GivePlayerWeapon(playerid, 3, 1);
  428.         SetPlayerArmour(playerid, 100);
  429.         SetPlayerColor(playerid, 0x2641FEAA);
  430.         SetPlayerSkin(playerid, 280);
  431.         SendClientMessage(playerid, -1, "{ffff00}Info: {ffffff}You are a member from LSPD.");
  432.  
  433.         SetPlayerInterior(playerid, 6);
  434.         SetPlayerPos(playerid, 246.3295, 66.5572, 1003.6406);
  435.         SetPlayerFacingAngle(playerid, 0);
  436.     }
  437.     return 1;
  438. }
  439.  
  440. public OnPlayerStateChange(playerid, newstate, oldstate)
  441. {
  442.     for(new i=0;i<MAX_ORGS;i++)
  443.     {
  444.         if(newstate == 2)
  445.         {
  446.             if(OrgData[i][car1] == GetPlayerVehicleID(playerid))
  447.             {
  448.                 if(PlayerInfo[playerid][Member] !=1)
  449.                 {
  450.                     new str[256];
  451.                     format(str,sizeof(str),"** Error: You cannot drive a vehicle that belongs to %s.");
  452.                     SendClientMessage(playerid,0xFF4500AA,str);
  453.                     RemovePlayerFromVehicle(playerid);
  454.                     return 1;
  455.                 }
  456.             }
  457.             if(OrgData[i][car2] == GetPlayerVehicleID(playerid))
  458.             {
  459.                 if(PlayerInfo[playerid][Member] !=1)
  460.                 {
  461.                     new str[256];
  462.                     format(str,sizeof(str),"** Error: You cannot drive a vehicle that belongs to %s.");
  463.                     SendClientMessage(playerid,0xFF4500AA,str);
  464.                     RemovePlayerFromVehicle(playerid);
  465.                     return 1;
  466.                 }
  467.             }
  468.             if(OrgData[i][car3] == GetPlayerVehicleID(playerid))
  469.             {
  470.                 if(PlayerInfo[playerid][Member] !=1)
  471.                 {
  472.                     new str[256];
  473.                     format(str,sizeof(str),"** Error: You cannot drive a vehicle that belongs to %s.");
  474.                     SendClientMessage(playerid,0xFF4500AA,str);
  475.                     RemovePlayerFromVehicle(playerid);
  476.                     return 1;
  477.                 }
  478.             }
  479.             if(OrgData[i][car4] == GetPlayerVehicleID(playerid))
  480.             {
  481.                 if(PlayerInfo[playerid][Member] !=1)
  482.                 {
  483.                     new str[256];
  484.                     format(str,sizeof(str),"** Error: You cannot drive a vehicle that belongs to %s.");
  485.                     SendClientMessage(playerid,0xFF4500AA,str);
  486.                     RemovePlayerFromVehicle(playerid);
  487.                     return 1;
  488.                 }
  489.             }
  490.             if(OrgData[i][car5] == GetPlayerVehicleID(playerid))
  491.             {
  492.                 if(PlayerInfo[playerid][Member] !=1)
  493.                 {
  494.                     new str[256];
  495.                     format(str,sizeof(str),"** Error: You cannot drive a vehicle that belongs to %s.");
  496.                     SendClientMessage(playerid,0xFF4500AA,str);
  497.                     RemovePlayerFromVehicle(playerid);
  498.                     return 1;
  499.                 }
  500.             }
  501.         }
  502.     }
  503.     return 1;
  504. }
  505.  
  506. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  507. {
  508.     if(dialogid == REGISTER_DIALOG)
  509.     {
  510.         if(response)
  511.         {
  512.             if(strlen(inputtext) < 3 || strlen(inputtext) > 24)
  513.             {
  514.                 SendClientMessage(playerid, -1, "SERVER: Your password must be from 3-24 characters.");
  515.                 return ShowPlayerDialog(playerid, REGISTER_DIALOG, DIALOG_STYLE_PASSWORD, "{FFFFFF}Register Account", "{FFFFFF}Please enter a password below to register an account:", "Enter", "Leave");
  516.             }
  517.            
  518.             bcrypt_hash(playerid, "OnPlayerRegister", inputtext, 12);
  519.             return 1;
  520.         }
  521.         else
  522.         {
  523.             Kick(playerid);
  524.         }
  525.     }
  526.     else if(dialogid == LOGIN_DIALOG)
  527.     {
  528.         if(response)
  529.         {
  530.             new query[256], field[64];
  531.             format(query, sizeof(query), "SELECT `PASS` FROM `USERS` WHERE `NAME` = '%s' COLLATE NOCASE", DB_Escape(GetName(playerid)));
  532.             database_result = db_query(server_database, query);
  533.             if(db_num_rows(database_result))
  534.             {
  535.                 db_get_field_assoc(database_result, "PASS", field, sizeof(field));
  536.                 bcrypt_verify(playerid, "OnPlayerLogin", inputtext, field);
  537.             }
  538.             return 1;
  539.         }
  540.         else
  541.         {
  542.             Kick(playerid);
  543.         }
  544.     }
  545.     else if(dialogid == LSPD_DIALOG)
  546.     {
  547.         if(!response) return 1;
  548.         switch(listitem)
  549.         {
  550.             case 0:
  551.             {
  552.                 SetPlayerPos(playerid, 246.7840,63.9002,1003.6406);
  553.                 SetPlayerInterior(playerid, 6);
  554.                 SetPlayerFacingAngle(playerid,0.0000);
  555.             }
  556.             case 1:
  557.             {
  558.                 GivePlayerWeapon(playerid, 22, 99);
  559.                 GivePlayerWeapon(playerid, 31, 99);
  560.                 GivePlayerWeapon(playerid, 3, 999);
  561.             }
  562.             case 2:
  563.             {
  564.                 new orgid;
  565.                 if(OrgData[orgid][Skin1] == 280)
  566.                 {
  567.                     SetPlayerSkin(playerid, OrgData[orgid][Skin1]);
  568.                 }
  569.                 else if(OrgData[orgid][Skin2] == 284)
  570.                 {
  571.                     SetPlayerSkin(playerid, OrgData[orgid][Skin2]);
  572.                 }
  573.             }
  574.             case 3:
  575.             {
  576.                 PlayerInfo[playerid][Member] = -255;
  577.                 SendClientMessage(playerid, 0xFF9900AA, "You have resigned from LSPD");
  578.                 SetPlayerAmmo(playerid, 22, 0);
  579.                 SetPlayerAmmo(playerid, 31, 0);
  580.                 SetPlayerAmmo(playerid, 3, 0);
  581.             }
  582.         }
  583.         return 1;
  584.     }  
  585.     return 1;
  586. }
  587. stock SetPlayerMoney(playerid, cash)
  588. {
  589.     ResetPlayerMoney(playerid);
  590.     return GivePlayerMoney(playerid, cash);
  591. }
  592.  
  593. forward OnPlayerLogin(playerid, bool:success);
  594. public OnPlayerLogin(playerid, bool:success)
  595. {
  596.     if(success)
  597.     {
  598.         new query[256], field[24];
  599.         format(query, sizeof(query), "SELECT * FROM `USERS` WHERE `NAME` = '%s' COLLATE NOCASE", DB_Escape(GetName(playerid)));
  600.         database_result = db_query(server_database, query);
  601.         if(db_num_rows(database_result))
  602.         {
  603.             db_get_field_assoc(database_result, "ADMIN", field, sizeof(field));
  604.             PlayerData[playerid][player_admin] = strval(field);
  605.  
  606.             db_get_field_assoc(database_result, "SCORE", field, sizeof(field));
  607.             SetPlayerScore(playerid, strval(field));
  608.  
  609.             db_get_field_assoc(database_result, "KILLS", field, sizeof(field));
  610.             PlayerData[playerid][player_kills] = strval(field);
  611.  
  612.             db_get_field_assoc(database_result, "DEATHS", field, sizeof(field));
  613.             PlayerData[playerid][player_deaths] = strval(field);
  614.  
  615.             db_get_field_assoc(database_result, "MONEY", field, sizeof(field));
  616.             SetPlayerMoney(playerid, strval(field));
  617.  
  618.             db_get_field_assoc(database_result, "VIPS", field, sizeof(field));
  619.             PlayerData[playerid][player_vips]=strval(field);
  620.         }
  621.  
  622.         db_free_result(database_result);
  623.        
  624.         PlayerData[playerid][player_logged] = true;
  625.  
  626.         PlayerInfo[playerid][Member] = 1;
  627.         PlayerInfo[playerid][Leader] = 1;
  628.  
  629.         SendClientMessage(playerid, -1, "SERVER: You have successfully logged into your account.");
  630.         return 1;
  631.     }
  632.     else
  633.     {
  634.         Kick(playerid);
  635.     }
  636.     return 1;
  637. }
  638.  
  639. forward OnPlayerRegister(playerid);
  640. public OnPlayerRegister(playerid)
  641. {
  642.     new password[64];
  643.     bcrypt_get_hash(password);
  644.  
  645.     new query[256];
  646.     format(query, sizeof(query), "INSERT INTO `USERS` (`NAME`, `PASS`,`ADMIN` ,`SCORE`, `KILLS`, `DEATHS`,`MONEY`,`VIPS`) VALUES ('%s', '%s','%s' ,'%d', '%d', '%d','%d','%d')", DB_Escape(GetName(playerid)), password,PlayerData[playerid][player_admin] ,GetPlayerScore(playerid), PlayerData[playerid][player_kills], PlayerData[playerid][player_deaths], GetPlayerMoney(playerid),PlayerData[playerid][player_vips]);
  647.     database_result = db_query(server_database, query);
  648.     db_free_result(database_result);
  649.  
  650.     PlayerData[playerid][player_logged] = true;
  651.    
  652.     SendClientMessage(playerid, -1, "SERVER: You have successfully registered an account.");
  653.     return 1;
  654. }
  655.  
  656. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  657. {
  658.     if((newkeys & KEY_NO)&& !(oldkeys & KEY_NO))
  659.     {
  660.         new vehicleid = GetPlayerVehicleID(playerid);
  661.         if(IsPlayerInVehicle(playerid, vehicleid))
  662.         {
  663.             if(GetVehicleModel(vehicleid) != 481 || GetVehicleModel(vehicleid) != 509 || GetVehicleModel(vehicleid) != 510)
  664.             {
  665.                 VehicleLights(playerid, vehicleid);
  666.             }
  667.             else
  668.             {
  669.                 SendClientMessage(playerid, 0xAFAFAFAA, "This vehicle doesn't have lights");
  670.             }
  671.         }
  672.     }
  673.     else if((newkeys & KEY_YES) && !(oldkeys & KEY_YES))
  674.     {
  675.         new vehicleid = GetPlayerVehicleID(playerid);
  676.         if(GetVehicleModel(vehicleid) != 481 || GetVehicleModel(vehicleid) != 509 || GetVehicleModel(vehicleid) != 510)
  677.             {
  678.                 VehicleEngine(playerid, vehicleid);
  679.             }
  680.             else
  681.             {
  682.                 SendClientMessage(playerid, 0xAFAFAFAA, "This vehicle doesn't have engine");
  683.             }
  684.  
  685.     }
  686.     else if((newkeys & KEY_WALK)&& !(oldkeys & KEY_WALK))
  687.     {
  688.         ClearAnimations(playerid, 0);
  689.     }
  690.     return 1;
  691. }
  692.  
  693. forward VehicleLights(playerid, vehicleid);
  694. public VehicleLights(playerid, vehicleid)
  695. {
  696.     GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  697.     if(IsPlayerInAnyVehicle(playerid))
  698.     {
  699.         if(lights == VEHICLE_PARAMS_ON)
  700.         {
  701.             SetVehicleParamsEx(vehicleid, engine, VEHICLE_PARAMS_OFF, alarm, doors, bonnet, boot, objective);
  702.             GameTextForPlayer(playerid, "Vehicle lights turned off", 5000, 6);
  703.         }
  704.    
  705.  
  706.         else if(lights == VEHICLE_PARAMS_OFF || lights == VEHICLE_PARAMS_UNSET)
  707.         {
  708.             SetVehicleParamsEx(vehicleid, engine, VEHICLE_PARAMS_ON, alarm, doors, bonnet, boot, objective);
  709.             GameTextForPlayer(playerid, "Vehicle lights turned on", 5000, 6);
  710.         }
  711.     }
  712.    
  713.     return 1;
  714. }
  715.  
  716. forward VehicleEngine(playerid, vehicleid);
  717. public VehicleEngine(playerid, vehicleid)
  718. {
  719.     GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  720.     if(IsPlayerInAnyVehicle(playerid))
  721.     {
  722.         if(engine == VEHICLE_PARAMS_ON)
  723.         {
  724.             SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
  725.             GameTextForPlayer(playerid, "Vehicle engine turned off", 5000, 6);
  726.         }
  727.  
  728.         else if(engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET)
  729.         {
  730.             SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
  731.             GameTextForPlayer(playerid, "Vehicle engine turned on", 5000, 6);
  732.         }
  733.     }
  734.  
  735.     return 1;
  736. }
  737.  
  738. forward showRandomMessage();
  739. public showRandomMessage()
  740. {
  741.     new Random = random(3);
  742.     switch(Random)
  743.     {
  744.         case 0:
  745.         {
  746.             return SendClientMessageToAll(0xB8860BAA, RANDOM_MESSAGE);
  747.         }
  748.         case 1:
  749.         {
  750.             return SendClientMessageToAll(0xB8860BAA, RANDOM_MESSAGE1);
  751.         }
  752.         case 2:
  753.         {
  754.             return SendClientMessageToAll(0xB8860BAA, RANDOM_MESSAGE2);
  755.         }
  756.     }
  757.     return 1;
  758. }
  759. stock GetVehicleName(vehicleid)
  760. {
  761.     new vehname[18];
  762.     switch(vehicleid)
  763.     {
  764.         case 400: vehname = "Landstalker";
  765.         case 401: vehname = "Bravura";
  766.         case 402: vehname = "Buffalo";
  767.         case 403: vehname = "Linerunner";
  768.         case 404: vehname = "Perenniel";
  769.         case 405: vehname = "Sentinel";
  770.         case 406: vehname = "Dumper";
  771.         case 407: vehname = "Firetruck";
  772.         case 408: vehname = "Trashmaster";
  773.         case 409: vehname = "Stretch";
  774.         case 410: vehname = "Manana";
  775.         case 411: vehname = "Infernus";
  776.         case 412: vehname = "Voodoo";
  777.         case 413: vehname = "Pony";
  778.         case 414: vehname = "Mule";
  779.         case 415: vehname = "Cheetah";
  780.         case 416: vehname = "Ambulance";
  781.         case 417: vehname = "Leviathan";
  782.         case 418: vehname = "Moonbeam";
  783.         case 419: vehname = "Esperanto";
  784.         case 420: vehname = "Taxi";
  785.         case 421: vehname = "Washington";
  786.         case 422: vehname = "Bobcat";
  787.         case 423: vehname = "Mr Whoopee";
  788.         case 424: vehname = "BF Injection";
  789.         case 425: vehname = "Hunter";
  790.         case 426: vehname = "Premier";
  791.         case 427: vehname = "Enforcer";
  792.         case 428: vehname = "Securicar";
  793.         case 429: vehname = "Banshee";
  794.         case 430: vehname = "Predator";
  795.         case 431: vehname = "Bus";
  796.         case 432: vehname = "Rhino";
  797.         case 433: vehname = "Barracks";
  798.         case 434: vehname = "Hotknife";
  799.         case 435: vehname = "Article Trailer";
  800.         case 436: vehname = "Previon";
  801.         case 437: vehname = "Coach";
  802.         case 438: vehname = "Cabbie";
  803.         case 439: vehname = "Stallion";
  804.         case 440: vehname = "Rumpo";
  805.         case 441: vehname = "RC Bandit";
  806.         case 442: vehname = "Romero";
  807.         case 443: vehname = "Packer";
  808.         case 444: vehname = "Monster";
  809.         case 445: vehname = "Admiral";
  810.         case 446: vehname = "Squallo";
  811.         case 447: vehname = "Seasparrow";
  812.         case 448: vehname = "Pizzaboy";
  813.         case 449: vehname = "Tram";
  814.         case 450: vehname = "Article Trailer 2";
  815.         case 451: vehname = "Turismo";
  816.         case 452: vehname = "Speeder";
  817.         case 453: vehname = "Reefer";
  818.         case 454: vehname = "Tropic";
  819.         case 455: vehname = "Flatbed";
  820.         case 456: vehname = "Yankee";
  821.         case 457: vehname = "Caddy";
  822.         case 458: vehname = "Solair";
  823.         case 459: vehname = "Topfun Van";
  824.         case 460: vehname = "Skimmer";
  825.         case 461: vehname = "PCJ-600";
  826.         case 462: vehname = "Faggio";
  827.         case 463: vehname = "Freeway";
  828.         case 464: vehname = "RC Baron";
  829.         case 465: vehname = "RC Raider";
  830.         case 466: vehname = "Glendale";
  831.         case 467: vehname = "Oceanic";
  832.         case 468: vehname = "Sanchez";
  833.         case 469: vehname = "Sparrow";
  834.         case 470: vehname = "Patriot";
  835.         case 471: vehname = "Quad";
  836.         case 472: vehname = "Coastguard";
  837.         case 473: vehname = "Dinghy";
  838.         case 474: vehname = "Hermes";
  839.         case 475: vehname = "Sabre";
  840.         case 476: vehname = "Rustler";
  841.         case 477: vehname = "ZR-350";
  842.         case 478: vehname = "Walton";
  843.         case 479: vehname = "Regina";
  844.         case 480: vehname = "Comet";
  845.         case 481: vehname = "BMX";
  846.         case 482: vehname = "Burrito";
  847.         case 483: vehname = "Camper";
  848.         case 484: vehname = "Marquis";
  849.         case 485: vehname = "Baggage";
  850.         case 486: vehname = "Dozer";
  851.         case 487: vehname = "Maverick";
  852.         case 488: vehname = "SAN News Maverick";
  853.         case 489: vehname = "Rancher";
  854.         case 490: vehname = "FBI Rancher";
  855.         case 491: vehname = "Virgo";
  856.         case 492: vehname = "Greenwook";
  857.         case 493: vehname = "Jetmax";
  858.         case 494: vehname = "Hotring Racer";
  859.         case 495: vehname = "Sandking";
  860.         case 496: vehname = "Blista Compact";
  861.         case 497: vehname = "Police Maverick";
  862.         case 498: vehname = "Boxville";
  863.         case 499: vehname = "Benson";
  864.         case 500: vehname = "Messa";
  865.         case 501: vehname = "RC Goblin";
  866.         case 502: vehname = "Hotring Racer";
  867.         case 503: vehname = "Hotring Racer";
  868.         case 504: vehname = "Bloodring Banger";
  869.         case 505: vehname = "Rancher";
  870.         case 506: vehname = "Super GT";
  871.         case 507: vehname = "Elegant";
  872.         case 508: vehname = "Journey";
  873.         case 509: vehname = "Bike";
  874.         case 510: vehname = "Mountain Bike";
  875.         case 511: vehname = "Beagle";
  876.         case 512: vehname = "Cropduster";
  877.         case 513: vehname = "Stuntplane";
  878.         case 514: vehname = "Tanker";
  879.         case 515: vehname = "Roadtrain";
  880.         case 516: vehname = "Nebula";
  881.         case 517: vehname = "Majestic";
  882.         case 518: vehname = "Buccaneer";
  883.         case 519: vehname = "Shamal";
  884.         case 520: vehname = "Hydra";
  885.         case 521: vehname = "FCR-900";
  886.         case 522: vehname = "NRG-500";
  887.         case 523: vehname = "HPV1000";
  888.         case 524: vehname = "Cement Truck";
  889.         case 525: vehname = "Towtruck";
  890.         case 526: vehname = "Fortune";
  891.         case 527: vehname = "Cadrona";
  892.         case 528: vehname = "FBI Truck";
  893.         case 529: vehname = "Willard";
  894.         case 530: vehname = "Forklift";
  895.         case 531: vehname = "Tractor";
  896.         case 532: vehname = "Combine Harvester";
  897.         case 533: vehname = "Feltzer";
  898.         case 534: vehname = "Remington";
  899.         case 535: vehname = "Slamvan";
  900.         case 536: vehname = "Blade";
  901.         case 537: vehname = "Freight";
  902.         case 538: vehname = "Brownstreak";
  903.         case 539: vehname = "Vortex";
  904.         case 540: vehname = "Vincent";
  905.         case 541: vehname = "Bullet";
  906.         case 542: vehname = "Clover";
  907.         case 543: vehname = "Sadler";
  908.         case 544: vehname = "Firetruck LA";
  909.         case 545: vehname = "Hustler";
  910.         case 546: vehname = "Intruder";
  911.         case 547: vehname = "Primo";
  912.         case 548: vehname = "Cargobob";
  913.         case 549: vehname = "Tampa";
  914.         case 550: vehname = "Sunrise";
  915.         case 551: vehname = "Merit";
  916.         case 552: vehname = "Utility Van";
  917.         case 553: vehname = "Nevada";
  918.         case 554: vehname = "Yosemite";
  919.         case 555: vehname = "Windsor";
  920.         case 556: vehname = "Monster 'A'";
  921.         case 557: vehname = "Monster 'B'";
  922.         case 558: vehname = "Uranus";
  923.         case 559: vehname = "Jester";
  924.         case 560: vehname = "Sultan";
  925.         case 561: vehname = "Stratum";
  926.         case 562: vehname = "Elegy";
  927.         case 563: vehname = "Raindance";
  928.         case 564: vehname = "RC Tiger";
  929.         case 565: vehname = "Flash";
  930.         case 566: vehname = "Tahoma";
  931.         case 567: vehname = "Savanna";
  932.         case 568: vehname = "Bandito";
  933.         case 569: vehname = "Freight Trailer";
  934.         case 570: vehname = "Streak Trailer";
  935.         case 571: vehname = "Kart";
  936.         case 572: vehname = "Mover";
  937.         case 573: vehname = "Dune";
  938.         case 574: vehname = "Sweeper";
  939.         case 575: vehname = "Broadway";
  940.         case 576: vehname = "Tornado";
  941.         case 577: vehname = "AT400";
  942.         case 578: vehname = "DFT-30";
  943.         case 579: vehname = "Huntley";
  944.         case 580: vehname = "Stafford";
  945.         case 581: vehname = "BF-400";
  946.         case 582: vehname = "Newsvan";
  947.         case 583: vehname = "Tug";
  948.         case 584: vehname = "Petrol Trailer";
  949.         case 585: vehname = "Emperor";
  950.         case 586: vehname = "Wayfarer";
  951.         case 587: vehname = "Euros";
  952.         case 588: vehname = "Hotdog";
  953.         case 589: vehname = "Club";
  954.         case 590: vehname = "Freight Box";
  955.         case 591: vehname = "Article Trailer 3";
  956.         case 592: vehname = "Andromada";
  957.         case 593: vehname = "Dodo";
  958.         case 594: vehname = "RC Cam";
  959.         case 595: vehname = "Launch";
  960.         case 596: vehname = "Police Car (LSPD)";
  961.         case 597: vehname = "Police Car (SFPD)";
  962.         case 598: vehname = "Police Car (LVPD)";
  963.         case 599: vehname = "Police Ranger";
  964.         case 600: vehname = "Picador";
  965.         case 601: vehname = "S.W.A.T";
  966.         case 602: vehname = "Alpha";
  967.         case 603: vehname = "Phoenix";
  968.         case 604: vehname = "Glendale Shit";
  969.         case 605: vehname = "Sadler Shit";
  970.         case 606: vehname = "Baggage Trailer";
  971.         case 607: vehname = "Baggage Traier";
  972.         case 608: vehname = "Tug Stairs";
  973.         case 609: vehname = "Boxville";
  974.         case 610: vehname = "Farm Trailer";
  975.         case 611: vehname = "Utility Trailer";
  976.     }
  977.     return vehname;
  978. }
  979.  
  980. public OnPlayerPickUpPickup(playerid, pickupid)
  981. {
  982.     if(pickupid==hpickup)
  983.     {
  984.         SetPlayerInterior(playerid, 3);
  985.         SetPlayerPos(playerid,235.508994,1189.169897,1080.339966);
  986.         SetPlayerFacingAngle(playerid, 180.0);
  987.     }
  988.     else if(pickupid == hexitpickup)
  989.     {
  990.         SetPlayerInterior(playerid, 0);
  991.         SetPlayerPos(playerid,298.9563,-1155.5773,80.9099);
  992.         SetPlayerFacingAngle(playerid, 120.6758);
  993.     }
  994.     else if(pickupid == shopdoor)
  995.     {
  996.         SetPlayerInterior(playerid,17);
  997.         SetPlayerPos(playerid,-27.8845,-185.8690,1003.5469);
  998.         SetPlayerFacingAngle(playerid, 180.0);
  999.     }
  1000.     else if(pickupid == shopinterior)
  1001.     {
  1002.         SetPlayerInterior(playerid,0);
  1003.         SetPlayerPos(playerid, 2191.1428,1992.2231,11.5801);
  1004.         SetPlayerFacingAngle(playerid, 87.4673);
  1005.     }
  1006.     return 1;
  1007. }
  1008.  
  1009. public OnPlayerText( playerid, text[ ] )
  1010. {
  1011.     new textstr[ 128 ];
  1012.  
  1013.     if ( text[ 0 ] == '#' && PlayerData[ playerid ][ player_vips ] >= 1 )
  1014.     {
  1015.         format( textstr, sizeof( textstr ),"V.I.P Chat: {00FF00}%s{FF5500}: %s", GetName(playerid), text[ 1 ] );
  1016.         SendVipMessage(playerid,0xFFC0CBFF, textstr );
  1017.         return 0;
  1018.     }
  1019.     return 1;
  1020. }
  1021. forward SendVipMessage(playerid,color, const string[]);
  1022. public SendVipMessage(playerid,color, const string[])
  1023. {
  1024.     if(PlayerData[playerid][player_vips]>=1)
  1025.     {
  1026.         SendClientMessage(playerid, 0xFFC0CBFF, string);
  1027.     }
  1028.     return 1;
  1029. }
  1030.  
  1031. public OnVehicleSpawn(vehicleid)
  1032. {
  1033.    
  1034.     return 1;
  1035. }
  1036. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  1037. {
  1038.     if(PlayerData[playerid][player_vips] <=3)
  1039.     {
  1040.         SetVehicleNumberPlate(vehicleid, "[Rs]VeNoM");
  1041.     }
  1042.     return 1;
  1043. }
  1044.  
  1045. public OnPlayerEnterDynamicCP(playerid, checkpointid)
  1046. {
  1047.     if(checkpointid == orgcp)
  1048.     {
  1049.         ShowPlayerDialog(playerid, LSPD_DIALOG, DIALOG_STYLE_LIST, "Los Santos Police Department", "Enter\nCollect\nSuitup\nResign", "Choose", "Cancel");
  1050.     }
  1051.     else if(checkpointid == orgdoor)
  1052.     {
  1053.         SetPlayerPos(playerid, 1551.2473,-1675.0258,15.7616);
  1054.         SetPlayerFacingAngle(playerid,94.0734);
  1055.         SetPlayerInterior(playerid, 0);
  1056.     }
  1057. }
  1058.  
  1059. CMD:rp(playerid, params[])
  1060. {
  1061.     SetPlayerColor(playerid, 0xFFFFFFAA);
  1062.     SendClientMessage(playerid, 0xDC143CAA, "Your gamestate has changed to Roleplay");
  1063.     return 1;
  1064. }
  1065.  
  1066. CMD:acmds(playerid, params[])
  1067. {
  1068.     if(PlayerData[playerid][player_admin]<=3)
  1069.     {
  1070.         SendClientMessage(playerid, 0xDC143CAA, "___________SERVER ADMIN COMMANDS________");
  1071.         SendClientMessage(playerid, 0xADFF2FAA, "/giveweap, /setmoney, /makeadmin");
  1072.     }
  1073.     return 1;
  1074. }
  1075.  
  1076. CMD:me(playerid, params[])
  1077. {
  1078.     new string[128];
  1079.     if(!strlen(params)) return SendClientMessage(playerid, 0xFF7F50AA, "Usage: /me <action>.");
  1080.     format(string, sizeof(string), "* %s %s", pNick(playerid), params);
  1081.     SendClientMessageToAll(0xFFFF82AA, string);
  1082.     return 1;
  1083. }
  1084. stock pNick(playerid)
  1085. {
  1086. new nick[MAX_PLAYER_NAME];
  1087. GetPlayerName(playerid, nick, MAX_PLAYER_NAME);
  1088. return nick;
  1089. }
  1090.  
  1091.  
  1092. CMD:makeadmin(playerid, params[])
  1093. {
  1094.     if(PlayerData[playerid][player_admin]>=3||IsPlayerAdmin(playerid))
  1095.     {
  1096.         new target, lvl, msg[256], msg2[256];
  1097.         if(sscanf(params, "ui", target, lvl))
  1098.         {
  1099.             return SendClientMessage(playerid, 0xAA3333AA, "USAGE:setlevel <PlayerID> <Amount>");
  1100.         }
  1101.         if (!IsPlayerConnected(target))
  1102.             return SendClientMessage(playerid,0xAA3333AA,"ERROR: Player isn't Connected.");
  1103.  
  1104.         if(PlayerData[target][player_admin] == lvl)
  1105.             return SendClientMessage(playerid,0xAA3333AA,"Error: This player already in this lvl");
  1106.  
  1107.  
  1108.         PlayerData[target][player_admin] = lvl;
  1109.         format(msg,sizeof(msg),"Server Adminitstrator %s[%d] Has Promoted you to Admin Level %d | Congrats",GetName(playerid),playerid,lvl);
  1110.         format(msg2,sizeof(msg2),"Admin %s[%d] has Set %s[%d]'s Admin Level to %d | Congrats",GetName(playerid),playerid,GetName(target),target,lvl);
  1111.         SendClientMessage(target,0xADFF2FAA,msg);
  1112.         SendClientMessageToAll(0xADFF2FAA,msg2);
  1113.     }
  1114.  
  1115.     else
  1116.     {
  1117.         return SendClientMessage(playerid,0xAA3333AA,"Error: You Can't Use This Command.");
  1118.     }
  1119.    
  1120.     return 1;
  1121. }
  1122.  
  1123. CMD:setvip(playerid, params[])
  1124. {
  1125.     if(IsPlayerAdmin(playerid)||PlayerData[playerid][player_admin]>=3)
  1126.     {
  1127.         new target,lvl,msg[256],msg2[256];
  1128.         if(sscanf(params, "ui", target, lvl))
  1129.         {
  1130.             return SendClientMessage(playerid, 0xAA3333AA, "USAGE:setvip <PlayerID> <Amount>");
  1131.         }
  1132.         if (!IsPlayerConnected(target))
  1133.             return SendClientMessage(playerid,0xAA3333AA,"ERROR: Player isn't Connected.");
  1134.  
  1135.         if(PlayerData[target][player_vips] == lvl)
  1136.             return SendClientMessage(playerid,0xAA3333AA,"Error: This player already in this lvl");
  1137.  
  1138.         PlayerData[target][player_vips] = lvl;
  1139.         format(msg,sizeof(msg),"Server Adminitstrator %s[%d] Has Promoted you to VIP Level %d | Congrats",GetName(playerid),playerid,lvl);
  1140.         format(msg2,sizeof(msg2),"Admin %s[%d] has Set %s[%d]'s VIP Level to %d | Congrats",GetName(playerid),playerid,GetName(target),target,lvl);
  1141.         SendClientMessage(target,0xADFF2FAA,msg);
  1142.         SendClientMessageToAll(0xADFF2FAA,msg2);
  1143.         SetPlayerColor(playerid, 0xFF00FFFF);
  1144.  
  1145.     }
  1146.     else
  1147.     {
  1148.         return SendClientMessage(playerid,0xAA3333AA,"Error: You Can't Use This Command.");
  1149.     }
  1150.     return 1;
  1151. }
  1152.  
  1153. CMD:admins(playerid,params[])
  1154. {
  1155.     new string[256],count=0;
  1156.     new msg[1999];
  1157.  
  1158.     for(new i=0;i<MAX_PLAYERS;i++)
  1159.     {
  1160.         if(IsPlayerConnected(i))
  1161.         {
  1162.             if(PlayerData[i][player_admin]>1)
  1163.             {
  1164.                 switch(PlayerData[i][player_admin])
  1165.                 {
  1166.                     case 1:
  1167.                     {
  1168.                         format(string,sizeof(string),"{FFB700}\n %s[%d] {00FF00}[Server Moderator]",GetName(i),i);
  1169.                         strcat(msg,string,999);
  1170.                         SendClientMessage(playerid, 0xFF9900AA, string);
  1171.                     }
  1172.  
  1173.                     case 2:
  1174.                     {
  1175.                         format(string,sizeof(string),"{FFB700}\n %s[%d] {00FF00}[Server Helper]",GetName(i),i);
  1176.                         strcat(msg,string,999);
  1177.                         SendClientMessage(playerid, 0xFF9900AA, string);
  1178.                     }
  1179.                        
  1180.                     case 3:
  1181.                     {
  1182.                         format(string,sizeof(string),"{FFB700}\n %s[%d] {00FF00}[Server Owner]",GetName(i),i);
  1183.                         strcat(msg,string,999);
  1184.                         SendClientMessage(playerid, 0xFF9900AA, string);
  1185.                     }
  1186.                        
  1187.                 }
  1188.                 count++;   
  1189.             }
  1190.         }
  1191.     }
  1192.     if( count == 0) SendClientMessage(playerid,0xAA3333AA,"There are no Admins online at the moment");
  1193.     return 1;
  1194. }
  1195.  
  1196. CMD:vips(playerid,params[])
  1197. {
  1198.     new string[256],count=0;
  1199.     new msg[1999];
  1200.  
  1201.     for(new i=0;i<MAX_PLAYERS;i++)
  1202.     {
  1203.         if(IsPlayerConnected(i))
  1204.         {
  1205.             if(PlayerData[i][player_vips]>1)
  1206.             {
  1207.                 switch(PlayerData[i][player_vips])
  1208.                 {
  1209.                     case 1:
  1210.                     {
  1211.                         format(string,sizeof(string),"{FFB700}\n %s[%d] {00FF00}[VIP Bronze]",GetName(i),i);
  1212.                         strcat(msg,string,999);
  1213.                         SendClientMessage(playerid, 0xFF9900AA, string);
  1214.                     }
  1215.  
  1216.                     case 2:
  1217.                     {
  1218.                         format(string,sizeof(string),"{FFB700}\n %s[%d] {00FF00}[VIP sliver]",GetName(i),i);
  1219.                         strcat(msg,string,999);
  1220.                         SendClientMessage(playerid, 0xFF9900AA, string);
  1221.                     }
  1222.                        
  1223.                     case 3:
  1224.                     {
  1225.                         format(string,sizeof(string),"{FFB700}\n %s[%d] {00FF00}[VIP Gold]",GetName(i),i);
  1226.                         strcat(msg,string,999);
  1227.                         SendClientMessage(playerid, 0xFF9900AA, string);
  1228.                     }
  1229.                        
  1230.                 }
  1231.                 count++;   
  1232.             }
  1233.         }
  1234.     }
  1235.     if( count == 0) SendClientMessage(playerid,0xAA3333AA,"There are no Vips online at the moment");
  1236.     return 1;
  1237. }
  1238.  
  1239. CMD:setmoney(playerid, params[])
  1240. {
  1241.     if(PlayerData[playerid][player_admin] < 3) return SendClientMessage(playerid,0xAA3333AA,"Error:You Can't Use This Command.");
  1242.     new target,money,msg[128];
  1243.     if (sscanf(params, "ui",target,money)) return SendClientMessage(playerid,0xAA3333AA,"USAGE:setmoney <PlayerID> <Amount>");
  1244.     if(!IsPlayerConnected(target)) return SendClientMessage(playerid, 0xAA3333AA,"ERROR: Player ins't Connected.");
  1245.     ResetPlayerMoney(target);
  1246.     GivePlayerMoney(target,money);
  1247.     format(msg,sizeof(msg),"You Have Set %s[%d]'s Money To:%d $",GetName(target),target,money);
  1248.     SendClientMessage(playerid,0x008000FF,msg);
  1249.     new str[128];
  1250.     format(str,sizeof(str), "Admin: %s[%d] Has Set %s[%d]'s Cash to %d $ . /setmoney", GetName(playerid),playerid,GetName(target),target,money);
  1251.     SendClientMessage(playerid, 0x008000FF, str);
  1252.     return 1;
  1253. }
  1254. CMD:setarmour(playerid, params[])
  1255. {
  1256.     if(PlayerData[playerid][player_admin] < 3) return SendClientMessage(playerid, 0xAA3333AA, "Error:You Can't Use This Command.");
  1257.     new target, armour, str[128];
  1258.     if(sscanf(params,"ui", target, armour)) return SendClientMessage(playerid, 0xAA3333AA, "USAGE: setarmour <PlayerID> <Ammount>.");
  1259.     if(!IsPlayerConnected(target)) return SendClientMessage(playerid, 0xAA3333AA,"ERROR: Player ins't Connected.");
  1260.     SetPlayerArmour(target,armour);
  1261.     format(str,sizeof(str), "Admin: %s[%d] Have Set %s[%d]'s Armour to %d . /SetArmour", GetName(playerid),playerid,GetName(target),target,armour);
  1262.     SendClientMessage(playerid, 0x008000FF, str);
  1263.     return 1;
  1264. }
  1265.  
  1266. CMD:lean(playerid,params[])
  1267. {
  1268.     if(PlayerData[playerid][player_vips] <=3)
  1269.     {
  1270.         ApplyAnimation(playerid, "Attractors", "Stepsit_loop", 4.1, 1, 0, 0, 1, 0,0);
  1271.     }
  1272.     return 1;
  1273. }
  1274.  
  1275. CMD:giveweap(playerid, params[])
  1276. {
  1277.     if(PlayerData[playerid][player_admin]<=3)
  1278.     {
  1279.         new targetid = INVALID_PLAYER_ID,weaponid, ammo;
  1280.         if(sscanf(params, "uii", targetid, weaponid, ammo))
  1281.         {
  1282.             return SendClientMessage(playerid, 0x33CCFFAA, "USAGE: /giveweap [id] [weaponid] [ammo]");
  1283.         }
  1284.         new targetName[MAX_PLAYER_NAME],weaponName[32],string[256];
  1285.         GetPlayerName(targetid, targetName, sizeof targetName);
  1286.         GetWeaponName(weaponid, weaponName, sizeof weaponName);
  1287.        
  1288.         GivePlayerWeapon(targetid, weaponid, ammo);
  1289.        
  1290.         format(string, sizeof(string), "You have given %s a %d with %d ammo.", targetName, weaponName, ammo);
  1291.         SendClientMessage(playerid, 0xFF9900AA, string);
  1292.     }
  1293.     return 1;
  1294. }
  1295.  
  1296. CMD:stats(playerid, params[])
  1297. {
  1298.     new string[128];
  1299.     SavePlayerFaction(playerid);
  1300.     if(IsPlayerConnected(playerid))
  1301.     {
  1302.         if(PlayerInfo[playerid][Member] == 1) Orgtiune = "Los Santos Police Department";
  1303.         else if(PlayerInfo[playerid][Member] == 0) Orgtiune = "Civil";
  1304.     }
  1305.     SendClientMessage(playerid, -1, "-----------------------------------------------------------------------");
  1306.     format(string, sizeof(string), "%q | Punish: %i ", GetName(playerid), PlayerInfo[playerid][punish]);
  1307.     SendClientMessage(playerid, -1, string);
  1308.     format(string, sizeof(string), "Faction: %q | Rank: %q", Orgtiune, RankOrgiune);
  1309.     SendClientMessage(playerid, -1, string);
  1310.     SendClientMessage(playerid, -1, "-----------------------------------------------------------------------");
  1311.     return 1;
  1312. }
  1313.  
  1314. CMD:ohelp(playerid, params[])
  1315. {
  1316.     SendClientMessage(playerid, -1, "Commands: /oinvite | /okick | /orankup | /setorgskin | /setorgveh |/setleader");
  1317.     return 1;
  1318. }
  1319.  
  1320. CMD:oinvite(playerid, params[])
  1321. {
  1322.     new string[128], userid;
  1323.     if(!PlayerInfo[playerid][Leader]) return SendClientMessage(playerid, -1, "{ff0000}Error: {ffffff}You are not leader of this faction!");
  1324.     if(sscanf(params, "u", userid)) return SendClientMessage(playerid, -1, "{ffff00}Usage: {ffffff}/finvite <name|playerid>");
  1325.     if(playerid == userid) return SendClientMessage(playerid, -1, "{ff0000}Error: {ffffff}You can't invite yourself!");
  1326.     if(PlayerInfo[userid][Member] != 0 || PlayerInfo[userid][Leader] != 0) return SendClientMessage(playerid, -1, "{ff0000}Error: {ffffff}This player is a member of another faction!");
  1327.     /*------------------------------------------------------------------------*/
  1328.     PlayerInfo[userid][Member] = PlayerInfo[playerid][Leader];
  1329.     PlayerInfo[userid][rank] = 1;
  1330.     /*------------------------------------------------------------------------*/
  1331.     format(string, sizeof(string), "{00ffff}AdmBot: {ffffff}%q invited you in his faction.", GetName(playerid));
  1332.     SendClientMessage(userid, -1, string);
  1333.     format(string, sizeof(string), "{00ff00}Succes: {ffffff}You invited %q to join in your faction.", GetName(userid));
  1334.     SendClientMessage(playerid, -1, string);
  1335.     /*------------------------------------------------------------------------*/
  1336.     format(string, sizeof(string), "UPDATE `ORGS` SET `MEMBER` = '%i', `RANK` = '%i' WHERE `NAME` = '%q'", PlayerInfo[userid][Member], PlayerInfo[userid][rank], DB_Escape(GetName(userid)));
  1337.     db_free_result(db_query(org_database, string));
  1338.     return 1;
  1339. }
  1340.  
  1341. CMD:okick(playerid, params[])
  1342. {
  1343.     new string[128],userid;
  1344.     if(!PlayerInfo[playerid][Leader]) return SendClientMessage(playerid, -1, "{ff0000}Error: {ffffff}You are not leader of this faction!");
  1345.     if(sscanf(params, "u", userid)) return SendClientMessage(playerid, -1, "{ffff00}Usage: {ffffff}/fkick <name|playerid>");
  1346.     if(playerid == userid) return SendClientMessage(playerid, -1, "{ff0000}Error: {ffffff}You can't dismiss yourself!");
  1347.     if(PlayerInfo[userid][Member] != PlayerInfo[playerid][Leader]) return SendClientMessage(playerid, -1, "{ff0000}Error: {ffffff}This player is a member of another faction!");
  1348.     /*------------------------------------------------------------------------*/
  1349.     PlayerInfo[userid][Member] = 0;
  1350.     PlayerInfo[userid][rank] = 0;
  1351.     PlayerInfo[userid][punish] = 40;
  1352.     /*------------------------------------------------------------------------*/
  1353.     format(string, sizeof(string), "{00ffff}AdmBot: {ffffff}You were kicked out from this faction by %q.", GetName(playerid));
  1354.     SendClientMessage(userid, -1, string);
  1355.     format(string, sizeof(string), "{00ff00}Succes: {ffffff}You kicked out %q from your faction.", GetName(userid));
  1356.     SendClientMessage(playerid, -1, string);
  1357.     /*------------------------------------------------------------------------*/
  1358.     format(string, sizeof(string), "UPDATE `ORGS` SET `MEMBER` = '%i', `RANK` = '%i', `PUNISH` = '%i' WHERE Name = '%q'", PlayerInfo[playerid][Member], PlayerInfo[playerid][rank], PlayerInfo[playerid][punish], DB_Escape(GetName(playerid)));
  1359.     db_free_result(db_query(org_database, string));
  1360.     return (true);
  1361. }
  1362.  
  1363. CMD:orankup(playerid, params[])
  1364. {
  1365.     new string[128],userid,points;
  1366.     if(!PlayerInfo[playerid][Leader]) return SendClientMessage(playerid, -1, "{ff0000}Error: {ffffff}You are not leader of this faction!");
  1367.     if(sscanf(params, "ui", userid, points)) return SendClientMessage(playerid, -1, "{ffff00}Usage: {ffffff}/frankup <name|playerid> <rank>");
  1368.     else if(points < 1 || points > 6) return SendClientMessage(playerid, -1, "{ff0000}Error: {ffffff}The rank can only be 1 or 6.");
  1369.     if(PlayerInfo[userid][Member] != PlayerInfo[playerid][Leader]) return SendClientMessage(playerid, -1, "{ff0000}Error: {ffffff}This player is a member of another faction!");
  1370.     /*------------------------------------------------------------------------*/
  1371.     PlayerInfo[userid][rank] = points;
  1372.     /*------------------------------------------------------------------------*/
  1373.     format(string, sizeof(string), "{00ffff}AdmBot: {ffffff}%q has made you rank %i.", GetName(playerid), points);
  1374.     SendClientMessage(userid, -1, string);
  1375.     format(string, sizeof(string), "{00ff00}Succes: {ffffff}You have made %q rank %i.", GetName(userid), points);
  1376.     SendClientMessage(playerid, -1, string);
  1377.     /*------------------------------------------------------------------------*/
  1378.     format(string, sizeof(string), "UPDATE `ORGS` SET `RANK` = '%i' WHERE `NAME` = '%q'", PlayerInfo[userid][rank], DB_Escape(GetName(userid)));
  1379.     db_free_result(db_query(org_database, string));
  1380.     return 1;
  1381. }
  1382.  
  1383. CMD:setleader(playerid, params[])
  1384. {
  1385.     new string[128],orgid, userid;
  1386.     if(!PlayerData[playerid][player_admin]) return SendClientMessage(playerid, -1, "{ff0000}Error: {ffffff}You are not a admin!");
  1387.     if(PlayerData[playerid][player_admin]<=3)
  1388.     {
  1389.         if(sscanf(params, "ui", userid, orgid)) return SendClientMessage(playerid, -1, "{ffff00}Usage: {ffffff}/setleader <name|playerid> <orgid>");
  1390.         else if(orgid < 1 || orgid > 20) return SendClientMessage(playerid, -1, "{ff0000}Error: {ffffff}The Organization can only be 1 or 20.");
  1391.         /*------------------------------------------------------------------------*/
  1392.         PlayerInfo[userid][Leader] = orgid;
  1393.         PlayerInfo[userid][Member] = orgid;
  1394.         PlayerInfo[userid][rank] = 6;
  1395.         /*------------------------------------------------------------------------*/
  1396.         format(string, sizeof(string), "{00ffff}AdmBot: {ffffff}%q has made you leader for a faction.", GetName(playerid));
  1397.         SendClientMessage(userid, -1, string);
  1398.         format(string, sizeof(string), "{00ff00}Succes: {ffffff}You have made %q leader for a faction.", GetName(userid));
  1399.         SendClientMessage(playerid, -1, string);
  1400.         /*------------------------------------------------------------------------*/
  1401.         format(string, sizeof(string), "UPDATE `ORGS` SET `LEADER` = '%i', `MEMBER` = '%i', `RANK` = '%i' WHERE `NAME` = '%q'", PlayerInfo[userid][Leader], PlayerInfo[userid][Member], PlayerInfo[userid][rank], DB_Escape(GetName(userid)));
  1402.         db_free_result(db_query(org_database, string));
  1403.     }
  1404.     return (true);
  1405. }
  1406.  
  1407. CMD:createorg(playerid, params[])
  1408. {
  1409.     new orgid;
  1410.     if(PlayerData[playerid][player_admin]<=3)
  1411.     {
  1412.         if(sscanf(params,"i",orgid)) return SendClientMessage(playerid, 0x7CFC00AA, "USAGE:/createorg <orgid>");
  1413.         orgcp = CreateDynamicCP(1554.6377,-1676.9808,16.1953, 2, -1,-1, -1, 300.0, -1, 0);
  1414.         orgdoor = CreateDynamicCP(246.8126,62.6512,1003.6406, 1, -1, -1, -1, 300.0,-1, 0);
  1415.         Create3DTextLabel("Los Santos Police Department", 0x0000BBAA, 1560.6473, -1776.9909, 16.1953, 30, -1, 0);
  1416.     }
  1417.     return 1;
  1418. }
  1419.  
  1420. CMD:setorgskin(playerid, params[])
  1421. {
  1422.     new orgid, skinid;
  1423.     if(sscanf(params, "ii", orgid, skinid)) return SendClientMessage(playerid, 0x0000BBAA, "USAGE:/setorgskin <orgid> <skinid> <skinid>");
  1424.    
  1425.     // OrgData[orgid][Skin1]=SetPlayerSkin(playerid, 280);
  1426.    
  1427.     // OrgData[orgid][Skin2]=SetPlayerSkin(playerid, 284);
  1428.    
  1429.     SendClientMessage(playerid, 0x000080AA, "Skins are applied to this Organization");
  1430.     return 1;
  1431. }
  1432.  
  1433.  
  1434. stock SavePlayerFaction(playerid)
  1435. {
  1436.     new query[256];
  1437.     format(query, sizeof(query), "UPDATE `ORGS` SET `MEMBER` = '%i', `LEADER` ='%i', 'RANK' = '%i', 'PUNISH' = '%i' WHERE `NAME` = '%q'", PlayerInfo[playerid][Member],PlayerInfo[playerid][Leader], PlayerInfo[playerid][rank],PlayerInfo[playerid][punish],DB_Escape(GetName(playerid)));
  1438.     db_free_result(db_query(org_database, query));
  1439.     return 1;
  1440. }
  1441.  
  1442. CMD:exit(playerid, params[])
  1443. {
  1444.     SetPlayerPos(playerid, 1551.2473,-1675.0258,15.7616);
  1445.     SetPlayerFacingAngle(playerid,94.0734);
  1446.     SetPlayerInterior(playerid, 0);
  1447.     return 1;
  1448. }
  1449.  
  1450. CMD:setorgveh(playerid,params[])
  1451. {
  1452.     new orgid, vid;
  1453.     if(!IsPlayerAdmin(playerid)) return 0;
  1454.     if(sscanf(params,"ui",orgid, vid)) return SendClientMessage(playerid, 0xFF4500AA, "USAGE:/setorgveh <orgid> <vid>");
  1455.  
  1456.     new Float:X,Float:Y,Float:Z,Float:A;
  1457.     if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid,0xFF4500AA,"You aren't in any vehicle.");
  1458.     GetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z);
  1459.     GetVehicleZAngle(GetPlayerVehicleID(playerid),A);
  1460.  
  1461.     if(vid == 1)
  1462.     {
  1463.         OrgData[orgid][car1] = CreateVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)),X,Y,Z,A,-1,-1,60);
  1464.     }
  1465.  
  1466.     if(vid == 2)
  1467.     {
  1468.         OrgData[orgid][car2] = CreateVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)),X,Y,Z,A,-1,-1,-1);
  1469.     }
  1470.  
  1471.     if(vid == 3)
  1472.     {
  1473.         OrgData[orgid][car3] = CreateVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)),X,Y,Z,A,-1,-1,-1);
  1474.     }
  1475.     if(vid == 4)
  1476.     {
  1477.         OrgData[orgid][car4] = CreateVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)),X,Y,Z,A,-1,-1,-1);
  1478.     }
  1479.     if(vid == 5)
  1480.     {
  1481.         OrgData[orgid][car5] = CreateVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)),X,Y,Z,A,-1,-1,-1);
  1482.     }
  1483.  
  1484.  
  1485.     new sl[256];
  1486.     format(sl,256,"** You have set vehicle id %d to organization vehicle, %s (Carid:%d).",GetVehicleModel(GetPlayerVehicleID(playerid)),vid);
  1487.     SendClientMessage(playerid,0x808000AA,sl);
  1488.  
  1489.     return 1;
  1490. }
  1491.  
Add Comment
Please, Sign In to add comment