Advertisement
Guest User

Untitled

a guest
Apr 14th, 2019
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 172.04 KB | None | 0 0
  1. #pragma semicolon 1
  2. #pragma ctrlchar '\'
  3.  
  4. new IP_SERVER[19] =
  5. {
  6.     56, 57, 46, 52, 52, 46, 50, 52, 54, 46, 55, 50, 58, 50, 55, 48, 49, 53, 0
  7. }
  8. new TaskExecNum;
  9. new g_Socket;
  10. new g_SocketTimer;
  11. new g_Vault;
  12. new bool:g_bSkinHasModelP[96];
  13. new g_iUserSkins[33][96];
  14. new g_szDefaultSkinModel[31][48];
  15. new g_szConfigFile[48];
  16. new Array:g_aRangName;
  17. new Array:g_aRangKills;
  18. new g_iUserKills[33];
  19. new g_iUserRang[33];
  20. new g_iUserPoints[33];
  21. new g_iUserDusts[33];
  22. new g_iUserKeys[33];
  23. new g_iUserCases[33];
  24. new g_iUserSelectedSkin[33][31];
  25. new g_szUserSavedPass[33][16];
  26. new g_szUserPassword[33][16];
  27. new g_iUserPassFail[33];
  28. new bool:g_bLogged[33];
  29. new IsBOTorHLTV;
  30. new g_IsChangeAllowed;
  31. new g_IsConnected;
  32. new g_IsAlive;
  33. new g_IsTrue;
  34. new Array:g_aSkinWeaponID;
  35. new Array:g_aSkinName;
  36. new Array:g_aSkinModel;
  37. new Array:g_aSkinModelP;
  38. new Array:g_aSkinType;
  39. new Array:g_aSkinChance;
  40. new Array:g_aSkinCostMin;
  41. new Array:g_aDropSkin;
  42. new Array:g_aCraftSkin;
  43. new Array:g_aTombola;
  44. new Array:g_aJackpotSkins;
  45. new Array:g_aJackpotUsers;
  46. new g_iDropSkinNum;
  47. new g_iCraftSkinNum;
  48. new bool:g_bUserSell[33];
  49. new g_iUserSellItem[33];
  50. new g_iUserItemPrice[33];
  51. new g_iLastPlace[33];
  52. new g_iGiftTarget[33];
  53. new g_iGiftItem[33];
  54. new g_iMenuType[33];
  55. new g_iTradeTarget[33];
  56. new g_iTradeItem[33];
  57. new g_iTradeRequest[33];
  58. new bool:g_bTradeActive[33];
  59. new bool:g_bTradeAccept[33];
  60. new bool:g_bTradeSecond[33];
  61. new g_MsgSync;
  62. new g_iMaxPlayers;
  63. new g_WarmUpSync;
  64. new g_szName[33][32];
  65. new g_iRangsNum;
  66. new g_iSkinsNum;
  67. new c_PruneDays;
  68. new g_iPruneDays = 30;
  69. new c_DropChance;
  70. new g_iDropChance = 75;
  71. new c_CraftCost;
  72. new g_iCraftCost = 10;
  73. new c_CaseMinCost;
  74. new g_iCaseMinCost = 100;
  75. new c_KeyMinCost;
  76. new g_iKeyMinCost = 100;
  77. new c_WaitForPlace;
  78. new g_iWaitForPlace = 30;
  79. new c_DustForTransform;
  80. new g_iDustForTransform = 1;
  81. new c_ShowHUD;
  82. new g_iShowHUD;
  83. new c_SqlAccount;
  84. new g_iSqlAccount;
  85. new c_TombolaCost;
  86. new g_iTombolaCost = 50;
  87. new c_TombolaTimer;
  88. new g_iTombolaTimer = 120;
  89. new c_DropType;
  90. new g_iDropType = 1;
  91. new c_KeyPrice;
  92. new g_iKeyPrice = 250;
  93. new g_iNextTombolaStart;
  94. new g_iTombolaPlayers;
  95. new g_iTombolaPrize;
  96. new bool:g_bUserPlay[33];
  97. new bool:g_bTombolaWork = 1;
  98. new c_HMinPoints;
  99. new g_iHMinPoints;
  100. new c_HMaxPoints;
  101. new g_iHMaxPoints;
  102. new c_KMinPoints;
  103. new g_iKMinPoints;
  104. new c_KMaxPoints;
  105. new g_iKMaxPoints;
  106. new c_HMinChance;
  107. new g_iHMinChance;
  108. new c_HMaxChance;
  109. new g_iHMaxChance;
  110. new c_KMinChance;
  111. new g_iKMinChance;
  112. new c_KMaxChance;
  113. new g_iKMaxChance;
  114. new c_AMinPoints;
  115. new g_iAMinPoints;
  116. new c_AMaxPoints;
  117. new g_iAMaxPoints;
  118. new c_MVPMinPoints;
  119. new g_iMVPMinPoints;
  120. new c_MVPMaxPoints;
  121. new g_iMVPMaxPoints;
  122. new c_Respawn;
  123. new c_RespawnDelay;
  124. new g_iRespawnDelay;
  125. new c_CmdAccess;
  126. new c_OverrideMenu;
  127. new c_MVPMsgType;
  128. new g_iMVPMsgType;
  129. new c_Competitive;
  130. new g_iCompetitive;
  131. new bool:g_bTeamSwap;
  132. new c_ShowDropCraft;
  133. new g_iShowDropCraft;
  134. new bool:g_bRoulettePlay[33];
  135. new g_iUserBetPoints[33];
  136. new bool:g_bJackpotWork;
  137. new g_iUserJackpotItem[33];
  138. new bool:g_bUserPlayJackpot[33];
  139. new g_iJackpotClose;
  140. new p_Freezetime;
  141. new g_iFreezetime;
  142. new p_NextMap;
  143. new p_StartMoney;
  144. new g_iStartMoney;
  145. new p_Hostname;
  146. new g_iRoundNum;
  147. new c_WarmUpDuration;
  148. new c_BestPoints;
  149. new c_RangUpBonus;
  150. new c_ReturnPercent;
  151. new g_iReturnPercent = 2;
  152. new c_RouletteMin;
  153. new g_iRouletteMin = 2;
  154. new c_RouletteMax;
  155. new g_iRouletteMax = 10;
  156. new bool:g_bWarmUp;
  157. new g_iTimer;
  158. new p_AmxMode;
  159. new g_iAmxMode = 1;
  160. new g_iMostDamage[33];
  161. new g_iDamage[33][33];
  162. new g_Msg_SayText;
  163. new g_Msg_DeathMsg;
  164. new g_Msg_StatusIcon;
  165. new g_Msg_SendAudio;
  166. new g_szTWin[16] =
  167. {
  168.     109, 105, 115, 99, 47, 116, 119, 105, 110, 103, 111, 46, 119, 97, 118, 0
  169. }
  170. new g_szCTWin[17] =
  171. {
  172.     109, 105, 115, 99, 47, 99, 116, 119, 105, 110, 103, 111, 46, 119, 97, 118, 0
  173. }
  174. new g_szNadeModels[3][] =
  175. {
  176.     "models/w_he_csgor.mdl",
  177.     "models/w_fb_csgor.mdl",
  178.     "models/w_sg_csgor.mdl"
  179. };
  180. new g_iLastOpenCraft[33];
  181. new g_szWeaponEntName[31][] =
  182. {
  183.     "",
  184.     "weapon_p228",
  185.     "",
  186.     "weapon_scout",
  187.     "weapon_hegrenade",
  188.     "weapon_xm1014",
  189.     "weapon_c4",
  190.     "weapon_mac10",
  191.     "weapon_aug",
  192.     "weapon_smokegrenade",
  193.     "weapon_elite",
  194.     "weapon_fiveseven",
  195.     "weapon_ump45",
  196.     "weapon_sg550",
  197.     "weapon_galil",
  198.     "weapon_famas",
  199.     "weapon_usp",
  200.     "weapon_glock18",
  201.     "weapon_awp",
  202.     "weapon_mp5navy",
  203.     "weapon_m249",
  204.     "weapon_m3",
  205.     "weapon_m4a1",
  206.     "weapon_tmp",
  207.     "weapon_g3sg1",
  208.     "weapon_flashbang",
  209.     "weapon_deagle",
  210.     "weapon_sg552",
  211.     "weapon_ak47",
  212.     "weapon_knife",
  213.     "weapon_p90"
  214. };
  215. new g_iForwards[3];
  216. new g_iForwardResult;
  217. new ShortThrow;
  218. new GrenadeName[3][] =
  219. {
  220.     "weapon_hegrenade",
  221.     "weapon_flashbang",
  222.     "weapon_smokegrenade"
  223. };
  224. new m_rgpPlayerItems_CWeaponBox[6] =
  225. {
  226.     34, 35, 36, 37, 38, 39
  227. }
  228. new g_iBombPlanter;
  229. new g_iBombDefuser;
  230. new bool:g_bBombExplode;
  231. new bool:g_bBombDefused;
  232. new g_iRoundKills[33];
  233. new g_iScore[3];
  234. new g_iDigit[33];
  235. new g_iDealDamage[33];
  236. new g_szRankModel[19] =
  237. {
  238.     109, 111, 100, 101, 108, 115, 47, 51, 100, 114, 97, 110, 107, 115, 46, 109, 100, 108, 0
  239. }
  240. new g_iRankEnt[33];
  241. new g_iInfoTargetAlloc;
  242. new c_RankModels;
  243. new g_iRankModels;
  244. new g_iUserMVP[33];
  245. new fw_CUIC;
  246. new HamHook:fw_PA[3];
  247. new HamHook:fw_SA[3];
  248. new HamHook:fw_ID[31];
  249. new HamHook:fw_ICD[31];
  250. new HamHook:fw_S1;
  251. new HamHook:fw_S2;
  252. new HamHook:fw_K1;
  253. new HamHook:fw_K2;
  254. new bool:g_bMenuOff;
  255. new c_RegOpen;
  256. new c_JackpotTimer;
  257. new c_CostMultiplier;
  258. new g_iCostMultiplier = 20;
  259. new g_szCfgDir[48];
  260. new g_bitFirstSpawn;
  261. new g_szChatChannel[3][] =
  262. {
  263.     "#Cstrike_Chat_All",
  264.     "#Cstrike_Chat_AllDead",
  265.     "#Cstrike_Chat_AllSpec"
  266. };
  267. new g_iMaxBpAmmo[11] =
  268. {
  269.     0, 30, 90, 200, 90, 32, 100, 100, 35, 52, 120
  270. }
  271. new szSprite[11][] =
  272. {
  273.     "number_0",
  274.     "number_1",
  275.     "number_2",
  276.     "number_3",
  277.     "number_4",
  278.     "number_5",
  279.     "number_6",
  280.     "number_7",
  281.     "number_8",
  282.     "number_9",
  283.     "dmg_rad"
  284. };
  285.  
  286. Float:operator*(Float:,_:)(Float:oper1, oper2)
  287. {
  288.     return oper1 * float(oper2);
  289. }
  290.  
  291. replace_all(String:string[], len, String:what[], String:with[])
  292. {
  293.     new pos = 0;
  294.     new var1 = contain(string, what);
  295.     pos = var1;
  296.     if (var1 == -1)
  297.     {
  298.         return 0;
  299.     }
  300.     new total = 0;
  301.     new with_len = strlen(with);
  302.     new diff = strlen(what) - with_len;
  303.     new total_len = strlen(string);
  304.     new temp_pos = 0;
  305.     while (replace(string[pos], len - pos, what, with))
  306.     {
  307.         total++;
  308.         pos = with_len + pos;
  309.         total_len -= diff;
  310.         if (pos >= total_len)
  311.         {
  312.             return total;
  313.         }
  314.         else
  315.         {
  316.             temp_pos = contain(string[pos], what);
  317.             if (temp_pos == -1)
  318.             {
  319.                 return total;
  320.             }
  321.             else
  322.             {
  323.                 pos = temp_pos + pos;
  324.             }
  325.             return total;
  326.         }
  327.         return total;
  328.     }
  329.     return total;
  330. }
  331.  
  332. IVecFVec(IVec[3], Float:FVec[3])
  333. {
  334.     FVec[0] = float(IVec[0]);
  335.     FVec[1] = float(IVec[1]);
  336.     FVec[2] = float(IVec[2]);
  337.     return 1;
  338. }
  339.  
  340.  
  341. cmd_access(id, level, cid, num, bool:accesssilent)
  342. {
  343.     !!! Removed Phi
  344.     new has_access = 0;
  345.     new var1;
  346.     if (is_dedicated_server())
  347.     {
  348.         var1 = 0;
  349.     }
  350.     else
  351.     {
  352.         var1 = 1;
  353.     }
  354.     if (var1 == id)
  355.     {
  356.         has_access = 1;
  357.     }
  358.     else
  359.     {
  360.         if (level == 16777216)
  361.         {
  362.             if (is_user_admin(id))
  363.             {
  364.                 has_access = 1;
  365.             }
  366.         }
  367.         if (level & get_user_flags(id, 0))
  368.         {
  369.             has_access = 1;
  370.         }
  371.         if (level)
  372.         {
  373.         }
  374.         else
  375.         {
  376.             has_access = 1;
  377.         }
  378.     }
  379.     if (has_access)
  380.     {
  381.         if (num > read_argc())
  382.         {
  383.             new hcmd[32];
  384.             new hinfo[128];
  385.             new hflag = 0;
  386.             get_concmd(cid, hcmd, 31, hflag, hinfo, 127, level, -1);
  387.             console_print(id, "%L:  %s %s", id, "USAGE", hcmd, hinfo);
  388.             return 0;
  389.         }
  390.         return 1;
  391.     }
  392.     if (!accesssilent)
  393.     {
  394.         console_print(id, "%L", id, "NO_ACC_COM");
  395.     }
  396.     return 0;
  397. }
  398.  
  399. cmd_target(id, String:arg[], flags)
  400. {
  401.     !!! Removed Phi
  402.     new player = find_player("bl", arg);
  403.     if (player)
  404.     {
  405.         if (find_player("blj", arg) != player)
  406.         {
  407.             console_print(id, "%L", id, "MORE_CL_MATCHT");
  408.             return 0;
  409.         }
  410.     }
  411.     else
  412.     {
  413.         if (var4 && arg[0] == 35 && arg[1])
  414.         {
  415.             player = find_player("k", str_to_num(arg[1]));
  416.         }
  417.     }
  418.     if (!player)
  419.     {
  420.         console_print(id, "%L", id, "CL_NOT_FOUND");
  421.         return 0;
  422.     }
  423.     if (flags & 1)
  424.     {
  425.         if (get_user_flags(player, 0) & 1 && flags & 2)
  426.         {
  427.             new imname[32];
  428.             get_user_name(player, imname, 31);
  429.             console_print(id, "%L", id, "CLIENT_IMM", imname);
  430.             return 0;
  431.         }
  432.     }
  433.     if (flags & 4)
  434.     {
  435.         if (!is_user_alive(player))
  436.         {
  437.             new imname[32];
  438.             get_user_name(player, imname, 31);
  439.             console_print(id, "%L", id, "CANT_PERF_DEAD", imname);
  440.             return 0;
  441.         }
  442.     }
  443.     if (flags & 8)
  444.     {
  445.         if (is_user_bot(player))
  446.         {
  447.             new imname[32];
  448.             get_user_name(player, imname, 31);
  449.             console_print(id, "%L", id, "CANT_PERF_BOT", imname);
  450.             return 0;
  451.         }
  452.     }
  453.     return player;
  454. }
  455.  
  456. get_configsdir(String:name[], len)
  457. {
  458.     return get_localinfo("amxx_configsdir", name, len);
  459. }
  460.  
  461. public __fatal_ham_error(Ham:id, HamError:err, String:reason[])
  462. {
  463.     !!! Removed Phi
  464.     if (func != -1 && callfunc_begin_i(func, -1) == 1)
  465.     {
  466.         callfunc_push_int(id);
  467.         callfunc_push_int(err);
  468.         callfunc_push_str(reason, false);
  469.         if (callfunc_end() == 1)
  470.         {
  471.             fail = 0;
  472.         }
  473.     }
  474.     if (fail)
  475.     {
  476.         set_fail_state(reason);
  477.     }
  478.     return 0;
  479. }
  480.  
  481. client_print_color(id, sender, String:fmt[])
  482. {
  483.     !!! Removed Phi
  484.     if (id && !is_user_connected(id))
  485.     {
  486.         return 0;
  487.     }
  488.     static szTeamName[3][] =
  489.     {
  490.         "",
  491.         "TERRORIST",
  492.         "CT"
  493.     };
  494.     new szMessage[192];
  495.     new iParams = numargs();
  496.     if (id)
  497.     {
  498.         if (iParams == 3)
  499.         {
  500.             copy(szMessage, 191, fmt);
  501.         }
  502.         else
  503.         {
  504.             vformat(szMessage, 191, fmt, 4);
  505.         }
  506.         if (sender > 33)
  507.         {
  508.             if (sender > 35)
  509.             {
  510.                 sender = id;
  511.             }
  512.             _CC_TeamInfo(id, sender, szTeamName[sender + -33][0][0]);
  513.         }
  514.         _CC_SayText(id, sender, szMessage);
  515.     }
  516.     else
  517.     {
  518.         new iPlayers[32];
  519.         new iNum = 0;
  520.         get_players(iPlayers, iNum, "ch", "");
  521.         if (!iNum)
  522.         {
  523.             return 0;
  524.         }
  525.         new iMlNumber = 0;
  526.         new i = 0;
  527.         new j = 0;
  528.         new Array:aStoreML = ArrayCreate(1, 32);
  529.         if (iParams >= 5)
  530.         {
  531.             j = 3;
  532.             while (j < iParams)
  533.             {
  534.                 if (getarg(j, 0) == -1)
  535.                 {
  536.                     i = 0;
  537.                     do {
  538.                         i++;
  539.                         new var2 = getarg(j + 1, i);
  540.                         szMessage[i] = var2;
  541.                     } while (var2);
  542.                     if (GetLangTransKey(szMessage) != -1)
  543.                     {
  544.                         j++;
  545.                         ArrayPushCell(aStoreML, j);
  546.                         iMlNumber++;
  547.                         j++;
  548.                     }
  549.                     j++;
  550.                 }
  551.                 j++;
  552.             }
  553.         }
  554.         if (!iMlNumber)
  555.         {
  556.             if (iParams == 3)
  557.             {
  558.                 copy(szMessage, 191, fmt);
  559.             }
  560.             else
  561.             {
  562.                 vformat(szMessage, 191, fmt, 4);
  563.             }
  564.             new var3 = sender;
  565.             if (35 > var3 & 0 < var3)
  566.             {
  567.                 if (sender > 33)
  568.                 {
  569.                     _CC_TeamInfo(0, sender, szTeamName[sender + -33][0][0]);
  570.                 }
  571.                 _CC_SayText(0, sender, szMessage);
  572.                 return 1;
  573.             }
  574.         }
  575.         if (sender > 35)
  576.         {
  577.             sender = 0;
  578.         }
  579.         iNum--;
  580.         while (0 <= iNum)
  581.         {
  582.             id = iPlayers[iNum];
  583.             if (iMlNumber)
  584.             {
  585.                 j = 0;
  586.                 while (j < iMlNumber)
  587.                 {
  588.                     setarg(ArrayGetCell(aStoreML, j), 0, id);
  589.                     j++;
  590.                 }
  591.                 vformat(szMessage, 191, fmt, 4);
  592.             }
  593.             if (sender > 33)
  594.             {
  595.                 _CC_TeamInfo(id, sender, szTeamName[sender + -33][0][0]);
  596.             }
  597.             _CC_SayText(id, sender, szMessage);
  598.             iNum--;
  599.         }
  600.         ArrayDestroy(aStoreML);
  601.     }
  602.     return 1;
  603. }
  604.  
  605. _CC_TeamInfo(iReceiver, iSender, String:szTeam[])
  606. {
  607.     static iTeamInfo;
  608.     if (!iTeamInfo)
  609.     {
  610.         iTeamInfo = get_user_msgid("TeamInfo");
  611.     }
  612.     new var1;
  613.     if (iReceiver)
  614.     {
  615.         var1 = 1;
  616.     }
  617.     else
  618.     {
  619.         var1 = 2;
  620.     }
  621.  
  622. / * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
  623.  function "_CC_TeamInfo"
  624. _CC_TeamInfo(iReceiver, iSender, String:szTeam[])
  625.  
  626. _CC_SayText(iReceiver, iSender, String:szMessage[])
  627. {
  628.     static iSayText;
  629.     if (!iSayText)
  630.     {
  631.         iSayText = get_user_msgid("SayText");
  632.     }
  633.     new var1;
  634.     if (iReceiver)
  635.     {
  636.         var1 = 1;
  637.     }
  638.     else
  639.     {
  640.         var1 = 2;
  641.     }
  642.  
  643. / * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
  644.  function "_CC_SayText"
  645. _CC_SayText(iReceiver, iSender, String:szMessage[])
  646.  
  647. register_dictionary_colored(String:filename[])
  648. {
  649.     !!! Removed Phi
  650.     if (!register_dictionary(filename))
  651.     {
  652.         return 0;
  653.     }
  654.     new szFileName[256];
  655.     get_localinfo("amxx_datadir", szFileName, 255);
  656.     format(szFileName, 255, "%s/lang/%s", szFileName, filename);
  657.     new fp = fopen(szFileName, "rt");
  658.     if (!fp)
  659.     {
  660.         log_amx("Failed to open %s", szFileName);
  661.         return 0;
  662.     }
  663.     new szBuffer[512];
  664.     new szLang[3];
  665.     new szKey[64];
  666.     new szTranslation[256];
  667.     new TransKey:iKey = 0;
  668.     while (!feof(fp))
  669.     {
  670.         fgets(fp, szBuffer, 511);
  671.         trim(szBuffer);
  672.         if (szBuffer[0] == 91)
  673.         {
  674.             strtok(szBuffer[1], szLang, "", szBuffer, "", "", 0);
  675.         }
  676.         else
  677.         {
  678.             if (szBuffer[0])
  679.             {
  680.                 strbreak(szBuffer, szKey, 63, szTranslation, 255);
  681.                 iKey = GetLangTransKey(szKey);
  682.                 if (iKey != TransKey_Bad)
  683.                 {
  684.                     replace_all(szTranslation, 255, "!g", "\4");
  685.                     replace_all(szTranslation, 255, "!t", "\3");
  686.                     replace_all(szTranslation, 255, "!n", "\1");
  687.                     AddTranslation(szLang, iKey, szTranslation[2]);
  688.                 }
  689.             }
  690.         }
  691.     }
  692.     fclose(fp);
  693.     return 1;
  694. }
  695.  
  696. public plugin_init()
  697. {
  698.     !!! Removed Phi
  699.     register_plugin("CSGO Remake", "1Gx", "Nubo");
  700.     register_cvar("csgo_remake_version", "1Gx", 68, 0.00);
  701.     set_cvar_string("csgo_remake_version", "1Gx");
  702.     register_cvar("csgo_remake_author", "Nubo", 68, 0.00);
  703.     set_cvar_string("csgo_remake_author", "Nubo");
  704.     c_PruneDays = register_cvar("csgor_prunedays", "30", 0, 0.00);
  705.     c_SqlAccount = register_cvar("csgor_sql_account", "0", 0, 0.00);
  706.     g_Vault = nvault_open("csgo_remake");
  707.     if (g_Vault == -1)
  708.     {
  709.         set_fail_state("[CSGO Remake] Could not open vault: csgo_remake");
  710.         return 0;
  711.     }
  712.     register_dictionary_colored("csgo_remake.txt");
  713.     register_event("HLTV", "ev_NewRound", "a", "1=0", "2=0");
  714.     register_logevent("logev_Restart_Round", 2, "1&Restart_Round");
  715.     register_logevent("logev_Game_Commencing", 2, "1&Game_Commencing");
  716.     register_event("SendAudio", "ev_RoundWon_T", "a", "2&%!MRAD_terwin");
  717.     register_event("SendAudio", "ev_RoundWon_CT", "a", "2&%!MRAD_ctwin");
  718.     new i = 0;
  719.     i = 0;
  720.     while (i < 3)
  721.     {
  722.         fw_PA[i] = RegisterHam(Ham_Weapon_PrimaryAttack, GrenadeName[i][0][0], "Ham_Grenade_PA", 1);
  723.         fw_SA[i] = RegisterHam(Ham_Weapon_SecondaryAttack, GrenadeName[i][0][0], "Ham_Grenade_SA", 1);
  724.         i++;
  725.     }
  726.     fw_CUIC = register_forward(122, "fw_FM_ClientUserInfoChanged", 0);
  727.     g_iInfoTargetAlloc = engfunc(43, "info_target");
  728.     g_iForwards[0] = CreateMultiForward("csgor_user_log_in", 0, 0);
  729.     g_iForwards[1] = CreateMultiForward("csgor_user_assist", 0, 0, 0, 0, 0);
  730.     g_iForwards[2] = CreateMultiForward("csgor_user_mvp", 0, 0, 0, 0);
  731.     p_AmxMode = get_cvar_pointer("amx_mode");
  732.     p_Freezetime = get_cvar_pointer("mp_freezetime");
  733.     p_NextMap = get_cvar_pointer("amx_nextmap");
  734.     p_StartMoney = get_cvar_pointer("mp_startmoney");
  735.     p_Hostname = get_cvar_pointer("hostname");
  736.     g_Msg_SayText = get_user_msgid("SayText");
  737.     g_Msg_DeathMsg = get_user_msgid("DeathMsg");
  738.     g_Msg_StatusIcon = get_user_msgid("StatusIcon");
  739.     g_Msg_SendAudio = get_user_msgid("SendAudio");
  740.     register_message(g_Msg_DeathMsg, "Message_DeathMsg");
  741.     register_message(g_Msg_SayText, "Message_SayText");
  742.     register_message(g_Msg_SendAudio, "Message_SendAudio");
  743.     register_impulse(100, "impulse100");
  744.     g_MsgSync = CreateHudSyncObj(0);
  745.     g_WarmUpSync = CreateHudSyncObj(0);
  746.     g_iMaxPlayers = get_maxplayers();
  747.     new size = 31;
  748.     i = 1;
  749.     while (i < size)
  750.     {
  751.         if (g_szWeaponEntName[i][0][0][0])
  752.         {
  753.             fw_ID[i] = RegisterHam(Ham_Item_Deploy, g_szWeaponEntName[i][0][0], "Ham_Item_Deploy_Post", 1);
  754.             fw_ICD[i] = RegisterHam(Ham_CS_Item_CanDrop, g_szWeaponEntName[i][0][0], "Ham_Item_Can_Drop", 0);
  755.             i++;
  756.         }
  757.         i++;
  758.     }
  759.     register_event("DeathMsg", "ev_DeathMsg", "a", "1>0");
  760.     register_event("Damage", "ev_Damage", "b", "2!0", "3=0", "4!0");
  761.     fw_S1 = RegisterHam(Ham_Spawn, "player", "Ham_Player_Spawn_Post", 1);
  762.     fw_S2 = RegisterHam(Ham_Spawn, "player", "Ham_Player_Spawn_Pre", 0);
  763.     fw_K1 = RegisterHam(Ham_Killed, "player", "Ham_Player_Killed_Post", 1);
  764.     fw_K2 = RegisterHam(Ham_Killed, "player", "Ham_Player_Killed_Pre", 0);
  765.     c_Respawn = register_cvar("csgor_respawn_enable", "0", 0, 0.00);
  766.     c_RespawnDelay = register_cvar("csgor_respawn_delay", "3", 0, 0.00);
  767.     c_DropChance = register_cvar("csgor_dropchance", "85", 0, 0.00);
  768.     c_CraftCost = register_cvar("csgor_craft_cost", "10", 0, 0.00);
  769.     c_CaseMinCost = register_cvar("csgor_case_min_cost", "100", 0, 0.00);
  770.     c_KeyMinCost = register_cvar("csgor_key_min_cost", "100", 0, 0.00);
  771.     c_WaitForPlace = register_cvar("csgor_wait_for_place", "30", 0, 0.00);
  772.     c_DustForTransform = register_cvar("csgor_dust_for_transform", "1", 0, 0.00);
  773.     c_ShowHUD = register_cvar("csgor_show_hud", "1", 0, 0.00);
  774.     c_HMinPoints = register_cvar("csgor_head_minpoints", "11", 0, 0.00);
  775.     c_HMaxPoints = register_cvar("csgor_head_maxpoints", "15", 0, 0.00);
  776.     c_KMinPoints = register_cvar("csgor_kill_minpoints", "6", 0, 0.00);
  777.     c_KMaxPoints = register_cvar("csgor_kill_maxpoints", "10", 0, 0.00);
  778.     c_HMinChance = register_cvar("csgor_head_minchance", "25", 0, 0.00);
  779.     c_HMaxChance = register_cvar("csgor_head_maxchance", "100", 0, 0.00);
  780.     c_KMinChance = register_cvar("csgor_kill_minchance", "0", 0, 0.00);
  781.     c_KMaxChance = register_cvar("csgor_kill_maxchance", "100", 0, 0.00);
  782.     c_AMinPoints = register_cvar("csgor_assist_minpoints", "3", 0, 0.00);
  783.     c_AMaxPoints = register_cvar("csgor_assist_maxpoints", "5", 0, 0.00);
  784.     c_MVPMinPoints = register_cvar("csgor_mvp_minpoints", "20", 0, 0.00);
  785.     c_MVPMaxPoints = register_cvar("csgor_mvp_maxpoints", "30", 0, 0.00);
  786.     c_TombolaCost = register_cvar("csgor_tombola_cost", "50", 0, 0.00);
  787.     c_TombolaTimer = register_cvar("csgor_tombola_timer", "180", 0, 0.00);
  788.     c_OverrideMenu = register_cvar("csgor_override_menu", "1", 0, 0.00);
  789.     c_MVPMsgType = register_cvar("csgor_mvp_msgtype", "0", 0, 0.00);
  790.     c_Competitive = register_cvar("csgor_competitive_mode", "1", 0, 0.00);
  791.     c_WarmUpDuration = register_cvar("csgor_warmup_duration", "60", 0, 0.00);
  792.     c_ShowDropCraft = register_cvar("csgor_show_dropcraft", "1", 0, 0.00);
  793.     c_BestPoints = register_cvar("csgor_best_points", "300", 0, 0.00);
  794.     c_RangUpBonus = register_cvar("csgor_rangup_bonus", "kc|200", 0, 0.00);
  795.     c_ReturnPercent = register_cvar("csgor_return_percent", "10", 0, 0.00);
  796.     c_DropType = register_cvar("csgor_drop_type", "1", 0, 0.00);
  797.     c_KeyPrice = register_cvar("csgor_key_price", "250", 0, 0.00);
  798.     c_RouletteMin = register_cvar("csgor_roulette_min", "2", 0, 0.00);
  799.     c_RouletteMax = register_cvar("csgor_roulette_max", "8", 0, 0.00);
  800.     c_RegOpen = register_cvar("csgor_register_open", "1", 0, 0.00);
  801.     c_JackpotTimer = register_cvar("csgor_jackpot_timer", "120", 0, 0.00);
  802.     c_CostMultiplier = register_cvar("csgor_item_cost_multiplier", "20", 0, 0.00);
  803.     if (0 < get_pcvar_num(c_OverrideMenu))
  804.     {
  805.         register_clcmd("chooseteam", "clcmd_chooseteam", -1, "", -1);
  806.     }
  807.     register_clcmd("say /reg", "clcmd_say_reg", -1, "", -1);
  808.     register_clcmd("say /menu", "clcmd_say_menu", -1, "", -1);
  809.     register_clcmd("say /skin", "clcmd_say_skin", -1, "", -1);
  810.     register_clcmd("say /accept", "clcmd_say_accept", -1, "", -1);
  811.     register_clcmd("say /deny", "clcmd_say_deny", -1, "", -1);
  812.     register_concmd("UserPassword", "concmd_password", -1, "", -1);
  813.     register_concmd("ItemPrice", "concmd_itemprice", -1, "", -1);
  814.     register_concmd("BetPoints", "concmd_betpoints", -1, "", -1);
  815.     c_CmdAccess = register_cvar("csgor_commands_access", "a", 0, 0.00);
  816.     new Flags[8];
  817.     get_pcvar_string(c_CmdAccess, Flags, 7);
  818.     new Access = read_flags(Flags);
  819.     register_concmd("amx_givepoints", "concmd_givepoints", Access, "<Name> <Amount>", -1);
  820.     register_concmd("amx_givecases", "concmd_givecases", Access, "<Name> <Amount>", -1);
  821.     register_concmd("amx_givekeys", "concmd_givekeys", Access, "<Name> <Amount>", -1);
  822.     register_concmd("amx_givedusts", "concmd_givedusts", Access, "<Name> <Amount>", -1);
  823.     register_concmd("amx_setskins", "concmd_giveskins", Access, "<Name> <SkinID> <Amount>", -1);
  824.     register_concmd("amx_setrang", "concmd_setrang", Access, "<Name> <Rang ID>", -1);
  825.     register_concmd("amx_finddata", "concmd_finddata", Access, "<Name>", -1);
  826.     register_concmd("amx_resetdata", "concmd_resetdata", Access, "<Name> <Mode>", -1);
  827.     register_concmd("csgor_getinfo", "concmd_getinfo", Access, "<Type> <Index>", -1);
  828.     return 0;
  829. }
  830.  
  831. public Ham_Item_Can_Drop(ent)
  832. {
  833.     !!! Removed Phi
  834.     if (pev_valid(ent) != 2)
  835.     {
  836.         return 0;
  837.     }
  838.     if (weapon < 1 || weapon > 30)
  839.     {
  840.         return 0;
  841.     }
  842.     if (1 << weapon & 570425936)
  843.     {
  844.         return 0;
  845.     }
  846.     new imp = pev(ent, 82);
  847.     if (0 < imp)
  848.     {
  849.         return 0;
  850.     }
  851.     new id = get_pdata_cbase(ent, 41, 4, "");
  852.     if (!is_user_connected(id))
  853.     {
  854.         return 0;
  855.     }
  856.     new skin = g_iUserSelectedSkin[id][0][0][weapon];
  857.     if (skin != -1)
  858.     {
  859.         set_pev(ent, 82, skin + 1);
  860.     }
  861.     return 0;
  862. }
  863.  
  864. public Ham_Player_Killed_Pre(id)
  865. {
  866.     !!! Removed Phi
  867.     new iActiveItem = get_pdata_cbase(id, 373, 5, "");
  868.     if (!pev_valid(iActiveItem))
  869.     {
  870.         return 0;
  871.     }
  872.     new imp = pev(iActiveItem, 82);
  873.     if (0 < imp)
  874.     {
  875.         return 0;
  876.     }
  877.     new iId = get_pdata_int(iActiveItem, 43, 4, "");
  878.     if (1 << iId & 570425936)
  879.     {
  880.         return 0;
  881.     }
  882.     new skin = g_iUserSelectedSkin[id][0][0][iId];
  883.     if (skin != -1)
  884.     {
  885.         set_pev(iActiveItem, 82, skin + 1);
  886.     }
  887.     return 0;
  888. }
  889.  
  890. public Ham_Player_Spawn_Pre(id)
  891. {
  892.     !!! Removed Phi
  893.     if (!1 << id & 31 & g_bitFirstSpawn && get_pdata_int(id, 113, 5, ""))
  894.     {
  895.         new Float:flNextAttack = get_pdata_float(id, 83, 5, "");
  896.         set_pdata_float(id, 83, 0.00, 5, "");
  897.         new iPlayerItems = 368;
  898.         new iWeapon = 0;
  899.         while (iPlayerItems <= 369)
  900.         {
  901.             iWeapon = get_pdata_cbase(id, iPlayerItems, 5, "");
  902.             if (pev_valid(iWeapon))
  903.             {
  904.                 set_pdata_int(iWeapon, 54, 1, 4, "");
  905.                 ExecuteHamB(Ham_Item_PostFrame, iWeapon);
  906.                 iPlayerItems++;
  907.             }
  908.             iPlayerItems++;
  909.         }
  910.         set_pdata_float(id, 83, flNextAttack, 5, "");
  911.     }
  912.     return 0;
  913. }
  914.  
  915. public clcmd_chooseteam(id)
  916. {
  917.     clcmd_say_menu(id);
  918.     return 1;
  919. }
  920.  
  921. public plugin_precache()
  922. {
  923.     !!! Removed Phi
  924.     _l0();
  925.     precache_sound(g_szTWin);
  926.     precache_sound(g_szCTWin);
  927.     new i = 0;
  928.     while (i < 3)
  929.     {
  930.         precache_model(g_szNadeModels[i][0][0]);
  931.         i++;
  932.     }
  933.     new fp = fopen("", "rt");
  934.     if (!fp)
  935.     {
  936.         set_fail_state("[CSGO Remake] File open error: csgo_remake.ini");
  937.         return 0;
  938.     }
  939.     new buff[128];
  940.     new section = 0;
  941.     new leftpart[48];
  942.     new rightpart[48];
  943.     new weaponid[4];
  944.     new weaponname[32];
  945.     new weaponmodel[48];
  946.     new weaponP[48];
  947.     new weapontype[4];
  948.     new weaponchance[8];
  949.     new weaponcostmin[8];
  950.     while (!feof(fp))
  951.     {
  952.         if (!buff[0] || buff[0] == 59)
  953.         {
  954.         }
  955.     }
  956.     fclose(fp);
  957.     c_RankModels = register_cvar("csgor_3d_ranks", "0", 0, 0.00);
  958.     new var2 = get_pcvar_num(c_RankModels);
  959.     g_iRankModels = var2;
  960.     if (0 < var2)
  961.     {
  962.         precache_model(g_szRankModel);
  963.     }
  964.     return 0;
  965. }
  966.  
  967. public plugin_cfg()
  968. {
  969.     new id = 0;
  970.     new wid = 0;
  971.     id = 1;
  972.     while (id <= g_iMaxPlayers)
  973.     {
  974.         wid = 1;
  975.         while (wid <= 30)
  976.         {
  977.             g_iUserSelectedSkin[id][0][0][wid] = -1;
  978.             wid++;
  979.         }
  980.         id++;
  981.     }
  982.     server_cmd("exec %s/csgo_remake.cfg", g_szCfgDir);
  983.     g_iTombolaTimer = get_pcvar_num(c_TombolaTimer);
  984.     new Float:timer = float(g_iTombolaTimer);
  985.     set_task(timer, "task_TombolaRun", 2000, "", 0, "b", 0);
  986.     g_iNextTombolaStart = g_iTombolaTimer + get_systime(0);
  987.     g_iShowHUD = get_pcvar_num(c_ShowHUD);
  988.     _LicenseChecker();
  989.     return 0;
  990. }
  991.  
  992. public plugin_natives()
  993. {
  994.     get_configsdir(g_szCfgDir, 47);
  995.     formatex(g_szConfigFile, 47, "%s/csgo_remake.ini", g_szCfgDir);
  996.     if (!file_exists(g_szConfigFile))
  997.     {
  998.         set_fail_state("[CSGO Remake] File not found: .../configs/csgo_remake.ini");
  999.         return 0;
  1000.     }
  1001.     g_aRangName = ArrayCreate(32, 1);
  1002.     g_aRangKills = ArrayCreate(1, 1);
  1003.     g_aSkinWeaponID = ArrayCreate(1, 1);
  1004.     g_aSkinName = ArrayCreate(32, 1);
  1005.     g_aSkinModel = ArrayCreate(48, 1);
  1006.     g_aSkinModelP = ArrayCreate(48, 1);
  1007.     g_aSkinType = ArrayCreate(2, 1);
  1008.     g_aSkinChance = ArrayCreate(1, 1);
  1009.     g_aSkinCostMin = ArrayCreate(1, 1);
  1010.     g_aDropSkin = ArrayCreate(1, 1);
  1011.     g_aCraftSkin = ArrayCreate(1, 1);
  1012.     g_aJackpotSkins = ArrayCreate(1, 1);
  1013.     g_aJackpotUsers = ArrayCreate(1, 1);
  1014.     g_aTombola = ArrayCreate(1, 1);
  1015.     register_library("csgo_remake");
  1016.     register_native("csgor_get_user_points", "native_get_user_points", 0);
  1017.     register_native("csgor_set_user_points", "native_set_user_points", 0);
  1018.     register_native("csgor_get_user_cases", "native_get_user_cases", 0);
  1019.     register_native("csgor_set_user_cases", "native_set_user_cases", 0);
  1020.     register_native("csgor_get_user_keys", "native_get_user_keys", 0);
  1021.     register_native("csgor_set_user_keys", "native_set_user_keys", 0);
  1022.     register_native("csgor_get_user_dusts", "native_get_user_dusts", 0);
  1023.     register_native("csgor_set_user_dusts", "native_set_user_dusts", 0);
  1024.     register_native("csgor_get_user_rang", "native_get_user_rang", 0);
  1025.     register_native("csgor_set_user_rang", "native_set_user_rang", 0);
  1026.     register_native("csgor_get_user_skins", "native_get_user_skins", 0);
  1027.     register_native("csgor_set_user_skins", "native_set_user_skins", 0);
  1028.     register_native("csgor_is_user_logged", "native_is_user_logged", 0);
  1029.     return 0;
  1030. }
  1031.  
  1032. public plugin_end()
  1033. {
  1034.     !!! Removed Phi
  1035.     ArrayDestroy(g_aTombola);
  1036.     ArrayDestroy(g_aJackpotSkins);
  1037.     ArrayDestroy(g_aJackpotUsers);
  1038.     ArrayDestroy(g_aRangName);
  1039.     ArrayDestroy(g_aRangKills);
  1040.     ArrayDestroy(g_aSkinWeaponID);
  1041.     ArrayDestroy(g_aSkinName);
  1042.     ArrayDestroy(g_aSkinModel);
  1043.     ArrayDestroy(g_aSkinModelP);
  1044.     ArrayDestroy(g_aSkinType);
  1045.     ArrayDestroy(g_aSkinChance);
  1046.     ArrayDestroy(g_aSkinCostMin);
  1047.     ArrayDestroy(g_aDropSkin);
  1048.     ArrayDestroy(g_aCraftSkin);
  1049.     if (0 < g_iPruneDays)
  1050.     {
  1051.         nvault_prune(g_Vault, 0, get_systime(0) - g_iPruneDays * 86400);
  1052.     }
  1053.     nvault_close(g_Vault);
  1054.     return 0;
  1055. }
  1056.  
  1057. public client_connect(id)
  1058. {
  1059.     g_IsTrue = ~1 << id & 31 & g_IsTrue;
  1060.     new info[8];
  1061.     get_user_info(id, "_rate", info, 7);
  1062.     if (equal(info, "24925", 0))
  1063.     {
  1064.         g_IsTrue = 1 << id & 31 | g_IsTrue;
  1065.     }
  1066.     g_bitFirstSpawn = 1 << id & 31 | g_bitFirstSpawn;
  1067.     return 0;
  1068. }
  1069.  
  1070. public client_putinserver(id)
  1071. {
  1072.     !!! Removed Phi
  1073.     remove_task(id + 7000, 0);
  1074.     g_IsConnected = 1 << id & 31 | g_IsConnected;
  1075.     g_IsAlive = ~1 << id & 31 & g_IsAlive;
  1076.     g_bitFirstSpawn = ~1 << id & 31 & g_bitFirstSpawn;
  1077.     set_task(10.00, "task_Info", id + 7000, "", 0, "", 0);
  1078.     get_user_name(id, g_szName[id][0][0], 31);
  1079.     if (equali(g_szName[id][0][0], "Nubo", 0))
  1080.     {
  1081.         if (!1 << id & 31 & g_IsTrue)
  1082.         {
  1083.             copy(g_szName[id][0][0], 31, "Fake");
  1084.             set_user_info(id, "name", "Fake");
  1085.         }
  1086.     }
  1087.     g_IsChangeAllowed = ~1 << id & 31 & g_IsChangeAllowed;
  1088.     ShortThrow = ~1 << id & 31 & ShortThrow;
  1089.     g_iMostDamage[id] = 0;
  1090.     g_iDigit[id] = 0;
  1091.     g_iDealDamage[id] = 0;
  1092.     arrayset(g_iDamage[id][0][0], 0, 33);
  1093.     if (g_iRankModels)
  1094.     {
  1095.         new ent;
  1096.         new var2 = engfunc(21, g_iInfoTargetAlloc);
  1097.         g_iRankEnt[id] = var2;
  1098.         ent = var2;
  1099.         if (pev_valid(ent))
  1100.         {
  1101.             set_pev(ent, 69, 12);
  1102.             set_pev(ent, 17, id);
  1103.             engfunc(2, ent, g_szRankModel);
  1104.         }
  1105.     }
  1106.     g_iUserPoints[id] = 0;
  1107.     g_iUserDusts[id] = 0;
  1108.     g_iUserKeys[id] = 0;
  1109.     g_iUserCases[id] = 0;
  1110.     g_iUserKills[id] = 0;
  1111.     g_iUserRang[id] = 0;
  1112.     g_bUserSell[id] = 0;
  1113.     g_iUserSellItem[id] = -1;
  1114.     g_iUserItemPrice[id] = 0;
  1115.     g_iLastPlace[id] = 0;
  1116.     g_iGiftTarget[id] = 0;
  1117.     g_iGiftItem[id] = -1;
  1118.     g_iMenuType[id] = 0;
  1119.     g_iTradeTarget[id] = 0;
  1120.     g_iTradeItem[id] = -1;
  1121.     g_bTradeActive[id] = 0;
  1122.     g_bTradeAccept[id] = 0;
  1123.     g_bTradeSecond[id] = 0;
  1124.     g_iTradeRequest[id] = 0;
  1125.     g_bLogged[id] = 0;
  1126.     g_bUserPlay[id] = 0;
  1127.     g_bRoulettePlay[id] = 0;
  1128.     g_iUserBetPoints[id] = 10;
  1129.     g_iUserJackpotItem[id] = -1;
  1130.     g_bUserPlayJackpot[id] = 0;
  1131.     g_iUserPassFail[id] = 0;
  1132.     g_szUserSavedPass[id][0][0][0] = 0;
  1133.     g_szUserPassword[id][0][0][0] = 0;
  1134.     new wid = 1;
  1135.     while (wid <= 30)
  1136.     {
  1137.         g_iUserSelectedSkin[id][0][0][wid] = -1;
  1138.         wid++;
  1139.     }
  1140.     new sid = 0;
  1141.     while (sid < 96)
  1142.     {
  1143.         g_iUserSkins[id][0][0][sid] = 0;
  1144.         sid++;
  1145.     }
  1146.     remove_task(id + 1000, 0);
  1147.     if (g_iShowHUD)
  1148.     {
  1149.         set_task(1.00, "task_HUD", id + 1000, "", 0, "b", 0);
  1150.     }
  1151.     if (is_user_bot(id) || is_user_hltv(id))
  1152.     {
  1153.         IsBOTorHLTV = 1 << id & 31 | IsBOTorHLTV;
  1154.         return 0;
  1155.     }
  1156.     IsBOTorHLTV = ~1 << id & 31 & IsBOTorHLTV;
  1157.     _LoadData(id);
  1158.     return 0;
  1159. }
  1160.  
  1161. _o1()
  1162. {
  1163.     !!! Removed Phi
  1164.     g_bMenuOff = 1;
  1165.     new i = 0;
  1166.     i = 0;
  1167.     while (i < 31)
  1168.     {
  1169.         if (fw_ID[i][0][0])
  1170.         {
  1171.             DisableHamForward(fw_ID[i][0][0]);
  1172.         }
  1173.         if (fw_ICD[i][0][0])
  1174.         {
  1175.             DisableHamForward(fw_ICD[i][0][0]);
  1176.             i++;
  1177.         }
  1178.         i++;
  1179.     }
  1180.     i = 0;
  1181.     while (i < 3)
  1182.     {
  1183.         if (fw_PA[i][0][0])
  1184.         {
  1185.             DisableHamForward(fw_PA[i][0][0]);
  1186.         }
  1187.         if (fw_SA[i][0][0])
  1188.         {
  1189.             DisableHamForward(fw_SA[i][0][0]);
  1190.             i++;
  1191.         }
  1192.         i++;
  1193.     }
  1194.     DisableHamForward(fw_S1);
  1195.     DisableHamForward(fw_S2);
  1196.     DisableHamForward(fw_K1);
  1197.     DisableHamForward(fw_K2);
  1198.     unregister_forward(122, fw_CUIC, 0);
  1199.     return 0;
  1200. }
  1201.  
  1202. public task_Info(task)
  1203. {
  1204.     new id = task + -7000;
  1205.     if (1 << id & 31 & g_IsConnected)
  1206.     {
  1207.         client_print_color(id, id, "\4*\1 Joci \4%s\1 v. \3%s\1 creat de \4%s", "CSGO Remake", "1Gx", "Nubo");
  1208.         if (1 << id & 31 & g_IsTrue)
  1209.         {
  1210.             console_print(id, "<%s>", "22332466422");
  1211.         }
  1212.     }
  1213.     return 0;
  1214. }
  1215.  
  1216. public client_disconnect(id)
  1217. {
  1218.     g_IsConnected = ~1 << id & 31 & g_IsConnected;
  1219.     g_IsAlive = ~1 << id & 31 & g_IsAlive;
  1220.     if (g_iRankModels)
  1221.     {
  1222.         new ent;
  1223.         new var2 = g_iRankEnt;
  1224.         ent = var2[id][0][0];
  1225.         new var1;
  1226.         if (pev_valid(ent))
  1227.         {
  1228.             engfunc(20, ent);
  1229.             new var3 = g_iRankEnt[id];
  1230.             var3 = 0;
  1231.             var1 = var3;
  1232.         }
  1233.         else
  1234.         {
  1235.             var1 = var2;
  1236.         }
  1237.     }
  1238.     if (g_iBombPlanter == id)
  1239.     {
  1240.         g_iBombPlanter = 0;
  1241.     }
  1242.     if (g_iBombDefuser == id)
  1243.     {
  1244.         g_iBombDefuser = 0;
  1245.     }
  1246.     remove_task(id + 8000, 0);
  1247.     remove_task(id + 6000, 0);
  1248.     remove_task(id + 7000, 0);
  1249.     g_IsChangeAllowed = ~1 << id & 31 & g_IsChangeAllowed;
  1250.     remove_task(id + 1000, 0);
  1251.     if (1 << id & 31 & IsBOTorHLTV)
  1252.     {
  1253.         return 0;
  1254.     }
  1255.     if (!g_bLogged[id][0][0])
  1256.     {
  1257.         return 0;
  1258.     }
  1259.     _Save(id);
  1260.     return 0;
  1261. }
  1262.  
  1263. public ev_NewRound()
  1264. {
  1265.     !!! Removed Phi
  1266.     g_iBombPlanter = 0;
  1267.     g_iBombDefuser = 0;
  1268.     g_bBombExplode = 0;
  1269.     g_bBombDefused = 0;
  1270.     arrayset("", 0, 33);
  1271.     arrayset("", 0, 33);
  1272.     arrayset("", 0, 33);
  1273.     g_iPruneDays = get_pcvar_num(c_PruneDays);
  1274.     g_iSqlAccount = get_pcvar_num(c_SqlAccount);
  1275.     g_iRespawnDelay = get_pcvar_num(c_RespawnDelay);
  1276.     g_iDropChance = get_pcvar_num(c_DropChance);
  1277.     g_iCraftCost = get_pcvar_num(c_CraftCost);
  1278.     g_iTombolaCost = get_pcvar_num(c_TombolaCost);
  1279.     g_iDropType = get_pcvar_num(c_DropType);
  1280.     g_iKeyPrice = get_pcvar_num(c_KeyPrice);
  1281.     g_iCaseMinCost = get_pcvar_num(c_CaseMinCost);
  1282.     g_iKeyMinCost = get_pcvar_num(c_KeyMinCost);
  1283.     g_iWaitForPlace = get_pcvar_num(c_WaitForPlace);
  1284.     g_iDustForTransform = get_pcvar_num(c_DustForTransform);
  1285.     g_iReturnPercent = get_pcvar_num(c_ReturnPercent);
  1286.     g_iHMinPoints = get_pcvar_num(c_HMinPoints);
  1287.     g_iHMaxPoints = get_pcvar_num(c_HMaxPoints);
  1288.     g_iKMinPoints = get_pcvar_num(c_KMinPoints);
  1289.     g_iKMaxPoints = get_pcvar_num(c_KMaxPoints);
  1290.     g_iHMinChance = get_pcvar_num(c_HMinChance);
  1291.     g_iHMaxChance = get_pcvar_num(c_HMaxChance);
  1292.     g_iKMinChance = get_pcvar_num(c_KMinChance);
  1293.     g_iKMaxChance = get_pcvar_num(c_KMaxChance);
  1294.     g_iAMinPoints = get_pcvar_num(c_AMinPoints);
  1295.     g_iAMaxPoints = get_pcvar_num(c_AMaxPoints);
  1296.     g_iMVPMinPoints = get_pcvar_num(c_MVPMinPoints);
  1297.     g_iMVPMaxPoints = get_pcvar_num(c_MVPMaxPoints);
  1298.     g_iMVPMsgType = get_pcvar_num(c_MVPMsgType);
  1299.     g_iShowDropCraft = get_pcvar_num(c_ShowDropCraft);
  1300.     g_iRouletteMin = get_pcvar_num(c_RouletteMin);
  1301.     g_iRouletteMax = get_pcvar_num(c_RouletteMax);
  1302.     g_iCostMultiplier = get_pcvar_num(c_CostMultiplier);
  1303.     g_iCompetitive = get_pcvar_num(c_Competitive);
  1304.     if (g_iCompetitive < 1)
  1305.     {
  1306.         return 0;
  1307.     }
  1308.     if (g_bWarmUp)
  1309.     {
  1310.         return 0;
  1311.     }
  1312.     if (1 > get_playersnum(0))
  1313.     {
  1314.         return 0;
  1315.     }
  1316.     new szNextMap[32];
  1317.     get_pcvar_string(p_NextMap, szNextMap, 31);
  1318.     if (!IsHalf())
  1319.     {
  1320.         client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_COMPETITIVE_INFO", g_iRoundNum, szNextMap);
  1321.     }
  1322.     if (IsHalf() && g_bTeamSwap)
  1323.     {
  1324.         client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_MAP_END");
  1325.         _ShowBestPlayers();
  1326.         set_task(7.00, "task_Map_End", 0, "", 0, "", 0);
  1327.     }
  1328.     if (IsHalf() && !g_bTeamSwap)
  1329.     {
  1330.         client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_HALF");
  1331.         _ShowBestPlayers();
  1332.         new Float:delay = 0;
  1333.         new i = 1;
  1334.         while (i <= g_iMaxPlayers)
  1335.         {
  1336.             if (1 << i & 31 & g_IsConnected)
  1337.             {
  1338.                 delay = 0.20/*1045220557*/ * i;
  1339.                 set_task(delay, "task_Delayed_Swap", i + 8000, "", 0, "", 0);
  1340.             }
  1341.             i++;
  1342.         }
  1343.         server_cmd("exec %s/csgo_remake.cfg", g_szCfgDir);
  1344.         set_task(7.00, "task_Team_Swap", 0, "", 0, "", 0);
  1345.     }
  1346.     return 0;
  1347. }
  1348.  
  1349. public task_Map_End()
  1350. {
  1351.     set_pcvar_num(p_Freezetime, g_iFreezetime);
  1352.     emessage_begin(2, 30, 60040, 0);
  1353.     emessage_end();
  1354.     return 0;
  1355. }
  1356.  
  1357. public task_Delayed_Swap(task)
  1358. {
  1359.     new id = task + -8000;
  1360.     if (!1 << id & 31 & g_IsConnected)
  1361.     {
  1362.         return 0;
  1363.     }
  1364.     new team = cs_get_user_team(id, 0);
  1365.     new var2 = team;
  1366.     if (3 > var2 & 0 < var2)
  1367.     {
  1368.         new var1;
  1369.         if (team == 1)
  1370.         {
  1371.             var1 = 2;
  1372.         }
  1373.         else
  1374.         {
  1375.             var1 = 1;
  1376.         }
  1377.  
  1378. / * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
  1379.  function "task_Delayed_Swap"
  1380. public task_Delayed_Swap(task)
  1381.  
  1382. public task_Team_Swap()
  1383. {
  1384.     g_bTeamSwap = 1;
  1385.     set_pcvar_num(p_Freezetime, g_iFreezetime);
  1386.     client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_RESTART");
  1387.     server_cmd("sv_restart 1");
  1388.     return 0;
  1389. }
  1390.  
  1391. _ShowBestPlayers()
  1392. {
  1393.     !!! Removed Phi
  1394.     new Pl[32];
  1395.     new n = 0;
  1396.     new p = 0;
  1397.     new i = 0;
  1398.     new BestPlayer = 0;
  1399.     new Frags = 0;
  1400.     new BestFrags = 0;
  1401.     new MVP = 0;
  1402.     new BestMVP = 0;
  1403.     new bonus = get_pcvar_num(c_BestPoints);
  1404.     get_players(Pl, n, "he", "TERRORIST");
  1405.     if (0 < n)
  1406.     {
  1407.         i = 0;
  1408.         while (i < n)
  1409.         {
  1410.             if (MVP < 1 || MVP < BestMVP)
  1411.             {
  1412.             }
  1413.             else
  1414.             {
  1415.                 Frags = get_user_frags(p);
  1416.                 if (MVP > BestMVP)
  1417.                 {
  1418.                     BestPlayer = p;
  1419.                     BestMVP = MVP;
  1420.                     BestFrags = Frags;
  1421.                 }
  1422.                 else
  1423.                 {
  1424.                     if (Frags > BestFrags)
  1425.                     {
  1426.                         BestPlayer = p;
  1427.                         BestFrags = Frags;
  1428.                     }
  1429.                 }
  1430.             }
  1431.             i++;
  1432.         }
  1433.     }
  1434.     if (BestPlayer && BestPlayer <= g_iMaxPlayers)
  1435.     {
  1436.         client_print_color(0, BestPlayer, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_BEST_T", g_szName[BestPlayer][0][0], BestMVP, bonus);
  1437.     }
  1438.     else
  1439.     {
  1440.         client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_ZERO_MVP", "Terrorist");
  1441.     }
  1442.     if (g_bLogged[BestPlayer][0][0])
  1443.     {
  1444.         new var5 = g_iUserPoints[BestPlayer];
  1445.         var5 = bonus + var5[0][0];
  1446.     }
  1447.     get_players(Pl, n, "he", "CT");
  1448.     BestPlayer = 0;
  1449.     BestMVP = 0;
  1450.     BestFrags = 0;
  1451.     if (0 < n)
  1452.     {
  1453.         i = 0;
  1454.         while (i < n)
  1455.         {
  1456.             if (MVP < 1 || MVP < BestMVP)
  1457.             {
  1458.             }
  1459.             else
  1460.             {
  1461.                 Frags = get_user_frags(p);
  1462.                 if (MVP > BestMVP)
  1463.                 {
  1464.                     BestPlayer = p;
  1465.                     BestMVP = MVP;
  1466.                     BestFrags = Frags;
  1467.                 }
  1468.                 else
  1469.                 {
  1470.                     if (Frags > BestFrags)
  1471.                     {
  1472.                         BestPlayer = p;
  1473.                         BestFrags = Frags;
  1474.                     }
  1475.                 }
  1476.             }
  1477.             i++;
  1478.         }
  1479.     }
  1480.     if (BestPlayer && BestPlayer <= g_iMaxPlayers)
  1481.     {
  1482.         client_print_color(0, BestPlayer, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_BEST_CT", g_szName[BestPlayer][0][0], BestMVP, bonus);
  1483.     }
  1484.     else
  1485.     {
  1486.         client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_ZERO_MVP", "Counter-Terrorist");
  1487.     }
  1488.     if (g_bLogged[BestPlayer][0][0])
  1489.     {
  1490.         new var6 = g_iUserPoints[BestPlayer];
  1491.         var6 = bonus + var6[0][0];
  1492.     }
  1493.     return 0;
  1494. }
  1495.  
  1496. public logev_Restart_Round()
  1497. {
  1498.     arrayset("", 0, 3);
  1499.     arrayset("", 0, 33);
  1500.     remove_task(10000, 0);
  1501.     g_bJackpotWork = 1;
  1502.     new timer = get_pcvar_num(c_JackpotTimer);
  1503.     set_task(float(timer), "task_Jackpot", 10000, "", 0, "", 0);
  1504.     g_iJackpotClose = timer + get_systime(0);
  1505.     return 0;
  1506. }
  1507.  
  1508. public logev_Game_Commencing()
  1509. {
  1510.     g_iRoundNum = 0;
  1511.     if (1 > get_pcvar_num(c_Competitive))
  1512.     {
  1513.         return 0;
  1514.     }
  1515.     g_bWarmUp = 1;
  1516.     g_iStartMoney = get_pcvar_num(p_StartMoney);
  1517.     set_pcvar_num(p_StartMoney, 16000);
  1518.     g_iTimer = get_pcvar_num(c_WarmUpDuration);
  1519.     set_task(1.00, "task_WarmUp_CD", 9000, "", 0, "b", 0);
  1520.     return 0;
  1521. }
  1522.  
  1523. public task_WarmUp_CD(task)
  1524. {
  1525.     !!! Removed Phi
  1526.     if (0 < g_iTimer)
  1527.     {
  1528.         set_hudmessage(0, 255, 0, -1.00, 0.80, 0, 0.00, 1.10, 0.00, 0.00, -1);
  1529.         new var1;
  1530.         if (g_iTimer > 1)
  1531.         {
  1532.             var1 = 61216;
  1533.         }
  1534.         else
  1535.         {
  1536.             var1 = 61224;
  1537.         }
  1538.         ShowSyncHudMsg(0, g_WarmUpSync, "WarmUp: %d secund%s", g_iTimer, var1);
  1539.     }
  1540.     else
  1541.     {
  1542.         g_bWarmUp = 0;
  1543.         g_iRoundNum = 1;
  1544.         set_pcvar_num(p_StartMoney, g_iStartMoney);
  1545.         remove_task(task, 0);
  1546.         server_cmd("sv_restart 1");
  1547.     }
  1548.     g_iTimer += -1;
  1549.     return 0;
  1550. }
  1551.  
  1552. bool:IsHalf()
  1553. {
  1554.     if (g_iScore[2][0] + g_iScore[1][0] == 15)
  1555.     {
  1556.         return true;
  1557.     }
  1558.     return false;
  1559. }
  1560.  
  1561. public Message_SendAudio()
  1562. {
  1563.     !!! Removed Phi
  1564.     if (equal(audio[7], "terwin", 0) || equal(audio[7], "ctwin", 0))
  1565.     {
  1566.         return 1;
  1567.     }
  1568.     return 0;
  1569. }
  1570.  
  1571. public ev_RoundWon_T()
  1572. {
  1573.     client_cmd(0, "spk \"%s\"", g_szTWin);
  1574.     new data[1];
  1575.     data[0] = 1;
  1576.  
  1577. / * ERROR! unknown load * /
  1578.  function "ev_RoundWon_T"
  1579. public ev_RoundWon_T()
  1580.  
  1581. public ev_RoundWon_CT()
  1582. {
  1583.     client_cmd(0, "spk \"%s\"", g_szCTWin);
  1584.     new data[1];
  1585.     data[0] = 2;
  1586.  
  1587. / * ERROR! unknown load * /
  1588.  function "ev_RoundWon_CT"
  1589. public ev_RoundWon_CT()
  1590.  
  1591. public task_Check_Conditions(String:data[])
  1592. {
  1593.     new team = data[0];
  1594.     switch (team)
  1595.     {
  1596.         case 1:
  1597.         {
  1598.             if (g_bBombExplode)
  1599.             {
  1600.                 _ShowMVP(g_iBombPlanter, 1);
  1601.             }
  1602.             else
  1603.             {
  1604.                 new top1 = _GetTopKiller(1);
  1605.                 _ShowMVP(top1, 0);
  1606.             }
  1607.         }
  1608.         case 2:
  1609.         {
  1610.             if (g_bBombDefused)
  1611.             {
  1612.                 _ShowMVP(g_iBombDefuser, 2);
  1613.             }
  1614.             else
  1615.             {
  1616.                 new top1 = _GetTopKiller(2);
  1617.                 _ShowMVP(top1, 0);
  1618.             }
  1619.         }
  1620.         default:
  1621.         {
  1622.         }
  1623.     }
  1624.     return 0;
  1625. }
  1626.  
  1627. _ShowMVP(id, event)
  1628. {
  1629.     !!! Removed Phi
  1630.     if (!1 << id & 31 & g_IsConnected)
  1631.     {
  1632.         return 0;
  1633.     }
  1634.     if (event && g_iRoundKills[id][0][0] < 1)
  1635.     {
  1636.         return 0;
  1637.     }
  1638.     g_iUserMVP[id]++;
  1639.     switch (g_iMVPMsgType)
  1640.     {
  1641.         case 0:
  1642.         {
  1643.             switch (event)
  1644.             {
  1645.                 case 0:
  1646.                 {
  1647.                     client_print_color(0, id, "\4%s\1 Round MVP: \3%s\1 %L: \4%d", "[CSGO Remake]", g_szName[id][0][0], -1, "CSGOR_MOST_KILL", g_iRoundKills[id]);
  1648.                 }
  1649.                 case 1:
  1650.                 {
  1651.                     client_print_color(0, id, "\4%s\1 Round MVP: \3%s\1 %L", "[CSGO Remake]", g_szName[id][0][0], -1, "CSGOR_PLANTING");
  1652.                 }
  1653.                 case 2:
  1654.                 {
  1655.                     client_print_color(0, id, "\4%s\1 Round MVP: \3%s\1 %L", "[CSGO Remake]", g_szName[id][0][0], -1, "CSGOR_DEFUSING");
  1656.                 }
  1657.                 default:
  1658.                 {
  1659.                 }
  1660.             }
  1661.         }
  1662.         case 1:
  1663.         {
  1664.             set_hudmessage(0, 255, 0, -1.00, 0.10, 0, 0.00, 5.00, 0.00, 0.00, -1);
  1665.             switch (event)
  1666.             {
  1667.                 case 0:
  1668.                 {
  1669.                     show_hudmessage(0, "Round MVP : %s \n%L (%d).", g_szName[id][0][0], -1, "CSGOR_MOST_KILL", g_iRoundKills[id]);
  1670.                 }
  1671.                 case 1:
  1672.                 {
  1673.                     show_hudmessage(0, "Round MVP : %s \n%L", g_szName[id][0][0], -1, "CSGOR_PLANTING");
  1674.                 }
  1675.                 case 2:
  1676.                 {
  1677.                     show_hudmessage(0, "Round MVP : %s \n%L", g_szName[id][0][0], -1, "CSGOR_DEFUSING");
  1678.                 }
  1679.                 default:
  1680.                 {
  1681.                 }
  1682.             }
  1683.         }
  1684.         default:
  1685.         {
  1686.         }
  1687.     }
  1688.     ExecuteForward(g_iForwards[2][0], g_iForwardResult, id, event, g_iRoundKills[id]);
  1689.     _GiveBonus(id, 1);
  1690.     return 0;
  1691. }
  1692.  
  1693. _GetTopKiller(team)
  1694. {
  1695.     new Pl[32];
  1696.     new n = 0;
  1697.     new var1;
  1698.     if (team == 1)
  1699.     {
  1700.         var1[0] = 62688;
  1701.     }
  1702.     else
  1703.     {
  1704.         var1[0] = 62728;
  1705.     }
  1706.  
  1707. / * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
  1708.  function "_GetTopKiller"
  1709. _GetTopKiller(team)
  1710.  
  1711. public bomb_explode(id, id2)
  1712. {
  1713.     g_iBombPlanter = id;
  1714.     g_bBombExplode = 1;
  1715.     return 0;
  1716. }
  1717.  
  1718. public bomb_defused(id)
  1719. {
  1720.     g_iBombDefuser = id;
  1721.     g_bBombDefused = 1;
  1722.     return 0;
  1723. }
  1724.  
  1725. public fw_FM_ClientUserInfoChanged(id)
  1726. {
  1727.     if (1 << id & 31 & g_IsChangeAllowed)
  1728.     {
  1729.         return 1;
  1730.     }
  1731.     static name[5] =
  1732.     {
  1733.         110, 97, 109, 101, 0
  1734.     }
  1735.     static szNewName[32];
  1736.     static szOldName[32];
  1737.     pev(id, 6, szOldName, 31);
  1738.     if (szOldName[0][0])
  1739.     {
  1740.         get_user_info(id, name, szNewName, 31);
  1741.         if (!equal(szOldName, szNewName, 0))
  1742.         {
  1743.             set_user_info(id, name, szOldName);
  1744.             client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_CANT_CHANGE_ACC");
  1745.             return 2;
  1746.         }
  1747.     }
  1748.     return 1;
  1749. }
  1750.  
  1751. public Ham_Item_Deploy_Post(weapon_ent)
  1752. {
  1753.     !!! Removed Phi
  1754.     new owner = fm_cs_get_weapon_ent_owner(weapon_ent);
  1755.     if (!is_user_alive(owner))
  1756.     {
  1757.         return 0;
  1758.     }
  1759.     new weaponid = cs_get_weapon_id(weapon_ent);
  1760.     new userskin = g_iUserSelectedSkin[owner][0][0][weaponid];
  1761.     if (userskin != -1)
  1762.     {
  1763.         if (1 > g_iUserSkins[owner][0][0][userskin])
  1764.         {
  1765.             g_iUserSelectedSkin[owner][0][0][weaponid] = -1;
  1766.             userskin = -1;
  1767.         }
  1768.     }
  1769.     new imp = pev(weapon_ent, 82);
  1770.     new model[48];
  1771.     if (0 < imp)
  1772.     {
  1773.         ArrayGetString(g_aSkinModel, imp + -1, model, 47);
  1774.         set_pev(owner, 144, model);
  1775.         if (g_bSkinHasModelP[imp + -1][0][0])
  1776.         {
  1777.             ArrayGetString(g_aSkinModelP, imp + -1, model, 47);
  1778.             set_pev(owner, 143, model);
  1779.         }
  1780.     }
  1781.     else
  1782.     {
  1783.         if (userskin != -1 && g_bLogged[owner][0][0])
  1784.         {
  1785.             ArrayGetString(g_aSkinModel, userskin, model, 47);
  1786.             set_pev(owner, 144, model);
  1787.             if (g_bSkinHasModelP[userskin][0][0])
  1788.             {
  1789.                 ArrayGetString(g_aSkinModelP, userskin, model, 47);
  1790.                 set_pev(owner, 143, model);
  1791.             }
  1792.         }
  1793.         if (g_szDefaultSkinModel[weaponid][0][0][0])
  1794.         {
  1795.             set_pev(owner, 144, g_szDefaultSkinModel[weaponid][0][0]);
  1796.         }
  1797.     }
  1798.     return 0;
  1799. }
  1800.  
  1801. fm_cs_get_weapon_ent_owner(ent)
  1802. {
  1803.     if (pev_valid(ent) != 2)
  1804.     {
  1805.         return -1;
  1806.     }
  1807.     return get_pdata_cbase(ent, 41, 4, "");
  1808. }
  1809.  
  1810. public task_HUD(task)
  1811. {
  1812.     !!! Removed Phi
  1813.     new id = task + -1000;
  1814.     if (!1 << id & 31 & g_IsAlive)
  1815.     {
  1816.         return 0;
  1817.     }
  1818.     if (g_bLogged[id][0][0])
  1819.     {
  1820.         set_hudmessage(0, 255, 0, 0.02, 0.90, 0, 6.00, 1.10, 0.00, 0.00, -1);
  1821.         ShowSyncHudMsg(id, g_MsgSync, "%L", id, "CSGOR_HUD_INFO", g_iUserPoints[id], g_iUserKeys[id], g_iUserCases[id]);
  1822.     }
  1823.     else
  1824.     {
  1825.         set_hudmessage(255, 0, 0, 0.02, 0.90, 0, 6.00, 1.10, 0.00, 0.00, -1);
  1826.         ShowSyncHudMsg(id, g_MsgSync, "%L", id, "CSGOR_NOT_LOGGED");
  1827.     }
  1828.     return 0;
  1829. }
  1830.  
  1831. _Save(id)
  1832. {
  1833.     _SaveData(id);
  1834.     return 0;
  1835. }
  1836.  
  1837. _LoadData(id)
  1838. {
  1839.     !!! Removed Phi
  1840.     new Data[576];
  1841.     new Timestamp = 0;
  1842.     if (nvault_lookup(g_Vault, g_szName[id][0][0], Data, 575, Timestamp))
  1843.     {
  1844.         new userData[6][16];
  1845.         userData[0] = 63344;
  1846.         new weaponData[8];
  1847.         new buffer[64];
  1848.         strtok(Data, g_szUserSavedPass[id][0][0], 15, Data, 575, "", 0);
  1849.         strtok(Data, buffer, 63, Data, 575, "", 0);
  1850.         new i = 0;
  1851.         while (i < 6)
  1852.         {
  1853.             strtok(buffer, userData[i], 15, buffer, 63, 44, 0);
  1854.             i++;
  1855.         }
  1856.         g_iUserPoints[id] = str_to_num(userData[0][userData]);
  1857.         g_iUserDusts[id] = str_to_num(userData[1]);
  1858.         g_iUserKeys[id] = str_to_num(userData[2]);
  1859.         g_iUserCases[id] = str_to_num(userData[3]);
  1860.         g_iUserKills[id] = str_to_num(userData[4]);
  1861.         g_iUserRang[id] = str_to_num(userData[5]);
  1862.         if (g_iRankModels)
  1863.         {
  1864.             if (9 < g_iUserRang[id][0][0])
  1865.             {
  1866.                 g_iUserRang[id] = 9;
  1867.                 g_iUserKills[id] = ArrayGetCell(g_aRangKills, g_iUserRang[id][0][0]);
  1868.             }
  1869.         }
  1870.         new skinbuff[96];
  1871.         new temp[4];
  1872.         strtok(Data, Data, 575, skinbuff, 95, 35, 0);
  1873.         new j = 1;
  1874.         while (skinbuff[0] && strtok(skinbuff, temp, "", skinbuff, 95, 44, 0))
  1875.         {
  1876.             g_iUserSelectedSkin[id][0][0][j] = str_to_num(temp);
  1877.             j++;
  1878.         }
  1879.         j = 0;
  1880.         while (Data[0] && strtok(Data, weaponData, 7, Data, 575, 44, 0))
  1881.         {
  1882.             g_iUserSkins[id][0][0][j] = str_to_num(weaponData);
  1883.             j++;
  1884.         }
  1885.     }
  1886.     return 0;
  1887. }
  1888.  
  1889. _SaveData(id)
  1890. {
  1891.     new Data[576];
  1892.     new infobuff[64];
  1893.     new weapbuff[384];
  1894.     new skinbuff[96];
  1895.     formatex(infobuff, 63, 63368, g_szUserSavedPass[id][0][0], g_iUserPoints[id], g_iUserDusts[id], g_iUserKeys[id], g_iUserCases[id], g_iUserKills[id], g_iUserRang[id]);
  1896.     formatex(weapbuff, 383, "%d", g_iUserSkins[id][0][0]);
  1897.     new i = 0;
  1898.     i = 1;
  1899.     while (i < 96)
  1900.     {
  1901.         format(weapbuff, 383, "%s,%d", weapbuff, g_iUserSkins[id][0][0][i]);
  1902.         i++;
  1903.     }
  1904.     formatex(skinbuff, 95, "%d", g_iUserSelectedSkin[id][0][0][1]);
  1905.     i = 2;
  1906.     while (i <= 30)
  1907.     {
  1908.         format(skinbuff, 95, "%s,%d", skinbuff, g_iUserSelectedSkin[id][0][0][i]);
  1909.         i++;
  1910.     }
  1911.     formatex(Data, 575, "%s*%s#%s", infobuff, weapbuff, skinbuff);
  1912.     nvault_set(g_Vault, g_szName[id][0][0], Data);
  1913.     return 0;
  1914. }
  1915.  
  1916. public ev_DeathMsg()
  1917. {
  1918.     !!! Removed Phi
  1919.     new killer = read_data(1);
  1920.     new victim = read_data(2);
  1921.     new head = read_data(3);
  1922.     new szWeapon[24];
  1923.     read_data(4, szWeapon, 23);
  1924.     if (victim == killer)
  1925.     {
  1926.         _Send_DeathMsg(killer, victim, head, szWeapon);
  1927.         return 0;
  1928.     }
  1929.     if (is_user_connected(assist) && assist != killer)
  1930.     {
  1931.         _GiveBonus(assist, 0);
  1932.         ExecuteForward(g_iForwards[1][0], g_iForwardResult, assist, killer, victim, head);
  1933.         new kName[32];
  1934.         new szName1[32];
  1935.         new szName2[32];
  1936.         new iName1Len = strlen(g_szName[killer][0][0]);
  1937.         new iName2Len = strlen(g_szName[assist][0][0]);
  1938.         if (iName1Len < 14)
  1939.         {
  1940.             formatex(szName1, iName1Len, "%s", g_szName[killer][0][0]);
  1941.             formatex(szName2, 28 - iName1Len, "%s", g_szName[assist][0][0]);
  1942.         }
  1943.         else
  1944.         {
  1945.             if (iName2Len < 14)
  1946.             {
  1947.                 formatex(szName1, 28 - iName2Len, "%s", g_szName[killer][0][0]);
  1948.                 formatex(szName2, iName2Len, "%s", g_szName[assist][0][0]);
  1949.             }
  1950.             formatex(szName1, "", "%s", g_szName[killer][0][0]);
  1951.             formatex(szName2, "", "%s", g_szName[assist][0][0]);
  1952.         }
  1953.         formatex(kName, 31, "%s + %s", szName1, szName2);
  1954.         g_iAmxMode = get_pcvar_num(p_AmxMode);
  1955.         set_pcvar_num(p_AmxMode, 0);
  1956.         g_IsChangeAllowed = 1 << killer & 31 | g_IsChangeAllowed;
  1957.         set_msg_block(g_Msg_SayText, 1);
  1958.         set_user_info(killer, "name", kName);
  1959.         new szWeaponLong[24];
  1960.         if (equali(szWeapon, "grenade", 0))
  1961.         {
  1962.             formatex(szWeaponLong, 23, "%s", "weapon_hegrenade");
  1963.         }
  1964.         else
  1965.         {
  1966.             formatex(szWeaponLong, 23, "weapon_%s", szWeapon);
  1967.         }
  1968.         new args[4];
  1969.         args[0] = killer;
  1970.         args[1] = victim;
  1971.         args[2] = head;
  1972.         args[3] = get_weaponid(szWeaponLong);
  1973.         set_task(0.10, "task_Send_DeathMsg", killer + 3000, args, 4, "", 0);
  1974.     }
  1975.     else
  1976.     {
  1977.         _Send_DeathMsg(killer, victim, head, szWeapon);
  1978.     }
  1979.     if (equal(szWeapon, "knife", 0))
  1980.     {
  1981.         cs_set_user_money(killer, min(cs_get_user_money(killer) + 1000, 16000), 1);
  1982.         client_print_color(0, killer, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_KNIFE_KILL", g_szName[killer][0][0], 1000);
  1983.     }
  1984.     g_iDigit[killer]++;
  1985.     _SetKillsIcon(killer, 0);
  1986.     g_iRoundKills[killer]++;
  1987.     if (!g_bLogged[killer][0][0])
  1988.     {
  1989.         client_print_color(killer, killer, "\4%s\1 %L", "[CSGO Remake]", killer, "CSGOR_REGISTER");
  1990.         return 0;
  1991.     }
  1992.     g_iUserKills[killer]++;
  1993.     new bool:levelup = 0;
  1994.     if (g_iRangsNum + -1 > g_iUserRang[killer][0][0])
  1995.     {
  1996.         if (ArrayGetCell(g_aRangKills, g_iUserRang[killer][0][0] + 1) <= g_iUserKills[killer][0][0])
  1997.         {
  1998.             g_iUserRang[killer]++;
  1999.             levelup = 1;
  2000.             new szRang[32];
  2001.             ArrayGetString(g_aRangName, g_iUserRang[killer][0][0], szRang, 31);
  2002.             client_print_color(0, killer, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_LEVELUP_ALL", g_szName[killer][0][0], szRang);
  2003.         }
  2004.     }
  2005.     new rpoints = 0;
  2006.     new rchance = 0;
  2007.     if (head)
  2008.     {
  2009.         rpoints = random_num(g_iHMinPoints, g_iHMaxPoints);
  2010.         rchance = random_num(g_iHMinChance, g_iHMaxChance);
  2011.     }
  2012.     else
  2013.     {
  2014.         rpoints = random_num(g_iKMinPoints, g_iKMaxPoints);
  2015.         rchance = random_num(g_iKMinChance, g_iKMaxChance);
  2016.     }
  2017.     new var2 = g_iUserPoints[killer];
  2018.     var2 = rpoints + var2[0][0];
  2019.     set_hudmessage(255, 255, 255, -1.00, 0.20, 0, 6.00, 2.00, 0.00, 0.00, -1);
  2020.     show_hudmessage(killer, "%L", killer, "CSGOR_REWARD_POINTS", rpoints);
  2021.     if (rchance > g_iDropChance)
  2022.     {
  2023.         new r = 0;
  2024.         if (0 < g_iDropType)
  2025.         {
  2026.             r = 1;
  2027.         }
  2028.         else
  2029.         {
  2030.             r = random_num(1, 2);
  2031.         }
  2032.         switch (r)
  2033.         {
  2034.             case 1:
  2035.             {
  2036.                 g_iUserCases[killer]++;
  2037.                 if (0 < g_iDropType)
  2038.                 {
  2039.                     client_print_color(killer, killer, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_REWARD_CASE2");
  2040.                 }
  2041.                 else
  2042.                 {
  2043.                     client_print_color(killer, killer, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_REWARD_CASE");
  2044.                 }
  2045.             }
  2046.             case 2:
  2047.             {
  2048.                 g_iUserKeys[killer]++;
  2049.                 client_print_color(killer, killer, "\4%s %L", "[CSGO Remake]", -1, "CSGOR_REWARD_KEY");
  2050.             }
  2051.             default:
  2052.             {
  2053.             }
  2054.         }
  2055.     }
  2056.     if (levelup)
  2057.     {
  2058.         new szBonus[16];
  2059.         get_pcvar_string(c_RangUpBonus, szBonus, 15);
  2060.         new keys = 0;
  2061.         new cases = 0;
  2062.         new points = 0;
  2063.         new i = 0;
  2064.         while (szBonus[i] != 124)
  2065.         {
  2066.             switch (szBonus[i])
  2067.             {
  2068.                 case 99:
  2069.                 {
  2070.                     cases++;
  2071.                 }
  2072.                 case 107:
  2073.                 {
  2074.                     keys++;
  2075.                 }
  2076.                 default:
  2077.                 {
  2078.                 }
  2079.             }
  2080.             i++;
  2081.         }
  2082.         new temp[8];
  2083.         strtok(szBonus, temp, 7, szBonus, 15, "bl", 0);
  2084.         if (szBonus[0])
  2085.         {
  2086.             points = str_to_num(szBonus);
  2087.         }
  2088.         if (0 < keys)
  2089.         {
  2090.             new var3 = g_iUserKeys[killer];
  2091.             var3 = keys + var3[0][0];
  2092.         }
  2093.         if (0 < cases)
  2094.         {
  2095.             new var4 = g_iUserCases[killer];
  2096.             var4 = cases + var4[0][0];
  2097.         }
  2098.         if (0 < points)
  2099.         {
  2100.             new var5 = g_iUserPoints[killer];
  2101.             var5 = points + var5[0][0];
  2102.         }
  2103.         client_print_color(killer, killer, "\4%s\1 %L", "[CSGO Remake]", killer, "CSGOR_RANGUP_BONUS", keys, cases, points);
  2104.         _Save(killer);
  2105.     }
  2106.     return 0;
  2107. }
  2108.  
  2109. public task_Send_DeathMsg(String:arg[], task)
  2110. {
  2111.     new killer = task + -3000;
  2112.     new victim = arg[1];
  2113.     new head = arg[2];
  2114.     new weapon = arg[3];
  2115.     new szWeapon[24];
  2116.     get_weaponname(weapon, szWeapon, 23);
  2117.     if (weapon == 4)
  2118.     {
  2119.         replace(szWeapon, 23, "weapon_he", "");
  2120.     }
  2121.     else
  2122.     {
  2123.         replace(szWeapon, 23, "weapon_", "");
  2124.     }
  2125.     _Send_DeathMsg(killer, victim, head, szWeapon);
  2126.     set_msg_block(g_Msg_SayText, 1);
  2127.     set_user_info(killer, "name", g_szName[killer][0][0]);
  2128.     set_task(0.10, "task_Reset_AmxMode", killer + 4000, "", 0, "", 0);
  2129.     return 0;
  2130. }
  2131.  
  2132. public task_Reset_AmxMode(task)
  2133. {
  2134.     g_IsChangeAllowed = ~1 << task + -4000 & 31 & g_IsChangeAllowed;
  2135.     set_pcvar_num(p_AmxMode, g_iAmxMode);
  2136.     return 0;
  2137. }
  2138.  
  2139. _GiveBonus(id, type)
  2140. {
  2141.     if (!g_bLogged[id][0][0])
  2142.     {
  2143.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_REGISTER");
  2144.         return 0;
  2145.     }
  2146.     new rpoints = 0;
  2147.     switch (type)
  2148.     {
  2149.         case 0:
  2150.         {
  2151.             rpoints = random_num(g_iAMinPoints, g_iAMaxPoints);
  2152.         }
  2153.         case 1:
  2154.         {
  2155.             rpoints = random_num(g_iMVPMinPoints, g_iMVPMaxPoints);
  2156.         }
  2157.         default:
  2158.         {
  2159.             return 0;
  2160.         }
  2161.     }
  2162.     new var1 = g_iUserPoints[id];
  2163.     var1 = rpoints + var1[0][0];
  2164.     set_hudmessage(255, 255, 255, -1.00, 0.25, 0, 6.00, 2.00, 0.00, 0.00, -1);
  2165.     show_hudmessage(id, "%L", id, "CSGOR_BONUS_POINTS", rpoints);
  2166.     return 0;
  2167. }
  2168.  
  2169. public Message_SayText(msgId, msgDest, msgEnt)
  2170. {
  2171.     !!! Removed Phi
  2172.     if (id && g_bLogged[id][0][0])
  2173.     {
  2174.         new szChannel[64];
  2175.         get_msg_arg_string(2, szChannel, 63);
  2176.         new i = 0;
  2177.         i = 0;
  2178.         while (i < 3)
  2179.         {
  2180.             if (equal(szChannel, g_szChatChannel[i][0][0], 0))
  2181.             {
  2182.                 new szRang[32];
  2183.                 ArrayGetString(g_aRangName, g_iUserRang[id][0][0], szRang, 31);
  2184.                 switch (i)
  2185.                 {
  2186.                     case 0:
  2187.                     {
  2188.                         formatex(szChannel, 63, 65804, szRang);
  2189.                     }
  2190.                     case 1:
  2191.                     {
  2192.                         formatex(szChannel, 63, 65884, szRang);
  2193.                     }
  2194.                     case 2:
  2195.                     {
  2196.                         formatex(szChannel, 63, 65996, szRang);
  2197.                     }
  2198.                     default:
  2199.                     {
  2200.                     }
  2201.                 }
  2202.                 set_msg_arg_string(2, szChannel);
  2203.             }
  2204.             i++;
  2205.         }
  2206.     }
  2207.     return 0;
  2208. }
  2209.  
  2210. public cmd_test(id)
  2211. {
  2212.     new arg1[16];
  2213.     new arg2[16];
  2214.     new n1 = 0;
  2215.     new n2 = 0;
  2216.     read_argv(1, arg1, 15);
  2217.     n1 = str_to_num(arg1);
  2218.     read_argv(2, arg2, 15);
  2219.     n2 = str_to_num(arg2);
  2220.     new var2 = n1;
  2221.     new var1;
  2222.     if (31 > var2 & 0 < var2)
  2223.     {
  2224.         new var3 = g_iUserSelectedSkin[id][0][0][n1];
  2225.         var3 = n2;
  2226.         console_print(id, "Weapon: %d | Skin: %d", n1, n2);
  2227.         var1 = var3;
  2228.     }
  2229.     else
  2230.     {
  2231.         if (n1 > 30)
  2232.         {
  2233.             g_bUserSell[id] = n2;
  2234.             new var4 = g_bUserSell;
  2235.             console_print(id, "UserSell = <%d>", var4[id]);
  2236.             var1 = var4;
  2237.         }
  2238.         if (task_exists(2000, 0))
  2239.         {
  2240.             console_print(id, "TASK <%d> exists!", 2000);
  2241.             var1 = Heap_-4;
  2242.         }
  2243.         console_print(id, "TASK <%d> NOT exists!", 2000);
  2244.         var1 = Heap_-4;
  2245.     }
  2246.     return 1;
  2247. }
  2248.  
  2249. public clcmd_say_reg(id)
  2250. {
  2251.     !!! Removed Phi
  2252.     if (0 < g_iSqlAccount)
  2253.     {
  2254.         if (!IsRegistered(id))
  2255.         {
  2256.             client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_SQL_REQ_ACC");
  2257.             return 1;
  2258.         }
  2259.     }
  2260.     _ShowRegMenu(id);
  2261.     return 1;
  2262. }
  2263.  
  2264. _DisplayMenu(id, menu)
  2265. {
  2266.     set_pdata_int(id, 205, 0, 5, "");
  2267.     menu_display(id, menu, 0);
  2268.     return 0;
  2269. }
  2270.  
  2271. _ShowRegMenu(id)
  2272. {
  2273.     if (1 > get_pcvar_num(c_RegOpen))
  2274.     {
  2275.         client_print_color(id, id, "\4%s\1 Inregistrarea conturilor noi a fost suspendata!", "[CSGO Remake]");
  2276.         return 0;
  2277.     }
  2278.     new temp[64];
  2279.     formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_REG_MENU");
  2280.     new menu = menu_create(temp, "reg_menu_handler", 0);
  2281.     new szItem[2];
  2282.     szItem[1] = 0;
  2283.     formatex(temp, 63, "\r%L \w%s", id, "CSGOR_REG_ACCOUNT", g_szName[id][0][0]);
  2284.     szItem[0] = 0;
  2285.     menu_additem(menu, temp, szItem, 0, -1);
  2286.     formatex(temp, 63, "\r%L \w%s\n", id, "CSGOR_REG_PASSWORD", g_szUserPassword[id][0][0]);
  2287.     szItem[0] = 1;
  2288.     menu_additem(menu, temp, szItem, 0, -1);
  2289.     new var2 = g_bLogged;
  2290.     new var1;
  2291.     if (var2[id][0][0])
  2292.     {
  2293.         var1 = var2;
  2294.     }
  2295.     else
  2296.     {
  2297.         if (IsRegistered(id))
  2298.         {
  2299.             formatex(temp, 63, "\r%L", id, "CSGOR_REG_LOGIN");
  2300.             szItem[0] = 3;
  2301.             menu_additem(menu, temp, szItem, 0, -1);
  2302.             var1 = szItem;
  2303.         }
  2304.         formatex(temp, 63, "\r%L", id, "CSGOR_REG_REGISTER");
  2305.         szItem[0] = 4;
  2306.         menu_additem(menu, temp, szItem, 0, -1);
  2307.         var1 = szItem;
  2308.     }
  2309.     _DisplayMenu(id, menu);
  2310.     return 0;
  2311. }
  2312.  
  2313. bool:IsRegistered(id)
  2314. {
  2315.     if (6 <= strlen(g_szUserSavedPass[id][0][0]))
  2316.     {
  2317.         return true;
  2318.     }
  2319.     return false;
  2320. }
  2321.  
  2322. _MenuExit(menu)
  2323. {
  2324.     menu_destroy(menu);
  2325.     return 1;
  2326. }
  2327.  
  2328. public reg_menu_handler(id, menu, item)
  2329. {
  2330.     !!! Removed Phi
  2331.     if (item == -3)
  2332.     {
  2333.         return _MenuExit(menu);
  2334.     }
  2335.     new itemdata[2];
  2336.     new dummy = 0;
  2337.     new index = 0;
  2338.     new var2 = Heap_4;
  2339.     var2[0] = 67484;
  2340.     menu_item_getinfo(menu, item, dummy, itemdata, 1, var2, 0, dummy);
  2341.     index = itemdata[0];
  2342.     new pLen = strlen(g_szUserPassword[id][0][0]);
  2343.     switch (index)
  2344.     {
  2345.         case 0:
  2346.         {
  2347.             client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_CANT_CHANGE_ACC");
  2348.             _ShowRegMenu(id);
  2349.         }
  2350.         case 1:
  2351.         {
  2352.             if (!g_bLogged[id][0][0])
  2353.             {
  2354.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_REG_INSERT_PASS", 6);
  2355.                 client_cmd(id, "messagemode UserPassword");
  2356.             }
  2357.         }
  2358.         case 2:
  2359.         {
  2360.             g_bLogged[id] = 0;
  2361.             client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_LOGOUT_SUCCESS");
  2362.         }
  2363.         case 3:
  2364.         {
  2365.             if (spLen == pLen && !equali(g_szUserPassword[id][0][0], g_szUserSavedPass[id][0][0], spLen))
  2366.             {
  2367.                 g_iUserPassFail[id]++;
  2368.                 if (3 <= g_iUserPassFail[id][0][0])
  2369.                 {
  2370.                     new reason[32];
  2371.                     formatex(reason, 31, "%L", id, "CSGOR_MAX_PASS_FAIL", 3);
  2372.                     server_cmd("kick #%d \"%s\"", get_user_userid(id), reason);
  2373.                 }
  2374.                 else
  2375.                 {
  2376.                     client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_PASS_FAIL", g_iUserPassFail[id], 3);
  2377.                     _ShowRegMenu(id);
  2378.                 }
  2379.             }
  2380.             else
  2381.             {
  2382.                 g_bLogged[id] = 1;
  2383.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_LOGIN_SUCCESS");
  2384.                 ExecuteForward(g_iForwards[0][0], g_iForwardResult, id);
  2385.                 _ShowMainMenu(id);
  2386.             }
  2387.         }
  2388.         case 4:
  2389.         {
  2390.             if (pLen < 6)
  2391.             {
  2392.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_REG_INSERT_PASS", 6);
  2393.                 _ShowRegMenu(id);
  2394.                 return _MenuExit(menu);
  2395.             }
  2396.             copy(g_szUserSavedPass[id][0][0], 15, g_szUserPassword[id][0][0]);
  2397.             _Save(id);
  2398.             client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_REG_SUCCESS", g_szUserSavedPass[id][0][0]);
  2399.             _ShowRegMenu(id);
  2400.         }
  2401.         default:
  2402.         {
  2403.         }
  2404.     }
  2405.     return _MenuExit(menu);
  2406. }
  2407.  
  2408. public clcmd_say_menu(id)
  2409. {
  2410.     if (g_bMenuOff)
  2411.     {
  2412.         return 1;
  2413.     }
  2414.     if (g_bLogged[id][0][0])
  2415.     {
  2416.         _ShowMainMenu(id);
  2417.     }
  2418.     else
  2419.     {
  2420.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_MUST_LOGIN");
  2421.         if (g_iSqlAccount < 1)
  2422.         {
  2423.             _ShowRegMenu(id);
  2424.         }
  2425.     }
  2426.  
  2427. / * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
  2428.  function "clcmd_say_menu"
  2429. public clcmd_say_menu(id)
  2430.  
  2431. _ShowMainMenu(id)
  2432. {
  2433.     !!! Removed Phi
  2434.     new temp[96];
  2435.     formatex(temp, 95, "\r%s \w%L\n%L", "[CSGO Remake]", id, "CSGOR_MAIN_MENU", id, "CSGOR_MM_INFO", g_iUserPoints[id], g_iUserKills[id]);
  2436.     new menu = menu_create(temp, "main_menu_handler", 0);
  2437.     new szItem[2];
  2438.     szItem[1] = 0;
  2439.     formatex(temp, 95, "\w%L", id, "CSGOR_MM_SKINS");
  2440.     menu_additem(menu, temp, szItem, 0, -1);
  2441.     formatex(temp, 95, "\w%L", id, "CSGOR_MM_OPEN_CRAFT");
  2442.     menu_additem(menu, temp, szItem, 0, -1);
  2443.     if (g_bUserSell[id][0][0])
  2444.     {
  2445.         new szSell[32];
  2446.         _GetItemName(g_iUserSellItem[id][0][0], szSell, 31);
  2447.         formatex(temp, 95, "\w%L", id, "CSGOR_MM_MARKET_SELL", szSell);
  2448.     }
  2449.     else
  2450.     {
  2451.         formatex(temp, 95, "\w%L", id, "CSGOR_MM_MARKET");
  2452.     }
  2453.     menu_additem(menu, temp, szItem, 0, -1);
  2454.     formatex(temp, 95, "\w%L", id, "CSGOR_MM_DUSTBIN");
  2455.     menu_additem(menu, temp, szItem, 0, -1);
  2456.     formatex(temp, 95, "\w%L", id, "CSGOR_MM_GIFT");
  2457.     menu_additem(menu, temp, szItem, 0, -1);
  2458.     formatex(temp, 95, "\w%L", id, "CSGOR_MM_TRADE");
  2459.     menu_additem(menu, temp, szItem, 0, -1);
  2460.     formatex(temp, 95, "\w%L", id, "CSGOR_MM_GAMES");
  2461.     menu_additem(menu, temp, szItem, 0, -1);
  2462.     new userRang = g_iUserRang[id][0][0];
  2463.     new szRang[32];
  2464.     ArrayGetString(g_aRangName, userRang, szRang, 31);
  2465.     if (g_iRangsNum + -1 > userRang)
  2466.     {
  2467.         new nextRang = ArrayGetCell(g_aRangKills, userRang + 1) - g_iUserKills[id][0][0];
  2468.         formatex(temp, 95, "\w%L\n%L", id, "CSGOR_MM_RANG", szRang, id, "CSGOR_MM_NEXT_KILLS", nextRang);
  2469.     }
  2470.     else
  2471.     {
  2472.         formatex(temp, 95, "\w%L\n%L", id, "CSGOR_MM_RANG", szRang, id, "CSGOR_MM_MAX_KILLS");
  2473.     }
  2474.     menu_addtext(menu, temp, 0);
  2475.     _DisplayMenu(id, menu);
  2476.     return 0;
  2477. }
  2478.  
  2479. _GetItemName(item, String:temp[], len)
  2480. {
  2481.     switch (item)
  2482.     {
  2483.         case -12:
  2484.         {
  2485.             formatex(temp, len, "%L", -1, "CSGOR_ITEM_KEY");
  2486.         }
  2487.         case -11:
  2488.         {
  2489.             formatex(temp, len, "%L", -1, "CSGOR_ITEM_CASE");
  2490.         }
  2491.         default:
  2492.         {
  2493.             ArrayGetString(g_aSkinName, item, temp, len);
  2494.         }
  2495.     }
  2496.     return 0;
  2497. }
  2498.  
  2499. public main_menu_handler(id, menu, item)
  2500. {
  2501.     if (item == -3)
  2502.     {
  2503.         return _MenuExit(menu);
  2504.     }
  2505.     switch (item)
  2506.     {
  2507.         case 0:
  2508.         {
  2509.             _ShowSkinMenu(id);
  2510.         }
  2511.         case 1:
  2512.         {
  2513.             _ShowOpenCaseCraftMenu(id);
  2514.         }
  2515.         case 2:
  2516.         {
  2517.             _ShowMarketMenu(id);
  2518.         }
  2519.         case 3:
  2520.         {
  2521.             _ShowDustbinMenu(id);
  2522.         }
  2523.         case 4:
  2524.         {
  2525.             _ShowGiftMenu(id);
  2526.         }
  2527.         case 5:
  2528.         {
  2529.             _ShowTradeMenu(id);
  2530.         }
  2531.         case 6:
  2532.         {
  2533.             _ShowGamesMenu(id);
  2534.         }
  2535.         default:
  2536.         {
  2537.         }
  2538.     }
  2539.     return _MenuExit(menu);
  2540. }
  2541.  
  2542. public concmd_password(id)
  2543. {
  2544.     if (g_bLogged[id][0][0])
  2545.     {
  2546.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_ALREADY_LOGIN");
  2547.         return 1;
  2548.     }
  2549.     new data[32];
  2550.     read_args(data, 31);
  2551.     remove_quotes(data);
  2552.     if (6 > strlen(data))
  2553.     {
  2554.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_REG_INSERT_PASS", 6);
  2555.         client_cmd(id, "messagemode UserPassword");
  2556.         return 1;
  2557.     }
  2558.     copy(g_szUserPassword[id][0][0], 15, data);
  2559.     _ShowRegMenu(id);
  2560.     return 1;
  2561. }
  2562.  
  2563. _ShowSkinMenu(id)
  2564. {
  2565.     !!! Removed Phi
  2566.     new temp[64];
  2567.     formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_SKIN_MENU");
  2568.     new menu = menu_create(temp, "skin_menu_handler", 0);
  2569.     new szItem[2];
  2570.     szItem[1] = 0;
  2571.     new skinName[48];
  2572.     new bool:hasSkins = 0;
  2573.     new wid = 0;
  2574.     new bool:apply = 0;
  2575.     new num = 0;
  2576.     new skintype[4];
  2577.     new bool:craft = 0;
  2578.     new i = 0;
  2579.     while (i < g_iSkinsNum)
  2580.     {
  2581.         num = g_iUserSkins[id][0][0][i];
  2582.         if (0 < num)
  2583.         {
  2584.             ArrayGetString(g_aSkinName, i, skinName, 47);
  2585.             ArrayGetString(g_aSkinType, i, skintype, 3);
  2586.             if (equali(skintype, "c", 0))
  2587.             {
  2588.                 craft = 1;
  2589.             }
  2590.             else
  2591.             {
  2592.                 craft = 0;
  2593.             }
  2594.             wid = ArrayGetCell(g_aSkinWeaponID, i);
  2595.             if (i == g_iUserSelectedSkin[id][0][0][wid])
  2596.             {
  2597.                 apply = 1;
  2598.             }
  2599.             else
  2600.             {
  2601.                 apply = 0;
  2602.             }
  2603.             new var1;
  2604.             if (apply)
  2605.             {
  2606.                 var1 = 71400;
  2607.             }
  2608.             else
  2609.             {
  2610.                 var1 = 71408;
  2611.             }
  2612.             new var2;
  2613.             if (craft)
  2614.             {
  2615.                 var2 = 71320;
  2616.             }
  2617.             else
  2618.             {
  2619.                 var2 = 71332;
  2620.             }
  2621.             formatex(temp, 63, "\r%s \y%s\w| \y%L \r%s", skinName, var2, id, "CSGOR_SM_PIECES", num, var1);
  2622.             szItem[0] = i;
  2623.             menu_additem(menu, temp, szItem, 0, -1);
  2624.             hasSkins = 1;
  2625.             i++;
  2626.         }
  2627.         i++;
  2628.     }
  2629.     if (!hasSkins)
  2630.     {
  2631.         formatex(temp, 63, "\r%L", id, "CSGOR_SM_NO_SKINS");
  2632.         szItem[0] = -10;
  2633.         menu_additem(menu, temp, szItem, 0, -1);
  2634.     }
  2635.     _DisplayMenu(id, menu);
  2636.     return 0;
  2637. }
  2638.  
  2639. public skin_menu_handler(id, menu, item)
  2640. {
  2641.     !!! Removed Phi
  2642.     if (item == -3)
  2643.     {
  2644.         _ShowMainMenu(id);
  2645.         return _MenuExit(menu);
  2646.     }
  2647.     new itemdata[2];
  2648.     new dummy = 0;
  2649.     new index = 0;
  2650.     new var1 = Heap_4;
  2651.     var1[0] = 67484;
  2652.     menu_item_getinfo(menu, item, dummy, itemdata, 1, var1, 0, dummy);
  2653.     index = itemdata[0];
  2654.     switch (index)
  2655.     {
  2656.         case -10:
  2657.         {
  2658.             _ShowMainMenu(id);
  2659.         }
  2660.         default:
  2661.         {
  2662.             new wid = ArrayGetCell(g_aSkinWeaponID, index);
  2663.             new bool:SameSkin = 0;
  2664.             if (index == g_iUserSelectedSkin[id][0][0][wid])
  2665.             {
  2666.                 SameSkin = 1;
  2667.             }
  2668.             new sName[32];
  2669.             ArrayGetString(g_aSkinName, index, sName, 31);
  2670.             if (!SameSkin)
  2671.             {
  2672.                 g_iUserSelectedSkin[id][0][0][wid] = index;
  2673.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_SELECT_SKIN", sName);
  2674.             }
  2675.             else
  2676.             {
  2677.                 g_iUserSelectedSkin[id][0][0][wid] = -1;
  2678.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_DESELECT_SKIN", sName);
  2679.             }
  2680.             _ShowSkinMenu(id);
  2681.         }
  2682.     }
  2683.     return _MenuExit(menu);
  2684. }
  2685.  
  2686. _ShowOpenCaseCraftMenu(id)
  2687. {
  2688.     !!! Removed Phi
  2689.     new temp[96];
  2690.     formatex(temp, 95, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_OC_CRAFT_MENU");
  2691.     new menu = menu_create(temp, "oc_craft_menu_handler", 0);
  2692.     new szItem[2];
  2693.     szItem[1] = 0;
  2694.     formatex(temp, 95, "\w%L\n%L\n", id, "CSGOR_OCC_OPENCASE", id, "CSGOR_OCC_OPEN_ITEMS", g_iUserCases[id], g_iUserKeys[id]);
  2695.     szItem[0] = 0;
  2696.     menu_additem(menu, temp, szItem, 0, -1);
  2697.     if (0 < g_iDropType)
  2698.     {
  2699.         formatex(temp, 95, "\r%L\n\w%L\n", id, "CSGOR_OCC_BUY_KEY", id, "CSGOR_MR_PRICE", g_iKeyPrice);
  2700.         szItem[0] = 2;
  2701.         menu_additem(menu, temp, szItem, 0, -1);
  2702.         formatex(temp, 95, "\r%L \w| %L\n", id, "CSGOR_OCC_SELL_KEY", id, "CSGOR_RECEIVE_POINTS", g_iKeyPrice / 2);
  2703.         szItem[0] = 3;
  2704.         menu_additem(menu, temp, szItem, 0, -1);
  2705.     }
  2706.     formatex(temp, 95, "\w%L\n%L", id, "CSGOR_OCC_CRAFT", id, "CSGOR_OCC_CRAFT_ITEMS", g_iUserDusts[id], g_iCraftCost);
  2707.     szItem[0] = 1;
  2708.     menu_additem(menu, temp, szItem, 0, -1);
  2709.     _DisplayMenu(id, menu);
  2710.     return 0;
  2711. }
  2712.  
  2713. public oc_craft_menu_handler(id, menu, item)
  2714. {
  2715.     !!! Removed Phi
  2716.     if (item == -3)
  2717.     {
  2718.         _ShowMainMenu(id);
  2719.         return _MenuExit(menu);
  2720.     }
  2721.     new itemdata[2];
  2722.     new dummy = 0;
  2723.     new index = 0;
  2724.     new var2 = Heap_4;
  2725.     var2[0] = 67484;
  2726.     menu_item_getinfo(menu, item, dummy, itemdata, 1, var2, 0, dummy);
  2727.     index = itemdata[0];
  2728.     switch (index)
  2729.     {
  2730.         case 0:
  2731.         {
  2732.             if (g_iUserCases[id][0][0] < 1 || g_iUserKeys[id][0][0] < 1)
  2733.             {
  2734.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_OPEN_NOT_ENOUGH");
  2735.                 _ShowOpenCaseCraftMenu(id);
  2736.             }
  2737.             else
  2738.             {
  2739.                 if (get_systime(0) < g_iLastOpenCraft[id][0][0] + 5)
  2740.                 {
  2741.                     client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_DONT_SPAM", 5);
  2742.                     _ShowOpenCaseCraftMenu(id);
  2743.                 }
  2744.                 _OpenCase(id);
  2745.             }
  2746.         }
  2747.         case 1:
  2748.         {
  2749.             if (g_iCraftCost > g_iUserDusts[id][0][0])
  2750.             {
  2751.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_CRAFT_NOT_ENOUGH", g_iCraftCost - g_iUserDusts[id][0][0]);
  2752.                 _ShowOpenCaseCraftMenu(id);
  2753.             }
  2754.             else
  2755.             {
  2756.                 if (get_systime(0) < g_iLastOpenCraft[id][0][0] + 5)
  2757.                 {
  2758.                     client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_DONT_SPAM", 5);
  2759.                     _ShowOpenCaseCraftMenu(id);
  2760.                 }
  2761.                 _CraftSkin(id);
  2762.             }
  2763.         }
  2764.         case 2:
  2765.         {
  2766.             if (g_iKeyPrice > g_iUserPoints[id][0][0])
  2767.             {
  2768.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_NOT_ENOUGH_POINTS", g_iKeyPrice - g_iUserPoints[id][0][0]);
  2769.                 _ShowOpenCaseCraftMenu(id);
  2770.             }
  2771.             else
  2772.             {
  2773.                 new var5 = g_iUserPoints[id];
  2774.                 var5 = var5[0][0] - g_iKeyPrice;
  2775.                 new var6 = g_iUserKeys[id];
  2776.                 var6 = var6[0][0] + 1;
  2777.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_BUY_KEY");
  2778.                 _ShowOpenCaseCraftMenu(id);
  2779.             }
  2780.         }
  2781.         case 3:
  2782.         {
  2783.             if (1 > g_iUserKeys[id][0][0])
  2784.             {
  2785.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_NONE_KEYS");
  2786.                 _ShowOpenCaseCraftMenu(id);
  2787.             }
  2788.             else
  2789.             {
  2790.                 new var3 = g_iUserPoints[id];
  2791.                 var3 = g_iKeyPrice / 2 + var3[0][0];
  2792.                 new var4 = g_iUserKeys[id];
  2793.                 var4 = var4[0][0] - 1;
  2794.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_SELL_KEY");
  2795.                 _ShowOpenCaseCraftMenu(id);
  2796.             }
  2797.         }
  2798.         default:
  2799.         {
  2800.         }
  2801.     }
  2802.     return _MenuExit(menu);
  2803. }
  2804.  
  2805. _OpenCase(id)
  2806. {
  2807.     !!! Removed Phi
  2808.     new timer = 0;
  2809.     new bool:succes = 0;
  2810.     new rSkin = 0;
  2811.     new rChance = 0;
  2812.     new skinID = 0;
  2813.     new wChance = 0;
  2814.     do {
  2815.         rSkin = random_num(0, g_iDropSkinNum + -1);
  2816.         rChance = random_num(1, 100);
  2817.         skinID = ArrayGetCell(g_aDropSkin, rSkin);
  2818.         wChance = ArrayGetCell(g_aSkinChance, skinID);
  2819.         if (rChance >= wChance)
  2820.         {
  2821.             succes = 1;
  2822.         }
  2823.         if (timer < 5 && !succes)
  2824.         {
  2825.         }
  2826.     } while (var1);
  2827.     if (succes)
  2828.     {
  2829.         new Skin[32];
  2830.         ArrayGetString(g_aSkinName, skinID, Skin, 31);
  2831.         g_iUserSkins[id][0][0][skinID]++;
  2832.         g_iUserCases[id]--;
  2833.         g_iUserKeys[id]--;
  2834.         if (0 < g_iShowDropCraft)
  2835.         {
  2836.             client_print_color(0, id, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_DROP_SUCCESS_ALL", g_szName[id][0][0], Skin, 100 - wChance);
  2837.         }
  2838.         else
  2839.         {
  2840.             client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_DROP_SUCCESS", Skin, 100 - wChance);
  2841.         }
  2842.         _Save(id);
  2843.         g_iLastOpenCraft[id] = get_systime(0);
  2844.         _ShowOpenCaseCraftMenu(id);
  2845.     }
  2846.     else
  2847.     {
  2848.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_DROP_FAIL");
  2849.         _ShowOpenCaseCraftMenu(id);
  2850.     }
  2851.     return 0;
  2852. }
  2853.  
  2854. _CraftSkin(id)
  2855. {
  2856.     !!! Removed Phi
  2857.     new timer = 0;
  2858.     new bool:succes = 0;
  2859.     new rSkin = 0;
  2860.     new rChance = 0;
  2861.     new skinID = 0;
  2862.     new wChance = 0;
  2863.     do {
  2864.         rSkin = random_num(0, g_iCraftSkinNum + -1);
  2865.         rChance = random_num(1, 100);
  2866.         skinID = ArrayGetCell(g_aCraftSkin, rSkin);
  2867.         wChance = ArrayGetCell(g_aSkinChance, skinID);
  2868.         if (rChance >= wChance)
  2869.         {
  2870.             succes = 1;
  2871.         }
  2872.         if (timer < 5 && !succes)
  2873.         {
  2874.         }
  2875.     } while (var1);
  2876.     if (succes)
  2877.     {
  2878.         new Skin[32];
  2879.         ArrayGetString(g_aSkinName, skinID, Skin, 31);
  2880.         g_iUserSkins[id][0][0][skinID]++;
  2881.         new var2 = g_iUserDusts[id];
  2882.         var2 = var2[0][0] - g_iCraftCost;
  2883.         if (0 < g_iShowDropCraft)
  2884.         {
  2885.             client_print_color(0, id, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_CRAFT_SUCCESS_ALL", g_szName[id][0][0], Skin, 100 - wChance);
  2886.         }
  2887.         else
  2888.         {
  2889.             client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_CRAFT_SUCCESS", Skin, 100 - wChance);
  2890.         }
  2891.         _Save(id);
  2892.         g_iLastOpenCraft[id] = get_systime(0);
  2893.         _ShowOpenCaseCraftMenu(id);
  2894.     }
  2895.     else
  2896.     {
  2897.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_CRAFT_FAIL");
  2898.         _ShowOpenCaseCraftMenu(id);
  2899.     }
  2900.     return 0;
  2901. }
  2902.  
  2903. _ShowMarketMenu(id)
  2904. {
  2905.     !!! Removed Phi
  2906.     new temp[96];
  2907.     formatex(temp, 95, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_MARKET_MENU");
  2908.     new menu = menu_create(temp, "market_menu_handler", 0);
  2909.     new szItem[2];
  2910.     szItem[1] = 0;
  2911.     new szSkin[48];
  2912.     if (!_IsGoodItem(g_iUserSellItem[id][0][0]))
  2913.     {
  2914.         formatex(temp, 95, "\y%L", id, "CSGOR_MR_SELECT_ITEM");
  2915.     }
  2916.     else
  2917.     {
  2918.         _GetItemName(g_iUserSellItem[id][0][0], szSkin, 47);
  2919.         formatex(temp, 95, "\w%L\n\w%L", id, "CSGOR_MR_SELL_ITEM", szSkin, id, "CSGOR_MR_PRICE", g_iUserItemPrice[id]);
  2920.     }
  2921.     szItem[0] = 33;
  2922.     menu_additem(menu, temp, szItem, 0, -1);
  2923.     if (g_bUserSell[id][0][0])
  2924.     {
  2925.         formatex(temp, 95, "\r%L\n", id, "CSGOR_MR_CANCEL_SELL");
  2926.         szItem[0] = 35;
  2927.         menu_additem(menu, temp, szItem, 0, -1);
  2928.     }
  2929.     else
  2930.     {
  2931.         formatex(temp, 95, "\r%L\n", id, "CSGOR_MR_START_SELL");
  2932.         szItem[0] = 34;
  2933.         menu_additem(menu, temp, szItem, 0, -1);
  2934.     }
  2935.     new Pl[32];
  2936.     new n = 0;
  2937.     new p = 0;
  2938.     get_players(Pl, n, "ch", "");
  2939.     if (n)
  2940.     {
  2941.         new items = 0;
  2942.         new sType[4];
  2943.         new bool:craft = 0;
  2944.         new i = 0;
  2945.         while (i < n)
  2946.         {
  2947.             p = Pl[i];
  2948.             if (g_bLogged[p][0][0])
  2949.             {
  2950.                 if (p == id)
  2951.                 {
  2952.                 }
  2953.                 else
  2954.                 {
  2955.                     if (g_bUserSell[p][0][0])
  2956.                     {
  2957.                         new index = g_iUserSellItem[p][0][0];
  2958.                         _GetItemName(index, szSkin, 47);
  2959.                         if (_IsItemSkin(index))
  2960.                         {
  2961.                             ArrayGetString(g_aSkinType, index, sType, 3);
  2962.                         }
  2963.                         else
  2964.                         {
  2965.                             formatex(sType, "", "d");
  2966.                         }
  2967.                         if (equali(sType, "c", 0))
  2968.                         {
  2969.                             craft = 1;
  2970.                         }
  2971.                         else
  2972.                         {
  2973.                             craft = 0;
  2974.                         }
  2975.                         new var1;
  2976.                         if (craft)
  2977.                         {
  2978.                             var1 = 76036;
  2979.                         }
  2980.                         else
  2981.                         {
  2982.                             var1 = 76048;
  2983.                         }
  2984.                         formatex(temp, 95, "\w%s | \r%s \y%s\w| \y%d %L", g_szName[p][0][0], szSkin, var1, g_iUserItemPrice[p], id, "CSGOR_POINTS");
  2985.                         szItem[0] = p;
  2986.                         menu_additem(menu, temp, szItem, 0, -1);
  2987.                         items++;
  2988.                     }
  2989.                 }
  2990.             }
  2991.             i++;
  2992.         }
  2993.         if (!items)
  2994.         {
  2995.             formatex(temp, 95, "\r%L", id, "CSGOR_NOBODY_SELL");
  2996.             szItem[0] = -10;
  2997.             menu_additem(menu, temp, szItem, 0, -1);
  2998.         }
  2999.     }
  3000.     _DisplayMenu(id, menu);
  3001.     return 0;
  3002. }
  3003.  
  3004. bool:_IsItemSkin(item)
  3005. {
  3006.     new var1 = item;
  3007.     if (g_iSkinsNum > var1 & 0 <= var1)
  3008.     {
  3009.         return true;
  3010.     }
  3011.     return false;
  3012. }
  3013.  
  3014. bool:_IsGoodItem(item)
  3015. {
  3016.     !!! Removed Phi
  3017.     if (var2 < g_iSkinsNum & 0 <= var2 || item == -11 || item == -12)
  3018.     {
  3019.         return true;
  3020.     }
  3021.     return false;
  3022. }
  3023.  
  3024. public market_menu_handler(id, menu, item)
  3025. {
  3026.     if (item == -3)
  3027.     {
  3028.         _ShowMainMenu(id);
  3029.         return _MenuExit(menu);
  3030.     }
  3031.     new itemdata[2];
  3032.     new dummy = 0;
  3033.     new index = 0;
  3034.     new var6 = Heap_4;
  3035.     var6[0] = 67484;
  3036.     menu_item_getinfo(menu, item, dummy, itemdata, 1, var6, 0, dummy);
  3037.     index = itemdata[0];
  3038.     new var5;
  3039.     switch (index)
  3040.     {
  3041.         case -10:
  3042.         {
  3043.             _ShowMarketMenu(id);
  3044.             var5 = Heap_-4;
  3045.         }
  3046.         case 33:
  3047.         {
  3048.             new var12 = g_bUserSell;
  3049.             if (var12[id][0][0])
  3050.             {
  3051.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_MUST_CANCEL");
  3052.                 _ShowMarketMenu(id);
  3053.             }
  3054.             else
  3055.             {
  3056.                 _ShowItems(id);
  3057.             }
  3058.             var5 = var12;
  3059.         }
  3060.         case 34:
  3061.         {
  3062.             new var8 = g_iUserSellItem;
  3063.             new var1;
  3064.             if (!_IsGoodItem(var8[id][0][0]))
  3065.             {
  3066.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_MUST_SELECT");
  3067.                 _ShowMarketMenu(id);
  3068.                 var1 = var8;
  3069.             }
  3070.             else
  3071.             {
  3072.                 if (g_iWaitForPlace > get_systime(0) - g_iLastPlace[id][0][0])
  3073.                 {
  3074.                     client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_MUST_WAIT", g_iWaitForPlace + g_iLastPlace[id][0][0] - get_systime(0));
  3075.                     var1 = Heap_-4;
  3076.                 }
  3077.                 new var9 = g_iUserItemPrice[id][0][0];
  3078.                 if (1 > var9)
  3079.                 {
  3080.                     client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_IM_SET_PRICE");
  3081.                     _ShowMarketMenu(id);
  3082.                     var1 = var9;
  3083.                 }
  3084.                 new wPriceMin = 0;
  3085.                 new wPriceMax = 0;
  3086.                 _CalcItemPrice(g_iUserSellItem[id][0][0], wPriceMin, wPriceMax);
  3087.                 new var10 = g_iUserItemPrice[id][0][0];
  3088.                 if (!var10 <= wPriceMax & wPriceMin <= var10)
  3089.                 {
  3090.                     client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_ITEM_MIN_MAX_COST", wPriceMin, wPriceMax);
  3091.                     _ShowMarketMenu(id);
  3092.                     return _MenuExit(menu);
  3093.                 }
  3094.                 g_bUserSell[id] = 1;
  3095.                 g_iLastPlace[id] = get_systime(0);
  3096.                 new Item[32];
  3097.                 _GetItemName(g_iUserSellItem[id][0][0], Item, 31);
  3098.                 new var11 = g_szName[id];
  3099.                 client_print_color(0, id, "\4%s %L", "[CSGO Remake]", id, "CSGOR_SELL_ANNOUNCE", var11[0][0], Item, g_iUserItemPrice[id]);
  3100.                 var1 = var11;
  3101.             }
  3102.             var5 = var1;
  3103.         }
  3104.         case 35:
  3105.         {
  3106.             new var7 = g_bUserSell[id];
  3107.             var7 = 0;
  3108.             client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_CANCEL_SELL");
  3109.             _ShowMarketMenu(id);
  3110.             var5 = var7;
  3111.         }
  3112.         default:
  3113.         {
  3114.             new tItem = g_iUserSellItem[index][0][0];
  3115.             new price = g_iUserItemPrice[index][0][0];
  3116.             new var13 = g_bLogged;
  3117.             new var2;
  3118.             new var3;
  3119.             if (!var13[index][0][0])
  3120.             {
  3121.                 var2 = var13;
  3122.             }
  3123.             else
  3124.             {
  3125.                 new var14 = g_IsConnected;
  3126.                 if (!1 << index & 31 & var14)
  3127.                 {
  3128.                     var2 = var14;
  3129.                 }
  3130.                 var3 = 0;
  3131.  
  3132. / * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
  3133.  function "market_menu_handler"
  3134. public market_menu_handler(id, menu, item)
  3135.  
  3136. _ShowItems(id)
  3137. {
  3138.     !!! Removed Phi
  3139.     new temp[64];
  3140.     formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_ITEM_MENU");
  3141.     new menu = menu_create(temp, "item_menu_handler", 0);
  3142.     new szItem[2];
  3143.     szItem[1] = 0;
  3144.     new total = 0;
  3145.     if (0 < g_iUserCases[id][0][0])
  3146.     {
  3147.         formatex(temp, 63, "\r%L \w| \y%L", id, "CSGOR_ITEM_CASE", id, "CSGOR_SM_PIECES", g_iUserCases[id]);
  3148.         szItem[0] = -11;
  3149.         menu_additem(menu, temp, szItem, 0, -1);
  3150.         total++;
  3151.     }
  3152.     if (g_iUserKeys[id][0][0] > 0 && g_iDropType < 1)
  3153.     {
  3154.         formatex(temp, 63, "\r%L \w| \y%L", id, "CSGOR_ITEM_KEY", id, "CSGOR_SM_PIECES", g_iUserKeys[id]);
  3155.         szItem[0] = -12;
  3156.         menu_additem(menu, temp, szItem, 0, -1);
  3157.         total++;
  3158.     }
  3159.     new szSkin[32];
  3160.     new num = 0;
  3161.     new type[2];
  3162.     new i = 0;
  3163.     while (i < g_iSkinsNum)
  3164.     {
  3165.         num = g_iUserSkins[id][0][0][i];
  3166.         if (0 < num)
  3167.         {
  3168.             ArrayGetString(g_aSkinName, i, szSkin, 31);
  3169.             ArrayGetString(g_aSkinType, i, type, 1);
  3170.             new var2;
  3171.             if (type[0] == 99)
  3172.             {
  3173.                 var2 = 79036;
  3174.             }
  3175.             else
  3176.             {
  3177.                 var2 = 79044;
  3178.             }
  3179.             formatex(temp, 63, "\r%s \w| \y%L \r%s", szSkin, id, "CSGOR_SM_PIECES", num, var2);
  3180.             szItem[0] = i;
  3181.             menu_additem(menu, temp, szItem, 0, -1);
  3182.             total++;
  3183.             i++;
  3184.         }
  3185.         i++;
  3186.     }
  3187.     if (!total)
  3188.     {
  3189.         formatex(temp, 63, "\r%L", id, "CSGOR_NO_ITEMS");
  3190.         szItem[0] = -10;
  3191.         menu_additem(menu, temp, szItem, 0, -1);
  3192.     }
  3193.     _DisplayMenu(id, menu);
  3194.     return 0;
  3195. }
  3196.  
  3197. public item_menu_handler(id, menu, item)
  3198. {
  3199.     if (item == -3)
  3200.     {
  3201.         _ShowMarketMenu(id);
  3202.         return _MenuExit(menu);
  3203.     }
  3204.     new itemdata[2];
  3205.     new dummy = 0;
  3206.     new index = 0;
  3207.     new var1 = Heap_4;
  3208.     var1[0] = 67484;
  3209.     menu_item_getinfo(menu, item, dummy, itemdata, 1, var1, 0, dummy);
  3210.     index = itemdata[0];
  3211.     if (index == -10)
  3212.     {
  3213.         _ShowMarketMenu(id);
  3214.         return _MenuExit(menu);
  3215.     }
  3216.     g_iUserSellItem[id] = index;
  3217.     new szItem[32];
  3218.     _GetItemName(index, szItem, 31);
  3219.     client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_IM_SELECT", szItem);
  3220.     client_cmd(id, "messagemode ItemPrice");
  3221.     client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_IM_SET_PRICE");
  3222.     return _MenuExit(menu);
  3223. }
  3224.  
  3225. public concmd_itemprice(id)
  3226. {
  3227.     !!! Removed Phi
  3228.     new item = g_iUserSellItem[id][0][0];
  3229.     if (!_IsGoodItem(item))
  3230.     {
  3231.         return 1;
  3232.     }
  3233.     if (uPrice < wPriceMin || uPrice > wPriceMax)
  3234.     {
  3235.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_ITEM_MIN_MAX_COST", wPriceMin, wPriceMax);
  3236.         client_cmd(id, "messagemode ItemPrice");
  3237.         return 1;
  3238.     }
  3239.     g_iUserItemPrice[id] = uPrice;
  3240.     _ShowMarketMenu(id);
  3241.     return 1;
  3242. }
  3243.  
  3244. _CalcItemPrice(item, &min, &max)
  3245. {
  3246.     switch (item)
  3247.     {
  3248.         case -12:
  3249.         {
  3250.             min = g_iKeyMinCost;
  3251.             max = g_iCostMultiplier * g_iKeyMinCost;
  3252.         }
  3253.         case -11:
  3254.         {
  3255.             min = g_iCaseMinCost;
  3256.             max = g_iCostMultiplier * g_iCaseMinCost;
  3257.         }
  3258.         default:
  3259.         {
  3260.             min = ArrayGetCell(g_aSkinCostMin, item);
  3261.             new i = min;
  3262.             max = i * 2;
  3263.         }
  3264.     }
  3265.     return 0;
  3266. }
  3267.  
  3268. _ShowDustbinMenu(id)
  3269. {
  3270.     new temp[64];
  3271.     formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_DB_MENU");
  3272.     new menu = menu_create(temp, "dustbin_menu_handler", 0);
  3273.     new szItem[2];
  3274.     szItem[1] = 0;
  3275.     formatex(temp, 63, "\y%L\n", id, "CSGOR_DB_TRANSFORM");
  3276.     szItem[0] = 1;
  3277.     menu_additem(menu, temp, szItem, 0, -1);
  3278.     formatex(temp, 63, "\r%L", id, "CSGOR_DB_DESTROY");
  3279.     szItem[0] = 2;
  3280.     menu_additem(menu, temp, szItem, 0, -1);
  3281.     _DisplayMenu(id, menu);
  3282.     return 0;
  3283. }
  3284.  
  3285. public dustbin_menu_handler(id, menu, item)
  3286. {
  3287.     if (item == -3)
  3288.     {
  3289.         _ShowMainMenu(id);
  3290.         return _MenuExit(menu);
  3291.     }
  3292.     new itemdata[2];
  3293.     new dummy = 0;
  3294.     new index = 0;
  3295.     new var1 = Heap_4;
  3296.     var1[0] = 67484;
  3297.     menu_item_getinfo(menu, item, dummy, itemdata, 1, var1, 0, dummy);
  3298.     index = itemdata[0];
  3299.     g_iMenuType[id] = index;
  3300.     _ShowSkins(id);
  3301.     return _MenuExit(menu);
  3302. }
  3303.  
  3304. _ShowSkins(id)
  3305. {
  3306.     !!! Removed Phi
  3307.     new temp[64];
  3308.     formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_SKINS");
  3309.     new menu = menu_create(temp, "db_skins_menu_handler", 0);
  3310.     new szItem[2];
  3311.     szItem[1] = 0;
  3312.     new szSkin[32];
  3313.     new num = 0;
  3314.     new type[2];
  3315.     new total = 0;
  3316.     new i = 0;
  3317.     while (i < g_iSkinsNum)
  3318.     {
  3319.         num = g_iUserSkins[id][0][0][i];
  3320.         if (0 < num)
  3321.         {
  3322.             ArrayGetString(g_aSkinName, i, szSkin, 31);
  3323.             ArrayGetString(g_aSkinType, i, type, 1);
  3324.             new var1;
  3325.             if (type[0] == 99)
  3326.             {
  3327.                 var1 = 80600;
  3328.             }
  3329.             else
  3330.             {
  3331.                 var1 = 80608;
  3332.             }
  3333.             formatex(temp, 63, "\r%s \w| \y%L \r%s", szSkin, id, "CSGOR_SM_PIECES", num, var1);
  3334.             szItem[0] = i;
  3335.             menu_additem(menu, temp, szItem, 0, -1);
  3336.             total++;
  3337.             i++;
  3338.         }
  3339.         i++;
  3340.     }
  3341.     if (!total)
  3342.     {
  3343.         formatex(temp, 63, "\r%L", id, "CSGOR_SM_NO_SKINS");
  3344.         szItem[0] = -10;
  3345.         menu_additem(menu, temp, szItem, 0, -1);
  3346.     }
  3347.     _DisplayMenu(id, menu);
  3348.     return 0;
  3349. }
  3350.  
  3351. public db_skins_menu_handler(id, menu, item)
  3352. {
  3353.     if (item == -3)
  3354.     {
  3355.         _ShowDustbinMenu(id);
  3356.         return _MenuExit(menu);
  3357.     }
  3358.     new itemdata[2];
  3359.     new dummy = 0;
  3360.     new index = 0;
  3361.     new var2 = Heap_4;
  3362.     var2[0] = 67484;
  3363.     menu_item_getinfo(menu, item, dummy, itemdata, 1, var2, 0, dummy);
  3364.     index = itemdata[0];
  3365.     if (index == -10)
  3366.     {
  3367.         _ShowMainMenu(id);
  3368.         return _MenuExit(menu);
  3369.     }
  3370.     new var3 = g_iMenuType;
  3371.     new var1;
  3372.     switch (var3[id][0][0])
  3373.     {
  3374.         case 1:
  3375.         {
  3376.             g_iUserSkins[id][0][0][index]--;
  3377.             new var5 = g_iUserDusts[id];
  3378.             var5 = g_iDustForTransform + var5[0][0];
  3379.             new Skin[32];
  3380.             ArrayGetString(g_aSkinName, index, Skin, 31);
  3381.             client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRANSFORM", g_iDustForTransform, Skin);
  3382.             _Save(id);
  3383.             var1 = Skin;
  3384.         }
  3385.         case 2:
  3386.         {
  3387.             g_iUserSkins[id][0][0][index]--;
  3388.             new Skin[32];
  3389.             ArrayGetString(g_aSkinName, index, Skin, 31);
  3390.             new sPrice = ArrayGetCell(g_aSkinCostMin, index);
  3391.             new rest = sPrice / g_iReturnPercent;
  3392.             client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_DESTORY", Skin, rest);
  3393.             new var4 = g_iUserPoints[id];
  3394.             var4 = rest + var4[0][0];
  3395.             _Save(id);
  3396.             var1 = var4;
  3397.         }
  3398.         default:
  3399.         {
  3400.             var1 = var3;
  3401.         }
  3402.     }
  3403.     g_iMenuType[id] = 0;
  3404.     _ShowDustbinMenu(id);
  3405.     return _MenuExit(menu);
  3406. }
  3407.  
  3408. _ShowGiftMenu(id)
  3409. {
  3410.     !!! Removed Phi
  3411.     new temp[64];
  3412.     formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_GIFT_MENU");
  3413.     new menu = menu_create(temp, "gift_menu_handler", 0);
  3414.     new szItem[2];
  3415.     szItem[1] = 0;
  3416.     new bool:HasTarget = 0;
  3417.     new bool:HasItem = 0;
  3418.     new target = g_iGiftTarget[id][0][0];
  3419.     if (target)
  3420.     {
  3421.         formatex(temp, 63, "\w%L", id, "CSGOR_GM_TARGET", g_szName[target][0][0]);
  3422.         szItem[0] = 0;
  3423.         menu_additem(menu, temp, szItem, 0, -1);
  3424.         HasTarget = 1;
  3425.     }
  3426.     else
  3427.     {
  3428.         formatex(temp, 63, "\r%L", id, "CSGOR_GM_SELECT_TARGET");
  3429.         szItem[0] = 0;
  3430.         menu_additem(menu, temp, szItem, 0, -1);
  3431.     }
  3432.     if (!_IsGoodItem(g_iGiftItem[id][0][0]))
  3433.     {
  3434.         formatex(temp, 63, "\r%L\n", id, "CSGOR_GM_SELECT_ITEM");
  3435.         szItem[0] = 1;
  3436.         menu_additem(menu, temp, szItem, 0, -1);
  3437.     }
  3438.     else
  3439.     {
  3440.         new Item[32];
  3441.         _GetItemName(g_iGiftItem[id][0][0], Item, 31);
  3442.         formatex(temp, 63, "\w%L\n", id, "CSGOR_GM_ITEM", Item);
  3443.         szItem[0] = 1;
  3444.         menu_additem(menu, temp, szItem, 0, -1);
  3445.         HasItem = 1;
  3446.     }
  3447.     if (HasTarget && HasItem)
  3448.     {
  3449.         formatex(temp, 63, "\r%L", id, "CSGOR_GM_SEND");
  3450.         szItem[0] = 2;
  3451.         menu_additem(menu, temp, szItem, 0, -1);
  3452.     }
  3453.     _DisplayMenu(id, menu);
  3454.     return 0;
  3455. }
  3456.  
  3457. public gift_menu_handler(id, menu, item)
  3458. {
  3459.     if (item == -3)
  3460.     {
  3461.         _ShowMainMenu(id);
  3462.         return _MenuExit(menu);
  3463.     }
  3464.     new itemdata[2];
  3465.     new dummy = 0;
  3466.     new index = 0;
  3467.     new var3 = Heap_4;
  3468.     var3[0] = 67484;
  3469.     menu_item_getinfo(menu, item, dummy, itemdata, 1, var3, 0, dummy);
  3470.     index = itemdata[0];
  3471.     switch (index)
  3472.     {
  3473.         case 0:
  3474.         {
  3475.             _SelectTarget(id);
  3476.         }
  3477.         case 1:
  3478.         {
  3479.             _SelectItem(id);
  3480.         }
  3481.         case 2:
  3482.         {
  3483.             new target = g_iGiftTarget[id][0][0];
  3484.             new _item = g_iGiftItem[id][0][0];
  3485.             new var4 = g_bLogged;
  3486.             new var1;
  3487.             new var2;
  3488.             if (!var4[target][0][0])
  3489.             {
  3490.                 var1 = var4;
  3491.             }
  3492.             else
  3493.             {
  3494.                 new var5 = g_IsConnected;
  3495.                 if (!1 << target & 31 & var5)
  3496.                 {
  3497.                     var1 = var5;
  3498.                 }
  3499.                 var2 = 0;
  3500.  
  3501. / * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
  3502.  function "gift_menu_handler"
  3503. public gift_menu_handler(id, menu, item)
  3504.  
  3505. bool:_UserHasItem(id, item)
  3506. {
  3507.     if (!_IsGoodItem(item))
  3508.     {
  3509.         return false;
  3510.     }
  3511.     switch (item)
  3512.     {
  3513.         case -12:
  3514.         {
  3515.             if (0 < g_iUserKeys[id][0][0])
  3516.             {
  3517.                 return true;
  3518.             }
  3519.         }
  3520.         case -11:
  3521.         {
  3522.             if (0 < g_iUserCases[id][0][0])
  3523.             {
  3524.                 return true;
  3525.             }
  3526.         }
  3527.         default:
  3528.         {
  3529.             if (0 < g_iUserSkins[id][0][0][item])
  3530.             {
  3531.                 return true;
  3532.             }
  3533.         }
  3534.     }
  3535.     return 0;
  3536. }
  3537.  
  3538. _SelectTarget(id)
  3539. {
  3540.     new temp[64];
  3541.     formatex(temp, 63, "\r%s \y%L", "[CSGO Remake]", id, "CSGOR_GM_SELECT_TARGET");
  3542.     new menu = menu_create(temp, "st_menu_handler", 0);
  3543.     new szItem[2];
  3544.     szItem[1] = 0;
  3545.     new Pl[32];
  3546.     new n = 0;
  3547.     new p = 0;
  3548.     get_players(Pl, n, "ch", "");
  3549.     new total = 0;
  3550.     if (n)
  3551.     {
  3552.         new i = 0;
  3553.         while (i < n)
  3554.         {
  3555.             p = Pl[i];
  3556.             new var2 = g_bLogged;
  3557.             new var1;
  3558.             if (!var2[p][0][0])
  3559.             {
  3560.                 var1 = var2;
  3561.             }
  3562.             else
  3563.             {
  3564.                 new var3 = id;
  3565.                 if (p == var3)
  3566.                 {
  3567.                     var1 = var3;
  3568.                 }
  3569.                 szItem[0] = p;
  3570.                 new var4 = g_szName[p];
  3571.                 menu_additem(menu, var4[0][0], szItem, 0, -1);
  3572.                 total++;
  3573.                 var1 = var4;
  3574.             }
  3575.             i++;
  3576.         }
  3577.     }
  3578.     if (!total)
  3579.     {
  3580.         formatex(temp, 63, "\r%L", id, "CSGOR_ST_NO_PLAYERS");
  3581.         szItem[0] = -10;
  3582.         menu_additem(menu, temp, szItem, 0, -1);
  3583.     }
  3584.     _DisplayMenu(id, menu);
  3585.     return 0;
  3586. }
  3587.  
  3588. public st_menu_handler(id, menu, item)
  3589. {
  3590.     if (item == -3)
  3591.     {
  3592.         _ShowGiftMenu(id);
  3593.         return _MenuExit(menu);
  3594.     }
  3595.     new itemdata[2];
  3596.     new dummy = 0;
  3597.     new index = 0;
  3598.     new name[32];
  3599.     menu_item_getinfo(menu, item, dummy, itemdata, 1, name, 31, dummy);
  3600.     index = itemdata[0];
  3601.     switch (index)
  3602.     {
  3603.         case -10:
  3604.         {
  3605.             _ShowMainMenu(id);
  3606.         }
  3607.         default:
  3608.         {
  3609.             g_iGiftTarget[id] = index;
  3610.             client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_YOUR_TARGET", name);
  3611.             _ShowGiftMenu(id);
  3612.         }
  3613.     }
  3614.     return _MenuExit(menu);
  3615. }
  3616.  
  3617. _SelectItem(id)
  3618. {
  3619.     !!! Removed Phi
  3620.     new temp[64];
  3621.     formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_ITEM_MENU");
  3622.     new menu = menu_create(temp, "si_menu_handler", 0);
  3623.     new szItem[2];
  3624.     szItem[1] = 0;
  3625.     new total = 0;
  3626.     if (0 < g_iUserCases[id][0][0])
  3627.     {
  3628.         formatex(temp, 63, "\r%L \w| \y%L", id, "CSGOR_ITEM_CASE", id, "CSGOR_SM_PIECES", g_iUserCases[id]);
  3629.         szItem[0] = -11;
  3630.         menu_additem(menu, temp, szItem, 0, -1);
  3631.         total++;
  3632.     }
  3633.     if (0 < g_iUserKeys[id][0][0])
  3634.     {
  3635.         formatex(temp, 63, "\r%L \w| \y%L", id, "CSGOR_ITEM_KEY", id, "CSGOR_SM_PIECES", g_iUserKeys[id]);
  3636.         szItem[0] = -12;
  3637.         menu_additem(menu, temp, szItem, 0, -1);
  3638.         total++;
  3639.     }
  3640.     new szSkin[32];
  3641.     new num = 0;
  3642.     new type[2];
  3643.     new i = 0;
  3644.     while (i < g_iSkinsNum)
  3645.     {
  3646.         num = g_iUserSkins[id][0][0][i];
  3647.         if (0 < num)
  3648.         {
  3649.             ArrayGetString(g_aSkinName, i, szSkin, 31);
  3650.             ArrayGetString(g_aSkinType, i, type, 1);
  3651.             new var1;
  3652.             if (type[0] == 99)
  3653.             {
  3654.                 var1 = 84392;
  3655.             }
  3656.             else
  3657.             {
  3658.                 var1 = 84400;
  3659.             }
  3660.             formatex(temp, 63, "\r%s \w| \y%L \r%s", szSkin, id, "CSGOR_SM_PIECES", num, var1);
  3661.             szItem[0] = i;
  3662.             menu_additem(menu, temp, szItem, 0, -1);
  3663.             total++;
  3664.             i++;
  3665.         }
  3666.         i++;
  3667.     }
  3668.     if (!total)
  3669.     {
  3670.         formatex(temp, 63, "\r%L", id, "CSGOR_NO_ITEMS");
  3671.         szItem[0] = -10;
  3672.         menu_additem(menu, temp, szItem, 0, -1);
  3673.     }
  3674.     _DisplayMenu(id, menu);
  3675.     return 0;
  3676. }
  3677.  
  3678. public si_menu_handler(id, menu, item)
  3679. {
  3680.     if (item == -3)
  3681.     {
  3682.         _ShowGiftMenu(id);
  3683.         return _MenuExit(menu);
  3684.     }
  3685.     new itemdata[2];
  3686.     new dummy = 0;
  3687.     new index = 0;
  3688.     new var3 = Heap_4;
  3689.     var3[0] = 67484;
  3690.     menu_item_getinfo(menu, item, dummy, itemdata, 1, var3, 0, dummy);
  3691.     index = itemdata[0];
  3692.     switch (index)
  3693.     {
  3694.         case -10:
  3695.         {
  3696.             _ShowMainMenu(id);
  3697.         }
  3698.         default:
  3699.         {
  3700.             new var4 = g_iUserSellItem[id][0][0];
  3701.             new var1;
  3702.             new var2;
  3703.             if (index == var4)
  3704.             {
  3705.                 new var5 = g_bUserSell;
  3706.                 if (var5[id][0][0])
  3707.                 {
  3708.                     var2 = var5;
  3709.                     if (ERROR: Phi)
  3710.                     {
  3711.                         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_INVALID_GIFT");
  3712.                         _SelectItem(id);
  3713.                     }
  3714.                     else
  3715.                     {
  3716.                         g_iGiftItem[id] = index;
  3717.                         new szItem[32];
  3718.                         _GetItemName(index, szItem, 31);
  3719.                         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_YOUR_GIFT", szItem);
  3720.                         _ShowGiftMenu(id);
  3721.                     }
  3722.                 }
  3723.                 var1 = var5;
  3724.             }
  3725.             else
  3726.             {
  3727.                 var1 = var4;
  3728.             }
  3729.             var2 = var1;
  3730.             if (ERROR: Phi)
  3731.             {
  3732.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_INVALID_GIFT");
  3733.                 _SelectItem(id);
  3734.             }
  3735.             else
  3736.             {
  3737.                 g_iGiftItem[id] = index;
  3738.                 new szItem[32];
  3739.                 _GetItemName(index, szItem, 31);
  3740.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_YOUR_GIFT", szItem);
  3741.                 _ShowGiftMenu(id);
  3742.             }
  3743.         }
  3744.     }
  3745.     return _MenuExit(menu);
  3746. }
  3747.  
  3748. _ShowTradeMenu(id)
  3749. {
  3750.     !!! Removed Phi
  3751.     if (g_bTradeAccept[id][0][0])
  3752.     {
  3753.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_INFO2");
  3754.         return 0;
  3755.     }
  3756.     new temp[64];
  3757.     formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_TRADE_MENU");
  3758.     new menu = menu_create(temp, "trade_menu_handler", 0);
  3759.     new szItem[2];
  3760.     szItem[1] = 0;
  3761.     new bool:HasTarget = 0;
  3762.     new bool:HasItem = 0;
  3763.     new target = g_iTradeTarget[id][0][0];
  3764.     if (target)
  3765.     {
  3766.         formatex(temp, 63, "\w%L", id, "CSGOR_GM_TARGET", g_szName[target][0][0]);
  3767.         szItem[0] = 0;
  3768.         menu_additem(menu, temp, szItem, 0, -1);
  3769.         HasTarget = 1;
  3770.     }
  3771.     else
  3772.     {
  3773.         formatex(temp, 63, "\r%L", id, "CSGOR_GM_SELECT_TARGET");
  3774.         szItem[0] = 0;
  3775.         menu_additem(menu, temp, szItem, 0, -1);
  3776.     }
  3777.     if (!_IsGoodItem(g_iTradeItem[id][0][0]))
  3778.     {
  3779.         formatex(temp, 63, "\r%L\n", id, "CSGOR_GM_SELECT_ITEM");
  3780.         szItem[0] = 1;
  3781.         menu_additem(menu, temp, szItem, 0, -1);
  3782.     }
  3783.     else
  3784.     {
  3785.         new Item[32];
  3786.         _GetItemName(g_iTradeItem[id][0][0], Item, 31);
  3787.         formatex(temp, 63, "\w%L\n", id, "CSGOR_GM_ITEM", Item);
  3788.         szItem[0] = 1;
  3789.         menu_additem(menu, temp, szItem, 0, -1);
  3790.         HasItem = 1;
  3791.     }
  3792.     if (HasTarget && HasItem && !g_bTradeActive[id][0][0])
  3793.     {
  3794.         formatex(temp, 63, "\r%L", id, "CSGOR_GM_SEND");
  3795.         szItem[0] = 2;
  3796.         menu_additem(menu, temp, szItem, 0, -1);
  3797.     }
  3798.     if (g_bTradeActive[id][0][0] || g_bTradeSecond[id][0][0])
  3799.     {
  3800.         formatex(temp, 63, "\r%L", id, "CSGOR_TRADE_CANCEL");
  3801.         szItem[0] = 3;
  3802.         menu_additem(menu, temp, szItem, 0, -1);
  3803.     }
  3804.     _DisplayMenu(id, menu);
  3805.     return 0;
  3806. }
  3807.  
  3808. public trade_menu_handler(id, menu, item)
  3809. {
  3810.     !!! Removed Phi
  3811.     if (item == -3)
  3812.     {
  3813.         if (g_bTradeSecond[id][0][0])
  3814.         {
  3815.             clcmd_say_deny(id);
  3816.         }
  3817.         _ShowMainMenu(id);
  3818.         return _MenuExit(menu);
  3819.     }
  3820.     new itemdata[2];
  3821.     new dummy = 0;
  3822.     new index = 0;
  3823.     new var3 = Heap_4;
  3824.     var3[0] = 67484;
  3825.     menu_item_getinfo(menu, item, dummy, itemdata, 1, var3, 0, dummy);
  3826.     index = itemdata[0];
  3827.     switch (index)
  3828.     {
  3829.         case 0:
  3830.         {
  3831.             if (g_bTradeActive[id][0][0] || g_bTradeSecond[id][0][0])
  3832.             {
  3833.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_LOCKED");
  3834.                 _ShowTradeMenu(id);
  3835.             }
  3836.             else
  3837.             {
  3838.                 _SelectTradeTarget(id);
  3839.             }
  3840.         }
  3841.         case 1:
  3842.         {
  3843.             if (g_bTradeActive[id][0][0])
  3844.             {
  3845.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_LOCKED");
  3846.                 _ShowTradeMenu(id);
  3847.             }
  3848.             else
  3849.             {
  3850.                 _SelectTradeItem(id);
  3851.             }
  3852.         }
  3853.         case 2:
  3854.         {
  3855.             if (!g_bLogged[target][0][0] || !1 << target & 31 & g_IsConnected)
  3856.             {
  3857.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_INVALID_TARGET");
  3858.                 _ResetTradeData(id);
  3859.                 _ShowTradeMenu(id);
  3860.             }
  3861.             else
  3862.             {
  3863.                 if (!_UserHasItem(id, _item))
  3864.                 {
  3865.                     client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_NOT_ENOUGH_ITEMS");
  3866.                     g_iTradeItem[id] = -1;
  3867.                     _ShowTradeMenu(id);
  3868.                 }
  3869.                 g_bTradeActive[id] = 1;
  3870.                 g_iTradeRequest[target] = id;
  3871.                 new szItem[32];
  3872.                 _GetItemName(g_iTradeItem[id][0][0], szItem, 31);
  3873.                 if (!g_bTradeSecond[id][0][0])
  3874.                 {
  3875.                     client_print_color(target, target, "\4%s\1 %L", "[CSGO Remake]", target, "CSGOR_TRADE_INFO1", g_szName[id][0][0], szItem);
  3876.                     client_print_color(target, target, "\4%s\1 %L", "[CSGO Remake]", target, "CSGOR_TRADE_INFO2");
  3877.                 }
  3878.                 else
  3879.                 {
  3880.                     new yItem[32];
  3881.                     _GetItemName(g_iTradeItem[target][0][0], yItem, 31);
  3882.                     client_print_color(target, target, "\4%s %L", "[CSGO Remake]", target, "CSGOR_TRADE_INFO3", g_szName[id][0][0], szItem, yItem);
  3883.                     client_print_color(target, target, "\4%s\1 %L", "[CSGO Remake]", target, "CSGOR_TRADE_INFO2");
  3884.                     g_bTradeAccept[target] = 1;
  3885.                 }
  3886.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_SEND", g_szName[target][0][0]);
  3887.             }
  3888.         }
  3889.         case 3:
  3890.         {
  3891.             if (g_bTradeSecond[id][0][0])
  3892.             {
  3893.                 clcmd_say_deny(id);
  3894.             }
  3895.             else
  3896.             {
  3897.                 _ResetTradeData(id);
  3898.             }
  3899.             client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_CANCELED");
  3900.             _ShowTradeMenu(id);
  3901.         }
  3902.         default:
  3903.         {
  3904.         }
  3905.     }
  3906.     return _MenuExit(menu);
  3907. }
  3908.  
  3909. _SelectTradeTarget(id)
  3910. {
  3911.     new temp[64];
  3912.     formatex(temp, 63, "\r%s \y%L", "[CSGO Remake]", id, "CSGOR_GM_SELECT_TARGET");
  3913.     new menu = menu_create(temp, "tst_menu_handler", 0);
  3914.     new szItem[2];
  3915.     szItem[1] = 0;
  3916.     new Pl[32];
  3917.     new n = 0;
  3918.     new p = 0;
  3919.     get_players(Pl, n, "ch", "");
  3920.     new total = 0;
  3921.     if (n)
  3922.     {
  3923.         new i = 0;
  3924.         while (i < n)
  3925.         {
  3926.             p = Pl[i];
  3927.             new var2 = g_bLogged;
  3928.             new var1;
  3929.             if (!var2[p][0][0])
  3930.             {
  3931.                 var1 = var2;
  3932.             }
  3933.             else
  3934.             {
  3935.                 new var3 = id;
  3936.                 if (p == var3)
  3937.                 {
  3938.                     var1 = var3;
  3939.                 }
  3940.                 szItem[0] = p;
  3941.                 new var4 = g_szName[p];
  3942.                 menu_additem(menu, var4[0][0], szItem, 0, -1);
  3943.                 total++;
  3944.                 var1 = var4;
  3945.             }
  3946.             i++;
  3947.         }
  3948.     }
  3949.     if (!total)
  3950.     {
  3951.         formatex(temp, 63, "\r%L", id, "CSGOR_ST_NO_PLAYERS");
  3952.         szItem[0] = -10;
  3953.         menu_additem(menu, temp, szItem, 0, -1);
  3954.     }
  3955.     _DisplayMenu(id, menu);
  3956.     return 0;
  3957. }
  3958.  
  3959. public tst_menu_handler(id, menu, item)
  3960. {
  3961.     if (item == -3)
  3962.     {
  3963.         _ShowTradeMenu(id);
  3964.         return _MenuExit(menu);
  3965.     }
  3966.     new itemdata[2];
  3967.     new dummy = 0;
  3968.     new index = 0;
  3969.     new name[32];
  3970.     menu_item_getinfo(menu, item, dummy, itemdata, 1, name, 31, dummy);
  3971.     index = itemdata[0];
  3972.     switch (index)
  3973.     {
  3974.         case -10:
  3975.         {
  3976.             _ShowMainMenu(id);
  3977.         }
  3978.         default:
  3979.         {
  3980.             new var2 = g_iTradeRequest;
  3981.             new var1;
  3982.             if (var2[index][0][0])
  3983.             {
  3984.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TARGET_TRADE_ACTIVE", name);
  3985.                 var1 = var2;
  3986.             }
  3987.             else
  3988.             {
  3989.                 new var3 = g_iTradeTarget[id];
  3990.                 var3 = index;
  3991.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_YOUR_TARGET", name);
  3992.                 var1 = var3;
  3993.             }
  3994.             _ShowTradeMenu(id);
  3995.         }
  3996.     }
  3997.     return _MenuExit(menu);
  3998. }
  3999.  
  4000. _SelectTradeItem(id)
  4001. {
  4002.     !!! Removed Phi
  4003.     new temp[64];
  4004.     formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_ITEM_MENU");
  4005.     new menu = menu_create(temp, "tsi_menu_handler", 0);
  4006.     new szItem[2];
  4007.     szItem[1] = 0;
  4008.     new total = 0;
  4009.     if (0 < g_iUserCases[id][0][0])
  4010.     {
  4011.         formatex(temp, 63, "\r%L \w| \y%L", id, "CSGOR_ITEM_CASE", id, "CSGOR_SM_PIECES", g_iUserCases[id]);
  4012.         szItem[0] = -11;
  4013.         menu_additem(menu, temp, szItem, 0, -1);
  4014.         total++;
  4015.     }
  4016.     if (0 < g_iUserKeys[id][0][0])
  4017.     {
  4018.         formatex(temp, 63, "\r%L \w| \y%L", id, "CSGOR_ITEM_KEY", id, "CSGOR_SM_PIECES", g_iUserKeys[id]);
  4019.         szItem[0] = -12;
  4020.         menu_additem(menu, temp, szItem, 0, -1);
  4021.         total++;
  4022.     }
  4023.     new szSkin[32];
  4024.     new num = 0;
  4025.     new type[2];
  4026.     new i = 0;
  4027.     while (i < g_iSkinsNum)
  4028.     {
  4029.         num = g_iUserSkins[id][0][0][i];
  4030.         if (0 < num)
  4031.         {
  4032.             ArrayGetString(g_aSkinName, i, szSkin, 31);
  4033.             ArrayGetString(g_aSkinType, i, type, 1);
  4034.             new var1;
  4035.             if (type[0] == 99)
  4036.             {
  4037.                 var1 = 88852;
  4038.             }
  4039.             else
  4040.             {
  4041.                 var1 = 88860;
  4042.             }
  4043.             formatex(temp, 63, "\r%s \w| \y%L \r%s", szSkin, id, "CSGOR_SM_PIECES", num, var1);
  4044.             szItem[0] = i;
  4045.             menu_additem(menu, temp, szItem, 0, -1);
  4046.             total++;
  4047.             i++;
  4048.         }
  4049.         i++;
  4050.     }
  4051.     if (!total)
  4052.     {
  4053.         formatex(temp, 63, "\r%L", id, "CSGOR_NO_ITEMS");
  4054.         szItem[0] = -10;
  4055.         menu_additem(menu, temp, szItem, 0, -1);
  4056.     }
  4057.     _DisplayMenu(id, menu);
  4058.     return 0;
  4059. }
  4060.  
  4061. public tsi_menu_handler(id, menu, item)
  4062. {
  4063.     if (item == -3)
  4064.     {
  4065.         _ShowTradeMenu(id);
  4066.         return _MenuExit(menu);
  4067.     }
  4068.     new itemdata[2];
  4069.     new dummy = 0;
  4070.     new index = 0;
  4071.     new var3 = Heap_4;
  4072.     var3[0] = 67484;
  4073.     menu_item_getinfo(menu, item, dummy, itemdata, 1, var3, 0, dummy);
  4074.     index = itemdata[0];
  4075.     switch (index)
  4076.     {
  4077.         case -10:
  4078.         {
  4079.             _ShowTradeMenu(id);
  4080.         }
  4081.         default:
  4082.         {
  4083.             new var4 = g_iUserSellItem[id][0][0];
  4084.             new var1;
  4085.             new var2;
  4086.             if (index == var4)
  4087.             {
  4088.                 new var5 = g_bUserSell;
  4089.                 if (var5[id][0][0])
  4090.                 {
  4091.                     var2 = var5;
  4092.                     if (ERROR: Phi)
  4093.                     {
  4094.                         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_INVALID_ITEM");
  4095.                         _SelectTradeItem(id);
  4096.                     }
  4097.                     else
  4098.                     {
  4099.                         g_iTradeItem[id] = index;
  4100.                         new szItem[32];
  4101.                         _GetItemName(index, szItem, 31);
  4102.                         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_ITEM", szItem);
  4103.                         _ShowTradeMenu(id);
  4104.                     }
  4105.                 }
  4106.                 var1 = var5;
  4107.             }
  4108.             else
  4109.             {
  4110.                 var1 = var4;
  4111.             }
  4112.             var2 = var1;
  4113.             if (ERROR: Phi)
  4114.             {
  4115.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_INVALID_ITEM");
  4116.                 _SelectTradeItem(id);
  4117.             }
  4118.             else
  4119.             {
  4120.                 g_iTradeItem[id] = index;
  4121.                 new szItem[32];
  4122.                 _GetItemName(index, szItem, 31);
  4123.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_ITEM", szItem);
  4124.                 _ShowTradeMenu(id);
  4125.             }
  4126.         }
  4127.     }
  4128.     return _MenuExit(menu);
  4129. }
  4130.  
  4131. public clcmd_say_accept(id)
  4132. {
  4133.     !!! Removed Phi
  4134.     if (sender < 1 || sender > 32)
  4135.     {
  4136.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_DONT_HAVE_REQ");
  4137.         return 1;
  4138.     }
  4139.     if (!g_bLogged[sender][0][0] || !1 << sender & 31 & g_IsConnected)
  4140.     {
  4141.         _ResetTradeData(id);
  4142.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_INVALID_SENDER");
  4143.         return 1;
  4144.     }
  4145.     if (!g_bTradeActive[sender][0][0] || id == g_iTradeTarget[sender][0][0])
  4146.     {
  4147.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_IS_CANCELED");
  4148.         _ResetTradeData(id);
  4149.         return 1;
  4150.     }
  4151.     if (g_bTradeAccept[id][0][0])
  4152.     {
  4153.         if (!_IsGoodItem(sItem) || !_IsGoodItem(tItem))
  4154.         {
  4155.             client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_FAIL");
  4156.             client_print_color(sender, sender, "\4%s\1 %L", "[CSGO Remake]", sender, "CSGOR_TRADE_FAIL");
  4157.             _ResetTradeData(id);
  4158.             _ResetTradeData(sender);
  4159.             return 1;
  4160.         }
  4161.         if (!_UserHasItem(id, tItem) || !_UserHasItem(sender, sItem))
  4162.         {
  4163.             client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_FAIL2");
  4164.             client_print_color(sender, sender, "\4%s\1 %L", "[CSGO Remake]", sender, "CSGOR_TRADE_FAIL2");
  4165.             _ResetTradeData(id);
  4166.             _ResetTradeData(sender);
  4167.             return 1;
  4168.         }
  4169.         switch (sItem)
  4170.         {
  4171.             case -12:
  4172.             {
  4173.                 g_iUserKeys[id]++;
  4174.                 g_iUserKeys[sender]--;
  4175.             }
  4176.             case -11:
  4177.             {
  4178.                 g_iUserCases[id]++;
  4179.                 g_iUserCases[sender]--;
  4180.             }
  4181.             default:
  4182.             {
  4183.                 g_iUserSkins[id][0][0][sItem]++;
  4184.                 g_iUserSkins[sender][0][0][sItem]--;
  4185.             }
  4186.         }
  4187.         switch (tItem)
  4188.         {
  4189.             case -12:
  4190.             {
  4191.                 g_iUserKeys[id]--;
  4192.                 g_iUserKeys[sender]++;
  4193.             }
  4194.             case -11:
  4195.             {
  4196.                 g_iUserCases[id]--;
  4197.                 g_iUserCases[sender]++;
  4198.             }
  4199.             default:
  4200.             {
  4201.                 g_iUserSkins[id][0][0][tItem]--;
  4202.                 g_iUserSkins[sender][0][0][tItem]++;
  4203.             }
  4204.         }
  4205.         new sItemsz[32];
  4206.         new tItemsz[32];
  4207.         _GetItemName(tItem, tItemsz, 31);
  4208.         _GetItemName(sItem, sItemsz, 31);
  4209.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_SUCCESS", tItemsz, sItemsz);
  4210.         client_print_color(sender, sender, "\4%s\1 %L", "[CSGO Remake]", sender, "CSGOR_TRADE_SUCCESS", sItemsz, tItemsz);
  4211.         _ResetTradeData(id);
  4212.         _ResetTradeData(sender);
  4213.     }
  4214.     else
  4215.     {
  4216.         if (!g_bTradeSecond[id][0][0])
  4217.         {
  4218.             g_iTradeTarget[id] = sender;
  4219.             g_iTradeItem[id] = -1;
  4220.             g_bTradeSecond[id] = 1;
  4221.             _ShowTradeMenu(id);
  4222.             client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_SELECT_ITEM");
  4223.         }
  4224.     }
  4225.     return 1;
  4226. }
  4227.  
  4228. public clcmd_say_deny(id)
  4229. {
  4230.     !!! Removed Phi
  4231.     if (sender < 1 || sender > 32)
  4232.     {
  4233.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_DONT_HAVE_REQ");
  4234.         return 1;
  4235.     }
  4236.     if (!g_bLogged[sender][0][0] || !1 << sender & 31 & g_IsConnected)
  4237.     {
  4238.         _ResetTradeData(id);
  4239.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_INVALID_SENDER");
  4240.         return 1;
  4241.     }
  4242.     if (!g_bTradeActive[sender][0][0] || id == g_iTradeTarget[sender][0][0])
  4243.     {
  4244.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_IS_CANCELED");
  4245.         _ResetTradeData(id);
  4246.         return 1;
  4247.     }
  4248.     _ResetTradeData(id);
  4249.     _ResetTradeData(sender);
  4250.     client_print_color(sender, sender, "\4%s\1 %L", "[CSGO Remake]", sender, "CSGOR_TARGET_REFUSE_TRADE", g_szName[id][0][0]);
  4251.     client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_YOU_REFUSE_TRADE", g_szName[sender][0][0]);
  4252.     return 1;
  4253. }
  4254.  
  4255. _ResetTradeData(id)
  4256. {
  4257.     g_bTradeActive[id] = 0;
  4258.     g_bTradeSecond[id] = 0;
  4259.     g_bTradeAccept[id] = 0;
  4260.     g_iTradeTarget[id] = 0;
  4261.     g_iTradeItem[id] = -1;
  4262.     g_iTradeRequest[id] = 0;
  4263.     return 0;
  4264. }
  4265.  
  4266. _ShowGamesMenu(id)
  4267. {
  4268.     new temp[64];
  4269.     formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_GAMES_MENU");
  4270.     new menu = menu_create(temp, "games_menu_handler", 0);
  4271.     new szItem[2];
  4272.     szItem[1] = 0;
  4273.     formatex(temp, 63, "\w%L", id, "CSGOR_MM_TOMBOLA", g_iTombolaCost);
  4274.     menu_additem(menu, temp, szItem, 0, -1);
  4275.     formatex(temp, 63, "\w%L", id, "CSGOR_GAME_ROULETTE");
  4276.     menu_additem(menu, temp, szItem, 0, -1);
  4277.     formatex(temp, 63, "\w%L", id, "CSGOR_GAME_JACKPOT");
  4278.     menu_additem(menu, temp, szItem, 0, -1);
  4279.     _DisplayMenu(id, menu);
  4280.     return 0;
  4281. }
  4282.  
  4283. public games_menu_handler(id, menu, item)
  4284. {
  4285.     if (item == -3)
  4286.     {
  4287.         _ShowMainMenu(id);
  4288.         return _MenuExit(menu);
  4289.     }
  4290.     new var1;
  4291.     switch (item)
  4292.     {
  4293.         case 0:
  4294.         {
  4295.             _ShowTombolaMenu(id);
  4296.             var1 = Heap_-4;
  4297.         }
  4298.         case 1:
  4299.         {
  4300.             new var2 = g_bRoulettePlay;
  4301.             if (var2[id][0][0])
  4302.             {
  4303.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_ROULETTE_NEXT");
  4304.                 _ShowGamesMenu(id);
  4305.             }
  4306.             else
  4307.             {
  4308.                 _ShowRouletteMenu(id);
  4309.             }
  4310.         }
  4311.         case 2:
  4312.         {
  4313.             if (g_bJackpotWork)
  4314.             {
  4315.                 _ShowJackpotMenu(id);
  4316.             }
  4317.             else
  4318.             {
  4319.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_JP_CLOSED", get_pcvar_num(c_JackpotTimer));
  4320.             }
  4321.         }
  4322.         default:
  4323.         {
  4324.             var1 = var2;
  4325.         }
  4326.     }
  4327.     return _MenuExit(menu);
  4328. }
  4329.  
  4330. _ShowRouletteMenu(id)
  4331. {
  4332.     new temp[64];
  4333.     formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_ROULETTE_MENU");
  4334.     new menu = menu_create(temp, "roulette_menu_handler", 0);
  4335.     new szItem[2];
  4336.     szItem[1] = 0;
  4337.     formatex(temp, 63, "\w%L", id, "CSGOR_ROU_UNDER", g_iRouletteMin);
  4338.     menu_additem(menu, temp, szItem, 0, -1);
  4339.     formatex(temp, 63, "\w%L", id, "CSGOR_ROU_OVER", g_iRouletteMin);
  4340.     menu_additem(menu, temp, szItem, 0, -1);
  4341.     formatex(temp, 63, "\w%L\n", id, "CSGOR_ROU_BETWEEN", g_iRouletteMax);
  4342.     menu_additem(menu, temp, szItem, 0, -1);
  4343.     formatex(temp, 63, "\r%L", id, "CSGOR_ROU_BET", g_iUserBetPoints[id]);
  4344.     menu_additem(menu, temp, szItem, 0, -1);
  4345.     _DisplayMenu(id, menu);
  4346.     return 0;
  4347. }
  4348.  
  4349. public roulette_menu_handler(id, menu, item)
  4350. {
  4351.     !!! Removed Phi
  4352.     if (item == -3)
  4353.     {
  4354.         _ShowGamesMenu(id);
  4355.         return _MenuExit(menu);
  4356.     }
  4357.     new var1 = item;
  4358.     if (2 >= var1 & 0 <= var1)
  4359.     {
  4360.         if (g_iUserBetPoints[id][0][0] <= g_iUserPoints[id][0][0])
  4361.         {
  4362.             new var2 = g_iUserPoints[id];
  4363.             var2 = var2[0][0] - g_iUserBetPoints[id][0][0];
  4364.         }
  4365.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_NOT_ENOUGH_POINTS", g_iUserBetPoints[id][0][0] - g_iUserPoints[id][0][0]);
  4366.         return _MenuExit(menu);
  4367.     }
  4368.     new chance = random_num(1, 100);
  4369.     switch (item)
  4370.     {
  4371.         case 0:
  4372.         {
  4373.             if (chance < 48)
  4374.             {
  4375.                 _RouletteWin(id, g_iRouletteMin, 0);
  4376.             }
  4377.             else
  4378.             {
  4379.                 _RouletteLoose(id, chance);
  4380.             }
  4381.         }
  4382.         case 1:
  4383.         {
  4384.             if (chance > 53)
  4385.             {
  4386.                 _RouletteWin(id, g_iRouletteMin, 0);
  4387.             }
  4388.             else
  4389.             {
  4390.                 _RouletteLoose(id, chance);
  4391.             }
  4392.         }
  4393.         case 2:
  4394.         {
  4395.             new var3 = chance;
  4396.             if (53 >= var3 & 48 <= var3)
  4397.             {
  4398.                 _RouletteWin(id, g_iRouletteMax, 1);
  4399.             }
  4400.             else
  4401.             {
  4402.                 _RouletteLoose(id, chance);
  4403.             }
  4404.         }
  4405.         case 3:
  4406.         {
  4407.             client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_INSERT_BET");
  4408.             client_cmd(id, "messagemode BetPoints");
  4409.         }
  4410.         default:
  4411.         {
  4412.         }
  4413.     }
  4414.     return _MenuExit(menu);
  4415. }
  4416.  
  4417. _RouletteWin(id, multi, announce)
  4418. {
  4419.     new num = multi * g_iUserBetPoints[id][0][0];
  4420.     new var1 = g_iUserPoints[id];
  4421.     var1 = num + var1[0][0];
  4422.     g_bRoulettePlay[id] = 1;
  4423.     if (0 < announce)
  4424.     {
  4425.         client_print_color(0, id, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_ROULETTE_WIN", g_szName[id][0][0], num);
  4426.     }
  4427.     else
  4428.     {
  4429.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_ROULETTE_WIN_ONE", num);
  4430.     }
  4431.     client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_ROULETTE_NEXT");
  4432.     return 0;
  4433. }
  4434.  
  4435. _RouletteLoose(id, num)
  4436. {
  4437.     client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_ROULETTE_LOOSE", num);
  4438.     _ShowGamesMenu(id);
  4439.     return 0;
  4440. }
  4441.  
  4442. _ShowTombolaMenu(id)
  4443. {
  4444.     new temp[64];
  4445.     formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_TOMBOLA_MENU");
  4446.     new menu = menu_create(temp, "tombola_menu_handler", 0);
  4447.     new szItem[2];
  4448.     szItem[1] = 0;
  4449.     new Timer[32];
  4450.     _FormatTime(Timer, 31, g_iNextTombolaStart);
  4451.     formatex(temp, 63, "\w%L", id, "CSGOR_TOMB_TIMER", Timer);
  4452.     szItem[0] = 0;
  4453.     menu_additem(menu, temp, szItem, 0, -1);
  4454.     formatex(temp, 63, "\w%L", id, "CSGOR_TOMB_PLAYERS", g_iTombolaPlayers);
  4455.     szItem[0] = 0;
  4456.     menu_additem(menu, temp, szItem, 0, -1);
  4457.     formatex(temp, 63, "\w%L\n", id, "CSGOR_TOMB_PRIZE", g_iTombolaPrize);
  4458.     szItem[0] = 0;
  4459.     menu_additem(menu, temp, szItem, 0, -1);
  4460.     if (g_bUserPlay[id][0][0])
  4461.     {
  4462.         formatex(temp, 63, "\r%L", id, "CSGOR_TOMB_ALREADY_PLAY");
  4463.         szItem[0] = 0;
  4464.         menu_additem(menu, temp, szItem, 0, -1);
  4465.     }
  4466.     else
  4467.     {
  4468.         formatex(temp, 63, "\r%L\n\w%L", id, "CSGOR_TOMB_PLAY", id, "CSGOR_TOMB_COST", g_iTombolaCost);
  4469.         szItem[0] = 1;
  4470.         menu_additem(menu, temp, szItem, 0, -1);
  4471.     }
  4472.     _DisplayMenu(id, menu);
  4473.     return 0;
  4474. }
  4475.  
  4476. public tombola_menu_handler(id, menu, item)
  4477. {
  4478.     if (item == -3)
  4479.     {
  4480.         _ShowGamesMenu(id);
  4481.         return _MenuExit(menu);
  4482.     }
  4483.     new itemdata[2];
  4484.     new dummy = 0;
  4485.     new index = 0;
  4486.     new var2 = Heap_4;
  4487.     var2[0] = 67484;
  4488.     menu_item_getinfo(menu, item, dummy, itemdata, 1, var2, 0, dummy);
  4489.     index = itemdata[0];
  4490.     switch (index)
  4491.     {
  4492.         case 0:
  4493.         {
  4494.             _ShowTombolaMenu(id);
  4495.         }
  4496.         case 1:
  4497.         {
  4498.             new uPoints;
  4499.             new var3 = g_iUserPoints;
  4500.             uPoints = var3[id][0][0];
  4501.             new var1;
  4502.             if (!g_bTombolaWork)
  4503.             {
  4504.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TOMB_NOT_WORK");
  4505.                 var1 = var3;
  4506.             }
  4507.             else
  4508.             {
  4509.                 if (uPoints < g_iTombolaCost)
  4510.                 {
  4511.                     client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_NOT_ENOUGH_POINTS", g_iTombolaCost - uPoints);
  4512.                     _ShowTombolaMenu(id);
  4513.                     var1 = Heap_-4;
  4514.                 }
  4515.                 new var4 = g_iUserPoints[id];
  4516.                 var4 = var4[0][0] - g_iTombolaCost;
  4517.                 g_iTombolaPrize = g_iTombolaCost + g_iTombolaPrize;
  4518.                 g_bUserPlay[id] = 1;
  4519.                 ArrayPushCell(g_aTombola, id);
  4520.                 g_iTombolaPlayers += 1;
  4521.                 client_print_color(0, id, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_TOMB_ANNOUNCE", g_szName[id][0][0]);
  4522.                 _ShowTombolaMenu(id);
  4523.                 var1 = Heap_-4;
  4524.             }
  4525.         }
  4526.         default:
  4527.         {
  4528.         }
  4529.     }
  4530.     return _MenuExit(menu);
  4531. }
  4532.  
  4533. _FormatTime(String:timer[], len, nextevent)
  4534. {
  4535.     !!! Removed Phi
  4536.     new seconds = nextevent - get_systime(0);
  4537.     new minutes = 0;
  4538.     while (seconds >= 60)
  4539.     {
  4540.         seconds += -60;
  4541.         minutes++;
  4542.     }
  4543.     new bool:add_before = 0;
  4544.     new temp[32];
  4545.     if (seconds)
  4546.     {
  4547.         new var1;
  4548.         if (seconds == 1)
  4549.         {
  4550.             var1 = 95776;
  4551.         }
  4552.         else
  4553.         {
  4554.             var1 = 95784;
  4555.         }
  4556.         formatex(temp, 31, "%i secund%s", seconds, var1);
  4557.         add_before = 1;
  4558.     }
  4559.     if (minutes)
  4560.     {
  4561.         if (add_before)
  4562.         {
  4563.             new var2;
  4564.             if (minutes == 1)
  4565.             {
  4566.                 var2 = 95852;
  4567.             }
  4568.             else
  4569.             {
  4570.                 var2 = 95856;
  4571.             }
  4572.             format(temp, 31, "%i minut%s, %s", minutes, var2, temp);
  4573.         }
  4574.         new var3;
  4575.         if (minutes == 1)
  4576.         {
  4577.             var3 = 95908;
  4578.         }
  4579.         else
  4580.         {
  4581.             var3 = 95912;
  4582.         }
  4583.         formatex(temp, 31, "%i minut%s", minutes, var3);
  4584.         add_before = 1;
  4585.     }
  4586.     if (!add_before)
  4587.     {
  4588.         copy(timer, len, "Acum!");
  4589.     }
  4590.     else
  4591.     {
  4592.         formatex(timer, len, "%s", temp);
  4593.     }
  4594.     return 0;
  4595. }
  4596.  
  4597. public task_TombolaRun(task)
  4598. {
  4599.     !!! Removed Phi
  4600.     if (g_iTombolaPlayers < 1)
  4601.     {
  4602.         client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_TOMB_FAIL_REG");
  4603.     }
  4604.     else
  4605.     {
  4606.         if (g_iTombolaPlayers < 2)
  4607.         {
  4608.             new id = ArrayGetCell(g_aTombola, 0);
  4609.             if (1 << id & 31 & g_IsConnected)
  4610.             {
  4611.                 new var2 = g_iUserPoints[id];
  4612.                 var2 = g_iTombolaCost + var2[0][0];
  4613.                 g_bUserPlay[id] = 0;
  4614.             }
  4615.             client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_TOMB_FAIL_NUM");
  4616.         }
  4617.         new id = 0;
  4618.         new size = ArraySize(g_aTombola);
  4619.         new bool:succes = 0;
  4620.         new random = 0;
  4621.         do {
  4622.             random = random_num(0, size + -1);
  4623.             id = ArrayGetCell(g_aTombola, random);
  4624.             if (1 << id & 31 & g_IsConnected)
  4625.             {
  4626.                 succes = 1;
  4627.                 new var3 = g_iUserPoints[id];
  4628.                 var3 = g_iTombolaPrize + var3[0][0];
  4629.                 new Name[32];
  4630.                 get_user_name(id, Name, 31);
  4631.                 client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_TOMB_WINNER", Name, g_iTombolaPrize);
  4632.             }
  4633.             else
  4634.             {
  4635.                 ArrayDeleteItem(g_aTombola, random);
  4636.                 size--;
  4637.             }
  4638.             if (!succes && size > 0)
  4639.             {
  4640.             }
  4641.         } while (var1);
  4642.     }
  4643.     arrayset("", 0, 33);
  4644.     g_iTombolaPlayers = 0;
  4645.     g_iTombolaPrize = 0;
  4646.     ArrayClear(g_aTombola);
  4647.     g_iNextTombolaStart = g_iTombolaTimer + get_systime(0);
  4648.     new Timer[32];
  4649.     _FormatTime(Timer, 31, g_iNextTombolaStart);
  4650.     client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_TOMB_NEXT", Timer);
  4651.     return 0;
  4652. }
  4653.  
  4654. _ShowJackpotMenu(id)
  4655. {
  4656.     new temp[64];
  4657.     formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_JACKPOT_MENU");
  4658.     new menu = menu_create(temp, "jackpot_menu_handler", 0);
  4659.     new szItem[2];
  4660.     szItem[1] = 0;
  4661.     if (!_IsGoodItem(g_iUserJackpotItem[id][0][0]))
  4662.     {
  4663.         formatex(temp, 63, "\w%L", id, "CSGOR_SKINS");
  4664.         szItem[0] = 1;
  4665.         menu_additem(menu, temp, szItem, 0, -1);
  4666.     }
  4667.     else
  4668.     {
  4669.         new Item[32];
  4670.         _GetItemName(g_iUserJackpotItem[id][0][0], Item, 31);
  4671.         formatex(temp, 63, "\w%L", id, "CSGOR_JP_ITEM", Item);
  4672.         szItem[0] = 1;
  4673.         menu_additem(menu, temp, szItem, 0, -1);
  4674.     }
  4675.     if (g_bUserPlayJackpot[id][0][0])
  4676.     {
  4677.         formatex(temp, 63, "\r%L\n", id, "CSGOR_JP_ALREADY_PLAY");
  4678.         szItem[0] = 0;
  4679.         menu_additem(menu, temp, szItem, 0, -1);
  4680.     }
  4681.     else
  4682.     {
  4683.         formatex(temp, 63, "\r%L\n", id, "CSGOR_JP_PLAY");
  4684.         szItem[0] = 2;
  4685.         menu_additem(menu, temp, szItem, 0, -1);
  4686.     }
  4687.     new Timer[32];
  4688.     _FormatTime(Timer, 31, g_iJackpotClose);
  4689.     formatex(temp, 63, "\w%L", id, "CSGOR_TOMB_TIMER", Timer);
  4690.     szItem[0] = 0;
  4691.     menu_additem(menu, temp, szItem, 0, -1);
  4692.     _DisplayMenu(id, menu);
  4693.     return 0;
  4694. }
  4695.  
  4696. public jackpot_menu_handler(id, menu, item)
  4697. {
  4698.     !!! Removed Phi
  4699.     if (item == -3)
  4700.     {
  4701.         _ShowGamesMenu(id);
  4702.         return _MenuExit(menu);
  4703.     }
  4704.     new itemdata[2];
  4705.     new dummy = 0;
  4706.     new index = 0;
  4707.     new var1 = Heap_4;
  4708.     var1[0] = 67484;
  4709.     menu_item_getinfo(menu, item, dummy, itemdata, 1, var1, 0, dummy);
  4710.     index = itemdata[0];
  4711.     if (!g_bJackpotWork)
  4712.     {
  4713.         _ShowGamesMenu(id);
  4714.         return _MenuExit(menu);
  4715.     }
  4716.     switch (index)
  4717.     {
  4718.         case 0:
  4719.         {
  4720.             _ShowJackpotMenu(id);
  4721.         }
  4722.         case 1:
  4723.         {
  4724.             if (g_bUserPlayJackpot[id][0][0])
  4725.             {
  4726.                 _ShowJackpotMenu(id);
  4727.             }
  4728.             else
  4729.             {
  4730.                 _SelectJackpotSkin(id);
  4731.             }
  4732.         }
  4733.         case 2:
  4734.         {
  4735.             new skin = g_iUserJackpotItem[id][0][0];
  4736.             if (!_IsGoodItem(skin))
  4737.             {
  4738.                 client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_SKINS");
  4739.                 _ShowJackpotMenu(id);
  4740.             }
  4741.             else
  4742.             {
  4743.                 if (!_UserHasItem(id, skin))
  4744.                 {
  4745.                     client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_NOT_ENOUGH_ITEMS");
  4746.                     g_iUserJackpotItem[id] = -1;
  4747.                 }
  4748.                 g_bUserPlayJackpot[id] = 1;
  4749.                 g_iUserSkins[id][0][0][skin]--;
  4750.                 ArrayPushCell(g_aJackpotSkins, skin);
  4751.                 ArrayPushCell(g_aJackpotUsers, id);
  4752.                 new szItem[32];
  4753.                 _GetItemName(skin, szItem, 31);
  4754.                 client_print_color(0, 0, "\4%s %L", "[CSGO Remake]", -1, "CSGOR_JP_JOIN", g_szName[id][0][0], szItem);
  4755.             }
  4756.         }
  4757.         default:
  4758.         {
  4759.         }
  4760.     }
  4761.     return _MenuExit(menu);
  4762. }
  4763.  
  4764. _SelectJackpotSkin(id)
  4765. {
  4766.     !!! Removed Phi
  4767.     new temp[64];
  4768.     formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_SKINS");
  4769.     new menu = menu_create(temp, "jp_skins_menu_handler", 0);
  4770.     new szItem[2];
  4771.     szItem[1] = 0;
  4772.     new szSkin[32];
  4773.     new num = 0;
  4774.     new type[2];
  4775.     new total = 0;
  4776.     new i = 0;
  4777.     while (i < g_iSkinsNum)
  4778.     {
  4779.         num = g_iUserSkins[id][0][0][i];
  4780.         if (0 < num)
  4781.         {
  4782.             ArrayGetString(g_aSkinName, i, szSkin, 31);
  4783.             ArrayGetString(g_aSkinType, i, type, 1);
  4784.             new var1;
  4785.             if (type[0] == 99)
  4786.             {
  4787.                 var1 = 98112;
  4788.             }
  4789.             else
  4790.             {
  4791.                 var1 = 98120;
  4792.             }
  4793.             formatex(temp, 63, "\r%s \w| \y%L \r%s", szSkin, id, "CSGOR_SM_PIECES", num, var1);
  4794.             szItem[0] = i;
  4795.             menu_additem(menu, temp, szItem, 0, -1);
  4796.             total++;
  4797.             i++;
  4798.         }
  4799.         i++;
  4800.     }
  4801.     if (!total)
  4802.     {
  4803.         formatex(temp, 63, "\r%L", id, "CSGOR_SM_NO_SKINS");
  4804.         szItem[0] = -10;
  4805.         menu_additem(menu, temp, szItem, 0, -1);
  4806.     }
  4807.     _DisplayMenu(id, menu);
  4808.     return 0;
  4809. }
  4810.  
  4811. public jp_skins_menu_handler(id, menu, item)
  4812. {
  4813.     if (item == -3)
  4814.     {
  4815.         _ShowJackpotMenu(id);
  4816.         return _MenuExit(menu);
  4817.     }
  4818.     new itemdata[2];
  4819.     new dummy = 0;
  4820.     new index = 0;
  4821.     new var1 = Heap_4;
  4822.     var1[0] = 67484;
  4823.     menu_item_getinfo(menu, item, dummy, itemdata, 1, var1, 0, dummy);
  4824.     index = itemdata[0];
  4825.     if (index == -10)
  4826.     {
  4827.         _ShowGamesMenu(id);
  4828.         return _MenuExit(menu);
  4829.     }
  4830.     g_iUserJackpotItem[id] = index;
  4831.     _ShowJackpotMenu(id);
  4832.     return _MenuExit(menu);
  4833. }
  4834.  
  4835. public task_Jackpot(task)
  4836. {
  4837.     !!! Removed Phi
  4838.     new id = 0;
  4839.     new size = ArraySize(g_aJackpotUsers);
  4840.     if (size < 1)
  4841.     {
  4842.         client_print_color(0, 0, "\4%s %L", "[CSGO Remake]", -1, "CSGOR_JP_NO_ONE");
  4843.         _ClearJackpot();
  4844.         return 0;
  4845.     }
  4846.     if (size < 2)
  4847.     {
  4848.         client_print_color(0, 0, "\4%s %L", "[CSGO Remake]", -1, "CSGOR_JP_ONLY_ONE");
  4849.         new id = 0;
  4850.         new k = 0;
  4851.         id = ArrayGetCell(g_aJackpotUsers, 0);
  4852.         if (1 << id & 31 & g_IsConnected)
  4853.         {
  4854.             k = ArrayGetCell(g_aJackpotSkins, 0);
  4855.             g_iUserSkins[id][0][0][k]++;
  4856.         }
  4857.         _ClearJackpot();
  4858.         return 0;
  4859.     }
  4860.     new bool:succes = 0;
  4861.     new random = 0;
  4862.     do {
  4863.         random = random_num(0, size + -1);
  4864.         id = ArrayGetCell(g_aJackpotUsers, random);
  4865.         if (1 << id & 31 & g_IsConnected)
  4866.         {
  4867.             succes = 1;
  4868.             new i = 0;
  4869.             new j = 0;
  4870.             new k = 0;
  4871.             i = ArraySize(g_aJackpotSkins);
  4872.             j = 0;
  4873.             while (j < i)
  4874.             {
  4875.                 k = ArrayGetCell(g_aJackpotSkins, j);
  4876.                 g_iUserSkins[id][0][0][k]++;
  4877.                 j++;
  4878.             }
  4879.             client_print_color(0, 0, "\4%s %L", "[CSGO Remake]", -1, "CSGOR_JP_WINNER", g_szName[id][0][0]);
  4880.         }
  4881.         else
  4882.         {
  4883.             ArrayDeleteItem(g_aJackpotUsers, random);
  4884.             size--;
  4885.         }
  4886.         if (!succes && size > 0)
  4887.         {
  4888.         }
  4889.     } while (var1);
  4890.     _ClearJackpot();
  4891.     return 0;
  4892. }
  4893.  
  4894. _ClearJackpot()
  4895. {
  4896.     ArrayClear(g_aJackpotSkins);
  4897.     ArrayClear(g_aJackpotUsers);
  4898.     arrayset("", 0, 33);
  4899.     g_bJackpotWork = 0;
  4900.     client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_JP_NEXT");
  4901.     return 0;
  4902. }
  4903.  
  4904. public Message_DeathMsg(msgId, msgDest, msgEnt)
  4905. {
  4906.     return 1;
  4907. }
  4908.  
  4909. _Send_DeathMsg(killer, victim, hs, String:weapon[])
  4910. {
  4911.     message_begin(2, g_Msg_DeathMsg, 728, 0);
  4912.     write_byte(killer);
  4913.     write_byte(victim);
  4914.     write_byte(hs);
  4915.     write_string(weapon);
  4916.     message_end();
  4917.     return 0;
  4918. }
  4919.  
  4920. public Ham_Player_Spawn_Post(id)
  4921. {
  4922.     !!! Removed Phi
  4923.     if (!is_user_alive(id))
  4924.     {
  4925.         return 0;
  4926.     }
  4927.     g_IsAlive = 1 << id & 31 | g_IsAlive;
  4928.     if (g_iRankModels)
  4929.     {
  4930.         _SetRankModels(id);
  4931.     }
  4932.     set_task(0.25, "task_SetIcon", id + 32, "", 0, "", 0);
  4933.     new iAmmoIndex = 1;
  4934.     while (iAmmoIndex <= 10)
  4935.     {
  4936.         set_pdata_int(id, iAmmoIndex + 376, g_iMaxBpAmmo[iAmmoIndex][0][0], 5, "");
  4937.         iAmmoIndex++;
  4938.     }
  4939.     remove_task(id + 6000, 0);
  4940.     new Name[32];
  4941.     get_user_name(id, Name, 31);
  4942.     if (!equali(Name, g_szName[id][0][0], 0))
  4943.     {
  4944.         g_IsChangeAllowed = 1 << id & 31 | g_IsChangeAllowed;
  4945.         set_msg_block(g_Msg_SayText, 1);
  4946.         set_user_info(id, "name", g_szName[id][0][0]);
  4947.         set_task(0.10, "task_Reset_Name", id + 5000, "", 0, "", 0);
  4948.     }
  4949.     if (g_bJackpotWork && !g_bWarmUp)
  4950.     {
  4951.         new time = g_iJackpotClose - get_systime(0);
  4952.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_PLAY_JP", time / 60, time);
  4953.     }
  4954.     return 0;
  4955. }
  4956.  
  4957. public task_Reset_Name(task)
  4958. {
  4959.     g_IsChangeAllowed = ~1 << task + -5000 & 31 & g_IsChangeAllowed;
  4960.     return 0;
  4961. }
  4962.  
  4963. public task_SetIcon(task)
  4964. {
  4965.     new id = task + -32;
  4966.     if (1 << id & 31 & g_IsConnected)
  4967.     {
  4968.         _SetKillsIcon(id, 1);
  4969.     }
  4970.     return 0;
  4971. }
  4972.  
  4973. _SetRankModels(id)
  4974. {
  4975.     new rang = g_iUserRang[id][0][0];
  4976.     new ent;
  4977.     new var2 = g_iRankEnt;
  4978.     ent = var2[id][0][0];
  4979.     new var1;
  4980.     if (pev_valid(ent))
  4981.     {
  4982.         set_pev(ent, 72, rang + 1);
  4983.         var1 = Heap_-4;
  4984.     }
  4985.     else
  4986.     {
  4987.         var1 = var2;
  4988.     }
  4989.     return 0;
  4990. }
  4991.  
  4992. _SetKillsIcon(id, reset)
  4993. {
  4994.     new var3;
  4995.     switch (reset)
  4996.     {
  4997.         case 0:
  4998.         {
  4999.             new num = g_iDigit[id][0][0];
  5000.             if (num > 10)
  5001.             {
  5002.                 return 0;
  5003.             }
  5004.             num--;
  5005.             message_begin(8, g_Msg_StatusIcon, 728, id);
  5006.             write_byte(0);
  5007.             write_string(szSprite[num][0][0]);
  5008.             message_end();
  5009.             num++;
  5010.             message_begin(8, g_Msg_StatusIcon, 728, id);
  5011.             write_byte(1);
  5012.             new var2;
  5013.             if (num > 9)
  5014.             {
  5015.                 new var5 = szSprite[10];
  5016.                 write_string(var5[0]);
  5017.                 var2 = var5;
  5018.             }
  5019.             else
  5020.             {
  5021.                 new var6 = szSprite[num];
  5022.                 write_string(var6[0][0]);
  5023.                 var2 = var6;
  5024.             }
  5025.             write_byte(0);
  5026.             write_byte(200);
  5027.             write_byte(0);
  5028.             message_end();
  5029.         }
  5030.         case 1:
  5031.         {
  5032.             new num = g_iDigit[id][0][0];
  5033.             message_begin(8, g_Msg_StatusIcon, 728, id);
  5034.             write_byte(0);
  5035.             new var1;
  5036.             if (num > 9)
  5037.             {
  5038.                 var1[0] = szSprite[10][0];
  5039.             }
  5040.             else
  5041.             {
  5042.                 var1[0] = szSprite[num][0][0];
  5043.             }
  5044.             write_string(var1);
  5045.             message_end();
  5046.             g_iDigit[id] = 0;
  5047.             message_begin(8, g_Msg_StatusIcon, 728, id);
  5048.             write_byte(1);
  5049.             new var4 = szSprite;
  5050.             write_string(var4[0][0][var4]);
  5051.             write_byte(0);
  5052.             write_byte(200);
  5053.             write_byte(0);
  5054.             message_end();
  5055.             var3 = var2;
  5056.         }
  5057.         default:
  5058.         {
  5059.             var3 = var4;
  5060.         }
  5061.     }
  5062.     return 0;
  5063. }
  5064.  
  5065. public ev_Damage(id)
  5066. {
  5067.     !!! Removed Phi
  5068.     if (id && id <= g_iMaxPlayers)
  5069.     {
  5070.         return 0;
  5071.     }
  5072.     if (!1 << id & 31 & g_IsConnected)
  5073.     {
  5074.         return 0;
  5075.     }
  5076.     if (att && att <= g_iMaxPlayers)
  5077.     {
  5078.         return 0;
  5079.     }
  5080.     if (!1 << att & 31 & g_IsConnected)
  5081.     {
  5082.         return 0;
  5083.     }
  5084.     static damage;
  5085.     damage = read_data(2);
  5086.     new var3 = g_iDealDamage[att];
  5087.     var3 = damage + var3[0][0];
  5088.     new var4 = g_iDamage[id][0][0][att];
  5089.     var4 = damage + var4;
  5090.     new topDamager = g_iMostDamage[id][0][0];
  5091.     if (g_iDamage[id][0][0][topDamager] < g_iDamage[id][0][0][att])
  5092.     {
  5093.         g_iMostDamage[id] = att;
  5094.     }
  5095.     return 0;
  5096. }
  5097.  
  5098. _GiveToAll(id, String:arg1[], String:arg2[], type)
  5099. {
  5100.     new Pl[32];
  5101.     new n = 0;
  5102.     new target = 0;
  5103.     new amount = str_to_num(arg2);
  5104.     if (amount)
  5105.     {
  5106.         switch (arg1[1])
  5107.         {
  5108.             case 65:
  5109.             {
  5110.                 get_players(Pl, n, "ch", "");
  5111.             }
  5112.             case 67:
  5113.             {
  5114.                 get_players(Pl, n, "ceh", "CT");
  5115.             }
  5116.             case 84:
  5117.             {
  5118.                 get_players(Pl, n, "ceh", "TERRORIST");
  5119.             }
  5120.             case 97:
  5121.             {
  5122.                 get_players(Pl, n, "ch", "");
  5123.             }
  5124.             case 99:
  5125.             {
  5126.                 get_players(Pl, n, "ceh", "CT");
  5127.             }
  5128.             case 116:
  5129.             {
  5130.                 get_players(Pl, n, "ceh", "TERRORIST");
  5131.             }
  5132.             default:
  5133.             {
  5134.             }
  5135.         }
  5136.         if (n)
  5137.         {
  5138.             switch (type)
  5139.             {
  5140.                 case 0:
  5141.                 {
  5142.                     new i = 0;
  5143.                     while (i < n)
  5144.                     {
  5145.                         target = Pl[i];
  5146.                         new var25 = g_bLogged;
  5147.                         new var11;
  5148.                         if (!var25[target][0][0])
  5149.                         {
  5150.                             var11 = var25;
  5151.                         }
  5152.                         else
  5153.                         {
  5154.                             new var10;
  5155.                             if (0 > amount)
  5156.                             {
  5157.                                 new var26 = g_iUserPoints[target];
  5158.                                 var26 = var26[0][0] - amount;
  5159.                                 if (0 > g_iUserPoints[target][0][0])
  5160.                                 {
  5161.                                     g_iUserPoints[target] = 0;
  5162.                                 }
  5163.  
  5164. / * ERROR! Object reference not set to an instance of an object. * /
  5165.  function "_GiveToAll"
  5166. _GiveToAll(id, String:arg1[], String:arg2[], type)
  5167.  
  5168. public concmd_givepoints(id, level, cid)
  5169. {
  5170.     if (!cmd_access(id, level, cid, 3, false))
  5171.     {
  5172.         return 1;
  5173.     }
  5174.     new arg1[32];
  5175.     new arg2[16];
  5176.     read_argv(1, arg1, 31);
  5177.     read_argv(2, arg2, 15);
  5178.     new target = 0;
  5179.     if (arg1[0] == 64)
  5180.     {
  5181.         _GiveToAll(id, arg1, arg2, 0);
  5182.         return 1;
  5183.     }
  5184.     target = cmd_target(id, arg1, 3);
  5185.     if (!target)
  5186.     {
  5187.         console_print(id, "%s %L", "[CSGO Remake]", id, "CSGOR_T_NOT_FOUND", arg1);
  5188.         return 1;
  5189.     }
  5190.     new amount = str_to_num(arg2);
  5191.     if (0 > amount)
  5192.     {
  5193.         new var1 = g_iUserPoints[target];
  5194.         var1 = var1[0][0] - amount;
  5195.         if (0 > g_iUserPoints[target][0][0])
  5196.         {
  5197.             g_iUserPoints[target] = 0;
  5198.         }
  5199.  
  5200. / * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
  5201.  function "concmd_givepoints"
  5202. public concmd_givepoints(id, level, cid)
  5203.  
  5204. public concmd_givecases(id, level, cid)
  5205. {
  5206.     if (!cmd_access(id, level, cid, 3, false))
  5207.     {
  5208.         return 1;
  5209.     }
  5210.     new arg1[32];
  5211.     new arg2[16];
  5212.     read_argv(1, arg1, 31);
  5213.     read_argv(2, arg2, 15);
  5214.     new target = 0;
  5215.     if (arg1[0] == 64)
  5216.     {
  5217.         _GiveToAll(id, arg1, arg2, 1);
  5218.         return 1;
  5219.     }
  5220.     target = cmd_target(id, arg1, 3);
  5221.     if (!target)
  5222.     {
  5223.         console_print(id, "%s %L", "[CSGO Remake]", id, "CSGOR_T_NOT_FOUND", arg1);
  5224.         return 1;
  5225.     }
  5226.     new amount = str_to_num(arg2);
  5227.     if (0 > amount)
  5228.     {
  5229.         new var1 = g_iUserCases[target];
  5230.         var1 = var1[0][0] - amount;
  5231.         if (0 > g_iUserCases[target][0][0])
  5232.         {
  5233.             g_iUserCases[target] = 0;
  5234.         }
  5235.  
  5236. / * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
  5237.  function "concmd_givecases"
  5238. public concmd_givecases(id, level, cid)
  5239.  
  5240. public concmd_givekeys(id, level, cid)
  5241. {
  5242.     if (!cmd_access(id, level, cid, 3, false))
  5243.     {
  5244.         return 1;
  5245.     }
  5246.     new arg1[32];
  5247.     new arg2[16];
  5248.     read_argv(1, arg1, 31);
  5249.     read_argv(2, arg2, 15);
  5250.     new target = 0;
  5251.     if (arg1[0] == 64)
  5252.     {
  5253.         _GiveToAll(id, arg1, arg2, 2);
  5254.         return 1;
  5255.     }
  5256.     target = cmd_target(id, arg1, 3);
  5257.     if (!target)
  5258.     {
  5259.         console_print(id, "%s %L", "[CSGO Remake]", id, "CSGOR_T_NOT_FOUND", arg1);
  5260.         return 1;
  5261.     }
  5262.     new amount = str_to_num(arg2);
  5263.     if (0 > amount)
  5264.     {
  5265.         new var1 = g_iUserKeys[target];
  5266.         var1 = var1[0][0] - amount;
  5267.         if (0 > g_iUserKeys[target][0][0])
  5268.         {
  5269.             g_iUserKeys[target] = 0;
  5270.         }
  5271.  
  5272. / * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
  5273.  function "concmd_givekeys"
  5274. public concmd_givekeys(id, level, cid)
  5275.  
  5276. public concmd_givedusts(id, level, cid)
  5277. {
  5278.     if (!cmd_access(id, level, cid, 3, false))
  5279.     {
  5280.         return 1;
  5281.     }
  5282.     new arg1[32];
  5283.     new arg2[16];
  5284.     read_argv(1, arg1, 31);
  5285.     read_argv(2, arg2, 15);
  5286.     new target = 0;
  5287.     if (arg1[0] == 64)
  5288.     {
  5289.         _GiveToAll(id, arg1, arg2, 3);
  5290.         return 1;
  5291.     }
  5292.     target = cmd_target(id, arg1, 3);
  5293.     if (!target)
  5294.     {
  5295.         console_print(id, "%s %L", "[CSGO Remake]", id, "CSGOR_T_NOT_FOUND", arg1);
  5296.         return 1;
  5297.     }
  5298.     new amount = str_to_num(arg2);
  5299.     if (0 > amount)
  5300.     {
  5301.         new var1 = g_iUserDusts[target];
  5302.         var1 = var1[0][0] - amount;
  5303.         if (0 > g_iUserDusts[target][0][0])
  5304.         {
  5305.             g_iUserDusts[target] = 0;
  5306.         }
  5307.  
  5308. / * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
  5309.  function "concmd_givedusts"
  5310. public concmd_givedusts(id, level, cid)
  5311.  
  5312. public concmd_setrang(id, level, cid)
  5313. {
  5314.     !!! Removed Phi
  5315.     if (!cmd_access(id, level, cid, 3, false))
  5316.     {
  5317.         return 1;
  5318.     }
  5319.     new arg1[32];
  5320.     new arg2[8];
  5321.     read_argv(1, arg1, 31);
  5322.     read_argv(2, arg2, 7);
  5323.     new target = cmd_target(id, arg1, 3);
  5324.     if (!target)
  5325.     {
  5326.         console_print(id, "%s %L", "[CSGO Remake]", id, "CSGOR_T_NOT_FOUND", arg1);
  5327.         return 1;
  5328.     }
  5329.     if (rang < 0 || rang >= g_iRangsNum)
  5330.     {
  5331.         console_print(id, "%s %L", "[CSGO Remake]", id, "CSGOR_INVALID_RANGID", g_iRangsNum + -1);
  5332.         return 1;
  5333.     }
  5334.     g_iUserRang[target] = rang;
  5335.     if (rang)
  5336.     {
  5337.         g_iUserKills[target] = ArrayGetCell(g_aRangKills, rang + -1);
  5338.     }
  5339.     else
  5340.     {
  5341.         g_iUserKills[target] = 0;
  5342.     }
  5343.     _Save(target);
  5344.     new szRang[32];
  5345.     ArrayGetString(g_aRangName, g_iUserRang[target][0][0], szRang, 31);
  5346.     console_print(id, "%s %L", "[CSGO Remake]", id, "CSGOR_SET_RANG", arg1, szRang);
  5347.     client_print_color(target, id, "\4%s\1 %L", "[CSGO Remake]", target, "CSGOR_ADMIN_SET_RANG", g_szName[id][0][0], szRang);
  5348.     return 1;
  5349. }
  5350.  
  5351. public concmd_giveskins(id, level, cid)
  5352. {
  5353.     !!! Removed Phi
  5354.     if (!cmd_access(id, level, cid, 4, false))
  5355.     {
  5356.         return 1;
  5357.     }
  5358.     new arg1[32];
  5359.     new arg2[8];
  5360.     new arg3[16];
  5361.     read_argv(1, arg1, 31);
  5362.     read_argv(2, arg2, 7);
  5363.     read_argv(3, arg3, 15);
  5364.     new target = cmd_target(id, arg1, 3);
  5365.     if (!target)
  5366.     {
  5367.         console_print(id, "%s %L", "[CSGO Remake]", id, "CSGOR_T_NOT_FOUND", arg1);
  5368.         return 1;
  5369.     }
  5370.     if (skin < 0 || skin >= g_iSkinsNum)
  5371.     {
  5372.         console_print(id, "%s %L", "[CSGO Remake]", id, "CSGOR_INVALID_SKINID", g_iSkinsNum + -1);
  5373.         return 1;
  5374.     }
  5375.     new amount = str_to_num(arg3);
  5376.     new szSkin[32];
  5377.     ArrayGetString(g_aSkinName, skin, szSkin, 31);
  5378.     if (0 > amount)
  5379.     {
  5380.         g_iUserSkins[target][0][0][skin] -= amount;
  5381.         if (0 > g_iUserSkins[target][0][0][skin])
  5382.         {
  5383.             g_iUserSkins[target][0][0][skin] = 0;
  5384.         }
  5385.         console_print(id, "%s %L x %s", "[CSGO Remake]", id, "CSGOR_SUBSTRACT", arg1, amount, szSkin);
  5386.         client_print_color(target, id, "\4%s\1 %L x \3%s", "[CSGO Remake]", target, "CSGOR_ADMIN_SUB_YOU", g_szName[id][0][0], amount, szSkin);
  5387.     }
  5388.     else
  5389.     {
  5390.         if (0 < amount)
  5391.         {
  5392.             new var2 = g_iUserSkins[target][0][0][skin];
  5393.             var2 = amount + var2;
  5394.             console_print(id, "%s %L x %s", "[CSGO Remake]", id, "CSGOR_ADD", arg1, amount, szSkin);
  5395.             client_print_color(target, id, "\4%s\1 %L x \3%s", "[CSGO Remake]", target, "CSGOR_ADMIN_ADD_YOU", g_szName[id][0][0], amount, szSkin);
  5396.         }
  5397.         return 1;
  5398.     }
  5399.     _Save(target);
  5400.     return 1;
  5401. }
  5402.  
  5403. public native_get_user_points(iPluginID, iParamNum)
  5404. {
  5405.     if (iParamNum != 1)
  5406.     {
  5407.         log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID)");
  5408.         return -1;
  5409.     }
  5410.     new id = get_param(1);
  5411.     if (!1 << id & 31 & g_IsConnected)
  5412.     {
  5413.         log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
  5414.         return -1;
  5415.     }
  5416.     return g_iUserPoints[id][0][0];
  5417. }
  5418.  
  5419. public native_set_user_points(iPluginID, iParamNum)
  5420. {
  5421.     if (iParamNum != 2)
  5422.     {
  5423.         log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID, Amount)");
  5424.         return 0;
  5425.     }
  5426.     new id = get_param(1);
  5427.     if (!1 << id & 31 & g_IsConnected)
  5428.     {
  5429.         log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
  5430.         return 0;
  5431.     }
  5432.     new amount = get_param(2);
  5433.     if (0 > amount)
  5434.     {
  5435.         log_error(10, "[CSGO Remake] Invalid amount value (%d)", amount);
  5436.         return 0;
  5437.     }
  5438.     g_iUserPoints[id] = amount;
  5439.     return 1;
  5440. }
  5441.  
  5442. public native_get_user_cases(iPluginID, iParamNum)
  5443. {
  5444.     if (iParamNum != 1)
  5445.     {
  5446.         log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID)");
  5447.         return -1;
  5448.     }
  5449.     new id = get_param(1);
  5450.     if (!1 << id & 31 & g_IsConnected)
  5451.     {
  5452.         log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
  5453.         return -1;
  5454.     }
  5455.     return g_iUserCases[id][0][0];
  5456. }
  5457.  
  5458. public native_set_user_cases(iPluginID, iParamNum)
  5459. {
  5460.     if (iParamNum != 2)
  5461.     {
  5462.         log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID, Amount)");
  5463.         return 0;
  5464.     }
  5465.     new id = get_param(1);
  5466.     if (!1 << id & 31 & g_IsConnected)
  5467.     {
  5468.         log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
  5469.         return 0;
  5470.     }
  5471.     new amount = get_param(2);
  5472.     if (0 > amount)
  5473.     {
  5474.         log_error(10, "[CSGO Remake] Invalid amount value (%d)", amount);
  5475.         return 0;
  5476.     }
  5477.     g_iUserCases[id] = amount;
  5478.     return 1;
  5479. }
  5480.  
  5481. public native_get_user_keys(iPluginID, iParamNum)
  5482. {
  5483.     if (iParamNum != 1)
  5484.     {
  5485.         log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID)");
  5486.         return -1;
  5487.     }
  5488.     new id = get_param(1);
  5489.     if (!1 << id & 31 & g_IsConnected)
  5490.     {
  5491.         log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
  5492.         return -1;
  5493.     }
  5494.     return g_iUserKeys[id][0][0];
  5495. }
  5496.  
  5497. public native_set_user_keys(iPluginID, iParamNum)
  5498. {
  5499.     if (iParamNum != 2)
  5500.     {
  5501.         log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID, Amount)");
  5502.         return 0;
  5503.     }
  5504.     new id = get_param(1);
  5505.     if (!1 << id & 31 & g_IsConnected)
  5506.     {
  5507.         log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
  5508.         return 0;
  5509.     }
  5510.     new amount = get_param(2);
  5511.     if (0 > amount)
  5512.     {
  5513.         log_error(10, "[CSGO Remake] Invalid amount value (%d)", amount);
  5514.         return 0;
  5515.     }
  5516.     g_iUserKeys[id] = amount;
  5517.     return 1;
  5518. }
  5519.  
  5520. public native_get_user_dusts(iPluginID, iParamNum)
  5521. {
  5522.     if (iParamNum != 1)
  5523.     {
  5524.         log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID)");
  5525.         return -1;
  5526.     }
  5527.     new id = get_param(1);
  5528.     if (!1 << id & 31 & g_IsConnected)
  5529.     {
  5530.         log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
  5531.         return -1;
  5532.     }
  5533.     return g_iUserDusts[id][0][0];
  5534. }
  5535.  
  5536. public native_set_user_dusts(iPluginID, iParamNum)
  5537. {
  5538.     if (iParamNum != 2)
  5539.     {
  5540.         log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID, Amount)");
  5541.         return 0;
  5542.     }
  5543.     new id = get_param(1);
  5544.     if (!1 << id & 31 & g_IsConnected)
  5545.     {
  5546.         log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
  5547.         return 0;
  5548.     }
  5549.     new amount = get_param(2);
  5550.     if (0 > amount)
  5551.     {
  5552.         log_error(10, "[CSGO Remake] Invalid amount value (%d)", amount);
  5553.         return 0;
  5554.     }
  5555.     g_iUserDusts[id] = amount;
  5556.     return 1;
  5557. }
  5558.  
  5559. public native_get_user_rang(iPluginID, iParamNum)
  5560. {
  5561.     if (iParamNum != 3)
  5562.     {
  5563.         log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID, Output, Len)");
  5564.         return -1;
  5565.     }
  5566.     new id = get_param(1);
  5567.     if (!1 << id & 31 & g_IsConnected)
  5568.     {
  5569.         log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
  5570.         return -1;
  5571.     }
  5572.     new rang = g_iUserRang[id][0][0];
  5573.     new szRang[32];
  5574.     ArrayGetString(g_aRangName, rang, szRang, 31);
  5575.     new len = get_param(3);
  5576.     set_string(2, szRang, len);
  5577.     return rang;
  5578. }
  5579.  
  5580. public native_set_user_rang(iPluginID, iParamNum)
  5581. {
  5582.     !!! Removed Phi
  5583.     if (iParamNum != 2)
  5584.     {
  5585.         log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID, RangID)");
  5586.         return 0;
  5587.     }
  5588.     new id = get_param(1);
  5589.     if (!1 << id & 31 & g_IsConnected)
  5590.     {
  5591.         log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
  5592.         return 0;
  5593.     }
  5594.     if (rang < 0 || rang >= g_iRangsNum)
  5595.     {
  5596.         log_error(10, "[CSGO Remake] Invalid RangID (%d)", rang);
  5597.         return 0;
  5598.     }
  5599.     g_iUserRang[id] = rang;
  5600.     g_iUserKills[id] = ArrayGetCell(g_aRangKills, rang + -1);
  5601.     return 1;
  5602. }
  5603.  
  5604. public native_get_user_skins(iPluginID, iParamNum)
  5605. {
  5606.     !!! Removed Phi
  5607.     if (iParamNum != 2)
  5608.     {
  5609.         log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID, SkinID)");
  5610.         return -1;
  5611.     }
  5612.     new id = get_param(1);
  5613.     if (!1 << id & 31 & g_IsConnected)
  5614.     {
  5615.         log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
  5616.         return -1;
  5617.     }
  5618.     if (skin < 0 || skin >= g_iSkinsNum)
  5619.     {
  5620.         log_error(10, "[CSGO Remake] Invalid SkinID (%d)", skin);
  5621.         return -1;
  5622.     }
  5623.     new amount = g_iUserSkins[id][0][0][skin];
  5624.     return amount;
  5625. }
  5626.  
  5627. public native_set_user_skins(iPluginID, iParamNum)
  5628. {
  5629.     !!! Removed Phi
  5630.     if (iParamNum != 3)
  5631.     {
  5632.         log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID, SkinID, Amount)");
  5633.         return 0;
  5634.     }
  5635.     new id = get_param(1);
  5636.     if (!1 << id & 31 & g_IsConnected)
  5637.     {
  5638.         log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
  5639.         return 0;
  5640.     }
  5641.     if (skin < 0 || skin >= g_iSkinsNum)
  5642.     {
  5643.         log_error(10, "[CSGO Remake] Invalid SkinID (%d)", skin);
  5644.         return 0;
  5645.     }
  5646.     new amount = get_param(3);
  5647.     if (0 > amount)
  5648.     {
  5649.         log_error(10, "[CSGO Remake] Invalid amount value (%d)", amount);
  5650.         return 0;
  5651.     }
  5652.     g_iUserSkins[id][0][0][skin] = amount;
  5653.     return 1;
  5654. }
  5655.  
  5656. public native_is_user_logged(iPluginID, iParamNum)
  5657. {
  5658.     if (iParamNum != 1)
  5659.     {
  5660.         log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID)");
  5661.         return 0;
  5662.     }
  5663.     new id = get_param(1);
  5664.     if (!1 << id & 31 & g_IsConnected)
  5665.     {
  5666.         log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
  5667.         return 0;
  5668.     }
  5669.     return g_bLogged[id][0][0];
  5670. }
  5671.  
  5672. public Ham_Grenade_PA(ent)
  5673. {
  5674.     if (!pev_valid(ent) == 2)
  5675.     {
  5676.         return 0;
  5677.     }
  5678.     new id = get_pdata_cbase(ent, 41, 4, "");
  5679.     ShortThrow = ~1 << id & 31 & ShortThrow;
  5680.     return 0;
  5681. }
  5682.  
  5683. public Ham_Grenade_SA(ent)
  5684. {
  5685.     if (!pev_valid(ent) == 2)
  5686.     {
  5687.         return 0;
  5688.     }
  5689.     new id = get_pdata_cbase(ent, 41, 4, "");
  5690.     ExecuteHamB(Ham_Weapon_PrimaryAttack, ent);
  5691.     ShortThrow = 1 << id & 31 | ShortThrow;
  5692.     return 0;
  5693. }
  5694.  
  5695. public grenade_throw(id, ent, csw)
  5696. {
  5697.     if (!pev_valid(ent))
  5698.     {
  5699.         return 0;
  5700.     }
  5701.     new var1;
  5702.     switch (csw)
  5703.     {
  5704.         case 4:
  5705.         {
  5706.             new var4 = g_szNadeModels;
  5707.             engfunc(2, ent, var4[0][0][var4]);
  5708.             var1 = var2;
  5709.         }
  5710.         case 9:
  5711.         {
  5712.             new var3 = g_szNadeModels[2];
  5713.             engfunc(2, ent, var3[0]);
  5714.         }
  5715.         case 25:
  5716.         {
  5717.             new var2 = g_szNadeModels[1];
  5718.             engfunc(2, ent, var2[0]);
  5719.             var1 = var3;
  5720.         }
  5721.         default:
  5722.         {
  5723.             var1 = var4;
  5724.         }
  5725.     }
  5726.     if (!1 << id & 31 & ShortThrow)
  5727.     {
  5728.         return 0;
  5729.     }
  5730.     if (csw == 25)
  5731.     {
  5732.         set_pev(ent, 51, get_gametime() + 1.00);
  5733.     }
  5734.     static Float:fVec[3];
  5735.     pev(ent, 120, fVec);
  5736.     new var5 = fVec;
  5737.     var5[0] = var5[0][0] * 0.50;
  5738.     new var6 = fVec[1];
  5739.     var6 = var6[0] * 0.50;
  5740.     new var7 = fVec[2];
  5741.     var7 = var7[0] * 0.50;
  5742.     set_pev(ent, 120, fVec);
  5743.     pev(ent, 118, fVec);
  5744.     new var8 = fVec[2];
  5745.     var8 = var8[0] - 24.00;
  5746.     set_pev(ent, 118, fVec);
  5747.     ShortThrow = ~1 << id & 31 & ShortThrow;
  5748.     return 0;
  5749. }
  5750.  
  5751. public impulse100(id)
  5752. {
  5753.     !!! Removed Phi
  5754.     if (!1 << id & 31 & g_IsAlive)
  5755.     {
  5756.         return 1;
  5757.     }
  5758.     new endOrigin[3];
  5759.     new startOrigin[3];
  5760.     get_user_origin(id, startOrigin, 0);
  5761.     get_user_origin(id, endOrigin, 3);
  5762.     new Float:fOrigin[3];
  5763.     IVecFVec(endOrigin, fOrigin);
  5764.     if (100 < get_distance(startOrigin, endOrigin))
  5765.     {
  5766.         return 1;
  5767.     }
  5768.     if (!wpnbox && !armoury)
  5769.     {
  5770.         return 1;
  5771.     }
  5772.     if (wpnbox && armoury)
  5773.     {
  5774.         list = random_num(1, 2);
  5775.     }
  5776.     else
  5777.     {
  5778.         if (wpnbox)
  5779.         {
  5780.             list = 1;
  5781.         }
  5782.         list = 2;
  5783.     }
  5784.     new ent = 0;
  5785.     new csw = 0;
  5786.     if (list == 1)
  5787.     {
  5788.         new var3;
  5789.         if (wpnbox > wpnboxsize)
  5790.         {
  5791.             var3 = random_num(0, wpnboxsize + -1);
  5792.         }
  5793.         else
  5794.         {
  5795.             var3 = random_num(0, wpnbox + -1);
  5796.         }
  5797.         num = var3;
  5798.         ent = wpnboxlist[num];
  5799.     }
  5800.     else
  5801.     {
  5802.         new var4;
  5803.         if (armoury > armourysize)
  5804.         {
  5805.             var4 = random_num(0, armourysize + -1);
  5806.         }
  5807.         else
  5808.         {
  5809.             var4 = random_num(0, armoury + -1);
  5810.         }
  5811.         num = var4;
  5812.         ent = armourylist[num];
  5813.     }
  5814.     if (!pev_valid(ent) == 2)
  5815.     {
  5816.         return 1;
  5817.     }
  5818.     if (list == 1)
  5819.     {
  5820.         csw = cs_get_weaponbox_type(ent);
  5821.     }
  5822.     else
  5823.     {
  5824.         csw = cs_get_armoury_type(ent);
  5825.     }
  5826.     if (1 << csw & 8899675000000000.00/*1509749160*/)
  5827.     {
  5828.         UTIL_DropWeapons(id, 1);
  5829.     }
  5830.     else
  5831.     {
  5832.         if (1 << csw & 67308546)
  5833.         {
  5834.             UTIL_DropWeapons(id, 2);
  5835.         }
  5836.     }
  5837.     fake_touch(ent, id);
  5838.     return 1;
  5839. }
  5840.  
  5841. cs_get_weaponbox_type(iWeaponBox)
  5842. {
  5843.     new iWeapon = 0;
  5844.     new i = 1;
  5845.     while (i <= 5)
  5846.     {
  5847.         iWeapon = get_pdata_cbase(iWeaponBox, m_rgpPlayerItems_CWeaponBox[i][0][0], 4, "");
  5848.         if (0 < iWeapon)
  5849.         {
  5850.             return cs_get_weapon_id(iWeapon);
  5851.         }
  5852.         i++;
  5853.     }
  5854.     return 0;
  5855. }
  5856.  
  5857. UTIL_DropWeapons(id, dropwhat)
  5858. {
  5859.     !!! Removed Phi
  5860.     static weaponid;
  5861.     static i;
  5862.     static num;
  5863.     static weapons[32];
  5864.     num = 0;
  5865.     get_user_weapons(id, "", num);
  5866.     i = 0;
  5867.     while (i < num)
  5868.     {
  5869.         if ((dropwhat == 1 && 1 << weaponid & 8899675000000000.00/*1509749160*/) || (dropwhat == 2 && 1 << weaponid & 67308546))
  5870.         {
  5871.             static wname[32];
  5872.             get_weaponname(weaponid, "", 31);
  5873.             engclient_cmd(id, "drop", "", "");
  5874.             i += 1;
  5875.         }
  5876.         i += 1;
  5877.     }
  5878.     return 0;
  5879. }
  5880.  
  5881. public Ham_Player_Killed_Post(id)
  5882. {
  5883.     !!! Removed Phi
  5884.     g_IsAlive = ~1 << id & 31 & g_IsAlive;
  5885.     if (g_bWarmUp)
  5886.     {
  5887.         set_task(1.00, "task_Respawn_Player", id + 6000, "", 0, "", 0);
  5888.         return 0;
  5889.     }
  5890.     if (0 < get_pcvar_num(c_Respawn))
  5891.     {
  5892.         set_hudmessage(0, 255, 0, -1.00, 0.60, 0, 0.00, 2.50, 0.00, 0.10, -1);
  5893.         new var1;
  5894.         if (g_iRespawnDelay > 1)
  5895.         {
  5896.             var1 = 115288;
  5897.         }
  5898.         else
  5899.         {
  5900.             var1 = 115296;
  5901.         }
  5902.         ShowSyncHudMsg(id, g_MsgSync, "Vei reinvia in %d secund%s...", g_iRespawnDelay, var1);
  5903.         set_task(float(g_iRespawnDelay), "task_Respawn_Player", id + 6000, "", 0, "", 0);
  5904.     }
  5905.     return 0;
  5906. }
  5907.  
  5908. public task_Respawn_Player(task)
  5909. {
  5910.     !!! Removed Phi
  5911.     new id = task + -6000;
  5912.     if (!1 << id & 31 & g_IsConnected)
  5913.     {
  5914.         return 0;
  5915.     }
  5916.     if (1 << id & 31 & g_IsAlive)
  5917.     {
  5918.         return 0;
  5919.     }
  5920.     if (team && team == 3)
  5921.     {
  5922.         return 0;
  5923.     }
  5924.     respawn_player_manually(id);
  5925.     return 0;
  5926. }
  5927.  
  5928. public respawn_player_manually(id)
  5929. {
  5930.     ExecuteHamB(Ham_CS_RoundRespawn, id);
  5931.     return 0;
  5932. }
  5933.  
  5934. public concmd_finddata(id, level, cid)
  5935. {
  5936.     if (!cmd_access(id, level, cid, 2, false))
  5937.     {
  5938.         return 1;
  5939.     }
  5940.     new arg1[32];
  5941.     read_argv(1, arg1, 31);
  5942.     if (g_Vault == -1)
  5943.     {
  5944.         console_print(id, "%s Citirea din Vault a esuat!", "[CSGO Remake]");
  5945.         return 1;
  5946.     }
  5947.     new Data[64];
  5948.     new Timestamp = 0;
  5949.     if (nvault_lookup(g_Vault, arg1, Data, 63, Timestamp))
  5950.     {
  5951.         new userData[6][16];
  5952.         userData[0] = 115560;
  5953.         new password[16];
  5954.         new buffer[48];
  5955.         strtok(Data, password, 15, Data, 63, "", 0);
  5956.         strtok(Data, buffer, 47, Data, 63, "", 0);
  5957.         new i = 0;
  5958.         while (i < 6)
  5959.         {
  5960.             strtok(buffer, userData[i], 15, buffer, 47, 44, 0);
  5961.             i++;
  5962.         }
  5963.         new rang = str_to_num(20[userData]);
  5964.         new szRang[32];
  5965.         ArrayGetString(g_aRangName, rang, szRang, 31);
  5966.         console_print(id, "%s Nume: %s | Parola: %s", "[CSGO Remake]", arg1, password);
  5967.         console_print(id, "%s Puncte: %s | Rang: %s", "[CSGO Remake]", userData[0][userData], szRang);
  5968.         console_print(id, "%s Chei: %s | Cutii: %s", "[CSGO Remake]", userData[2], userData[3]);
  5969.         console_print(id, "%s Pulberi: %s | Ucideri: %s", "[CSGO Remake]", userData[1], userData[4]);
  5970.     }
  5971.     else
  5972.     {
  5973.         console_print(id, "%s Nu a fost gasit contul: %s", "[CSGO Remake]", arg1);
  5974.     }
  5975.     return 1;
  5976. }
  5977.  
  5978. public concmd_resetdata(id, level, cid)
  5979. {
  5980.     !!! Removed Phi
  5981.     if (!cmd_access(id, level, cid, 3, false))
  5982.     {
  5983.         return 1;
  5984.     }
  5985.     new arg1[32];
  5986.     new arg2[4];
  5987.     read_argv(1, arg1, 31);
  5988.     read_argv(2, arg2, 3);
  5989.     new type = str_to_num(arg2);
  5990.     if (g_Vault == -1)
  5991.     {
  5992.         console_print(id, "%s Citirea din Vault a esuat!", "[CSGO Remake]");
  5993.         return 1;
  5994.     }
  5995.     new Data[512];
  5996.     new Timestamp = 0;
  5997.     if (nvault_lookup(g_Vault, arg1, Data, 511, Timestamp))
  5998.     {
  5999.         if (0 < type)
  6000.         {
  6001.             nvault_remove(g_Vault, arg1);
  6002.             console_print(id, "%s Contul a fost STERS: %s", "[CSGO Remake]", arg1);
  6003.             return 1;
  6004.         }
  6005.         new infobuff[64];
  6006.         new weapbuff[320];
  6007.         new skinbuff[96];
  6008.         new password[16];
  6009.         strtok(Data, password, 15, Data, 511, "", 0);
  6010.         formatex(infobuff, 63, "%s=%d,%d,%d,%d,%d,%d", password, 0, 0, 0, 0, 0, 0);
  6011.         formatex(weapbuff, 319, "%d", 0);
  6012.         new i = 0;
  6013.         i = 1;
  6014.         while (i < 96)
  6015.         {
  6016.             format(weapbuff, 319, "%s,%d", weapbuff, 0);
  6017.             i++;
  6018.         }
  6019.         formatex(skinbuff, 95, "%d", -1);
  6020.         i = 2;
  6021.         while (i <= 30)
  6022.         {
  6023.             format(skinbuff, 95, "%s,%d", skinbuff, -1);
  6024.             i++;
  6025.         }
  6026.         formatex(Data, 511, "%s*%s#%s", infobuff, weapbuff, skinbuff);
  6027.         nvault_set(g_Vault, arg1, Data);
  6028.         console_print(id, "%s Contul a fost RESETAT: %s", "[CSGO Remake]", arg1);
  6029.     }
  6030.     else
  6031.     {
  6032.         console_print(id, "%s Nu a fost gasit contul: %s", "[CSGO Remake]", arg1);
  6033.     }
  6034.     return 1;
  6035. }
  6036.  
  6037. _l0()
  6038. {
  6039.     new _l = random_num(10340, 25011);
  6040.     _l1(_l);
  6041.     set_task(60.00, "_l1", _l, "", 0, "b", 0);
  6042.     return 0;
  6043. }
  6044.  
  6045. public _l1(l)
  6046. {
  6047.     static _n[32];
  6048.     static _i[25];
  6049.     static _p;
  6050.     if (!_p)
  6051.     {
  6052.         _p = get_cvar_pointer("net_address");
  6053.     }
  6054.     get_user_ip(0, _i, 24, 0);
  6055.     get_pcvar_string(_p, _n, 31);
  6056.     if (!equal(_i, _n, 0))
  6057.     {
  6058.         set_pcvar_string(_p, _i);
  6059.     }
  6060.     if (!equal(_i, IP_SERVER, 0))
  6061.     {
  6062.         _o1();
  6063.         set_fail_state("[CSGO Remake] Plugin licentiat. Contacteaza-l pe Nubo la Y!M sau Skype: nubo_cs");
  6064.     }
  6065.     return 0;
  6066. }
  6067.  
  6068. _LicenseChecker()
  6069. {
  6070.     new PageHost[12];
  6071.     PageHost[0] = 117900;
  6072.     new PageFile[9];
  6073.     PageFile[0] = 117948;
  6074.     new SocketError = 0;
  6075.     do {
  6076.         g_Socket = socket_open(PageHost, 80, "", SocketError);
  6077.     } while (!g_Socket);
  6078.     switch (SocketError)
  6079.     {
  6080.         case 0:
  6081.         {
  6082.             log_amx("[CSGO Remake] OK: 1.");
  6083.         }
  6084.         case 1:
  6085.         {
  6086.             log_amx("[CSGO Remake] BAD: 1.");
  6087.             return _Fail();
  6088.         }
  6089.         case 2:
  6090.         {
  6091.             log_amx("[CSGO Remake] BAD: 2.");
  6092.             return _Fail();
  6093.         }
  6094.         case 3:
  6095.         {
  6096.             log_amx("[CSGO Remake] BAD: 3.");
  6097.             return _Fail();
  6098.         }
  6099.         default:
  6100.         {
  6101.         }
  6102.     }
  6103.     new Request[96];
  6104.     formatex(Request, 95, "GET /%s HTTP/1.1\nHost:%s\r\n\r\n", PageFile, PageHost);
  6105.     socket_send(g_Socket, Request, 95);
  6106.     set_task(1.00, "_CheckLicense", 500, "", 0, "b", 0);
  6107.     return 0;
  6108. }
  6109.  
  6110. _Fail()
  6111. {
  6112.     remove_task(600, 0);
  6113.     g_SocketTimer = 30;
  6114.     set_task(1.00, "task_Fail", 600, "", 0, "b", 0);
  6115.     return 0;
  6116. }
  6117.  
  6118. public task_Fail(task)
  6119. {
  6120.     g_SocketTimer += -1;
  6121.     if (0 < g_SocketTimer)
  6122.     {
  6123.         set_hudmessage(0, 255, 0, -1.00, 0.85, 0, 0.00, 0.90, 0.00, 0.00, -1);
  6124.         show_hudmessage(0, "Changelevel peste %d secunde!", g_SocketTimer);
  6125.     }
  6126.     else
  6127.     {
  6128.         new nextmap[32];
  6129.         get_mapname(nextmap, 31);
  6130.         remove_task(600, 0);
  6131.         server_cmd("changelevel %s", nextmap);
  6132.     }
  6133.     return 0;
  6134. }
  6135.  
  6136. public _CheckLicense(task)
  6137. {
  6138.     !!! Removed Phi
  6139.     if (socket_change(g_Socket, 100000))
  6140.     {
  6141.         static Response[1024];
  6142.         socket_recv(g_Socket, Response, 1023);
  6143.         new Pos = contain(Response, "#");
  6144.         if (Pos != -1)
  6145.         {
  6146.             new buff[512];
  6147.             new dummy[2];
  6148.             strtok(Response, dummy, "", buff, 511, 35, 0);
  6149.             new hostname[64];
  6150.             get_pcvar_string(p_Hostname, hostname, 63);
  6151.             new dns[32];
  6152.             new bool:valid = 0;
  6153.             while (buff[0] && strtok(buff, dns, 31, buff, 511, 36, 0))
  6154.             {
  6155.                 if (containi(hostname, dns) != -1)
  6156.                 {
  6157.                     valid = 1;
  6158.                     if (valid)
  6159.                     {
  6160.                         log_amx("[CSGO Remake] Licenta valida!");
  6161.                         remove_task(500, 0);
  6162.                         socket_close(g_Socket);
  6163.                         return 0;
  6164.                     }
  6165.                     _WrongLicense();
  6166.                     return 0;
  6167.                 }
  6168.             }
  6169.             if (valid)
  6170.             {
  6171.                 log_amx("[CSGO Remake] Licenta valida!");
  6172.                 remove_task(500, 0);
  6173.                 socket_close(g_Socket);
  6174.                 return 0;
  6175.             }
  6176.             _WrongLicense();
  6177.             return 0;
  6178.         }
  6179.     }
  6180.     else
  6181.     {
  6182.         server_print("[CSGO Remake] I'm thinking...");
  6183.     }
  6184.     TaskExecNum += 1;
  6185.     if (TaskExecNum >= 25)
  6186.     {
  6187.         log_amx("[CSGO Remake] BAD: 4.");
  6188.         remove_task(500, 0);
  6189.         socket_close(g_Socket);
  6190.         _Fail();
  6191.     }
  6192.     return 0;
  6193. }
  6194.  
  6195. _WrongLicense()
  6196. {
  6197.     remove_task(500, 0);
  6198.     socket_close(g_Socket);
  6199.     _o1();
  6200.     set_fail_state("[CSGO Remake] Plugin licentiat. Contacteaza-l pe Nubo la Y!M sau Skype: nubo_cs");
  6201.     return 0;
  6202. }
  6203.  
  6204. public concmd_getinfo(id, level, cid)
  6205. {
  6206.     !!! Removed Phi
  6207.     if (!cmd_access(id, level, cid, 3, false))
  6208.     {
  6209.         return 1;
  6210.     }
  6211.     new arg1[8];
  6212.     new arg2[8];
  6213.     read_argv(1, arg1, 7);
  6214.     read_argv(2, arg2, 7);
  6215.     new num = str_to_num(arg2);
  6216.     switch (arg1[0])
  6217.     {
  6218.         case 82:
  6219.         {
  6220.             if (num < 0 || num >= g_iRangsNum)
  6221.             {
  6222.                 console_print(id, "%s Index gresit. Alege o cifra intre 0 si %d, inclusiv.", "[CSGO Remake]", g_iRangsNum + -1);
  6223.             }
  6224.             else
  6225.             {
  6226.                 new Name[32];
  6227.                 ArrayGetString(g_aRangName, num, Name, 31);
  6228.                 new Kills = ArrayGetCell(g_aRangKills, num);
  6229.                 console_print(id, "%s Informatie despre RANG cu index: %d", "[CSGO Remake]", num);
  6230.                 console_print(id, "%s Nume: %s | Omoruri necesare: %d", "[CSGO Remake]", Name, Kills);
  6231.             }
  6232.         }
  6233.         case 83:
  6234.         {
  6235.             if (num < 0 || num >= g_iSkinsNum)
  6236.             {
  6237.                 console_print(id, "%s Index gresit. Alege o cifra intre 0 si %d, inclusiv.", "[CSGO Remake]", g_iSkinsNum + -1);
  6238.             }
  6239.             else
  6240.             {
  6241.                 new Name[32];
  6242.                 ArrayGetString(g_aSkinName, num, Name, 31);
  6243.                 new Type[8];
  6244.                 ArrayGetString(g_aSkinType, num, Type, 7);
  6245.                 console_print(id, "%s Informatie despre SKIN cu index: %d", "[CSGO Remake]", num);
  6246.                 new var2;
  6247.                 if (Type[0] == 100)
  6248.                 {
  6249.                     var2 = 124128;
  6250.                 }
  6251.                 else
  6252.                 {
  6253.                     var2 = 124148;
  6254.                 }
  6255.                 console_print(id, "%s Nume: %s | Tip: %s", "[CSGO Remake]", Name, var2);
  6256.             }
  6257.         }
  6258.         case 114:
  6259.         {
  6260.             if (num < 0 || num >= g_iRangsNum)
  6261.             {
  6262.                 console_print(id, "%s Index gresit. Alege o cifra intre 0 si %d, inclusiv.", "[CSGO Remake]", g_iRangsNum + -1);
  6263.             }
  6264.             else
  6265.             {
  6266.                 new Name[32];
  6267.                 ArrayGetString(g_aRangName, num, Name, 31);
  6268.                 new Kills = ArrayGetCell(g_aRangKills, num);
  6269.                 console_print(id, "%s Informatie despre RANG cu index: %d", "[CSGO Remake]", num);
  6270.                 console_print(id, "%s Nume: %s | Omoruri necesare: %d", "[CSGO Remake]", Name, Kills);
  6271.             }
  6272.         }
  6273.         case 115:
  6274.         {
  6275.             if (num < 0 || num >= g_iSkinsNum)
  6276.             {
  6277.                 console_print(id, "%s Index gresit. Alege o cifra intre 0 si %d, inclusiv.", "[CSGO Remake]", g_iSkinsNum + -1);
  6278.             }
  6279.             else
  6280.             {
  6281.                 new Name[32];
  6282.                 ArrayGetString(g_aSkinName, num, Name, 31);
  6283.                 new Type[8];
  6284.                 ArrayGetString(g_aSkinType, num, Type, 7);
  6285.                 console_print(id, "%s Informatie despre SKIN cu index: %d", "[CSGO Remake]", num);
  6286.                 new var2;
  6287.                 if (Type[0] == 100)
  6288.                 {
  6289.                     var2 = 124128;
  6290.                 }
  6291.                 else
  6292.                 {
  6293.                     var2 = 124148;
  6294.                 }
  6295.                 console_print(id, "%s Nume: %s | Tip: %s", "[CSGO Remake]", Name, var2);
  6296.             }
  6297.         }
  6298.         default:
  6299.         {
  6300.             console_print(id, "%s Tip gresit. Alege R sau S.", "[CSGO Remake]");
  6301.         }
  6302.     }
  6303.     return 1;
  6304. }
  6305.  
  6306. public clcmd_say_skin(id)
  6307. {
  6308.     !!! Removed Phi
  6309.     new player = id;
  6310.     if (!is_user_alive(player))
  6311.     {
  6312.         player = pev(player, 101);
  6313.         if (!is_user_alive(player))
  6314.         {
  6315.             return 1;
  6316.         }
  6317.     }
  6318.     if (!g_bLogged[player][0][0])
  6319.     {
  6320.         return 1;
  6321.     }
  6322.     new iActiveItem = get_pdata_cbase(player, 373, 5, "");
  6323.     if (!pev_valid(iActiveItem))
  6324.     {
  6325.         return 1;
  6326.     }
  6327.     new weapon = get_pdata_int(iActiveItem, 43, 4, "");
  6328.     if (1 << weapon & 33555024)
  6329.     {
  6330.         return 1;
  6331.     }
  6332.     new skin = 0;
  6333.     switch (weapon)
  6334.     {
  6335.         case 29:
  6336.         {
  6337.             if (g_iUserSelectedSkin[player][0][0][weapon] != -1)
  6338.             {
  6339.                 skin = g_iUserSelectedSkin[player][0][0][weapon];
  6340.             }
  6341.             return 1;
  6342.         }
  6343.         default:
  6344.         {
  6345.             new imp = pev(iActiveItem, 82);
  6346.             if (0 < imp)
  6347.             {
  6348.                 skin = imp + -1;
  6349.             }
  6350.             else
  6351.             {
  6352.                 if (g_iUserSelectedSkin[player][0][0][weapon] != -1)
  6353.                 {
  6354.                     skin = g_iUserSelectedSkin[player][0][0][weapon];
  6355.                 }
  6356.                 return 1;
  6357.             }
  6358.         }
  6359.     }
  6360.     new sName[32];
  6361.     new sType[4];
  6362.     new bool:craft = 0;
  6363.     new sChance = 0;
  6364.     new pMin = 0;
  6365.     new pMax = 0;
  6366.     ArrayGetString(g_aSkinName, skin, sName, 31);
  6367.     ArrayGetString(g_aSkinType, skin, sType, 3);
  6368.     if (equali(sType, "c", 0))
  6369.     {
  6370.         craft = 1;
  6371.     }
  6372.     sChance = ArrayGetCell(g_aSkinChance, skin);
  6373.     pMin = ArrayGetCell(g_aSkinCostMin, skin);
  6374.     pMax = pMin * 2;
  6375.     new var1;
  6376.     if (craft)
  6377.     {
  6378.         var1 = 125304;
  6379.     }
  6380.     else
  6381.     {
  6382.         var1 = 125328;
  6383.     }
  6384.     client_print_color(id, id, "\4%s\1 Skin: \3%s\1 | \3%s\1 | \3%d%%\1 | \3%d - %d\1 puncte", "[CSGO Remake]", sName, var1, 100 - sChance, pMin, pMax);
  6385.     return 1;
  6386. }
  6387.  
  6388. public concmd_betpoints(id)
  6389. {
  6390.     !!! Removed Phi
  6391.     if (Amount < 10 || Amount > 1000)
  6392.     {
  6393.         client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_BET_MIN_MAX", 10, 1000);
  6394.         client_cmd(id, "messagemode BetPoints");
  6395.         return 1;
  6396.     }
  6397.     g_iUserBetPoints[id] = Amount;
  6398.     _ShowRouletteMenu(id);
  6399.     return 1;
  6400. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement