Guest User

Untitled

a guest
Nov 16th, 2017
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 28.18 KB | None | 0 0
  1. /*
  2. Project Name:   Open - Grand Theft Online (Open-GTO)
  3. Web site:       http://open-gto.ru/
  4. Date started:   5 November 2009
  5.  
  6. SA-MP version:      0.3d and older
  7. Date started GTO:   12 August 2006
  8.  
  9. Developers:
  10.  
  11.     Open-GTO:
  12.         0.6.4 – current       ziggi
  13.         0.6.0 – 0.6.4     GhostTT, heufix, Elbi, ziggi
  14.  
  15.     GTO:
  16.         0.5.9 – 0.6.0     SCALOLaz
  17.         0.5.8 – 0.5.9     Robin Kikkert (dejavu), Lajos Pacsek (Asturel)
  18.         0.5.7 – 0.5.8     Peter Steenbergen (j1nx)
  19.         0.0.0 – 0.5.7     Iain Gilbert
  20.  
  21.     Translated to russian by Dmitry Borisoff (Beginner)
  22.  
  23. */
  24.  
  25. #include <a_samp>
  26. #include "utils/foreach"
  27. #include "config"
  28. #include "base"
  29. #include "lang"
  30. #include "utils/mxINI"
  31. #include "logging"
  32. #include "utils/gtoutils"
  33. #include "arrays"
  34. #include "pickup"
  35. #include "vehicles"
  36. #include "player/level"
  37. #include "player/vip"
  38. #include "player/weapon"
  39. #include "player/weapon_drop"
  40. #include "player/weapon_skill"
  41. #include "player/health"
  42. #include "player/armour"
  43. #include "player/vehicle"
  44. #include "bank"
  45. #include "fightstyles"
  46. #include "account"
  47. #include "player"
  48. #include "weapons"
  49. #include "zones"
  50. #include "world"
  51. #include "commands"
  52. #include "gang"
  53. #include "housing"
  54. #include "business"
  55. #include "streamers/mapicon_stream"
  56. #include "streamers/checkpoint_stream"
  57. #include "race"
  58. #include "deathmatch"
  59. #include "payday"
  60. #include "groundhold"
  61. #include "admin/functions"
  62. #include "admin/admin_func"
  63. #include "admin/mod_func"
  64. #include "admin/admin_commands"
  65. #include "admin/admin_commands_race"
  66. #include "admin/admin_commands_dm"
  67. #include "admin/admin_commands_sys"
  68. #include "admin/adm_commands"
  69. #include "admin/mod_commands"
  70. #include "missions"
  71. #include "missions/trucker"
  72. #include "click"
  73. #include "services/fastfood"
  74. #include "services/bar"
  75. #include "services/skinshop"
  76. #include "services/lottery"
  77. #include "services/vehshop"
  78. #include "interior"
  79. #include "weather"
  80. #include "swagup"
  81. #include "quidemsys"
  82. #include "usermenu"
  83. #include "anims"
  84. #include "protections/money"
  85. #include "protections/idle"
  86. #include "protections/rconhack"
  87. #include "protections/hightping"
  88. #include "protections/chatguard"
  89. #include "protections/jetpack"
  90. #include "protections/speedhack"
  91. #include "protections/weaponhack"
  92. // Races
  93. #tryinclude "races/race_monstertruck"
  94. #tryinclude "races/race_thestrip"
  95. #tryinclude "races/race_riversiderun"
  96. #tryinclude "races/race_fleethecity"
  97. #tryinclude "races/race_lostinsmoke"
  98. #tryinclude "races/race_backstreetbang"
  99. #tryinclude "races/race_flyingfree"
  100. #tryinclude "races/race_murderhorn"
  101. #tryinclude "races/race_roundwego"
  102. #tryinclude "races/race_striptease"
  103. #tryinclude "races/race_countrycruise"
  104. #tryinclude "races/race_thegrove"
  105. #tryinclude "races/race_mullholland"
  106. #tryinclude "races/race_lv_julius"
  107. #tryinclude "races/race_ls_trailer1"
  108. #tryinclude "races/race_sf_fuckinwood1"
  109. #tryinclude "races/race_ls_majestic1"
  110.  
  111. // Deathmatches
  112. #tryinclude "deathmatches/dm_air"
  113. #tryinclude "deathmatches/dm_area51"
  114. #tryinclude "deathmatches/dm_badandugly"
  115. #tryinclude "deathmatches/dm_bluemountains"
  116. #tryinclude "deathmatches/dm_cargoship"
  117. #tryinclude "deathmatches/dm_dildo"
  118. #tryinclude "deathmatches/dm_mbase"
  119. #tryinclude "deathmatches/dm_minigunmadness"
  120. #tryinclude "deathmatches/dm_poolday"
  121. #tryinclude "deathmatches/dm_usnavy"
  122.  
  123. main() {}
  124.  
  125. public OnGameModeInit()
  126. {
  127.     SetGameModeText("Open-GTO "#VERSION);
  128.     // Initialize everything that needs it
  129.     lang_OnGameModeInit();
  130.     logging_OnGameModeInit();
  131.     base_OnGameModeInit();
  132.     account_OnGameModeInit();
  133.     player_OnGameModeInit();
  134.     gang_OnGameModeInit();
  135.     payday_OnGameModeInit();
  136.     weapons_OnGameModeInit();
  137.     vehicles_OnGameModeInit();
  138.     race_OnGameModeInit();
  139.     deathmatch_OnGameModeInit();
  140.     groundhold_OnGameModeInit();
  141.     business_OnGameModeInit();
  142.     housing_OnGameModeInit();
  143.     interior_OnGameModeInit();
  144.     bank_OnGameModeInit();
  145.     fights_OnGameModeInit();
  146.     weapon_OnGameModeInit();
  147.     quidemsys_OnGameModeInit();
  148.     lottery_OnGameModeInit();
  149.     swagup_OnGameModeInit();
  150.     vip_OnGameModeInit();
  151.     // missions
  152.     mission_OnGameModeInit();
  153.     trucker_OnGameModeInit();
  154.     // services
  155.     fastfood_OnGameModeInit();
  156.     bar_OnGameModeInit();
  157.     ss_OnGameModeInit();
  158.     vshop_OnGameModeInit();
  159.     //
  160.     level_OnGameModeInit();
  161.     antiidle_OnGameModeInit();
  162.     antihightping_OnGameModeInit();
  163.     health_OnGameModeInit();
  164.     aah_OnGameModeInit();
  165.     money_OnGameModeInit();
  166.     chatguard_OnGameModeInit();
  167.     antijetpack_OnGameModeInit();
  168.     antirconhack_OnGameModeInit();
  169.     ash_OnGameModeInit();
  170.     awh_OnGameModeInit();
  171.     //
  172.     race_thestrip_init();
  173.     race_riversiderun_init();
  174.     race_fleethecity_init();
  175.     race_lostinsmoke_init();
  176.     race_backstreetbang_init();
  177.     race_flyingfree_init();
  178.     race_murderhorn_init();
  179.     race_roundwego_init();
  180.     race_striptease_init();
  181.     race_monstertruck_init();
  182.     race_countrycruise_init();
  183.     race_thegrove_init();
  184.     race_mullholland_init();
  185.     race_lv_julius_init();
  186.     race_ls_trailer1_init();
  187.     race_sf_fuckinwood1_init();
  188.     race_ls_majestic1_init();
  189.     //
  190.     dm_air_init();
  191.     dm_area51_init();
  192.     dm_badandugly_init();
  193.     dm_bluemountains_init();
  194.     dm_cargoship_init();
  195.     dm_dildo_init();
  196.     dm_mbase_init();
  197.     dm_minigunmadness_init();
  198.     dm_poolday_init();
  199.     dm_usnavy_init();
  200.  
  201.     #tryinclude "custom\mapicon"
  202.     #tryinclude "custom\pickups"
  203.     #tryinclude "custom\objects"
  204.     GameMSG("SERVER: Custom mapicons, objects and pickups init");
  205.  
  206.     SyncTime();
  207.     SetWeather( mathrandom(9, 18) );
  208.     SetTimer("OneSecTimer", 1000, 1); // 1 second
  209.     SetTimer("FiveSecondTimer", 5000, 1); // 5 second
  210.     SetTimer("OneMinuteTimer", 60000, 1); // 1 minute
  211.     SetTimer("TenMinuteTimer", 600000, 1); // 10 minute
  212.     SetTimer("OneHourTimer", 3600000, 1); // 1 hour
  213.     if (AntiSpeedHackEnabled == 1)
  214.     {
  215.         SetTimer("AntiSpeedHackTimer", ANTI_SPEED_HACK_CHECK_TIME, 1);
  216.     }
  217.     SetTimerEx("WorldSave", WORLD_SAVE_TIME, 1, "d", 0);
  218.     GameMSG("SERVER: Timers started");
  219.     SpawnWorld();
  220.  
  221.     WorldSave(0);
  222.     new hour, minute;
  223.     gettime(hour, minute);
  224.     GameMSG("SERVER: Open-GTO "#VERSION" initialization complete. [%02d:%02d]", hour, minute);
  225.     return 1;
  226. }
  227.  
  228. public OnGameModeExit()
  229. {
  230.     WorldSave(1);
  231.     new hour, minute;
  232.     gettime(hour, minute);
  233.     GameMSG("SERVER: Open-GTO "#VERSION" turned off. [%02d:%02d]", hour, minute);
  234.     return 1;
  235. }
  236.  
  237. public OnPlayerConnect(playerid)
  238. {
  239.     RemoveBuildingForPlayer(playerid, 3754, 1339.265, -2356.140, 17.093, 0.250);
  240.     PlayAudioStreamForPlayer(playerid,"http://d.zaix.ru/4VH3.mp3");
  241.     if (IsPlayerNPC(playerid)) return 1;
  242.     player_OnPlayerConnect(playerid);
  243.     account_OnPlayerConnect(playerid);
  244.     chatguard_OnPlayerConnect(playerid);
  245.     level_OnPlayerConnect(playerid);
  246.     weapon_OnPlayerConnect(playerid);
  247.     qudemsys_OnPlayerConnect(playerid);
  248.     return 1;
  249. }
  250.  
  251. public OnPlayerDisconnect(playerid, reason)
  252. {
  253.     if (playerid == INVALID_PLAYER_ID || IsPlayerNPC(playerid)) return 1;
  254.     SetPVarInt(playerid, "Spawned", 0);
  255.     player_OnPlayerDisconnect(playerid, reason);
  256.     trucker_OnPlayerDisconnect(playerid, reason);
  257.     chatguard_OnPlayerDisconnect(playerid, reason);
  258.     gh_OnPlayerDisconnect(playerid, reason);
  259.     level_OnPlayerDisconnect(playerid, reason);
  260.     weapon_OnPlayerDisconnect(playerid, reason);
  261.     qudemsys_OnPlayerDisconnect(playerid, reason);
  262.     pveh_OnPlayerDisconnect(playerid, reason);
  263.     return 1;
  264. }
  265.  
  266. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  267. {
  268.     if(dialogid == 1337)
  269.     {
  270.         if(listitem == 0)
  271.         {
  272.                     GivePlayerWeapon(playerid,24,9999);
  273.                     GivePlayerWeapon(playerid,26,9999);
  274.                     GivePlayerWeapon(playerid,31,9999);
  275.                     GivePlayerWeapon(playerid,32,9999);
  276.         }
  277.         if(listitem == 1)
  278.         {
  279.             GivePlayerWeapon(playerid,35,9999);
  280.             GivePlayerWeapon(playerid,34,9999);
  281.         }
  282.         if(listitem == 2)
  283.         {
  284.             SetPlayerPos(playerid, 268.6685, 1884.0040, -30.0938);
  285.         }
  286.     }
  287.     switch (dialogid)
  288.     {
  289.         case account_Log_DialogID, account_Reg_DialogID:
  290.         {
  291.             account_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
  292.         }
  293.         case house_DialogID, houses_DialogID, houses_upgrades_DialogID, houses_setrent_DialogID, house_sell_accept_DialogID:
  294.         {
  295.             housing_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
  296.         }
  297.         case bis_DialogID, bis_Msg_DialogID, bis_sell_accept_DialogID:
  298.         {
  299.             business_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
  300.         }
  301.         case fightstyles_DialogID, fightstyles_user_DialogID:
  302.         {
  303.             fights_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
  304.         }
  305.         case user_menu_DialogID, user_menu_Return_DialogID,
  306.             vehicle_menu_DialogID, spawnselect_menu_DialogID, vehicle_color_menu_DialogID, vehicle_radio_menu_DialogID,
  307.             settings_menu_DialogID, changenick_menu_DialogID, changepass_menu_DialogID,
  308.             teleport_menu_DialogID,
  309.             gang_menu_DialogID, gang_create_menu_DialogID, gang_invite_menu_DialogID, gang_color_menu_DialogID,
  310.             gang_motd_menu_DialogID, gang_kick_menu_DialogID, gang_exit_accept_menu_DialogID,
  311.             pveh_select_DialogID, pveh_do_DialogID:
  312.         {
  313.             usermenu_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
  314.         }
  315.         case weapons_Select_DialogID, weapons_Buy_DialogID:
  316.         {
  317.             weapons_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
  318.         }
  319.         case bank_Start_DialogID, bank_FirstList_DialogID, bank_Withdraw_DialogID, bank_Deposit_DialogID,
  320.             gang_wmoney_menu_DialogID, gang_dmoney_menu_DialogID:
  321.         {
  322.             bank_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
  323.         }
  324.         case click_DialogID, click_Resp_DialogID:
  325.         {
  326.             click_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
  327.         }
  328.         case bar_DialogID:
  329.         {
  330.             bar_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
  331.         }
  332.         case fastfood_DialogID:
  333.         {
  334.             fastfood_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
  335.         }
  336.         case SkinShop_Buy_DialogID:
  337.         {
  338.             ss_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
  339.         }
  340.         case trucker_DialogID, trucker_cancel_DialogID:
  341.         {
  342.             trucker_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
  343.         }
  344.         case vshop_DialogID:
  345.         {
  346.             vshop_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
  347.         }
  348.         case anims_lib_menu_DialogID, anims_anim_menu_DialogID:
  349.         {
  350.             anims_OnDialogResponse(playerid, dialogid, response, listitem, inputtext);
  351.         }
  352.     }
  353.     return 1;
  354. }
  355.  
  356. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  357. {
  358.     click_OnPlayerClickPlayer(playerid, clickedplayerid);
  359.     return 1;
  360. }
  361.  
  362. public OnPlayerPickUpPickup(playerid, pickupid)
  363. {
  364.     weapon_OnPlayerPickUpPickup(playerid, pickupid);
  365.     aah_OnPlayerPickUpPickup(playerid, pickupid);
  366.     awh_OnPlayerPickUpPickup(playerid, pickupid);
  367.     swagup_OnPlayerPickUpPickup(playerid, pickupid);
  368.     vip_OnPlayerPickUpPickup(playerid, pickupid);
  369.     return 1;
  370. }
  371.  
  372. public OnPlayerEnterCheckpoint(playerid)
  373. {
  374.     dm_OnPlayerEnterCheckpoint(playerid);
  375.     trucker_OnPlayerEnterCheckpoint(playerid);
  376.     return 1;
  377. }
  378.  
  379. public OnPlayerEnterRaceCheckpoint(playerid)
  380. {
  381.     race_OnPlayerEnterCheckpoint(playerid);
  382.     return 1;
  383. }
  384.  
  385. public OnPlayerDeath(playerid, killerid, reason)
  386. {
  387.     GameTextForPlayer(playerid,"~r~Dead",3500,0);
  388.     if (!IsPlayerConnected(playerid) || IsPlayerNPC(playerid)) return 1;
  389.     SetPVarInt(playerid, "Spawned", 0);
  390.     if (killerid == INVALID_PLAYER_ID)
  391.         GameMSG("player: %s(%d): has died > Reason: (%d)", oGetPlayerName(playerid), playerid, reason);
  392.     else
  393.         GameMSG("player: %s(%d): has killed player %s(%d)> Reason: (%d)", oGetPlayerName(killerid), killerid, oGetPlayerName(playerid), playerid, reason);
  394.  
  395.     SendDeathMessage(killerid, playerid, reason);
  396.  
  397.     if (killerid == INVALID_PLAYER_ID) return 1;
  398.  
  399.     if (IsPlayerInAnyDM(playerid))
  400.     {
  401.         deathmatch_OnPlayerDeath(playerid, killerid);
  402.         deathmatch_OnPlayerKill(killerid, playerid, reason);
  403.         return 1;
  404.     }
  405.     player_OnPlayerDeath(playerid, killerid, reason);
  406.     player_OnPlayerKill(killerid, playerid, reason);
  407.     trucker_OnPlayerDeath(playerid, killerid, reason);
  408.     gang_OnPlayerDeath(playerid, killerid, reason);
  409.     weapon_OnPlayerDeath(playerid, killerid, reason);
  410.     level_HideTextDraws(playerid);
  411.     PlayCrimeReportForPlayer(killerid, killerid, random(18)+3);
  412.     PlayCrimeReportForPlayer(playerid, killerid, random(18)+3);
  413.     return 1;
  414. }
  415.  
  416. public OnPlayerSpawn(playerid)
  417. {
  418.     if (IsPlayerNPC(playerid)) return 1;
  419.  
  420.     anims_OnPlayerSpawn(playerid);
  421.     // ïîñëå èñïîëüçîâàíèÿ TogglePlayerSpectating
  422.     if (GetPVarInt(playerid, "spec_after_off") == 1)
  423.     {
  424.         DeletePVar(playerid, "spec_after_off");
  425.         return 1;
  426.     }
  427.  
  428.     // spawn player
  429.     SetPlayerSkin(playerid, GetPlayerSkinModel(playerid));
  430.     UpdatePlayerLevelTextDraws(playerid);
  431.     UpdatePlayerWeaponTextDraws(playerid);
  432.  
  433.     if (GetPlayerMuteTime(playerid) != 0)
  434.     {
  435.         SendClientMessage(playerid, COLOUR_RED, lang_texts[1][14]);
  436.         SetPlayerWantedLevel(playerid, 3);
  437.     }
  438.     new dmid = GetPlayerDM(playerid);
  439.     if (dmid == INVALID_DM_ID || DMPlayerStats[playerid][dm_player_active] == 0) {
  440.         player_OnPlayerSpawn(playerid);
  441.     } else {
  442.         deathmatch_OnPlayerSpawn(playerid, dmid);
  443.     }
  444.     SetPlayerColor(playerid, PlayerGangColour(playerid));
  445.     if (IsPlayerJailed(playerid))
  446.     {
  447.         JailPlayer(playerid, GetPlayerJailTime(playerid));
  448.     }
  449.     SetTimerEx("OnPlayerSpawned", 2500, 0, "d", playerid);
  450.     return 1;
  451. }
  452.  
  453. forward OnPlayerSpawned(playerid);
  454. public OnPlayerSpawned(playerid)
  455. {
  456.     SetPVarInt(playerid, "Spawned", 1);
  457.     return 1;
  458. }
  459.  
  460. public OnPlayerRequestClass(playerid, classid)
  461. {
  462.     SetPVarInt(playerid, "Spawned", 0);
  463.     player_OnPlayerRequestClass(playerid, classid);
  464.     weapon_OnPlayerRequestClass(playerid, classid);
  465.     level_HideTextDraws(playerid);
  466.     return 1;
  467. }
  468.  
  469. public OnPlayerRequestSpawn(playerid)
  470. {
  471.     StopAudioStreamForPlayer(playerid);
  472.     if (!IsPlayerLogin(playerid)) return 0;
  473.     return 1;
  474. }
  475.  
  476. public OnPlayerCommandText(playerid, cmdtext[])
  477. {
  478.     if (!IsPlayerLogin(playerid))
  479.     {
  480.         return SendClientMessage(playerid, -1, lang_texts[1][46]);
  481.     }
  482.     // commands.inc
  483.     command_register(cmdtext, "/help", 5, commands);
  484.     command_register(cmdtext, "/commands", 9, commands);
  485.     command_register(cmdtext, "/info", 5, commands);
  486.     command_register(cmdtext, "/objective", 10, commands);
  487.     command_register(cmdtext, "/sound", 6, commands);
  488.     command_register(cmdtext, "/stats", 6, commands);
  489.     command_register(cmdtext, "/status", 7, commands);
  490.     command_register(cmdtext, "/stat", 5, commands);
  491.     command_register(cmdtext, "/version", 8, commands);
  492.     command_register(cmdtext, "/time", 5, commands);
  493.     command_register(cmdtext, "/skydive", 8, commands);
  494.     command_register(cmdtext, "/dance", 6, commands);
  495.     command_register(cmdtext, "/handsup", 8, commands);
  496.     command_register(cmdtext, "/piss", 5, commands);
  497.     command_register(cmdtext, "/smoke", 6, commands);
  498.     command_register(cmdtext, "/pm", 3, commands);
  499.  
  500.     // Lottery
  501.     command_register(cmdtext, "/lottery", 8, lottery);
  502.  
  503.     // QuidemSys
  504.     command_register(cmdtext, "/fill", 5, quidemsys);
  505.     command_register(cmdtext, "/engine", 7, quidemsys);
  506.  
  507.     // vehicles
  508.     command_register(cmdtext, "/vmenu", 6, vehicles);
  509.  
  510.     // gangs
  511.     command_register(cmdtext, "/g", 2, gang);
  512.     command_register(cmdtext, "/gang", 5, gang);
  513.  
  514.     // race
  515.     command_register(cmdtext, "/races", 6, race);
  516.     command_registerNR(cmdtext, "/race", 5, race);
  517.  
  518.     // admin race
  519.     command_registerNR(cmdtext, "/race", 5, AdminRace);
  520.  
  521.     // rcon admins
  522.     command_registerNR(cmdtext, "/cmdlist", 8, Admin);
  523.     command_registerNR(cmdtext, "/about", 6, Admin);
  524.     command_register(cmdtext, "/carinfo", 8, Admin);
  525.     command_register(cmdtext, "/carrep", 7, Admin);
  526.     command_register(cmdtext, "/go", 3, Admin);
  527.     command_register(cmdtext, "/an", 3, Admin);
  528.     command_register(cmdtext, "/payday", 7, Admin);
  529.     command_register(cmdtext, "/boom", 5, Admin);
  530.     command_register(cmdtext, "/setskin", 8, Admin);
  531.     command_register(cmdtext, "/ssay", 5, Admin);
  532.     command_register(cmdtext, "/skydiveall", 11, Admin);
  533.     command_register(cmdtext, "/disarm", 7, Admin);
  534.     command_register(cmdtext, "/disarmall", 10, Admin);
  535.     command_register(cmdtext, "/paralyzeall", 12, Admin);
  536.     command_register(cmdtext, "/deparalyzeall", 14, Admin);
  537.     command_register(cmdtext, "/remcash", 8, Admin);
  538.     command_register(cmdtext, "/remcashall", 11, Admin);
  539.     command_register(cmdtext, "/setlvl", 7, Admin);
  540.     command_register(cmdtext, "/setstatus", 10, Admin);
  541.     command_register(cmdtext, "/allowport", 10, Admin);
  542.     command_register(cmdtext, "/setvip", 7, Admin);
  543.     command_register(cmdtext, "/underwater", 11, Admin);
  544.     command_register(cmdtext, "/ahideme", 8, Admin);
  545.     command_register(cmdtext, "/ashowme", 8, Admin);
  546.     command_register(cmdtext, "/godmod", 7, Admin);
  547.  
  548.     // dm
  549.     command_register(cmdtext, "/deathmatches", 13, dm);
  550.     command_register(cmdtext, "/dms", 4, dm);
  551.     command_registerNR(cmdtext, "/dm", 3, dm);
  552.  
  553.     // admin dm
  554.     command_registerNR(cmdtext, "/dm", 3, AdminDM);
  555.  
  556.     // admin sys
  557.     command_register(cmdtext, "/sys", 4, AdminSys);
  558.  
  559.     // admins
  560.     command_registerNR(cmdtext, "/cmdlist", 8, Adm);
  561.     command_registerNR(cmdtext, "/about", 6, Adm);
  562.     command_register(cmdtext, "/say", 4, Adm);
  563.     command_register(cmdtext, "/pinfo", 6, Adm);
  564.     command_register(cmdtext, "/admincnn", 9, Adm);
  565.     command_register(cmdtext, "/akill", 6, Adm);
  566.     command_register(cmdtext, "/tele-set", 9, Adm);
  567.     command_register(cmdtext, "/tele-loc", 9, Adm);
  568.     command_register(cmdtext, "/tele-to", 8, Adm);
  569.     command_register(cmdtext, "/tele-here", 10, Adm);
  570.     command_register(cmdtext, "/tele-hereall", 13, Adm);
  571.     command_register(cmdtext, "/tele-xyzi", 10, Adm);
  572.     command_register(cmdtext, "/sethealth", 10, Adm);
  573.     command_register(cmdtext, "/setarm", 7, Adm);
  574.     command_register(cmdtext, "/givexp", 7, Adm);
  575.     command_register(cmdtext, "/agivecash", 10, Adm);
  576.     command_register(cmdtext, "/givegun", 8, Adm);
  577.     command_register(cmdtext, "/paralyze", 9, Adm);
  578.     command_register(cmdtext, "/deparalyze", 11, Adm);
  579.     command_register(cmdtext, "/showpm", 7, Adm);
  580.     command_register(cmdtext, "/getip", 6, Adm);
  581.     command_register(cmdtext, "/ban", 4, Adm);
  582.     command_register(cmdtext, "/unban", 6, Adm);
  583.  
  584.     // moderators
  585.     command_registerNR(cmdtext, "/cmdlist", 8, Mod);
  586.     command_registerNR(cmdtext, "/about", 6, Mod);
  587.     command_register(cmdtext, "/plist", 6, Mod);
  588.     command_register(cmdtext, "/remcar", 7, Mod);
  589.     command_register(cmdtext, "/kick", 5, Mod);
  590.     command_register(cmdtext, "/carresp", 8, Mod);
  591.     command_register(cmdtext, "/carrespall", 11, Mod);
  592.     command_register(cmdtext, "/mute", 5, Mod);
  593.     command_register(cmdtext, "/unmute", 7, Mod);
  594.     command_register(cmdtext, "/jail", 5, Mod);
  595.     command_register(cmdtext, "/unjail", 7, Mod);
  596.     command_register(cmdtext, "/mole", 5, Mod);
  597.     command_register(cmdtext, "/spec", 5, Mod);
  598.     command_register(cmdtext, "/clearchat", 10, Mod);
  599.     command_register(cmdtext, "/weather", 8, Mod);
  600.  
  601.     new logstring[MAX_STRING];
  602.     format(logstring, sizeof(logstring), "Player: %s"CHAT_SHOW_ID": %s", oGetPlayerName(playerid), playerid, cmdtext);
  603.     WriteLog(CMDLog, logstring);
  604.     return 1;
  605. }
  606.  
  607. public OnPlayerText(playerid, text[])
  608. {
  609.     if (!IsPlayerLogin(playerid))
  610.     {
  611.         SendClientMessage(playerid, -1, lang_texts[1][46]);
  612.         return 0;
  613.     }
  614.     if (chatguard_OnPlayerText(playerid, text) == 0) return 0;
  615.  
  616.     new playername[MAX_PLAYER_NAME+1];
  617.     GetPlayerName(playerid, playername, sizeof(playername));
  618.     new vip_prefix[16];
  619.     if (GetPlayerVIP(playerid)) {
  620.         strcat(vip_prefix, "{FFFF00}[VIP] ");
  621.     }
  622.     new adm_prefix[16];
  623.     if (IsPlayerAdm(playerid)) {
  624.         strcat(adm_prefix, "{FF0000}[Admin] ");
  625.     }
  626.     new gang_prefix[16];
  627.     if (GetPlayerGangID(playerid) != 0) {
  628.     format(gang_prefix, sizeof(gang_prefix), "[%s] ", GetPlayerGangName(playerid));
  629.     }
  630.     new string[MAX_STRING];
  631.     switch (text[0])
  632.     {
  633.         case '!':
  634.         {
  635.             if (GetPVarInt(playerid, "GangID") == 0 || GetPlayerMuteTime(playerid) > 0)
  636.             {
  637.                 SendClientMessage(playerid, COLOUR_RED, lang_texts[1][14]);
  638.                 return 0;
  639.             }
  640.             if (strlen(text[1]) < 2) return 0;
  641.             format(string, sizeof(string), "%s%s%s"CHAT_SHOW_ID" áàíäå: {FFFFFF}%s", adm_prefix, vip_prefix, playername, playerid, text[1]);
  642.             SendGangMessage(GetPVarInt(playerid, "GangID"), string, COLOUR_GANG_CHAT);
  643.             format(string, sizeof(string), "Player: %s"CHAT_SHOW_ID": <GANG CHAT>: %s", playername, playerid, text[1]);
  644.             WriteLog(ChatLog, string);
  645.             return 0;
  646.         }
  647.         case '@','"':
  648.         {
  649.             if (strlen(text[1]) < 2) return 0;
  650.             SendClientMessageToAdmins(playerid, text[1]);
  651.             format(string, sizeof(string), "Player: %s"CHAT_SHOW_ID": <ADMIN TALK>: %s", playername, playerid, text[1]);
  652.             WriteLog(ChatLog, string);
  653.             return 0;
  654.         }
  655.         case '#','¹':
  656.         {
  657.             if (strlen(text[1]) < 2) return 0;
  658.             SendClientMessageToModers(playerid, text[1]);
  659.             format(string, sizeof(string), "Player: %s"CHAT_SHOW_ID": <MODERATOR TALK>: %s", playername, playerid, text[1]);
  660.             WriteLog(ChatLog, string);
  661.             return 0;
  662.         }
  663.         case '$',';':
  664.         {
  665.             if (strlen(text[1]) < 2) return 0;
  666.             if (GetPlayerMuteTime(playerid) > 0)
  667.             {
  668.                 SendClientMessage(playerid, COLOUR_RED, lang_texts[1][14]);
  669.                 return 0;
  670.             }
  671.             SendClientMessageToBeside(playerid, 10, text[1]);
  672.             format(string, sizeof(string), "Player: %s"CHAT_SHOW_ID": <SAY>: %s", playername, playerid, text[1]);
  673.             WriteLog(ChatLog, string);
  674.             return 0;
  675.         }
  676.     }
  677.     if (GetPlayerMuteTime(playerid) != 0)  //Çàòêíóò
  678.     {
  679.         SendClientMessage(playerid, COLOUR_RED, lang_texts[1][14]);
  680.         return 0;
  681.     }
  682.     format(string, sizeof(string), "%s%s%s%s {81AE00}[id: %d]: {FFFFFF}%s", gang_prefix, adm_prefix, vip_prefix, playername, playerid, text);
  683.     SendClientMessageToAll(GetPlayerColor(playerid), string);
  684.     format(string, sizeof(string), "Player: %s"CHAT_SHOW_ID": %s", playername, playerid, text);
  685.     WriteLog(ChatLog, string);
  686.     return 0;
  687. }
  688.  
  689. public OnPlayerUpdate(playerid)
  690. {
  691.     return 1;
  692. }
  693.  
  694. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  695. {
  696.     if (newkeys == 65536) // 2 ýòî èä êíîïêè
  697.     {
  698.         OnPlayerCommandText(playerid,"/vmenu"); //Ñàìà êîìàíäà, êîòîðàÿ áóäåò àêòèâèðîâàòüñÿ ñ êíîïêè
  699.     }
  700.     if ( PRESSED( KEY_FIRE ) || PRESSED ( KEY_SECONDARY_ATTACK ) )
  701.     {
  702.         if ( GetPVarInt(playerid, "bar_Drinking") == 1 ) return bar_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  703.     }
  704.     if ( PRESSED ( KEY_USING ) || PRESSED ( KEY_FIRE ) || PRESSED ( KEY_HANDBRAKE ) )
  705.     {
  706.         if ( IsPlayerAtSkinShop(playerid) ) return ss_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  707.     }
  708.     if ( PRESSED ( KEY_USING ) )
  709.     {
  710.         if ( IsPlayerAtEnterExit(playerid) ) return interior_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  711.         if ( IsPlayerAtHouse(playerid) ) return housing_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  712.         if ( IsPlayerAtBusiness(playerid) ) return business_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  713.         if ( IsPlayerAtBank(playerid) != -1 ) return bank_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  714.         if ( IsPlayerAtAmmunation(playerid) != -1 ) return weapons_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  715.         if ( GetPlayerFightTrenerID(playerid) != -1 ) return fights_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  716.         if ( IsPlayerAtFastFood(playerid) ) return fastfood_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  717.         if ( IsPlayerAtBar(playerid) ) return bar_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  718.         show_menu(playerid);
  719.         return 1;
  720.     }
  721.     if ( PRESSED( KEY_SUBMISSION ) )
  722.     {
  723.         new vehicleid = GetPlayerVehicleID(playerid);
  724.         if ( vehicleid != 0 && IsVehicleIsRunner(vehicleid) )
  725.         {
  726.             trucker_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  727.         }
  728.         return 1;
  729.     }
  730.     return 1;
  731. }
  732.  
  733. public OnPlayerSelectedMenuRow(playerid, row)
  734. {
  735.     return 1;
  736. }
  737.  
  738. public OnPlayerExitedMenu(playerid)
  739. {
  740.     return 1;
  741. }
  742.  
  743. public OnPlayerStateChange(playerid, newstate, oldstate)
  744. {
  745.     vehicle_OnPlayerStateChange(playerid, newstate, oldstate);
  746.     ash_OnPlayerStateChange(playerid, newstate, oldstate);
  747.     qudemsys_OnPlayerStateChange(playerid, newstate, oldstate);
  748.     if (newstate == PLAYER_STATE_DRIVER)
  749.     {
  750.     #if defined OLD_ENGINE_DO
  751.         if (GetPlayerVehicleSeat(playerid) == 0)
  752.         {
  753.             new vehicleid = GetPlayerVehicleID(playerid);
  754.  
  755.             vehicle_Engine(vehicleid, VEHICLE_PARAMS_ON);
  756.  
  757.             new hour;
  758.             gettime(hour);
  759.             if (hour > VEHICLE_LIGHTS_ON_TIME || hour < VEHICLE_LIGHTS_OFF_TIME)
  760.             {
  761.                 vehicle_Light(vehicleid, VEHICLE_PARAMS_ON);
  762.             }
  763.         }
  764.     #endif
  765.         trucker_OnPlayerStateChange(playerid, newstate, oldstate);
  766.         vip_OnPlayerStateChange(playerid, newstate, oldstate);
  767.     }
  768.     if (newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
  769.     {
  770.         vshop_OnPlayerStateChange(playerid, newstate, oldstate);
  771.     }
  772.     return 1;
  773. }
  774.  
  775. public OnPlayerExitVehicle(playerid, vehicleid)
  776. {
  777. #if defined OLD_ENGINE_DO
  778.     if (GetPlayerVehicleSeat(playerid) == 0)
  779.         vehicle_Engine(vehicleid, VEHICLE_PARAMS_OFF);
  780. #endif
  781.     modfunc_OnPlayerExitVehicle(playerid, vehicleid);
  782.     awh_OnPlayerExitVehicle(playerid, vehicleid);
  783.     return 1;
  784. }
  785.  
  786. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  787. {
  788.     ash_OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid);
  789.     modfunc_OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid);
  790.     return 1;
  791. }
  792.  
  793. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  794. {
  795.     modfunc_OnPlayerEnterVehicle(playerid, vehicleid, ispassenger);
  796.     bar_OnPlayerEnterVehicle(playerid, vehicleid, ispassenger);
  797.     return 1;
  798. }
  799.  
  800. public OnPlayerStreamIn(playerid, forplayerid)
  801. {
  802.     return 1;
  803. }
  804.  
  805. public OnPlayerStreamOut(playerid, forplayerid)
  806. {
  807.     return 1;
  808. }
  809.  
  810. public OnVehicleDamageStatusUpdate(vehicleid, playerid)
  811. {
  812.     return 1;
  813. }
  814.  
  815. public OnVehicleStreamIn(vehicleid, forplayerid)
  816. {
  817.     return 1;
  818. }
  819.  
  820. public OnVehicleStreamOut(vehicleid, forplayerid)
  821. {
  822.     return 1;
  823. }
  824.  
  825. public OnVehicleSpawn(vehicleid)
  826. {
  827.     quidemsys_OnVehicleSpawn(vehicleid);
  828.     vshop_OnVehicleSpawn(vehicleid);
  829.     return 1;
  830. }
  831.  
  832. public OnVehicleDeath(vehicleid, killerid)
  833. {
  834.     trucker_OnVehicleDeath(vehicleid, killerid);
  835.     pveh_OnVehicleDeath(vehicleid, killerid);
  836.     return 1;
  837. }
  838.  
  839. public OnRconLoginAttempt(ip[], password[], success)
  840. {
  841.     switch(success)
  842.     {
  843.         case 0:
  844.         {
  845.             antirconhack_OnRconLoginAttempt(ip, password, success);
  846.         }
  847.         case 1:
  848.         {
  849.             // åñëè èãðîê çàõîäèò ðêîí àäìèíîì, òî äàäèì åìó ïîëíûå ïðàâà
  850.             new pip[MAX_IP];
  851.             foreach (Player, playerid)
  852.             {
  853.                 GetPVarString(playerid, "IP", pip, sizeof(pip));
  854.                 if (!strcmp(ip, pip, false))
  855.                 {
  856.                     SetPlayerStatus(playerid, 3);
  857.                     break;
  858.                 }
  859.             }
  860.         }
  861.     }
  862.     return 1;
  863. }
  864.  
  865. public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ)
  866. {
  867.     admin_OnPlayerClickMap(playerid, fX, fY, fZ);
  868.     player_OnPlayerClickMap(playerid, fX, fY, fZ);
  869.     return 1;
  870. }
  871.  
  872. public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
  873. {
  874.     admin_OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid);
  875.  
  876.     static
  877.         Float:damage,
  878.         Float:health;
  879.  
  880.     GetPlayerHealth(playerid, health);
  881.  
  882.     if (issuerid != INVALID_PLAYER_ID)
  883.     {
  884.         switch (weaponid)
  885.         {
  886.             case 22: damage = 12;
  887.             case 23: damage = 13;
  888.             case 24: damage = 15;
  889.             case 25: damage = 19;
  890.             case 26: damage = 21;
  891.             case 27: damage = 30;
  892.             case 28: damage = 17;
  893.             case 29: damage = 22;
  894.             case 30: damage = 33;
  895.             case 31: damage = 35;
  896.             case 32: damage = 25;
  897.             case 33: damage = 40;
  898.             case 34: damage = 57;
  899.             default: damage = 5;
  900.         }
  901.         switch (bodypart)
  902.         {
  903.             case 3: SetPlayerHealth(playerid, health-damage-12);
  904.             case 4: SetPlayerHealth(playerid, health-damage-8);
  905.             case 5: SetPlayerHealth(playerid, health-damage-5);
  906.             case 6: SetPlayerHealth(playerid, health-damage-5);
  907.             case 7: SetPlayerHealth(playerid, health-damage-5);
  908.             case 8: SetPlayerHealth(playerid, health-damage-5);
  909.             case 9: SetPlayerHealth(playerid, health-damage-26);
  910.         }
  911.     }
  912.     return 1;
  913. }
  914.  
  915. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  916. {
  917.     pveh_OnVehiclePaintjob(playerid, vehicleid, paintjobid);
  918.     return 1;
  919. }
  920.  
  921. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  922. {
  923.     pveh_OnVehicleRespray(playerid, vehicleid, color1, color2);
  924.     return 1;
  925. }
  926.  
  927. public OnVehicleMod(playerid, vehicleid, componentid)
  928. {
  929.     pveh_OnVehicleMod(playerid, vehicleid, componentid);
  930.     return 1;
  931. }
  932.  
  933. public OnEnterExitModShop(playerid, enterexit, interiorid)
  934. {
  935.     new vehicleid = GetPlayerVehicleID(playerid);
  936.     if (vehicleid != 0) {
  937.         if (enterexit == 1) {
  938.             SetVehicleVirtualWorld(vehicleid, playerid + 1);
  939.             SetPlayerVirtualWorld(playerid, playerid + 1);
  940.         } else {
  941.             SetVehicleVirtualWorld(vehicleid, 0);
  942.             SetPlayerVirtualWorld(playerid, 0);
  943.         }
  944.     }
  945.     return 1;
  946. }
Add Comment
Please, Sign In to add comment