Hey, can anyone help me change the register from the M key to the T key?
Code:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fakemeta>
#include <colorchat>
#include <hamsandwich>
#include <cstrike>
#include <updater>
#include <xs>
#include <unixtime>
#define PLUGIN "Csgo remake"
#define VERSION "1Gx"
#define AUTHOR "Nubo"
#pragma compress 1
#pragma semicolon 1
new TimeStamp;
new g_Vault;
new bool:g_bLogged[33];
new bool:g_bSkinHasModelP[96];
//new bool:g_bSkinHasModelW[96];
new g_MsgSync;
new g_WarmUpSync;
new g_szCfgDir[48];
new g_szConfigFile[48];
new Array:g_aRankName;
new Array:g_aRankKills;
new g_szDefaultSkinModel[31][48];
new g_szDefaultPSkinModel[31][48];
//new g_szDefaultWSkinModel[31][48];
new Array:g_aSkinWeaponID;
new Array:g_aSkinName;
new Array:g_aSkinModel;
new Array:g_aSkinModelP;
//new Array:g_aSkinModelW;
new Array:g_aSkinType;
new Array:g_aSkinChance;
new Array:g_aSkinCostMin;
new Array:g_aDropSkin;
new Array:g_aCraftSkin;
new Array:g_aTombola;
new Array:g_aJackpotSkins;
new Array:g_aJackpotUsers;
new g_iRanksNum;
new g_iSkinsNum;
new g_iUserSelectedSkin[33][31];
new g_iUserSkins[33][96];
new g_iUserPoints[33];
new g_iUserDusts[33];
new g_iUserKeys[33];
new g_iUserCases[33];
new g_iUserKills[33];
new g_iUserRank[33];
new g_iDropSkinNum;
new g_iCraftSkinNum;
new g_szName[33][32];
new g_szUserPassword[33][16];
new g_szUserSavedPass[33][16];
new g_iUserPassFail[33];
new c_RegOpen;
new c_UpdatePlugin;
new fw_CUIC;
new HamHook:fw_PA[3];
new HamHook:fw_SA[3];
new HamHook:fw_ID[31];
new HamHook:fw_ICD[31];
new HamHook:fw_S1;
new HamHook:fw_S2;
new HamHook:fw_K1;
new HamHook:fw_K2;
new c_DropType;
new g_iDropType = 1;
new c_KeyPrice;
new g_iKeyPrice = 250;
new c_DropChance;
new g_iDropChance = 75;
new c_CraftCost;
new g_iCraftCost = 10;
new c_Suicide;
new g_iLastOpenCraft[33];
new c_ShowDropCraft;
new g_iShowDropCraft;
new g_Msg_SayText;
new g_Msg_DeathMsg;
new g_Msg_StatusIcon;
new g_iUserSellItem[33];
new g_iUserItemPrice[33];
new g_bUserSell[33];
new c_WaitForPlace;
new g_iWaitForPlace = 30;
new g_iLastPlace[33];
new c_KeyMinCost;
new g_iKeyMinCost = 100;
new c_CostMultiplier;
new g_iCostMultiplier = 20;
new c_CaseMinCost;
new g_iCaseMinCost = 100;
new g_iMenuType[33];
new c_DustForTransform;
new g_iDustForTransform = 1;
new c_ReturnPercent;
new g_iReturnPercent;
new g_iGiftTarget[33];
new g_iGiftItem[33];
new g_bTradeAccept[33];
new g_iTradeTarget[33];
new g_iTradeItem[33];
new g_bTradeActive[33];
new g_bTradeSecond[33];
new g_iTradeRequest[33];
new g_iRouletteCost;
new g_bRoulettePlay[33];
new g_iTombolaPlayers;
new g_iTombolaPrize;
new g_bUserPlay[33];
new g_iNextTombolaStart;
new c_TombolaCost;
new g_iTombolaCost = 50;
new c_TombolaTimer;
new g_iTombolaTimer = 120;
new g_bTombolaWork = 1;
new c_RouletteMin;
new g_iRouletteMin = 2;
new c_RouletteMax;
new g_iRouletteMax = 10;
new g_iUserBetPoints[33];
new bool:g_bJackpotWork;
new g_iUserJackpotItem[33];
new g_bUserPlayJackpot[33];
new g_iJackpotClose;
new c_JackpotTimer;
new g_iMaxPlayers;
new c_ShowHUD;
new g_iRoundNum;
new bool:g_bWarmUp;
new c_WarmUpDuration;
new g_iStartMoney;
new p_StartMoney;
new c_Competitive;
new g_iCompetitive;
new c_BestPoints;
new c_Respawn;
new c_RespawnDelay;
new g_iRespawnDelay;
new g_iTimer;
new p_NextMap;
new bool:g_bTeamSwap;
new p_Freezetime;
new g_iFreezetime;
new c_RankUpBonus;
new c_CmdAccess;
new c_OverrideMenu;
new bool:g_bBombExplode;
new bool:g_bBombDefused;
new g_iBombPlanter;
new g_iBombDefuser;
new g_iRoundKills[33];
new g_iDigit[33];
new g_iUserMVP[33];
new c_MVPMsgType;
new g_iMVPMsgType;
new g_iDealDamage[33];
new c_AMinPoints;
new g_iAMinPoints;
new c_AMaxPoints;
new g_iAMaxPoints;
new c_MVPMinPoints;
new g_iMVPMinPoints;
new c_MVPMaxPoints;
new g_iMVPMaxPoints;
new szMessage[128];
new c_RankModels;
new g_iRankModels;
new g_iRankEnt[33];
new g_iInfoTargetAlloc;
new c_PruneDays;
new g_iPruneDays = 30;
new c_HMinPoints;
new g_iHMinPoints;
new c_HMaxPoints;
new g_iHMaxPoints;
new c_KMinPoints;
new g_iKMinPoints;
new c_KMaxPoints;
new g_iKMaxPoints;
new c_HMinChance;
new g_iHMinChance;
new c_HMaxChance;
new g_iHMaxChance;
new c_KMinChance;
new g_iKMinChance;
new c_KMaxChance;
new g_iKMaxChance;
new g_iMostDamage[33];
new g_iDamage[33][33];
new bool:g_IsChangeAllowed[33];
new bool:ShortThrow;
new g_szRankModel[27] =
{
"models/;3dranks.mdl"
};
new g_szTWin[] =
{
"misc/;twingo.wav"
};
new g_szCTWin[] =
{
"misc/;ctwingo.wav"
};
new g_szNadeModels[3][] =
{
"models/w_he_csgor.mdl",
"models/w_fb_csgor.mdl",
"models/w_sg_csgor.mdl"
};
new GrenadeName[3][] =
{
"weapon_hegrenade",
"weapon_flashbang",
"weapon_smokegrenade"
};
new g_szWeaponEntName[31][] =
{
"",
"weapon_p228",
"",
"weapon_scout",
"weapon_hegrenade",
"weapon_xm1014",
"weapon_c4",
"weapon_mac10",
"weapon_aug",
"weapon_smokegrenade",
"weapon_elite",
"weapon_fiveseven",
"weapon_ump45",
"weapon_sg550",
"weapon_galil",
"weapon_famas",
"weapon_usp",
"weapon_glock18",
"weapon_awp",
"weapon_mp5navy",
"weapon_m249",
"weapon_m3",
"weapon_m4a1",
"weapon_tmp",
"weapon_g3sg1",
"weapon_flashbang",
"weapon_deagle",
"weapon_sg552",
"weapon_ak47",
"weapon_knife",
"weapon_p90"
};
new g_iMaxBpAmmo[11] =
{
0, 30, 90, 200, 90, 32, 100, 100, 35, 52, 120
};
new szSprite[11][] =
{
"number_0",
"number_1",
"number_2",
"number_3",
"number_4",
"number_5",
"number_6",
"number_7",
"number_8",
"number_9",
"dmg_rad"
};
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_cvar("csgo_remake_version", "1Gx", 68, 0.00);
set_cvar_string("csgo_remake_version", "1Gx");
register_cvar("csgo_remake_author", "Nubo", 68, 0.00);
set_cvar_string("csgo_remake_author", "Nubo");
c_PruneDays = register_cvar("csgor_prunedays", "30", 0, 0.00);
register_dictionary("csgoremake1gx.txt");
g_Msg_SayText = get_user_msgid("SayText");
g_Msg_DeathMsg = get_user_msgid("DeathMsg");
g_Msg_StatusIcon = get_user_msgid("StatusIcon");
register_message(g_Msg_SayText, "Message_SayText");
register_message(g_Msg_DeathMsg, "Message_DeathMsg");
register_clcmd("say", "Message_SayHandle");
register_clcmd("say_team", "Message_SayHandleTeam");
register_event("HLTV", "ev_NewRound", "a", "1=0", "2=0");
register_logevent("logev_Restart_Round", 2, "1&Restart_Round");
register_logevent("logev_Game_Commencing", 2, "1&Game_Commencing");
new i;
while (i < 3)
{
fw_PA[i] = RegisterHam(Ham_Weapon_PrimaryAttack, GrenadeName[i], "Ham_Grenade_PA", 1);
fw_SA[i] = RegisterHam(Ham_Weapon_SecondaryAttack, GrenadeName[i], "Ham_Grenade_SA", 1);
i++;
}
fw_CUIC = register_forward(122, "fw_FM_ClientUserInfoChanged", 0);
g_iInfoTargetAlloc = engfunc(EngFunc_AllocString, "info_target");
c_OverrideMenu = register_cvar("csgor_override_menu", "1", 0, 0.00);
c_ShowHUD = register_cvar("csgor_show_hud", "1", 0, 0.00);
c_HMinPoints = register_cvar("csgor_head_minpoints", "11", 0, 0.00);
c_HMaxPoints = register_cvar("csgor_head_maxpoints", "15", 0, 0.00);
c_KMinPoints = register_cvar("csgor_kill_minpoints", "6", 0, 0.00);
c_KMaxPoints = register_cvar("csgor_kill_maxpoints", "10", 0, 0.00);
c_HMinChance = register_cvar("csgor_head_minchance", "25", 0, 0.00);
c_HMaxChance = register_cvar("csgor_head_maxchance", "100", 0, 0.00);
c_KMinChance = register_cvar("csgor_kill_minchance", "0", 0, 0.00);
c_KMaxChance = register_cvar("csgor_kill_maxchance", "100", 0, 0.00);
c_AMinPoints = register_cvar("csgor_assist_minpoints", "3", 0, 0.00);
c_AMaxPoints = register_cvar("csgor_assist_maxpoints", "5", 0, 0.00);
c_MVPMinPoints = register_cvar("csgor_mvp_minpoints", "20", 0, 0.00);
c_MVPMaxPoints = register_cvar("csgor_mvp_maxpoints", "30", 0, 0.00);
c_MVPMsgType = register_cvar("csgor_mvp_msgtype", "0", 0, 0.00);
c_TombolaCost = register_cvar("csgor_tombola_cost", "50", 0, 0.00);
c_RegOpen = register_cvar("csgor_register_open", "1", 0, 0.00);
c_UpdatePlugin = register_cvar("csgor_update_plugin", "0", 0, 0.00);
c_BestPoints = register_cvar("csgor_best_points", "300", 0, 0.00);
c_RankUpBonus = register_cvar("csgor_rangup_bonus", "kc|200", 0, 0.00);
c_ReturnPercent = register_cvar("csgor_return_percent", "10", 0, 0.00);
c_DropType = register_cvar("csgor_drop_type", "1", 0, 0.00);
c_KeyPrice = register_cvar("csgor_key_price", "250", 0, 0.00);
c_TombolaTimer = register_cvar("csgor_tombola_timer", "180", 0, 0.00);
c_JackpotTimer = register_cvar("csgor_jackpot_timer", "120", 0, 0.00);
c_Competitive = register_cvar("csgor_competitive_mode", "1", 0, 0.00);
c_WarmUpDuration = register_cvar("csgor_warmup_duration", "60", 0, 0.00);
c_ShowDropCraft = register_cvar("csgor_show_dropcraft", "1", 0, 0.00);
c_RouletteMin = register_cvar("csgor_roulette_min", "2", 0, 0.00);
c_RouletteMax = register_cvar("csgor_roulette_max", "8", 0, 0.00);
c_CostMultiplier = register_cvar("csgor_item_cost_multiplier", "20", 0, 0.00);
register_event("DeathMsg", "ev_DeathMsg", "a", "1>0");
register_event("Damage", "ev_Damage", "b", "2!0", "3=0", "4!0");
fw_S1 = RegisterHam(Ham_Spawn, "player", "Ham_Player_Spawn_Post", 1);
fw_S2 = RegisterHam(Ham_Spawn, "player", "Ham_Player_Spawn_Pre", 0);
fw_K1 = RegisterHam(Ham_Killed, "player", "Ham_Player_Killed_Post", 1);
fw_K2 = RegisterHam(Ham_Killed, "player", "Ham_Player_Killed_Pre", 0);
c_Respawn = register_cvar("csgor_respawn_enable", "0", 0, 0.00);
c_RespawnDelay = register_cvar("csgor_respawn_delay", "3", 0, 0.00);
c_DropChance = register_cvar("csgor_dropchance", "85", 0, 0.00);
c_CraftCost = register_cvar("csgor_craft_cost", "10", 0, 0.00);
c_CaseMinCost = register_cvar("csgor_case_min_cost", "100", 0, 0.00);
c_KeyMinCost = register_cvar("csgor_key_min_cost", "100", 0, 0.00);
c_WaitForPlace = register_cvar("csgor_wait_for_place", "30", 0, 0.00);
c_DustForTransform = register_cvar("csgor_dust_for_transform", "1", 0, 0.00);
c_Suicide = register_cvar("csgor_suicide", "1", 0, 0.00);
if (0 < get_pcvar_num(c_Suicide))
{
register_forward(FM_ClientKill, "concmd_kill");
}
g_MsgSync = CreateHudSyncObj(0);
g_WarmUpSync = CreateHudSyncObj(0);
g_iMaxPlayers = get_maxplayers();
new size = 31;
i = 1;
while (i < size)
{
if (g_szWeaponEntName[i][0])
{
fw_ID[i] = RegisterHam(Ham_Item_Deploy, g_szWeaponEntName[i], "Ham_Item_Deploy_Post", 1);
fw_ICD[i] = RegisterHam(Ham_CS_Item_CanDrop, g_szWeaponEntName[i], "Ham_Item_Can_Drop", 0);
}
i++;
}
register_clcmd("say /reg", "clcmd_say_reg", -1, "", -1);
register_clcmd("say /menu", "clcmd_say_menu", -1, "", -1);
register_clcmd("say /skin", "clcmd_say_skin", -1, "", -1);
register_clcmd("say /accept", "clcmd_say_accept", -1, "", -1);
register_clcmd("say /deny", "clcmd_say_deny", -1, "", -1);
if (0 < get_pcvar_num(c_OverrideMenu))
{
register_clcmd("M", "clcmd_chooseteam", -1, "", -1);
}
register_concmd("UserPassword", "concmd_password", -1, "", -1);
register_concmd("ItemPrice", "concmd_itemprice", -1, "", -1);
register_concmd("BetPoints", "concmd_betpoints", -1, "", -1);
g_Vault = nvault_open("csgoremake1gx");
if (g_Vault == -1)
{
set_fail_state("[Anus] Could not open file csgoremake1gx.vault .");
return 0;
}
else
{
log_amx("[Anus] File csgoremake1gx.vault was successfully loaded.");
}
c_CmdAccess = register_cvar("csgor_commands_access", "a", 0, 0.00);
new Flags[8];
get_pcvar_string(c_CmdAccess, Flags, 7);
new Access = read_flags(Flags);
register_concmd("amx_givepoints", "concmd_givepoints", Access, "<Name> <Amount>", -1);
register_concmd("amx_givecases", "concmd_givecases", Access, "<Name> <Amount>", -1);
register_concmd("amx_givekeys", "concmd_givekeys", Access, "<Name> <Amount>", -1);
register_concmd("amx_givedusts", "concmd_givedusts", Access, "<Name> <Amount>", -1);
register_concmd("``", "concmd_giveskins", Access, "<Name> <SkinID> <Amount>", -1);
register_concmd("amx_setrank", "concmd_setrank", Access, "<Name> <Rank ID>", -1);
register_concmd("amx_finddata", "concmd_finddata", Access, "<Name>", -1);
register_concmd("amx_resetdata", "concmd_resetdata", Access, "<Name> <Mode>", -1);
register_concmd("csgor_getinfo", "concmd_getinfo", Access, "<Type> <Index>", -1);
p_Freezetime = get_cvar_pointer("mp_freezetime");
p_StartMoney = get_cvar_pointer("mp_startmoney");
_LicenseChecker();
return 0;
}
public plugin_precache()
{
precache_sound(g_szTWin);
precache_sound(g_szCTWin);
new i = 0;
while (i < 3)
{
precache_model(g_szNadeModels[i]);
i++;
}
new fp = fopen(g_szConfigFile, "rt");
if (!fp)
{
set_fail_state("[Anus] Could not open file csgoremake1gx.ini .");
return 0;
}
else
{
log_amx("[Anus] File csgoremake1gx.ini was successfully loaded.");
}
new buff[128];
new section;
new leftpart[48];
new rightpart[48];
new weaponid[4];
new weaponname[32];
new weaponmodel[48];
new weaponP[48];
//new weaponW[48];
new weapontype[4];
new weaponchance[8];
new weaponcostmin[8];
while (!feof(fp))
{
fgets(fp, buff, 127);
if (!(!buff[0] || buff[0] == 59))
{
if (buff[0] == 91)
{
section += 1;
}
switch (section)
{
case 1:
{
if (buff[0] != 91)
{
parse(buff, leftpart, 47, rightpart, 47);
ArrayPushString(g_aRankName, leftpart);
ArrayPushCell(g_aRankKills, str_to_num(rightpart));
g_iRanksNum += 1;
}
}
case 2:
{
if (buff[0] != 91)
{
//parse(buff, leftpart, 47, rightpart, 47, weaponP, 47, weaponW, 47);
parse(buff, leftpart, 47, rightpart, 47, weaponP, 47);
new wid = str_to_num(leftpart);
copy(g_szDefaultSkinModel[wid], 47, rightpart);
copy(g_szDefaultPSkinModel[wid], 47, weaponP);
if (strlen(rightpart) > 0 && file_exists(rightpart))
{
precache_model(rightpart);
}
else if (0 < strlen(rightpart) && !file_exists(rightpart))
{
new error[128];
formatex(error, 127 + strlen(rightpart), "[Anus] You have a missing file ^"%s^" in the [DEFAULT] section of csgoremake1gx.ini .", rightpart);
set_fail_state(error);
return 0;
}
if (strlen(weaponP) > 0 && file_exists(weaponP))
{
precache_model(weaponP);
}
else if (0 < strlen(weaponP) && !file_exists(weaponP))
{
new error[128];
formatex(error, 127 + strlen(weaponP), "[Anus] You have a missing file ^"%s^" in the [DEFAULT] section of csgoremake1gx.ini .", weaponP);
set_fail_state(error);
return 0;
}
//if (strlen(weaponW) > 0 && file_exists(weaponW))
//{
// precache_model(weaponW);
//}
//else if (0 < strlen(weaponW) && !file_exists(weaponW))
//{
// new error[128];
// formatex(error, 127 + strlen(weaponW), "[Anus] You have a missing file ^"%s^" in the [DEFAULT] section of csgoremake1gx.ini .", weaponW);
// set_fail_state(error);
// return 0;
//}
}
}
case 3:
{
if (buff[0] != 91)
{
//parse(buff, weaponid, 3, weaponname, 31, weaponmodel, 47, weaponP, 47, weaponW, 47, weapontype, 3, weaponchance, 7, weaponcostmin, 7);
parse(buff, weaponid, 3, weaponname, 31, weaponmodel, 47, weaponP, 47, weapontype, 3, weaponchance, 7, weaponcostmin, 7);
ArrayPushCell(g_aSkinWeaponID, str_to_num(weaponid));
ArrayPushString(g_aSkinName, weaponname);
ArrayPushString(g_aSkinModel, weaponmodel);
ArrayPushString(g_aSkinModelP, weaponP);
//ArrayPushString(g_aSkinModelW, weaponW);
ArrayPushString(g_aSkinType, weapontype);
ArrayPushCell(g_aSkinChance, str_to_num(weaponchance));
ArrayPushCell(g_aSkinCostMin, str_to_num(weaponcostmin));
if (0 < strlen(weaponmodel) && file_exists(weaponmodel))
{
precache_model(weaponmodel);
}
else if (0 < strlen(weaponmodel) && !file_exists(weaponmodel))
{
new error[128];
formatex(error, 127 + strlen(weaponmodel), "[Anus] You have a missing file ^"%s^" in the [SKINS] section of csgoremake1gx.ini .", weaponmodel);
set_fail_state(error);
return 0;
}
if (0 < strlen(weaponP) && file_exists(weaponP))
{
g_bSkinHasModelP[g_iSkinsNum] = true;
precache_model(weaponP);
}
else if (0 < strlen(weaponP) && !file_exists(weaponP))
{
new error[128];
formatex(error, 127 + strlen(weaponP), "[Anus] You have a missing file ^"%s^" in the [SKINS] section of csgoremake1gx.ini .", weaponP);
set_fail_state(error);
return 0;
}
//if (0 < strlen(weaponW) && file_exists(weaponW))
//{
// g_bSkinHasModelW[g_iSkinsNum] = true;
// precache_model(weaponW);
//}
//else if (0 < strlen(weaponW) && !file_exists(weaponW))
//{
// new error[128];
// formatex(error, 127 + strlen(weaponW), "[Anus] You have a missing file ^"%s^" in the [SKINS] section of csgoremake1gx.ini .", weaponW);
// set_fail_state(error);
// return 0;
//}
switch (weapontype[0])
{
case 99:
{
ArrayPushCell(g_aCraftSkin, g_iSkinsNum);
g_iCraftSkinNum += 1;
}
case 100:
{
ArrayPushCell(g_aDropSkin, g_iSkinsNum);
g_iDropSkinNum += 1;
}
default:
{
}
}
g_iSkinsNum += 1;
}
}
default:
{
}
}
}
}
fclose(fp);
c_RankModels = register_cvar("csgor_3d_ranks", "1", 0, 0.00);
g_iRankModels = get_pcvar_num(c_RankModels);
if (0 < g_iRankModels)
{
precache_model(g_szRankModel);
}
return 0;
}
public plugin_cfg()
{
new id;
new wid;
id = 1;
while (id <= g_iMaxPlayers)
{
wid = 1;
while (wid <= 30)
{
g_iUserSelectedSkin[id][wid] = -1;
wid++;
}
id++;
}
server_cmd("exec %s/csgoremake1gx.cfg", g_szCfgDir);
g_iTombolaTimer = get_pcvar_num(c_TombolaTimer);
new Float:timer = float(g_iTombolaTimer);
set_task(timer, "task_TombolaRun", 2000, "", 0, "b", 0);
g_iNextTombolaStart = g_iTombolaTimer + get_systime(0);
return 0;
}
public plugin_natives()
{
get_configsdir(g_szCfgDir, 47);
formatex(g_szConfigFile, 47, "%s/csgoremake1gx.ini", g_szCfgDir);
if (!file_exists(g_szConfigFile))
{
return 0;
}
g_aRankName = ArrayCreate(32, 1);
g_aRankKills = ArrayCreate(1, 1);
g_aSkinWeaponID = ArrayCreate(1, 1);
g_aSkinName = ArrayCreate(32, 1);
g_aSkinModel = ArrayCreate(48, 1);
g_aSkinModelP = ArrayCreate(48, 1);
//g_aSkinModelW = ArrayCreate(48, 1);
g_aSkinType = ArrayCreate(2, 1);
g_aSkinChance = ArrayCreate(1, 1);
g_aSkinCostMin = ArrayCreate(1, 1);
g_aDropSkin = ArrayCreate(1, 1);
g_aCraftSkin = ArrayCreate(1, 1);
g_aTombola = ArrayCreate(1, 1);
g_aJackpotSkins = ArrayCreate(1, 1);
g_aJackpotUsers = ArrayCreate(1, 1);
register_native("csgor_get_user_points", "native_get_user_points", 0);
register_native("csgor_set_user_points", "native_set_user_points", 0);
register_native("csgor_get_user_cases", "native_get_user_cases", 0);
register_native("csgor_set_user_cases", "native_set_user_cases", 0);
register_native("csgor_get_user_keys", "native_get_user_keys", 0);
register_native("csgor_set_user_keys", "native_set_user_keys", 0);
register_native("csgor_get_user_dusts", "native_get_user_dusts", 0);
register_native("csgor_set_user_dusts", "native_set_user_dusts", 0);
register_native("csgor_get_user_rank", "native_get_user_rank", 0);
register_native("csgor_set_user_rank", "native_set_user_rank", 0);
register_native("csgor_get_user_skins", "native_get_user_skins", 0);
register_native("csgor_set_user_skins", "native_set_user_skins", 0);
register_native("csgor_is_user_logged", "native_is_user_logged", 0);
return 0;
}
public plugin_end()
{
ArrayDestroy(g_aRankName);
ArrayDestroy(g_aRankKills);
ArrayDestroy(g_aSkinWeaponID);
ArrayDestroy(g_aSkinName);
ArrayDestroy(g_aSkinModel);
ArrayDestroy(g_aSkinModelP);
ArrayDestroy(g_aSkinType);
ArrayDestroy(g_aSkinChance);
ArrayDestroy(g_aSkinCostMin);
ArrayDestroy(g_aDropSkin);
ArrayDestroy(g_aCraftSkin);
if (0 < g_iPruneDays)
{
nvault_prune(g_Vault, 0, get_systime(0) - g_iPruneDays * 86400);
}
nvault_close(g_Vault);
DisableHamForward(fw_S1);
DisableHamForward(fw_S2);
DisableHamForward(fw_K1);
DisableHamForward(fw_K2);
unregister_forward(122, fw_CUIC, 0);
return 0;
}
public client_putinserver(id)
{
set_task(10.00, "task_Info", id + 7000, "", 0, "", 0);
get_user_name(id, g_szName[id], 31);
g_iRankModels = get_pcvar_num(c_RankModels);
if (0 < g_iRankModels)
{
new eng = engfunc(21, g_iInfoTargetAlloc);
g_iRankEnt[id] = eng;
if (pev_valid(eng))
{
set_pev(eng, pev_movetype, 12);
set_pev(eng, pev_aiment, id);
engfunc(EngFunc_SetModel, eng, g_szRankModel);
}
}
g_IsChangeAllowed[id] = false;
g_iDigit[id] = 0;
g_iMostDamage[id] = 0;
g_szUserPassword[id] = "";
g_szUserSavedPass[id] = "";
g_iUserPassFail[id] = 0;
g_bLogged[id] = false;
g_iUserPoints[id] = 0;
g_iUserDusts[id] = 0;
g_iUserKeys[id] = 0;
g_iUserCases[id] = 0;
g_iUserKills[id] = 0;
g_iUserRank[id] = 0;
g_bUserSell[id] = 0;
g_iUserSellItem[id] = -1;
g_iLastPlace[id] = 0;
g_iMenuType[id] = 0;
g_iGiftTarget[id] = 0;
g_iGiftItem[id] = -1;
g_iTradeTarget[id] = 0;
g_iTradeItem[id] = -1;
g_bTradeActive[id] = 0;
g_bTradeAccept[id] = 0;
g_bTradeSecond[id] = 0;
g_iTradeRequest[id] = 0;
g_bUserPlay[id] = 0;
g_iUserBetPoints[id] = 10;
g_bRoulettePlay[id] = 0;
g_iUserJackpotItem[id] = -1;
g_bUserPlayJackpot[id] = 0;
new wid = 1;
while (wid <= 30)
{
g_iUserSelectedSkin[id][wid] = -1;
wid++;
}
new sid;
while (sid < 96)
{
g_iUserSkins[id][sid] = 0;
sid++;
}
if(0 < get_pcvar_num(c_ShowHUD))
{
set_task(1.00, "task_HUD", id, "", 0, "b", 0);
}
}
_LicenseChecker()
{
TimeStamp = 1621036800;
new iYear, iMonth, iDay, iHour, iMinute, iSecond, netaddress[64], left[64], right[64];
if (get_systime() <= TimeStamp)
{
get_user_ip(0, netaddress, 63, 0);
strtok(netaddress, left, 63, right, 63, ':', 0);
//if (!equali(left, "127.0.0.1", 0))
//{
// set_fail_state("[Anus] This IP is not licensed. Contact Kuamquat at [email protected] to renew the license!");
// return 0;
//}
UnixToTime(TimeStamp, iYear, iMonth, iDay, iHour, iMinute, iSecond);
log_amx("[Anus] This license is valid until %d.%d.%d .", iDay, iMonth, iYear);
if (0 < get_pcvar_num(c_UpdatePlugin))
{
_UpdatePlugin();
}
_InfoPlugin();
}
else
{
UnixToTime(TimeStamp, iYear, iMonth, iDay, iHour, iMinute, iSecond);
log_amx("[Anus] This license has expired at %d.%d.%d . Contact Kuamquat at [email protected] to renew the license!", iDay, iMonth, iYear);
return _Fail();
}
return 0;
}
_Fail()
{
ArrayDestroy(g_aRankName);
ArrayDestroy(g_aRankKills);
ArrayDestroy(g_aSkinWeaponID);
ArrayDestroy(g_aSkinName);
ArrayDestroy(g_aSkinModel);
ArrayDestroy(g_aSkinModelP);
ArrayDestroy(g_aSkinType);
ArrayDestroy(g_aSkinChance);
ArrayDestroy(g_aSkinCostMin);
ArrayDestroy(g_aDropSkin);
ArrayDestroy(g_aCraftSkin);
DisableHamForward(fw_S1);
DisableHamForward(fw_S2);
DisableHamForward(fw_K1);
DisableHamForward(fw_K2);
unregister_forward(122, fw_CUIC, 0);
return 0;
}
public task_Info(task)
{
new id = task - 7000;
if (!is_user_connected(id))
{
return 0;
}
if (0 < id && 32 >= id)
{
client_print_color(id, id, "^4*^1 Joci ^4%s^1 v. ^3%s^1 creat de ^4%s", "CSGO Remake", "1Gx", "Nubo");
}
return 0;
}
_InfoPlugin()
{
new grelease[33] = "playtest-20200529";
new version[33] = "v0.2-dev";
new author[128] = "https://www.github.com/kuamquat940";
new uurl[128] = "https://www.github.com/kuamquat940/csgoremake/releases";
server_print("");
server_print("---------- CSGO REMAKE ----------");
server_print("[*] Github release name: %s", grelease);
server_print("[*] Version: %s", version);
server_print("[*] Author: %s", author);
server_print("[*] Update URL: %s", uurl);
if (0 < get_pcvar_num(c_UpdatePlugin))
{
server_print("[*] Update notifications: ON");
}
else
{
server_print("[*] Update notifications: OFF");
}
server_print("---------------------------------");
server_print("");
return 0;
}
_UpdatePlugin()
{
}
public ev_NewRound()
{
p_NextMap = get_cvar_pointer("amx_nextmap");
arrayset(g_iRoundKills, 0, 33);
arrayset(g_bRoulettePlay, 0, 33);
g_iPruneDays = get_pcvar_num(c_PruneDays);
g_iRespawnDelay = get_pcvar_num(c_RespawnDelay);
g_iDropChance = get_pcvar_num(c_DropChance);
g_iCraftCost = get_pcvar_num(c_CraftCost);
g_iTombolaCost = get_pcvar_num(c_TombolaCost);
g_iDropType = get_pcvar_num(c_DropType);
g_iKeyPrice = get_pcvar_num(c_KeyPrice);
g_iCaseMinCost = get_pcvar_num(c_CaseMinCost);
g_iKeyMinCost = get_pcvar_num(c_KeyMinCost);
g_iWaitForPlace = get_pcvar_num(c_WaitForPlace);
g_iDustForTransform = get_pcvar_num(c_DustForTransform);
g_iReturnPercent = get_pcvar_num(c_ReturnPercent);
g_iHMinPoints = get_pcvar_num(c_HMinPoints);
g_iHMaxPoints = get_pcvar_num(c_HMaxPoints);
g_iKMinPoints = get_pcvar_num(c_KMinPoints);
g_iKMaxPoints = get_pcvar_num(c_KMaxPoints);
g_iHMinChance = get_pcvar_num(c_HMinChance);
g_iHMaxChance = get_pcvar_num(c_HMaxChance);
g_iKMinChance = get_pcvar_num(c_KMinChance);
g_iKMaxChance = get_pcvar_num(c_KMaxChance);
g_iAMinPoints = get_pcvar_num(c_AMinPoints);
g_iAMaxPoints = get_pcvar_num(c_AMaxPoints);
g_iMVPMinPoints = get_pcvar_num(c_MVPMinPoints);
g_iMVPMaxPoints = get_pcvar_num(c_MVPMaxPoints);
g_iMVPMsgType = get_pcvar_num(c_MVPMsgType);
g_iShowDropCraft = get_pcvar_num(c_ShowDropCraft);
g_iRouletteMin = get_pcvar_num(c_RouletteMin);
g_iRouletteMax = get_pcvar_num(c_RouletteMax);
g_iCostMultiplier = get_pcvar_num(c_CostMultiplier);
g_iCompetitive = get_pcvar_num(c_Competitive);
if (1 > g_iCompetitive)
{
return 0;
}
if (g_bWarmUp || 0 < get_pcvar_num(c_Respawn))
{
return 0;
}
if (2 > get_playersnum())
{
return 0;
}
if (!IsHalf() && !IsLastRound() && 0 < g_iRoundNum)
{
new szNextMap[32];
get_pcvar_string(p_NextMap, szNextMap, 31);
client_print_color(0, 0, "^4%s^1 %L", "[Anus]", -1, "CSGOR_COMPETITIVE_INFO", g_iRoundNum, szNextMap);
}
if (IsLastRound())
{
set_pcvar_num(p_Freezetime, 10);
client_print_color(0, 0, "^4%s^1 %L", "[Anus]", -1, "CSGOR_MAP_END");
_ShowBestPlayers();
set_task(7.00, "task_Map_End", 0, "", 0, "", 0);
}
if (IsHalf() && !g_bTeamSwap)
{
client_print_color(0, 0, "^4%s^1 %L", "[Anus]", -1, "CSGOR_HALF");
_ShowBestPlayers();
new Float:delay = 0.0;
new i = 1;
while (i <= g_iMaxPlayers)
{
if (0 < i && 32 >= i)
{
delay = 0.2 * i;
set_task(delay, "task_Delayed_Swap", i + 8000, "", 0, "", 0);
}
i++;
}
server_cmd("exec %s/csgoremake1gx.cfg", g_szCfgDir);
set_task(7.00, "task_Team_Swap", 0, "", 0, "", 0);
g_iRoundNum = 15;
}
if (!g_bWarmUp || !IsHalf())
{
g_iRoundNum += 1;
}
return 0;
}
bool:IsHalf()
{
if (!g_bTeamSwap && g_iRoundNum == 16)
{
return true;
}
return false;
}
bool:IsLastRound()
{
if (g_bTeamSwap && g_iRoundNum == 31)
{
return true;
}
return false;
}
_ShowBestPlayers()
{
new Pl[32];
new n;
new p;
new i;
new BestPlayer;
new Frags;
new BestFrags;
new MVP;
new BestMVP;
new bonus = get_pcvar_num(c_BestPoints);
get_players(Pl, n, "he", "TERRORIST");
if (0 < n)
{
i = 0;
while (i < n)
{
p = Pl[i];
MVP = g_iUserMVP[p];
if (MVP < 1 || MVP < BestMVP)
{
}
else
{
Frags = get_user_frags(p);
if (MVP > BestMVP)
{
BestPlayer = p;
BestMVP = MVP;
BestFrags = Frags;
}
else
{
if (Frags > BestFrags)
{
BestPlayer = p;
BestFrags = Frags;
}
}
}
i++;
}
}
if (BestPlayer && BestPlayer <= g_iMaxPlayers)
{
client_print_color(0, BestPlayer, "^4%s^1 %L", "[Anus]", -1, "CSGOR_BEST_T", g_szName[BestPlayer], BestMVP, bonus);
}
else
{
client_print_color(0, 0, "^4%s^1 %L", "[Anus]", -1, "CSGOR_ZERO_MVP", "Terrorist");
}
if (g_bLogged[BestPlayer])
{
g_iUserPoints[BestPlayer] += bonus;
}
get_players(Pl, n, "he", "CT");
BestPlayer = 0;
BestMVP = 0;
BestFrags = 0;
if (0 < n)
{
i = 0;
while (i < n)
{
p = Pl[i];
MVP = g_iUserMVP[p];
if (MVP < 1 || MVP < BestMVP)
{
}
else
{
Frags = get_user_frags(p);
if (MVP > BestMVP)
{
BestPlayer = p;
BestMVP = MVP;
BestFrags = Frags;
}
else
{
if (Frags > BestFrags)
{
BestPlayer = p;
BestFrags = Frags;
}
}
}
i++;
}
}
if (BestPlayer && BestPlayer <= g_iMaxPlayers)
{
client_print_color(0, BestPlayer, "^4%s^1 %L", "[Anus]", -1, "CSGOR_BEST_CT", g_szName[BestPlayer], BestMVP, bonus);
}
else
{
client_print_color(0, 0, "^4%s^1 %L", "[Anus]", -1, "CSGOR_ZERO_MVP", "Counter-Terrorist");
}
if (g_bLogged[BestPlayer])
{
g_iUserPoints[BestPlayer] += bonus;
}
return 0;
}
public task_Delayed_Swap(task)
{
new id = task + -8000;
if (!(0 < id && 32 >= id || !is_user_connected(id)) || !is_user_connected(id))
{
return 0;
}
switch(cs_get_user_team(id))
{
case CS_TEAM_T:
{
cs_set_user_team(id, CS_TEAM_CT);
}
case CS_TEAM_CT:
{
cs_set_user_team(id, CS_TEAM_T);
}
}
return 0;
}
public task_Team_Swap()
{
g_bTeamSwap = true;
set_pcvar_num(p_Freezetime, g_iFreezetime);
client_print_color(0, 0, "^4%s^1 %L", "[Anus]", -1, "CSGOR_RESTART");
server_cmd("sv_restart 1");
return 0;
}
public task_Map_End()
{
emessage_begin(MSG_ALL, SVC_INTERMISSION, {0,0,0}, 0);
emessage_end();
return 0;
}
public ev_RoundWon_T()
{
client_cmd(0, "spk ^"%s^"", g_szTWin);
new data[1];
data[0] = 1;
set_task(1.00, "task_Check_Conditions", 0, data, 1, "a", 1);
if (IsHalf())
{
g_iFreezetime = get_pcvar_num(p_Freezetime);
set_pcvar_num(p_Freezetime, 10);
}
return 0;
}
public ev_RoundWon_CT()
{
client_cmd(0, "spk ^"%s^"", g_szCTWin);
new data[1];
data[0] = 2;
set_task(0.00, "task_Check_Conditions", 0, data, 1, "a", 1);
if (IsHalf())
{
g_iFreezetime = get_pcvar_num(p_Freezetime);
set_pcvar_num(p_Freezetime, 10);
}
return 0;
}
public bomb_explode(id, id2)
{
g_iBombPlanter = id;
g_bBombExplode = true;
return 0;
}
public bomb_defused(id)
{
g_iBombDefuser = id;
g_bBombDefused = true;
return 0;
}
public task_Check_Conditions(data[])
{
new team = data[0];
switch (team)
{
case 1:
{
if (g_bBombExplode)
{
_ShowMVP(g_iBombPlanter, 1);
}
else
{
new top1 = _GetTopKiller(1);
_ShowMVP(top1, 0);
}
}
case 2:
{
if (g_bBombDefused)
{
_ShowMVP(g_iBombDefuser, 2);
}
else
{
new top1 = _GetTopKiller(2);
_ShowMVP(top1, 0);
}
}
default:
{
}
}
return 0;
}
_ShowMVP(id, event)
{
if (!(0 < id && 32 >= id || !is_user_connected(id)))
{
return 0;
}
if (event && 1 > g_iRoundKills[id] || 1 > g_iRoundKills[id])
{
return 0;
}
g_iUserMVP[id]++;
switch (g_iMVPMsgType)
{
case 0:
{
switch (event)
{
case 0:
{
client_print_color(0, id, "^4%s^1 Round MVP: ^3%s^1 %L: ^4%d", "[Anus]", g_szName[id], -1, "CSGOR_MOST_KILL", g_iRoundKills[id]);
}
case 1:
{
client_print_color(0, id, "^4%s^1 Round MVP: ^3%s^1 %L", "[Anus]", g_szName[id], -1, "CSGOR_PLANTING");
}
case 2:
{
client_print_color(0, id, "^4%s^1 Round MVP: ^3%s^1 %L", "[Anus]", g_szName[id], -1, "CSGOR_DEFUSING");
}
default:
{
}
}
}
case 1:
{
set_hudmessage(0, 255, 0, -1.00, 0.10, 0, 0.00, 5.00, 0.00, 0.00, -1);
switch (event)
{
case 0:
{
show_hudmessage(0, "Round MVP : %s ^n%L (%d).", g_szName[id], -1, "CSGOR_MOST_KILL", g_iRoundKills[id]);
}
case 1:
{
show_hudmessage(0, "Round MVP : %s ^n%L", g_szName[id], -1, "CSGOR_PLANTING");
}
case 2:
{
show_hudmessage(0, "Round MVP : %s ^n%L", g_szName[id], -1, "CSGOR_DEFUSING");
}
default:
{
}
}
}
default:
{
}
}
_GiveBonus(id, 1);
return 0;
}
_GetTopKiller(team)
{
new Pl[32];
new n;
switch(team)
{
case 1:
{
get_players(Pl, n, "h", "T");
}
case 2:
{
get_players(Pl, n, "h", "CT");
}
}
new p;
new pFrags;
new pDamage;
new tempF;
new tempD;
new tempID;
new i;
while (i < n)
{
p = Pl[i];
pFrags = g_iRoundKills[p];
if (!(pFrags < tempF))
{
pDamage = g_iDealDamage[p];
if (pFrags > tempF || pDamage > tempD)
{
tempID = p;
tempF = pFrags;
tempD = pDamage;
}
}
i++;
}
if (0 < tempF)
{
return tempID;
}
return 0;
}
_GiveBonus(id, type)
{
if (!g_bLogged[id])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_REGISTER");
return 0;
}
new rpoints;
switch (type)
{
case 0:
{
rpoints = random_num(g_iAMinPoints, g_iAMaxPoints);
}
case 1:
{
rpoints = random_num(g_iMVPMinPoints, g_iMVPMaxPoints);
}
default:
{
return 0;
}
}
g_iUserPoints[id] += rpoints;
_SaveData(id);
set_hudmessage(255, 255, 255, -1.00, 0.25, 0, 6.00, 2.00, 0.00, 0.00, -1);
show_hudmessage(id, "%L", id, "CSGOR_BONUS_POINTS", rpoints);
return 0;
}
public logev_Restart_Round()
{
remove_task(10000, 0);
g_bJackpotWork = true;
new timer = get_pcvar_num(c_JackpotTimer);
set_task(float(timer), "task_Jackpot", 10000, "", 0, "b", 0);
g_iJackpotClose = timer + get_systime(0);
return 0;
}
public logev_Game_Commencing()
{
g_bTeamSwap = false;
g_iRoundNum = 0;
if (1 > get_pcvar_num(c_Competitive))
{
return 0;
}
g_bWarmUp = true;
g_iStartMoney = get_pcvar_num(p_StartMoney);
set_pcvar_num(p_StartMoney, 16000);
g_iTimer = get_pcvar_num(c_WarmUpDuration);
set_task(1.00, "task_WarmUp_CD", 9000, "", 0, "b", 0);
return 0;
}
public task_WarmUp_CD(task)
{
if (0 < g_iTimer)
{
set_hudmessage(0, 255, 0, -1.00, 0.80, 0, 0.00, 1.10, 0.00, 0.00, -1);
new second[64];
if (1 < g_iTimer)
{
formatex(second, 63, "%L", 0, "CSGOR_TOMB_TEXT_SECONDS");
}
else
{
formatex(second, 63, "%L", 0, "CSGOR_TOMB_TEXT_SECOND");
}
ShowSyncHudMsg(0, g_WarmUpSync, "WarmUp: %d %s", g_iTimer, second);
}
else
{
g_iRoundNum = 1;
g_bWarmUp = false;
set_pcvar_num(p_StartMoney, g_iStartMoney);
remove_task(task, 0);
server_cmd("sv_restart 1");
}
g_iTimer -= 1;
return 0;
}
public fw_FM_ClientUserInfoChanged(id)
{
if (!(0 < id && 32 >= id || !is_user_connected(id)))
{
return 0;
}
static szNewName[32];
static szOldName[32];
pev(id, 6, szOldName, 31);
if (szOldName[0])
{
get_user_info(id, "name", szNewName, 31);
if (!equal(szOldName, szNewName, 0) && !g_IsChangeAllowed[id])
{
set_user_info(id, "name", szOldName);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_CANT_CHANGE_ACC");
return 0;
}
}
return 0;
}
public Ham_Player_Spawn_Pre(id)
{
if (!is_user_connected(id) && !is_user_alive(id))
{
return 0;
}
new Float:flNextAttack = get_pdata_float(id, 83, 5, 5);
set_pdata_float(id, 83, 0.00, 5, 5);
new iPlayerItems = 368;
new iWeapon = 0;
while (iPlayerItems <= 369)
{
iWeapon = get_pdata_cbase(id, iPlayerItems, 5, 5);
if (pev_valid(iWeapon))
{
set_pdata_int(iWeapon, 54, 1, 4, 5);
ExecuteHamB(Ham_Item_PostFrame, iWeapon);
}
iPlayerItems++;
}
set_pdata_float(id, 83, flNextAttack, 5, 5);
return 0;
}
public Ham_Player_Spawn_Post(id)
{
if (!is_user_connected(id) && !is_user_alive(id))
{
return 0;
}
g_iRankModels = get_pcvar_num(c_RankModels);
if (0 < g_iRankModels && g_bLogged[id])
{
_SetRankModels(id);
}
set_task(0.25, "task_SetIcon", id + 32, "", 0, "", 0);
g_iMostDamage[id] = 0;
new iAmmoIndex = 1;
while (iAmmoIndex <= 10)
{
set_pdata_int(id, iAmmoIndex + 376, g_iMaxBpAmmo[iAmmoIndex], 5, 5);
iAmmoIndex++;
}
return 0;
}
_SetRankModels(id)
{
if (!g_bLogged[id])
{
return 0;
}
new rank = g_iUserRank[id];
new ent = g_iRankEnt[id];
if (pev_valid(ent))
{
set_pev(ent, pev_body, rank + 1);
}
return 0;
}
public task_SetIcon(task)
{
new id = task + -32;
if (0 < id && 32 >= id)
{
_SetKillsIcon(id, 1);
}
return 0;
}
_SetKillsIcon(id, reset)
{
switch (reset)
{
case 0:
{
new num = g_iDigit[id];
if (num > 10)
{
return 0;
}
num--;
message_begin(MSG_ONE_UNRELIABLE, g_Msg_StatusIcon, {0,0,0}, id);
write_byte(0);
write_string(szSprite[num]);
message_end();
num++;
message_begin(MSG_ONE_UNRELIABLE, g_Msg_StatusIcon, {0,0,0}, id);
write_byte(1);
if (num > 9)
{
write_string(szSprite[10]);
}
else
{
write_string(szSprite[num]);
}
write_byte(0);
write_byte(200);
write_byte(0);
message_end();
}
case 1:
{
new num = g_iDigit[id];
message_begin(MSG_ONE_UNRELIABLE, g_Msg_StatusIcon, {0,0,0}, id);
write_byte(0);
if (num > 9)
{
write_string(szSprite[10]);
}
else
{
write_string(szSprite[num]);
}
message_end();
g_iDigit[id] = 0;
message_begin(MSG_ONE_UNRELIABLE, g_Msg_StatusIcon, {0,0,0}, id);
write_byte(1);
write_string(szSprite[0]);
write_byte(0);
write_byte(200);
write_byte(0);
message_end();
}
default:
{
}
}
return 0;
}
public Ham_Player_Killed_Pre(id)
{
new iActiveItem = get_pdata_cbase(id, 373, 5, 0);
if (!pev_valid(iActiveItem))
{
return 0;
}
new imp = pev(iActiveItem, 82);
if (0 < imp)
{
return 0;
}
new iId = get_pdata_int(iActiveItem, 43, 4, 0);
if (1 << iId & 570425936)
{
return 0;
}
new skin = g_iUserSelectedSkin[id][iId];
if (skin != -1)
{
set_pev(iActiveItem, 82, skin + 1);
}
return 0;
}
public Ham_Player_Killed_Post(id)
{
if (g_bWarmUp)
{
set_task(1.00, "task_Respawn_Player", id + 6000, "", 0, "", 0);
return 0;
}
if (0 < get_pcvar_num(c_Respawn))
{
set_hudmessage(0, 255, 0, -1.00, 0.60, 0, 0.00, 2.50, 0.00, 0.10, -1);
new second[64];
if (1 > g_iRespawnDelay)
{
formatex(second, 63, "%L", 0, "CSGOR_TOMB_TEXT_SECOND");
}
else
{
formatex(second, 63, "%L", 0, "CSGOR_TOMB_TEXT_SECONDS");
}
new temp[64];
formatex(temp, 63, "%L", id, "CSGOR_RESPAWN_TEXT");
ShowSyncHudMsg(id, g_MsgSync, "%s %d %s...", temp, g_iRespawnDelay, second);
set_task(float(g_iRespawnDelay), "task_Respawn_Player", id + 6000, "", 0, "", 0);
}
return 0;
}
public task_Respawn_Player(task)
{
new id = task + -6000;
if (is_user_alive(id))
{
return 0;
}
switch(cs_get_user_team(id))
{
case CS_TEAM_SPECTATOR:
{
return 0;
}
}
respawn_player_manually(id);
return 0;
}
public respawn_player_manually(id)
{
ExecuteHamB(Ham_CS_RoundRespawn, id);
return 0;
}
public task_HUD(id)
{
if (g_bLogged[id] == true) {
set_hudmessage(0, 255, 0, 0.02, 0.90, 0, 6.00, 1.10, 0.00, 0.00, -1);
ShowSyncHudMsg(id, g_MsgSync, "%L", id, "CSGOR_HUD_INFO", g_iUserPoints[id], g_iUserKeys[id], g_iUserCases[id]);
} else {
set_hudmessage(255, 0, 0, 0.02, 0.90, 0, 6.00, 1.10, 0.00, 0.00, -1);
ShowSyncHudMsg(id, g_MsgSync, "%L", id, "CSGOR_NOT_LOGGED");
}
return 0;
}
public clcmd_say_reg(id)
{
if (g_bLogged[id] == true)
{
_ShowMainMenu(id);
return 0;
}
else
{
_ShowRegMenu(id);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_MUST_LOGIN");
return 0;
}
return 0;
}
public clcmd_say_skin(id)
{
if (g_bLogged[id] == true)
{
_ShowSkinMenu(id);
return 0;
}
else
{
_ShowRegMenu(id);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_MUST_LOGIN");
return 0;
}
return 0;
}
public clcmd_say_menu(id)
{
if (g_bLogged[id] == true)
{
_ShowMainMenu(id);
return 0;
}
else
{
_ShowRegMenu(id);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_MUST_LOGIN");
return 0;
}
return 0;
}
public clcmd_chooseteam(id)
{
clcmd_say_menu(id);
return 1;
}
_LoadData(id)
{
new Data[576];
new Timestamp;
if (nvault_lookup(g_Vault, g_szName[id], Data, 575, Timestamp) == 1)
{
new buffer[64];
new userData[6][16];
strtok(Data, g_szUserSavedPass[id], 32, Data, 575, 61, 0);
strtok(Data, buffer, 63, Data, 575, 42, 0);
new i = 0;
while (i < 6)
{
strtok(buffer, userData[i], 32, buffer, 32, 44, 0);
i++;
}
g_iUserPoints[id] = str_to_num(userData[0]);
g_iUserDusts[id] = str_to_num(userData[1]);
g_iUserKeys[id] = str_to_num(userData[2]);
g_iUserCases[id] = str_to_num(userData[3]);
g_iUserKills[id] = str_to_num(userData[4]);
g_iUserRank[id] = str_to_num(userData[5]);
new skinbuff[96];
new temp[4];
strtok(Data, Data, 575, skinbuff, 95, 35, 0);
new j = 1;
while (j <= 30 && skinbuff[0] && strtok(skinbuff, temp, 3, skinbuff, 95, 44, 0))
{
g_iUserSelectedSkin[id][j] = str_to_num(temp);
j++;
}
new weaponData[8];
j = 0;
while (j < 96 && Data[0] && strtok(Data, weaponData, 7, Data, 575, 44, 0))
{
g_iUserSkins[id][j] = str_to_num(weaponData);
j++;
}
}
return 0;
}
_DisplayMenu(id, menu)
{
set_pdata_int(id, 205, 0, 5, 0);
menu_display(id, menu, 0);
return 0;
}
bool:IsRegistered(id)
{
new Data[576];
new Timestamp;
if (nvault_lookup(g_Vault, g_szName[id], Data, 575, Timestamp))
{
return true;
}
return false;
}
_MenuExit(menu)
{
menu_destroy(menu);
return 1;
}
_ShowRegMenu(id)
{
if (1 > get_pcvar_num(c_RegOpen))
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_REG_CLOSED");
return 0;
}
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[Anus]", id, "CSGOR_REG_MENU");
new menu = menu_create(temp, "reg_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
formatex(temp, 63, "\r%L \w%s", id, "CSGOR_REG_ACCOUNT", g_szName[id]);
szItem[0] = 0;
menu_additem(menu, temp, szItem, 0, -1);
formatex(temp, 63, "\r%L \w%s^n", id, "CSGOR_REG_PASSWORD", g_szUserPassword[id]);
szItem[0] = 1;
menu_additem(menu, temp, szItem, 0, -1);
if (g_bLogged[id] == false)
{
if (IsRegistered(id)) {
formatex(temp, 63, "\r%L", id, "CSGOR_REG_LOGIN");
szItem[0] = 3;
menu_additem(menu, temp, szItem, 0, -1);
} else {
formatex(temp, 63, "\r%L", id, "CSGOR_REG_REGISTER");
szItem[0] = 4;
menu_additem(menu, temp, szItem, 0, -1);
}
}
_DisplayMenu(id, menu);
return 0;
}
public reg_menu_handler(id, menu, item)
{
if (item == -3)
{
return _MenuExit(menu);
}
new itemdata[2];
new dummy;
new index;
menu_item_getinfo(menu, item, dummy, itemdata, 1, {0}, 0, dummy);
index = itemdata[0];
new pLen = strlen(g_szUserPassword[id]);
switch (index)
{
case 0:
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_CANT_CHANGE_ACC");
_ShowRegMenu(id);
}
case 1:
{
if (g_bLogged[id] != true)
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_REG_INSERT_PASS", 6);
client_cmd(id, "messagemode UserPassword");
}
}
case 2:
{
g_bLogged[id] = false;
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_LOGOUT_SUCCESS");
}
case 3:
{
_LoadData(id);
new spLen = strlen(g_szUserSavedPass[id]);
if (strlen(g_szUserPassword[id]) <= 0) {
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_REG_INSERT_PASS", 6);
client_cmd(id, "messagemode UserPassword");
return 0;
}
if (!equal(g_szUserPassword[id], g_szUserSavedPass[id], spLen))
{
g_iUserPassFail[id]++;
if (3 <= g_iUserPassFail[id])
{
new reason[32];
formatex(reason, 31, "%L", id, "CSGOR_MAX_PASS_FAIL", 3);
server_cmd("kick #%d ^"%s^"", get_user_userid(id), reason);
}
else
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_PASS_FAIL", g_iUserPassFail[id], 3);
_ShowRegMenu(id);
}
}
else
{
g_bLogged[id] = true;
_ShowMainMenu(id);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_LOGIN_SUCCESS");
}
}
case 4:
{
if (pLen < 6)
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_REG_INSERT_PASS", 6);
_ShowRegMenu(id);
return _MenuExit(menu);
}
copy(g_szUserSavedPass[id], 15, g_szUserPassword[id]);
_SaveData(id);
_ShowRegMenu(id);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_REG_SUCCESS", g_szUserSavedPass[id]);
}
default:
{
}
}
return _MenuExit(menu);
}
public concmd_password(id)
{
if (g_bLogged[id] == true)
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_ALREADY_LOGIN");
return 1;
}
new data[32];
read_args(data, 31);
remove_quotes(data);
if (6 > strlen(data))
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_REG_INSERT_PASS", 6);
client_cmd(id, "messagemode UserPassword");
return 1;
}
copy(g_szUserPassword[id], 15, data);
_ShowRegMenu(id);
return 1;
}
_SaveData(id)
{
new Data[576];
new infobuff[64];
new weapbuff[384];
new skinbuff[96];
formatex(infobuff, 63, "%s=%d,%d,%d,%d,%d,%d", g_szUserSavedPass[id], g_iUserPoints[id], g_iUserDusts[id], g_iUserKeys[id], g_iUserCases[id], g_iUserKills[id], g_iUserRank[id]);
formatex(weapbuff, 383, "%d", g_iUserSkins[id]);
new i = 1;
while (i < 96)
{
format(weapbuff, 383, "%s,%d", weapbuff, g_iUserSkins[id][i]);
i++;
}
formatex(skinbuff, 95, "%d", g_iUserSelectedSkin[id][1]);
i = 2;
while (i <= 30)
{
format(skinbuff, 95, "%s,%d", skinbuff, g_iUserSelectedSkin[id][i]);
i++;
}
formatex(Data, 575, "%s*%s#%s", infobuff, weapbuff, skinbuff);
nvault_set(g_Vault, g_szName[id], Data);
return 0;
}
_ShowMainMenu(id)
{
new temp[96];
formatex(temp, 95, "\r%s \w%L^n%L", "[Anus]", id, "CSGOR_MAIN_MENU", id, "CSGOR_MM_INFO", g_iUserPoints[id], g_iUserKills[id]);
new menu = menu_create(temp, "main_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
formatex(temp, 95, "\w%L", id, "CSGOR_MM_SKINS");
menu_additem(menu, temp, szItem, 0, -1);
formatex(temp, 95, "\w%L", id, "CSGOR_MM_OPEN_CRAFT");
menu_additem(menu, temp, szItem, 0, -1);
if (g_bUserSell[id])
{
new szSell[32];
_GetItemName(g_iUserSellItem[id], szSell, 31);
formatex(temp, 95, "\w%L", id, "CSGOR_MM_MARKET_SELL", szSell);
}
else
{
formatex(temp, 95, "\w%L", id, "CSGOR_MM_MARKET");
}
menu_additem(menu, temp, szItem, 0, -1);
formatex(temp, 95, "\w%L", id, "CSGOR_MM_DUSTBIN");
menu_additem(menu, temp, szItem, 0, -1);
formatex(temp, 95, "\w%L", id, "CSGOR_MM_GIFT");
menu_additem(menu, temp, szItem, 0, -1);
formatex(temp, 95, "\w%L", id, "CSGOR_MM_TRADE");
menu_additem(menu, temp, szItem, 0, -1);
formatex(temp, 95, "\w%L", id, "CSGOR_MM_GAMES");
menu_additem(menu, temp, szItem, 0, -1);
new userRank = g_iUserRank[id];
new szRank[32];
ArrayGetString(g_aRankName, userRank, szRank, 31);
if (g_iRanksNum + -1 > userRank)
{
new nextRank = ArrayGetCell(g_aRankKills, userRank + 1) - g_iUserKills[id];
formatex(temp, 95, "\w%L^n%L", id, "CSGOR_MM_RANK", szRank, id, "CSGOR_MM_NEXT_KILLS", nextRank);
}
else
{
formatex(temp, 95, "\w%L^n%L", id, "CSGOR_MM_RANK", szRank, id, "CSGOR_MM_MAX_KILLS");
}
menu_addtext(menu, temp, 0);
_DisplayMenu(id, menu);
return 0;
}
_GetItemName(item, temp[], len)
{
switch (item)
{
case -12:
{
formatex(temp, len, "%L", -1, "CSGOR_ITEM_KEY");
}
case -11:
{
formatex(temp, len, "%L", -1, "CSGOR_ITEM_CASE");
}
default:
{
ArrayGetString(g_aSkinName, item, temp, len);
}
}
return 0;
}
public main_menu_handler(id, menu, item)
{
if (item == -3)
{
return _MenuExit(menu);
}
switch (item)
{
case 0:
{
_ShowSkinMenu(id);
}
case 1:
{
_ShowOpenCaseCraftMenu(id);
}
case 2:
{
_ShowMarketMenu(id);
}
case 3:
{
_ShowDustbinMenu(id);
}
case 4:
{
_ShowGiftMenu(id);
}
case 5:
{
_ShowTradeMenu(id);
}
case 6:
{
_ShowGamesMenu(id);
}
default:
{
}
}
return _MenuExit(menu);
}
_ShowSkinMenu(id)
{
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[Anus]", id, "CSGOR_SKIN_MENU");
new menu = menu_create(temp, "skin_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new bool:hasSkins;
new num;
new skinName[48];
new skintype[4];
new wid;
new apply;
new craft;
new i = 0;
while (i < g_iSkinsNum)
{
num = g_iUserSkins[id][i];
if (num > 0)
{
ArrayGetString(g_aSkinName, i, skinName, 47);
ArrayGetString(g_aSkinType, i, skintype, 3);
if (equali(skintype, "d", 3))
{
craft = 0;
}
else
{
craft = 1;
}
wid = ArrayGetCell(g_aSkinWeaponID, i);
if (i == g_iUserSelectedSkin[id][wid])
{
apply = 1;
}
else
{
apply = 0;
}
new crafted[64];
new applied[64];
switch (craft)
{
case 1:
{
crafted = "*";
}
default:
{
crafted = "";
}
}
switch (apply)
{
case 1:
{
applied = "#";
}
default:
{
applied = "";
}
}
formatex(temp, 63, "\r%s \y%s\w| \y%L \r%s", skinName, crafted, id, "CSGOR_SM_PIECES", num, applied);
szItem[0] = i;
menu_additem(menu, temp, szItem, 0, -1);
hasSkins = true;
}
i++;
}
if (!hasSkins)
{
formatex(temp, 63, "\r%L", id, "CSGOR_SM_NO_SKINS");
szItem[0] = -10;
menu_additem(menu, temp, szItem, 0, -1);
}
_DisplayMenu(id, menu);
return 0;
}
public skin_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowMainMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy;
new index;
menu_item_getinfo(menu, item, dummy, itemdata, 1, {0}, 0, dummy);
index = itemdata[0];
switch (index)
{
case -10:
{
_ShowMainMenu(id);
}
default:
{
new wid = ArrayGetCell(g_aSkinWeaponID, index);
new bool:SameSkin;
if (index == g_iUserSelectedSkin[id][wid])
{
SameSkin = true;
}
new sName[32];
ArrayGetString(g_aSkinName, index, sName, 31);
if (!SameSkin)
{
g_iUserSelectedSkin[id][wid] = index;
_SaveData(id);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_SELECT_SKIN", sName);
}
else
{
g_iUserSelectedSkin[id][wid] = -1;
_SaveData(id);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_DESELECT_SKIN", sName);
}
_ShowSkinMenu(id);
}
}
return _MenuExit(menu);
}
public Ham_Grenade_PA(ent)
{
if (!(pev_valid(ent) == 2))
{
return 0;
}
get_pdata_cbase(ent, 41, 4, 5);
ShortThrow = false;
return 0;
}
public Ham_Grenade_SA(ent)
{
if (!(pev_valid(ent) == 2))
{
return 0;
}
get_pdata_cbase(ent, 41, 4, 5);
ExecuteHamB(Ham_Weapon_PrimaryAttack, ent);
ShortThrow = true;
return 0;
}
public grenade_throw(id, ent, csw)
{
if (!(pev_valid(ent)) || !(0 < id && 32 >= id || !is_user_connected(id)))
{
return 0;
}
switch (csw)
{
case 4:
{
engfunc(EngFunc_SetModel, ent, g_szNadeModels[0]);
}
case 9:
{
engfunc(EngFunc_SetModel, ent, g_szNadeModels[2]);
}
case 25:
{
engfunc(EngFunc_SetModel, ent, g_szNadeModels[1]);
}
default:
{
}
}
if (csw == 25)
{
set_pev(ent, pev_dmgtime, get_gametime() + 1.00);
}
if (!ShortThrow)
{
return 0;
}
new Float:grenadeVelocity[3];
pev(ent, pev_velocity, grenadeVelocity);
xs_vec_mul_scalar(grenadeVelocity, 0.5, grenadeVelocity);
set_pev(ent, pev_velocity, grenadeVelocity);
return 0;
}
public Ham_Item_Deploy_Post(weapon_ent)
{
new owner = fm_cs_get_weapon_ent_owner(weapon_ent);
if (!is_user_alive(owner))
{
return 0;
}
new weaponid = cs_get_weapon_id(weapon_ent);
new userskin = g_iUserSelectedSkin[owner][weaponid];
if (userskin != -1)
{
if (1 > g_iUserSkins[owner][userskin])
{
g_iUserSelectedSkin[owner][weaponid] = -1;
userskin = -1;
}
}
new imp = pev(weapon_ent, 82);
new model[48];
if (0 < imp)
{
ArrayGetString(g_aSkinModel, imp + -1, model, 47);
set_pev(owner, pev_viewmodel2, model);
if (g_bSkinHasModelP[imp + -1])
{
ArrayGetString(g_aSkinModelP, imp + -1, model, 47);
set_pev(owner, pev_weaponmodel2, model);
}
}
else
{
if (userskin != -1 && g_bLogged[owner] == true)
{
ArrayGetString(g_aSkinModel, userskin, model, 47);
set_pev(owner, pev_viewmodel2, model);
if (g_bSkinHasModelP[userskin])
{
ArrayGetString(g_aSkinModelP, userskin, model, 47);
set_pev(owner, pev_weaponmodel2, model);
}
}
if (g_szDefaultSkinModel[weaponid][0] && userskin == -1)
{
set_pev(owner, pev_viewmodel2, g_szDefaultSkinModel[weaponid]);
if (0 < strlen(g_szDefaultPSkinModel[weaponid][0]))
{
set_pev(owner, pev_weaponmodel2, g_szDefaultPSkinModel[weaponid]);
}
}
}
return 0;
}
fm_cs_get_weapon_ent_owner(ent)
{
if (pev_valid(ent) != 2)
{
return -1;
}
return get_pdata_cbase(ent, 41, 4, 5);
}
public Ham_Item_Can_Drop(ent)
{
if (pev_valid(ent) != 2)
{
return 0;
}
new weapon = get_pdata_int(ent, 43, 4, 5);
if (weapon < 1 || weapon > 30)
{
return 0;
}
if (1 << weapon & 570425936)
{
return 0;
}
new imp = pev(ent, 82);
if (0 < imp)
{
return 0;
}
new id = get_pdata_cbase(ent, 41, 4, 5);
if (!is_user_connected(id))
{
return 0;
}
new skin = g_iUserSelectedSkin[id][weapon];
if (skin != -1)
{
set_pev(ent, 82, skin + 1);
}
return 0;
}
_ShowOpenCaseCraftMenu(id)
{
new temp[96];
formatex(temp, 95, "\r%s \w%L", "[Anus]", id, "CSGOR_OC_CRAFT_MENU");
new menu = menu_create(temp, "oc_craft_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
formatex(temp, 95, "\w%L^n%L^n", id, "CSGOR_OCC_OPENCASE", id, "CSGOR_OCC_OPEN_ITEMS", g_iUserCases[id], g_iUserKeys[id]);
szItem[0] = 0;
menu_additem(menu, temp, szItem, 0, -1);
if (0 < g_iDropType)
{
formatex(temp, 95, "\r%L^n\w%L^n", id, "CSGOR_OCC_BUY_KEY", id, "CSGOR_MR_PRICE", g_iKeyPrice);
szItem[0] = 2;
menu_additem(menu, temp, szItem, 0, -1);
formatex(temp, 95, "\r%L \w| %L^n", id, "CSGOR_OCC_SELL_KEY", id, "CSGOR_RECEIVE_POINTS", g_iKeyPrice / 2);
szItem[0] = 3;
menu_additem(menu, temp, szItem, 0, -1);
}
formatex(temp, 95, "\w%L^n%L", id, "CSGOR_OCC_CRAFT", id, "CSGOR_OCC_CRAFT_ITEMS", g_iUserDusts[id], g_iCraftCost);
szItem[0] = 1;
menu_additem(menu, temp, szItem, 0, -1);
_DisplayMenu(id, menu);
return 0;
}
public oc_craft_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowMainMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy;
new index;
menu_item_getinfo(menu, item, dummy, itemdata, 1, {0}, 0, dummy);
index = itemdata[0];
switch (index)
{
case 0:
{
if (g_iUserCases[id] < 1 || g_iUserKeys[id] < 1)
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_OPEN_NOT_ENOUGH");
_ShowOpenCaseCraftMenu(id);
}
else
{
if (get_systime(0) < g_iLastOpenCraft[id] + 5)
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_DONT_SPAM", 5);
_ShowOpenCaseCraftMenu(id);
return 0;
}
_OpenCase(id);
}
}
case 1:
{
if (g_iCraftCost > g_iUserDusts[id])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_CRAFT_NOT_ENOUGH", g_iCraftCost - g_iUserDusts[id]);
_ShowOpenCaseCraftMenu(id);
}
else
{
if (get_systime(0) < g_iLastOpenCraft[id] + 5)
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_DONT_SPAM", 5);
_ShowOpenCaseCraftMenu(id);
return 0;
}
_CraftSkin(id);
}
}
case 2:
{
if (g_iKeyPrice > g_iUserPoints[id])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_NOT_ENOUGH_POINTS", g_iKeyPrice - g_iUserPoints[id]);
_ShowOpenCaseCraftMenu(id);
}
else
{
g_iUserPoints[id] -= g_iKeyPrice;
g_iUserKeys[id]++;
_SaveData(id);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_BUY_KEY");
_ShowOpenCaseCraftMenu(id);
}
}
case 3:
{
if (1 > g_iUserKeys[id])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_NONE_KEYS");
_ShowOpenCaseCraftMenu(id);
}
else
{
g_iUserPoints[id] += g_iKeyPrice / 2;
g_iUserKeys[id]--;
_SaveData(id);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_SELL_KEY");
_ShowOpenCaseCraftMenu(id);
}
}
default:
{
}
}
return _MenuExit(menu);
}
_OpenCase(id)
{
new timer;
new bool:succes;
new rSkin;
new rChance;
new skinID;
new wChance;
new run;
do {
rSkin = random_num(0, g_iDropSkinNum + -1);
rChance = random_num(1, 100);
if (0 >= g_iDropSkinNum)
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", -1, "CSGOR_NO_DROP_SKINS");
_ShowOpenCaseCraftMenu(id);
return 0;
}
skinID = ArrayGetCell(g_aDropSkin, rSkin);
wChance = ArrayGetCell(g_aSkinChance, skinID);
if (rChance >= wChance)
{
succes = true;
}
timer++;
if (!(timer < 5 && !succes))
{
if (succes)
{
new Skin[32];
ArrayGetString(g_aSkinName, skinID, Skin, 31);
g_iUserSkins[id][skinID]++;
g_iUserCases[id]--;
g_iUserKeys[id]--;
_SaveData(id);
if (0 < g_iShowDropCraft)
{
client_print_color(0, id, "^4%s^1 %L", "[Anus]", -1, "CSGOR_DROP_SUCCESS_ALL", g_szName[id], Skin, 100 - wChance);
}
else
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_DROP_SUCCESS", Skin, 100 - wChance);
}
g_iLastOpenCraft[id] = get_systime(0);
_ShowOpenCaseCraftMenu(id);
}
else
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_DROP_FAIL");
_ShowOpenCaseCraftMenu(id);
}
return 0;
}
} while (run);
if (succes)
{
new Skin[32];
ArrayGetString(g_aSkinName, skinID, Skin, 31);
g_iUserSkins[id][skinID]++;
g_iUserCases[id]--;
g_iUserKeys[id]--;
_SaveData(id);
if (0 < g_iShowDropCraft)
{
client_print_color(0, id, "^4%s^1 %L", "[Anus]", -1, "CSGOR_DROP_SUCCESS_ALL", g_szName[id], Skin, 100 - wChance);
}
else
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_DROP_SUCCESS", Skin, 100 - wChance);
}
g_iLastOpenCraft[id] = get_systime(0);
_ShowOpenCaseCraftMenu(id);
}
else
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_DROP_FAIL");
_ShowOpenCaseCraftMenu(id);
}
return 0;
}
_CraftSkin(id)
{
new timer;
new bool:succes;
new rSkin;
new rChance;
new skinID;
new wChance;
new run;
do {
rSkin = random_num(0, g_iCraftSkinNum + -1);
rChance = random_num(1, 100);
if (0 >= g_iCraftSkinNum)
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", -1, "CSGOR_NO_CRAFT_SKINS");
_ShowOpenCaseCraftMenu(id);
return 0;
}
skinID = ArrayGetCell(g_aCraftSkin, rSkin);
wChance = ArrayGetCell(g_aSkinChance, skinID);
if (rChance >= wChance)
{
succes = true;
}
timer++;
if (!(timer < 5 && !succes))
{
if (succes)
{
new Skin[32];
ArrayGetString(g_aSkinName, skinID, Skin, 31);
g_iUserSkins[id][skinID]++;
g_iUserDusts[id] -= g_iCraftCost;
_SaveData(id);
if (0 < g_iShowDropCraft)
{
client_print_color(0, id, "^4%s^1 %L", "[Anus]", -1, "CSGOR_CRAFT_SUCCESS_ALL", g_szName[id], Skin, 100 - wChance);
}
else
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_CRAFT_SUCCESS", Skin, 100 - wChance);
}
g_iLastOpenCraft[id] = get_systime(0);
_ShowOpenCaseCraftMenu(id);
}
else
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_CRAFT_FAIL");
_ShowOpenCaseCraftMenu(id);
}
return 0;
}
} while (run);
if (succes)
{
new Skin[32];
ArrayGetString(g_aSkinName, skinID, Skin, 31);
g_iUserSkins[id][skinID]++;
g_iUserDusts[id] -= g_iCraftCost;
if (0 < g_iShowDropCraft)
{
client_print_color(0, id, "^4%s^1 %L", "[Anus]", -1, "CSGOR_CRAFT_SUCCESS_ALL", g_szName[id], Skin, 100 - wChance);
}
else
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_CRAFT_SUCCESS", Skin, 100 - wChance);
}
_SaveData(id);
g_iLastOpenCraft[id] = get_systime(0);
_ShowOpenCaseCraftMenu(id);
}
else
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_CRAFT_FAIL");
_ShowOpenCaseCraftMenu(id);
}
return 0;
}
_ShowMarketMenu(id)
{
new temp[96];
formatex(temp, 95, "\r%s \w%L", "[Anus]", id, "CSGOR_MARKET_MENU");
new menu = menu_create(temp, "market_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new szSkin[48];
if (!_IsGoodItem(g_iUserSellItem[id]))
{
formatex(temp, 95, "\y%L", id, "CSGOR_MR_SELECT_ITEM");
}
else
{
_GetItemName(g_iUserSellItem[id], szSkin, 47);
formatex(temp, 95, "\w%L^n\w%L", id, "CSGOR_MR_SELL_ITEM", szSkin, id, "CSGOR_MR_PRICE", g_iUserItemPrice[id]);
}
szItem[0] = 33;
menu_additem(menu, temp, szItem, 0, -1);
if (g_bUserSell[id])
{
formatex(temp, 95, "\r%L^n", id, "CSGOR_MR_CANCEL_SELL");
szItem[0] = 35;
menu_additem(menu, temp, szItem, 0, -1);
}
else
{
formatex(temp, 95, "\r%L^n", id, "CSGOR_MR_START_SELL");
szItem[0] = 34;
menu_additem(menu, temp, szItem, 0, -1);
}
new Pl[32];
new n;
new p;
get_players(Pl, n, "h", "");
if (n)
{
new items;
new sType[4];
new bool:craft;
new i;
while (i < n)
{
p = Pl[i];
if (g_bLogged[p] == true)
{
if (!(p == id))
{
if (g_bUserSell[p])
{
new index = g_iUserSellItem[p];
_GetItemName(index, szSkin, 47);
if (_IsItemSkin(index))
{
ArrayGetString(g_aSkinType, index, sType, 3);
}
else
{
formatex(sType, 3, "d");
}
if (equali(sType, "c", 0))
{
craft = true;
}
else
{
craft = false;
}
new crafted[64];
if (craft)
{
crafted = "*";
}
else
{
crafted = "";
}
formatex(temp, 95, "\w%s | \r%s \y%s\w| \y%d %L", g_szName[p], szSkin, crafted, g_iUserItemPrice[p], id, "CSGOR_POINTS");
szItem[0] = p;
menu_additem(menu, temp, szItem, 0, -1);
items++;
}
}
}
i++;
}
if (!items)
{
formatex(temp, 95, "\r%L", id, "CSGOR_NOBODY_SELL");
szItem[0] = -10;
menu_additem(menu, temp, szItem, 0, -1);
}
}
_DisplayMenu(id, menu);
return 0;
}
bool:_IsItemSkin(item)
{
if (0 <= item < g_iSkinsNum)
{
return true;
}
return false;
}
bool:_IsGoodItem(item)
{
if (0 <= item < g_iSkinsNum || item == -11 || item == -12)
{
return true;
}
return false;
}
public market_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowMainMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy;
new index;
menu_item_getinfo(menu, item, dummy, itemdata, 1, {0}, 0, dummy);
index = itemdata[0];
switch (index)
{
case -10:
{
_ShowMarketMenu(id);
}
case 33:
{
if (g_bUserSell[id])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_MUST_CANCEL");
_ShowMarketMenu(id);
}
else
{
_ShowItems(id);
}
}
case 34:
{
if (!_UserHasItem(id, g_iUserSellItem[id]))
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_MUST_SELECT");
_ShowMarketMenu(id);
}
else
{
if (g_iWaitForPlace > get_systime(0) - g_iLastPlace[id])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_MUST_WAIT", g_iLastPlace[id] - get_systime(0));
}
if (1 > g_iUserItemPrice[id])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_IM_SET_PRICE");
_ShowMarketMenu(id);
}
new wPriceMin;
new wPriceMax;
_CalcItemPrice(g_iUserSellItem[id], wPriceMin, wPriceMax);
if (!(wPriceMin <= g_iUserItemPrice[id] <= wPriceMax))
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_ITEM_MIN_MAX_COST", wPriceMin, wPriceMax);
_ShowMarketMenu(id);
return _MenuExit(menu);
}
g_bUserSell[id] = 1;
g_iLastPlace[id] = get_systime(0);
new Item[32];
_GetItemName(g_iUserSellItem[id], Item, 31);
client_print_color(0, id, "^4%s %L", "[Anus]", id, "CSGOR_SELL_ANNOUNCE", g_szName[id], Item, g_iUserItemPrice[id]);
}
}
case 35:
{
g_bUserSell[id] = 0;
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_CANCEL_SELL");
_ShowMarketMenu(id);
}
default:
{
new tItem = g_iUserSellItem[index];
new price = g_iUserItemPrice[index];
if (!g_bLogged[index] || !(0 < index && 32 >= index))
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_INVALID_SELLER");
g_bUserSell[index] = 0;
_ShowMarketMenu(id);
}
else
{
if (!_UserHasItem(index, tItem))
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_DONT_HAVE_ITEM");
g_bUserSell[index] = 0;
g_iUserSellItem[index] = -1;
_ShowMarketMenu(id);
}
if (price > g_iUserPoints[id])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_NOT_ENOUGH_POINTS", price - g_iUserPoints[id]);
_ShowMarketMenu(id);
return 0;
}
new szItem[32];
_GetItemName(g_iUserSellItem[index], szItem, 31);
switch (tItem)
{
case -12:
{
g_iUserKeys[id]++;
g_iUserKeys[index]--;
g_iUserPoints[id] -= price;
g_iUserPoints[index] += price;
_SaveData(id);
client_print_color(0, 0, "^4%s^1 %L", "[Anus]", -1, "CSGOR_X_BUY_Y", g_szName[id], szItem, g_szName[index]);
}
case -11:
{
g_iUserCases[id]++;
g_iUserCases[index]--;
g_iUserPoints[id] -= price;
g_iUserPoints[index] += price;
_SaveData(id);
client_print_color(0, 0, "^4%s^1 %L", "[Anus]", -1, "CSGOR_X_BUY_Y", g_szName[id], szItem, g_szName[index]);
}
default:
{
g_iUserSkins[id][tItem]++;
g_iUserSkins[index][tItem]--;
g_iUserPoints[id] -= price;
_SaveData(id);
client_print_color(0, 0, "^4%s^1 %L", "[Anus]", -1, "CSGOR_X_BUY_Y", g_szName[id], szItem, g_szName[index]);
}
}
g_iUserSellItem[index] = -1;
g_bUserSell[index] = 0;
g_iUserItemPrice[index] = 0;
_ShowMainMenu(id);
}
}
}
return _MenuExit(menu);
}
_ShowItems(id)
{
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[Anus]", id, "CSGOR_ITEM_MENU");
new menu = menu_create(temp, "item_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new total;
if (0 < g_iUserCases[id])
{
formatex(temp, 63, "\r%L \w| \y%L", id, "CSGOR_ITEM_CASE", id, "CSGOR_SM_PIECES", g_iUserCases[id]);
szItem[0] = -11;
menu_additem(menu, temp, szItem, 0, -1);
total++;
}
if (g_iUserKeys[id] > 0 && g_iDropType < 1)
{
formatex(temp, 63, "\r%L \w| \y%L", id, "CSGOR_ITEM_KEY", id, "CSGOR_SM_PIECES", g_iUserKeys[id]);
szItem[0] = -12;
menu_additem(menu, temp, szItem, 0, -1);
total++;
}
new szSkin[32];
new num;
new type[2];
new i;
while (i < g_iSkinsNum)
{
num = g_iUserSkins[id][i];
if (0 < num)
{
ArrayGetString(g_aSkinName, i, szSkin, 31);
ArrayGetString(g_aSkinType, i, type, 1);
new applied[64];
switch (type[0])
{
case 99:
{
applied = "#";
}
default:
{
applied = "";
}
}
formatex(temp, 63, "\r%s \w| \y%L \r%s", szSkin, id, "CSGOR_SM_PIECES", num, applied);
szItem[0] = i;
menu_additem(menu, temp, szItem, 0, -1);
total++;
}
i++;
}
if (!total)
{
formatex(temp, 63, "\r%L", id, "CSGOR_NO_ITEMS");
szItem[0] = -10;
menu_additem(menu, temp, szItem, 0, -1);
}
_DisplayMenu(id, menu);
return 0;
}
public item_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowMarketMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy;
new index;
menu_item_getinfo(menu, item, dummy, itemdata, 1, {0}, 0, dummy);
index = itemdata[0];
if (index == -10)
{
_ShowMarketMenu(id);
return _MenuExit(menu);
}
g_iUserSellItem[id] = index;
new szItem[32];
_GetItemName(index, szItem, 31);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_IM_SELECT", szItem);
client_cmd(id, "messagemode ItemPrice");
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_IM_SET_PRICE");
return _MenuExit(menu);
}
public concmd_itemprice(id)
{
new item = g_iUserSellItem[id];
if (!_IsGoodItem(item))
{
return 1;
}
new data[16];
read_args(data, 15);
remove_quotes(data);
new uPrice;
new wPriceMin;
new wPriceMax;
uPrice = str_to_num(data);
_CalcItemPrice(item, wPriceMin, wPriceMax);
if (uPrice < wPriceMin || uPrice > wPriceMax)
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_ITEM_MIN_MAX_COST", wPriceMin, wPriceMax);
client_cmd(id, "messagemode ItemPrice");
return 1;
}
g_iUserItemPrice[id] = uPrice;
_ShowMarketMenu(id);
return 1;
}
bool:_UserHasItem(id, item)
{
if (!_IsGoodItem(item))
{
return false;
}
switch (item)
{
case -12:
{
if (0 < g_iUserKeys[id])
{
return true;
}
}
case -11:
{
if (0 < g_iUserCases[id])
{
return true;
}
}
default:
{
if (0 < g_iUserSkins[id][item])
{
return true;
}
}
}
return false;
}
_CalcItemPrice(item, &min, &max)
{
switch (item)
{
case -12:
{
min = g_iKeyMinCost;
max = g_iCostMultiplier * g_iKeyMinCost;
}
case -11:
{
min = g_iCaseMinCost;
max = g_iCostMultiplier * g_iCaseMinCost;
}
default:
{
min = ArrayGetCell(g_aSkinCostMin, item);
new i = min;
max = i * 2;
}
}
return 0;
}
_ShowDustbinMenu(id)
{
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[Anus]", id, "CSGOR_DB_MENU");
new menu = menu_create(temp, "dustbin_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
formatex(temp, 63, "\y%L\n", id, "CSGOR_DB_TRANSFORM");
szItem[0] = 1;
menu_additem(menu, temp, szItem, 0, -1);
formatex(temp, 63, "\r%L", id, "CSGOR_DB_DESTROY");
szItem[0] = 2;
menu_additem(menu, temp, szItem, 0, -1);
_DisplayMenu(id, menu);
return 0;
}
public dustbin_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowMainMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy;
new index;
menu_item_getinfo(menu, item, dummy, itemdata, 1, {0}, 0, dummy);
index = itemdata[0];
g_iMenuType[id] = index;
_ShowSkins(id);
return _MenuExit(menu);
}
_ShowSkins(id)
{
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[Anus]", id, "CSGOR_SKINS");
new menu = menu_create(temp, "db_skins_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new szSkin[32];
new num;
new type[2];
new total;
new i;
while (i < g_iSkinsNum)
{
num = g_iUserSkins[id][i];
if (0 < num)
{
ArrayGetString(g_aSkinName, i, szSkin, 31);
ArrayGetString(g_aSkinType, i, type, 1);
new applied[64];
switch (type[0])
{
case 99:
{
applied = "#";
}
default:
{
applied = "";
}
}
formatex(temp, 63, "\r%s \w| \y%L \r%s", szSkin, id, "CSGOR_SM_PIECES", num, applied);
szItem[0] = i;
menu_additem(menu, temp, szItem, 0, -1);
total++;
}
i++;
}
if (!total)
{
formatex(temp, 63, "\r%L", id, "CSGOR_SM_NO_SKINS");
szItem[0] = -10;
menu_additem(menu, temp, szItem, 0, -1);
}
_DisplayMenu(id, menu);
return 0;
}
public db_skins_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowDustbinMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy;
new index;
menu_item_getinfo(menu, item, dummy, itemdata, 1, {0}, 0, dummy);
index = itemdata[0];
if (index == -10)
{
_ShowMainMenu(id);
return _MenuExit(menu);
}
switch (g_iMenuType[id])
{
case 1:
{
g_iUserSkins[id][index]--;
g_iUserDusts[id] += g_iDustForTransform;
new Skin[32];
ArrayGetString(g_aSkinName, index, Skin, 31);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_TRANSFORM", g_iDustForTransform, Skin);
_SaveData(id);
}
case 2:
{
g_iUserSkins[id][index]--;
new Skin[32];
ArrayGetString(g_aSkinName, index, Skin, 31);
new sPrice = ArrayGetCell(g_aSkinCostMin, index);
new rest = sPrice / g_iReturnPercent;
g_iUserPoints[id] += rest;
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_DESTORY", Skin, rest);
_SaveData(id);
}
default:
{
}
}
g_iMenuType[id] = 0;
_ShowDustbinMenu(id);
return _MenuExit(menu);
}
_ShowGiftMenu(id)
{
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[Anus]", id, "CSGOR_GIFT_MENU");
new menu = menu_create(temp, "gift_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new bool:HasTarget;
new bool:HasItem;
new target = g_iGiftTarget[id];
if (target)
{
formatex(temp, 63, "\w%L", id, "CSGOR_GM_TARGET", g_szName[target]);
szItem[0] = 0;
menu_additem(menu, temp, szItem, 0, -1);
HasTarget = true;
}
else
{
formatex(temp, 63, "\r%L", id, "CSGOR_GM_SELECT_TARGET");
szItem[0] = 0;
menu_additem(menu, temp, szItem, 0, -1);
}
if (!_IsGoodItem(g_iGiftItem[id]))
{
formatex(temp, 63, "\r%L^n", id, "CSGOR_GM_SELECT_ITEM");
szItem[0] = 1;
menu_additem(menu, temp, szItem, 0, -1);
}
else
{
new Item[32];
_GetItemName(g_iGiftItem[id], Item, 31);
formatex(temp, 63, "\w%L^n", id, "CSGOR_GM_ITEM", Item);
szItem[0] = 1;
menu_additem(menu, temp, szItem, 0, -1);
HasItem = true;
}
if (HasTarget && HasItem)
{
formatex(temp, 63, "\r%L", id, "CSGOR_GM_SEND");
szItem[0] = 2;
menu_additem(menu, temp, szItem, 0, -1);
}
_DisplayMenu(id, menu);
return 0;
}
public gift_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowMainMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy;
new index;
menu_item_getinfo(menu, item, dummy, itemdata, 1, {0}, 0, dummy);
index = itemdata[0];
switch (index)
{
case 0:
{
_SelectTarget(id);
}
case 1:
{
_SelectItem(id);
}
case 2:
{
new target = g_iGiftTarget[id];
new _item = g_iGiftItem[id];
if (g_bLogged[target] != true || !(0 < target && 32 >= target))
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_INVALID_TARGET");
g_iGiftTarget[id] = 0;
_ShowGiftMenu(id);
}
else
{
if (!_UserHasItem(id, _item))
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_NOT_ENOUGH_ITEMS");
g_iGiftItem[id] = -1;
_ShowGiftMenu(id);
}
new gift[16];
switch (_item)
{
case -12:
{
g_iUserKeys[id]--;
g_iUserKeys[target]++;
formatex(gift, 15, "%L", id, "CSGOR_ITEM_KEY");
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_SEND_GIFT", gift, g_szName[target]);
client_print_color(target, target, "^4%s^1 %L", "[Anus]", target, "CSGOR_RECIEVE_GIFT", g_szName[id], gift);
}
case -11:
{
g_iUserCases[id]--;
g_iUserCases[target]++;
formatex(gift, 15, "%L", id, "CSGOR_ITEM_CASE");
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_SEND_GIFT", gift, g_szName[target]);
client_print_color(target, target, "^4%s^1 %L", "[Anus]", target, "CSGOR_RECIEVE_GIFT", g_szName[id], gift);
}
default:
{
g_iUserSkins[id][_item]--;
g_iUserSkins[target][_item]++;
new Skin[32];
_GetItemName(g_iGiftItem[id], Skin, 31);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_SEND_GIFT", Skin, g_szName[target]);
client_print_color(target, target, "^4%s^1 %L", "[Anus]", target, "CSGOR_RECIEVE_GIFT", g_szName[id], Skin);
}
}
g_iGiftTarget[id] = 0;
g_iGiftItem[id] = -1;
_ShowMainMenu(id);
}
}
default:
{
}
}
return _MenuExit(menu);
}
_SelectTarget(id)
{
new temp[64];
formatex(temp, 63, "\r%s \y%L", "[Anus]", id, "CSGOR_GM_SELECT_TARGET");
new menu = menu_create(temp, "st_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new Pl[32];
new n;
new p;
get_players(Pl, n, "h", "");
new total;
if (n)
{
new i;
while (i < n)
{
p = Pl[i];
if (g_bLogged[p])
{
if (!(p == id))
{
szItem[0] = p;
menu_additem(menu, g_szName[p], szItem, 0, -1);
total++;
}
}
i++;
}
}
if (!total)
{
formatex(temp, 63, "\r%L", id, "CSGOR_ST_NO_PLAYERS");
szItem[0] = -10;
menu_additem(menu, temp, szItem, 0, -1);
}
_DisplayMenu(id, menu);
return 0;
}
public st_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowGiftMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy;
new index;
new name[32];
menu_item_getinfo(menu, item, dummy, itemdata, 1, name, 31, dummy);
index = itemdata[0];
switch (index)
{
case -10:
{
_ShowMainMenu(id);
}
default:
{
g_iGiftTarget[id] = index;
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_YOUR_TARGET", name);
_ShowGiftMenu(id);
}
}
return _MenuExit(menu);
}
_SelectItem(id)
{
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[Anus]", id, "CSGOR_ITEM_MENU");
new menu = menu_create(temp, "si_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new total;
if (0 < g_iUserCases[id])
{
formatex(temp, 63, "\r%L \w| \y%L", id, "CSGOR_ITEM_CASE", id, "CSGOR_SM_PIECES", g_iUserCases[id]);
szItem[0] = -11;
menu_additem(menu, temp, szItem, 0, -1);
total++;
}
if (0 < g_iUserKeys[id])
{
formatex(temp, 63, "\r%L \w| \y%L", id, "CSGOR_ITEM_KEY", id, "CSGOR_SM_PIECES", g_iUserKeys[id]);
szItem[0] = -12;
menu_additem(menu, temp, szItem, 0, -1);
total++;
}
new szSkin[32];
new num;
new type[2];
new i;
while (i < g_iSkinsNum)
{
num = g_iUserSkins[id][i];
if (0 < num)
{
ArrayGetString(g_aSkinName, i, szSkin, 31);
ArrayGetString(g_aSkinType, i, type, 1);
switch (type[0])
{
case 99:
{
formatex(temp, 63, "\r%s \w| \y%L \r#", szSkin, id, "CSGOR_SM_PIECES", num);
}
default:
{
formatex(temp, 63, "\r%s \w| \y%L \r", szSkin, id, "CSGOR_SM_PIECES", num);
}
}
szItem[0] = i;
menu_additem(menu, temp, szItem, 0, -1);
total++;
}
i++;
}
if (!total)
{
formatex(temp, 63, "\r%L", id, "CSGOR_NO_ITEMS");
szItem[0] = -10;
menu_additem(menu, temp, szItem, 0, -1);
}
_DisplayMenu(id, menu);
return 0;
}
public si_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowGiftMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy;
new index;
menu_item_getinfo(menu, item, dummy, itemdata, 1, {0}, 0, dummy);
index = itemdata[0];
switch (index)
{
case -10:
{
_ShowMainMenu(id);
}
default:
{
if (index == g_iUserSellItem[id] && g_bUserSell[id])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_INVALID_GIFT");
_SelectItem(id);
}
else
{
g_iGiftItem[id] = index;
new szItem[32];
_GetItemName(index, szItem, 31);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_YOUR_GIFT", szItem);
_ShowGiftMenu(id);
}
}
}
return _MenuExit(menu);
}
public Message_SayText(msgId, msgDest, msgEnt)
{
return PLUGIN_HANDLED;
}
public Message_SayHandle(id)
{
if (is_user_connected(id) && g_bLogged[id])
{
read_argv(1, szMessage, 127);
for (new j = 1; j <= get_maxplayers(); j++)
{
if (j == 0 || equali(g_szName[id], "") || equali(szMessage, ""))
{
return 0;
}
new szRank[32];
ArrayGetString(g_aRankName, g_iUserRank[id], szRank, 31);
if (!is_user_alive(id) && cs_get_user_team(id) != CS_TEAM_SPECTATOR)
{
new temp[128];
formatex(temp, 127, "^1*DEAD* ^4[%s] ^3%s ^1: %s", szRank, g_szName[id], szMessage);
if (is_user_connected(j))
{
send_message(temp, id, j);
}
}
if (is_user_alive(id))
{
new temp[128];
formatex(temp, 127, "^4[%s] ^3%s ^1: %s", szRank, g_szName[id], szMessage);
if (is_user_connected(j))
{
send_message(temp, id, j);
}
}
if (!is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_SPECTATOR)
{
new temp[128];
formatex(temp, 127, "^1*SPEC* ^4[%s] ^3%s ^1: %s", szRank, g_szName[id], szMessage);
if (is_user_connected(j))
{
send_message(temp, id, j);
}
}
}
return 0;
}
else if (is_user_connected(id) && !g_bLogged[id])
{
read_argv(1, szMessage, 127);
for (new j = 1; j <= get_maxplayers(); j++)
{
if (j == 0 || equali(g_szName[id], "") || equali(szMessage, ""))
{
return 0;
}
if (!is_user_alive(id) && cs_get_user_team(id) != CS_TEAM_SPECTATOR)
{
new temp[128];
formatex(temp, 127, "^1*DEAD* ^3%s ^1: %s", g_szName[id], szMessage);
if (is_user_connected(j))
{
send_message(temp, id, j);
}
}
if (is_user_alive(id))
{
new temp[128];
formatex(temp, 127, "^3%s ^1: %s", g_szName[id], szMessage);
if (is_user_connected(j))
{
send_message(temp, id, j);
}
}
if (!is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_SPECTATOR)
{
new temp[128];
formatex(temp, 127, "^1*SPEC* ^3%s ^1: %s", g_szName[id], szMessage);
if (is_user_connected(j))
{
send_message(temp, id, j);
}
}
}
return 0;
}
return 0;
}
public Message_SayHandleTeam(id)
{
if (is_user_connected(id) && g_bLogged[id])
{
read_argv(1, szMessage, 127);
for (new j = 1; j <= get_maxplayers(); j++)
{
if (j == 0 || equali(g_szName[id], "") || equali(szMessage, ""))
{
return 0;
}
new szRank[32];
ArrayGetString(g_aRankName, g_iUserRank[id], szRank, 31);
if (!is_user_alive(id) && is_user_connected(j) && cs_get_user_team(j) == cs_get_user_team(id))
{
new temp[128];
if (cs_get_user_team(id) == CS_TEAM_T)
{
formatex(temp, 127, "^1*DEAD* (Terrorist) ^4[%s] ^3%s ^1: %s", szRank, g_szName[id], szMessage);
}
if (cs_get_user_team(id) == CS_TEAM_CT)
{
formatex(temp, 127, "^1*DEAD* (Counter-Terrorist) ^4[%s] ^3%s ^1: %s", szRank, g_szName[id], szMessage);
}
send_message(temp, id, j);
}
if (is_user_alive(id) && is_user_connected(j) && cs_get_user_team(j) == cs_get_user_team(id))
{
new temp[128];
if (cs_get_user_team(id) == CS_TEAM_T)
{
formatex(temp, 127, "^1(Terrorist) ^4[%s] ^3%s ^1: %s", szRank, g_szName[id], szMessage);
}
if (cs_get_user_team(id) == CS_TEAM_CT)
{
formatex(temp, 127, "^1(Counter-Terrorist) ^4[%s] ^3%s ^1: %s", szRank, g_szName[id], szMessage);
}
send_message(temp, id, j);
}
}
return 0;
}
else if (is_user_connected(id) && !g_bLogged[id])
{
read_argv(1, szMessage, 127);
for (new j = 1; j <= get_maxplayers(); j++)
{
if (j == 0 || equali(g_szName[id], "") || equali(szMessage, ""))
{
return 0;
}
if (!is_user_alive(id) && is_user_connected(j) && cs_get_user_team(j) == cs_get_user_team(id))
{
new temp[128];
if (cs_get_user_team(id) == CS_TEAM_T)
{
formatex(temp, 127, "^1*DEAD* (Terrorist) ^3%s ^1: %s", g_szName[id], szMessage);
}
if (cs_get_user_team(id) == CS_TEAM_CT)
{
formatex(temp, 127, "^1*DEAD* (Counter-Terrorist) ^3%s ^1: %s", g_szName[id], szMessage);
}
send_message(temp, id, j);
}
if (is_user_alive(id) && is_user_connected(j) && cs_get_user_team(j) == cs_get_user_team(id))
{
new temp[128];
if (cs_get_user_team(id) == CS_TEAM_T)
{
formatex(temp, 127, "^1(Terrorist) ^3%s ^1: %s", g_szName[id], szMessage);
}
if (cs_get_user_team(id) == CS_TEAM_CT)
{
formatex(temp, 127, "^1(Counter-Terrorist) ^3%s ^1: %s", g_szName[id], szMessage);
}
send_message(temp, id, j);
}
}
return 0;
}
return 0;
}
send_message(message[], id, i)
{
if (!is_user_connected(i))
{
return 0;
}
message_begin(MSG_ONE, g_Msg_SayText, {0,0,0}, i);
write_byte(id);
write_string(message);
message_end();
return 0;
}
_ShowTradeMenu(id)
{
if (g_bTradeAccept[id])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_TRADE_INFO2");
return 0;
}
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[Anus]", id, "CSGOR_TRADE_MENU");
new menu = menu_create(temp, "trade_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new bool:HasTarget;
new bool:HasItem;
new target = g_iTradeTarget[id];
if (target)
{
formatex(temp, 63, "\w%L", id, "CSGOR_GM_TARGET", g_szName[target]);
szItem[0] = 0;
menu_additem(menu, temp, szItem, 0, -1);
HasTarget = true;
}
else
{
formatex(temp, 63, "\r%L", id, "CSGOR_GM_SELECT_TARGET");
szItem[0] = 0;
menu_additem(menu, temp, szItem, 0, -1);
}
if (!_IsGoodItem(g_iTradeItem[id]))
{
formatex(temp, 63, "\r%L^n", id, "CSGOR_GM_SELECT_ITEM");
szItem[0] = 1;
menu_additem(menu, temp, szItem, 0, -1);
}
else
{
new Item[32];
_GetItemName(g_iTradeItem[id], Item, 31);
formatex(temp, 63, "\w%L^n", id, "CSGOR_GM_ITEM", Item);
szItem[0] = 1;
menu_additem(menu, temp, szItem, 0, -1);
HasItem = true;
}
if (HasTarget && HasItem && !g_bTradeActive[id])
{
formatex(temp, 63, "\r%L", id, "CSGOR_GM_SEND");
szItem[0] = 2;
menu_additem(menu, temp, szItem, 0, -1);
}
if (g_bTradeActive[id] || g_bTradeSecond[id])
{
formatex(temp, 63, "\r%L", id, "CSGOR_TRADE_CANCEL");
szItem[0] = 3;
menu_additem(menu, temp, szItem, 0, -1);
}
_DisplayMenu(id, menu);
return 0;
}
public trade_menu_handler(id, menu, item)
{
if (item == -3)
{
if (g_bTradeSecond[id])
{
clcmd_say_deny(id);
}
_ShowMainMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy;
new index;
menu_item_getinfo(menu, item, dummy, itemdata, 1, {0}, 0, dummy);
index = itemdata[0];
switch (index)
{
case 0:
{
if (g_bTradeActive[id] || g_bTradeSecond[id])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_TRADE_LOCKED");
_ShowTradeMenu(id);
}
else
{
_SelectTradeTarget(id);
}
}
case 1:
{
if (g_bTradeActive[id])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_TRADE_LOCKED");
_ShowTradeMenu(id);
}
else
{
_SelectTradeItem(id);
}
}
case 2:
{
new target = g_iTradeTarget[id];
new _item = g_iTradeItem[id];
if (!g_bLogged[target] || !(0 < target && 32 >= target))
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_INVALID_TARGET");
_ResetTradeData(id);
_ShowTradeMenu(id);
}
else
{
if (!_UserHasItem(id, _item))
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_NOT_ENOUGH_ITEMS");
g_iTradeItem[id] = -1;
_ShowTradeMenu(id);
}
if (g_bTradeSecond[id] && !_UserHasItem(target, g_iTradeItem[target]))
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_TRADE_FAIL");
client_print_color(target, target, "^4%s^1 %L", "[Anus]", target, "CSGOR_TRADE_FAIL");
_ResetTradeData(id);
_ResetTradeData(target);
_ShowTradeMenu(id);
}
g_bTradeActive[id] = 1;
g_iTradeRequest[target] = id;
new szItem[32];
_GetItemName(g_iTradeItem[id], szItem, 31);
if (!g_bTradeSecond[id])
{
client_print_color(target, target, "^4%s^1 %L", "[Anus]", target, "CSGOR_TRADE_INFO1", g_szName[id], szItem);
client_print_color(target, target, "^4%s^1 %L", "[Anus]", target, "CSGOR_TRADE_INFO2");
}
else
{
new yItem[32];
_GetItemName(g_iTradeItem[target], yItem, 31);
client_print_color(target, target, "^4%s %L", "[Anus]", target, "CSGOR_TRADE_INFO3", g_szName[id], szItem, yItem);
client_print_color(target, target, "^4%s^1 %L", "[Anus]", target, "CSGOR_TRADE_INFO2");
g_bTradeAccept[target] = 1;
}
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_TRADE_SEND", g_szName[target]);
}
}
case 3:
{
if (g_bTradeSecond[id])
{
clcmd_say_deny(id);
}
else
{
_ResetTradeData(id);
}
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_TRADE_CANCELED");
_ShowTradeMenu(id);
}
default:
{
}
}
return _MenuExit(menu);
}
_SelectTradeTarget(id)
{
new temp[64];
formatex(temp, 63, "\r%s \y%L", "[Anus]", id, "CSGOR_GM_SELECT_TARGET");
new menu = menu_create(temp, "tst_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new Pl[32];
new n;
new p;
get_players(Pl, n, "h", "");
new total;
if (n)
{
new i;
while (i < n)
{
p = Pl[i];
if (g_bLogged[p])
{
if (!(p == id))
{
szItem[0] = p;
menu_additem(menu, g_szName[p], szItem, 0, -1);
total++;
}
}
i++;
}
}
if (!total)
{
formatex(temp, 63, "\r%L", id, "CSGOR_ST_NO_PLAYERS");
szItem[0] = -10;
menu_additem(menu, temp, szItem, 0, -1);
}
_DisplayMenu(id, menu);
return 0;
}
public tst_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowTradeMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy;
new index;
new name[32];
menu_item_getinfo(menu, item, dummy, itemdata, 1, name, 31, dummy);
index = itemdata[0];
switch (index)
{
case -10:
{
_ShowMainMenu(id);
}
default:
{
if (g_iTradeRequest[index])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_TARGET_TRADE_ACTIVE", name);
}
else
{
g_iTradeTarget[id] = index;
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_YOUR_TARGET", name);
}
_ShowTradeMenu(id);
}
}
return _MenuExit(menu);
}
_SelectTradeItem(id)
{
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[Anus]", id, "CSGOR_ITEM_MENU");
new menu = menu_create(temp, "tsi_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new total;
if (0 < g_iUserCases[id])
{
formatex(temp, 63, "\r%L \w| \y%L", id, "CSGOR_ITEM_CASE", id, "CSGOR_SM_PIECES", g_iUserCases[id]);
szItem[0] = -11;
menu_additem(menu, temp, szItem, 0, -1);
total++;
}
if (0 < g_iUserKeys[id])
{
formatex(temp, 63, "\r%L \w| \y%L", id, "CSGOR_ITEM_KEY", id, "CSGOR_SM_PIECES", g_iUserKeys[id]);
szItem[0] = -12;
menu_additem(menu, temp, szItem, 0, -1);
total++;
}
new szSkin[32];
new num;
new type[2];
new i;
while (i < g_iSkinsNum)
{
num = g_iUserSkins[id][i];
if (0 < num)
{
ArrayGetString(g_aSkinName, i, szSkin, 31);
ArrayGetString(g_aSkinType, i, type, 1);
new applied[64];
switch (type[0])
{
case 99:
{
applied = "#";
}
default:
{
applied = "";
}
}
formatex(temp, 63, "\r%s \w| \y%L \r%s", szSkin, id, "CSGOR_SM_PIECES", num, applied);
szItem[0] = i;
menu_additem(menu, temp, szItem, 0, -1);
total++;
}
i++;
}
if (!total)
{
formatex(temp, 63, "\r%L", id, "CSGOR_NO_ITEMS");
szItem[0] = -10;
menu_additem(menu, temp, szItem, 0, -1);
}
_DisplayMenu(id, menu);
return 0;
}
public tsi_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowTradeMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy;
new index;
menu_item_getinfo(menu, item, dummy, itemdata, 1, {0}, 0, dummy);
index = itemdata[0];
switch (index)
{
case -10:
{
_ShowTradeMenu(id);
}
default:
{
if (index == g_iUserSellItem[id] && g_bUserSell[id])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_INVALID_ITEM");
_SelectTradeItem(id);
}
else
{
g_iTradeItem[id] = index;
new szItem[32];
_GetItemName(index, szItem, 31);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_TRADE_ITEM", szItem);
_ShowTradeMenu(id);
}
}
}
return _MenuExit(menu);
}
_ResetTradeData(id)
{
g_bTradeActive[id] = 0;
g_bTradeSecond[id] = 0;
g_bTradeAccept[id] = 0;
g_iTradeTarget[id] = 0;
g_iTradeItem[id] = -1;
g_iTradeRequest[id] = 0;
return 0;
}
public clcmd_say_accept(id)
{
new sender = g_iTradeRequest[id];
if (1 > sender || 32 < sender)
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_DONT_HAVE_REQ");
return 1;
}
if (!g_bLogged[sender] || !(0 < sender && 32 >= sender))
{
_ResetTradeData(id);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_INVALID_SENDER");
return 1;
}
if (!g_bTradeActive[sender] && id == g_iTradeTarget[sender])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_TRADE_IS_CANCELED");
_ResetTradeData(id);
return 1;
}
if (g_bTradeAccept[id])
{
new sItem = g_iTradeItem[sender];
new tItem = g_iTradeItem[id];
if (!_UserHasItem(id, tItem) || !_UserHasItem(sender, sItem))
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_TRADE_FAIL2");
client_print_color(sender, sender, "^4%s^1 %L", "[Anus]", sender, "CSGOR_TRADE_FAIL2");
_ResetTradeData(id);
_ResetTradeData(sender);
return 1;
}
switch (sItem)
{
case -12:
{
g_iUserKeys[id]++;
g_iUserKeys[sender]--;
}
case -11:
{
g_iUserCases[id]++;
g_iUserCases[sender]--;
}
default:
{
g_iUserSkins[id][sItem]++;
g_iUserSkins[sender][sItem]--;
}
}
switch (tItem)
{
case -12:
{
g_iUserKeys[id]--;
g_iUserKeys[sender]++;
}
case -11:
{
g_iUserCases[id]--;
g_iUserCases[sender]++;
}
default:
{
g_iUserSkins[id][tItem]--;
g_iUserSkins[sender][tItem]++;
}
}
new sItemsz[32];
new tItemsz[32];
_GetItemName(tItem, tItemsz, 31);
_GetItemName(sItem, sItemsz, 31);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_TRADE_SUCCESS", tItemsz, sItemsz);
client_print_color(sender, sender, "^4%s^1 %L", "[Anus]", sender, "CSGOR_TRADE_SUCCESS", sItemsz, tItemsz);
_ResetTradeData(id);
_ResetTradeData(sender);
}
else
{
if (!g_bTradeSecond[id])
{
g_iTradeTarget[id] = sender;
g_iTradeItem[id] = -1;
g_bTradeSecond[id] = 1;
_ShowTradeMenu(id);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_TRADE_SELECT_ITEM");
}
}
return 1;
}
public clcmd_say_deny(id)
{
new sender = g_iTradeRequest[id];
if (sender < 1 || sender > 32)
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_DONT_HAVE_REQ");
return 1;
}
if (!g_bLogged[sender] || !(0 < sender && 32 >= sender))
{
_ResetTradeData(id);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_INVALID_SENDER");
return 1;
}
if (!g_bTradeActive[sender] && id == g_iTradeTarget[sender])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_TRADE_IS_CANCELED");
_ResetTradeData(id);
return 1;
}
_ResetTradeData(id);
_ResetTradeData(sender);
client_print_color(sender, sender, "^4%s^1 %L", "[Anus]", sender, "CSGOR_TARGET_REFUSE_TRADE", g_szName[id]);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_YOU_REFUSE_TRADE", g_szName[sender]);
return 1;
}
_ShowGamesMenu(id)
{
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[Anus]", id, "CSGOR_GAMES_MENU");
new menu = menu_create(temp, "games_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
formatex(temp, 63, "\w%L", id, "CSGOR_MM_TOMBOLA", g_iTombolaCost);
menu_additem(menu, temp, szItem, 0, -1);
formatex(temp, 63, "\w%L", id, "CSGOR_GAME_ROULETTE", g_iRouletteCost);
menu_additem(menu, temp, szItem, 0, -1);
formatex(temp, 63, "\w%L", id, "CSGOR_GAME_JACKPOT");
menu_additem(menu, temp, szItem, 0, -1);
_DisplayMenu(id, menu);
return 0;
}
public games_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowMainMenu(id);
return _MenuExit(menu);
}
switch (item)
{
case 0:
{
_ShowTombolaMenu(id);
}
case 1:
{
new points = g_iUserPoints[id];
if (points < g_iRouletteCost)
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_NOT_ENOUGH_POINTS", g_iRouletteCost - points);
_ShowGamesMenu(id);
}
else
{
if (g_bRoulettePlay[id])
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_ROULETTE_NEXT");
_ShowGamesMenu(id);
}
else
{
_ShowRouletteMenu(id);
}
}
}
case 2:
{
if (g_bJackpotWork)
{
_ShowJackpotMenu(id);
}
else
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_JP_CLOSED", get_pcvar_num(c_JackpotTimer));
}
}
default:
{
}
}
return _MenuExit(menu);
}
_ShowTombolaMenu(id)
{
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[Anus]", id, "CSGOR_TOMBOLA_MENU");
new menu = menu_create(temp, "tombola_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new Timer[32];
_FormatTime(Timer, 31, g_iNextTombolaStart);
formatex(temp, 63, "\w%L", id, "CSGOR_TOMB_TIMER", Timer);
szItem[0] = 0;
menu_additem(menu, temp, szItem, 0, -1);
formatex(temp, 63, "\w%L", id, "CSGOR_TOMB_PLAYERS", g_iTombolaPlayers);
szItem[0] = 0;
menu_additem(menu, temp, szItem, 0, -1);
formatex(temp, 63, "\w%L^n", id, "CSGOR_TOMB_PRIZE", g_iTombolaPrize);
szItem[0] = 0;
menu_additem(menu, temp, szItem, 0, -1);
if (g_bUserPlay[id])
{
formatex(temp, 63, "\r%L", id, "CSGOR_TOMB_ALREADY_PLAY");
szItem[0] = 0;
menu_additem(menu, temp, szItem, 0, -1);
}
else
{
formatex(temp, 63, "\r%L^n\w%L", id, "CSGOR_TOMB_PLAY", id, "CSGOR_TOMB_COST", g_iTombolaCost);
szItem[0] = 1;
menu_additem(menu, temp, szItem, 0, -1);
}
_DisplayMenu(id, menu);
return 0;
}
_FormatTime(timer[], len, nextevent)
{
new seconds = nextevent - get_systime(0);
new minutes;
while (seconds >= 60)
{
seconds += -60;
minutes++;
}
new bool:add_before;
new temp[32];
if (seconds)
{
new second[64];
if (seconds == 1)
{
formatex(second, 63, "%L", 0, "CSGOR_TOMB_TEXT_SECOND");
}
else
{
formatex(second, 63, "%L", 0, "CSGOR_TOMB_TEXT_SECONDS");
}
formatex(temp, 31, "%i %s", seconds, second);
add_before = true;
}
if (minutes)
{
if (add_before)
{
new minute[64];
if (minutes == 1)
{
formatex(minute, 63, "%L", 0, "CSGOR_TOMB_TEXT_MINUTE");
}
else
{
formatex(minute, 63, "%L", 0, "CSGOR_TOMB_TEXT_MINUTES");
}
format(temp, 31, "%i %s, %s", minutes, minute, temp);
}
else
{
new minute[64];
if (minutes == 1)
{
formatex(minute, 63, "%L", 0, "CSGOR_TOMB_TEXT_MINUTE");
}
else
{
formatex(minute, 63, "%L", 0, "CSGOR_TOMB_TEXT_MINUTES");
}
formatex(temp, 31, "%i %s", minutes, minute);
add_before = true;
}
}
if (add_before)
{
formatex(timer, len, "%s", temp);
}
return 0;
}
public tombola_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowGamesMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy;
new index;
menu_item_getinfo(menu, item, dummy, itemdata, 1, {0}, 0, dummy);
index = itemdata[0];
switch (index)
{
case 0:
{
_ShowTombolaMenu(id);
}
case 1:
{
new uPoints = g_iUserPoints[id];
if (!g_bTombolaWork)
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_TOMB_NOT_WORK");
}
else
{
if (uPoints < g_iTombolaCost)
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_NOT_ENOUGH_POINTS", g_iTombolaCost - uPoints);
_ShowTombolaMenu(id);
return 0;
}
g_iUserPoints[id] -= g_iTombolaCost;
g_iTombolaPrize = g_iTombolaCost + g_iTombolaPrize;
g_bUserPlay[id] = 1;
ArrayPushCell(g_aTombola, id);
g_iTombolaPlayers += 1;
_SaveData(id);
client_print_color(0, id, "^4%s^1 %L", "[Anus]", -1, "CSGOR_TOMB_ANNOUNCE", g_szName[id]);
_ShowTombolaMenu(id);
}
}
default:
{
}
}
return _MenuExit(menu);
}
public task_TombolaRun(task)
{
if (1 > g_iTombolaPlayers)
{
client_print_color(0, 0, "^4%s^1 %L", "[Anus]", -1, "CSGOR_TOMB_FAIL_REG");
}
else
{
if (2 > g_iTombolaPlayers)
{
client_print_color(0, 0, "^4%s^1 %L", "[Anus]", -1, "CSGOR_TOMB_FAIL_NUM");
}
new id;
new size = ArraySize(g_aTombola);
new bool:succes;
new random;
new run;
do {
random = random_num(0, size + -1);
id = ArrayGetCell(g_aTombola, random);
if (0 < id && 32 >= id || !is_user_connected(id))
{
succes = true;
if (2 > g_iTombolaPlayers)
{
g_iUserPoints[id] += g_iTombolaCost;
_SaveData(id);
}
else
{
g_iUserPoints[id] += g_iTombolaPrize;
_SaveData(id);
new Name[32];
get_user_name(id, Name, 31);
client_print_color(0, 0, "^4%s^1 %L", "[Anus]", -1, "CSGOR_TOMB_WINNER", Name, g_iTombolaPrize);
}
}
else
{
ArrayDeleteItem(g_aTombola, random);
size--;
}
if (!succes && size > 0)
{
}
} while (run);
}
arrayset(g_bUserPlay, 0, 33);
g_iTombolaPlayers = 0;
g_iTombolaPrize = 0;
ArrayClear(g_aTombola);
g_iNextTombolaStart = g_iTombolaTimer + get_systime(0);
new Timer[32];
_FormatTime(Timer, 31, g_iNextTombolaStart);
client_print_color(0, 0, "^4%s^1 %L", "[Anus]", -1, "CSGOR_TOMB_NEXT", Timer);
return 0;
}
_ShowRouletteMenu(id)
{
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[Anus]", id, "CSGOR_ROULETTE_MENU");
new menu = menu_create(temp, "roulette_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
formatex(temp, 63, "\w%L", id, "CSGOR_ROU_UNDER", g_iRouletteMin);
menu_additem(menu, temp, szItem, 0, -1);
formatex(temp, 63, "\w%L", id, "CSGOR_ROU_OVER", g_iRouletteMin);
menu_additem(menu, temp, szItem, 0, -1);
formatex(temp, 63, "\w%L\n", id, "CSGOR_ROU_BETWEEN", g_iRouletteMax);
menu_additem(menu, temp, szItem, 0, -1);
formatex(temp, 63, "\r%L", id, "CSGOR_ROU_BET", g_iUserBetPoints[id]);
menu_additem(menu, temp, szItem, 0, -1);
_DisplayMenu(id, menu);
return 0;
}
public roulette_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowGamesMenu(id);
return _MenuExit(menu);
}
if (0 <= item <= 2)
{
if (g_iUserBetPoints[id] <= g_iUserPoints[id])
{
g_iUserPoints[id] -= g_iUserBetPoints[id];
}
else
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_NOT_ENOUGH_POINTS", g_iUserBetPoints[id] - g_iUserPoints[id]);
return _MenuExit(menu);
}
}
new chance = random_num(1, 100);
switch (item)
{
case 0:
{
if (chance < 48)
{
_RouletteWin(id, g_iRouletteMin, 0);
}
else
{
_RouletteLoose(id, chance);
}
}
case 1:
{
if (chance > 53)
{
_RouletteWin(id, g_iRouletteMin, 0);
}
else
{
_RouletteLoose(id, chance);
}
}
case 2:
{
if (48 <= chance <= 53)
{
_RouletteWin(id, g_iRouletteMax, 1);
}
else
{
_RouletteLoose(id, chance);
}
}
case 3:
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_INSERT_BET");
client_cmd(id, "messagemode BetPoints");
}
default:
{
}
}
return _MenuExit(menu);
}
_RouletteWin(id, multi, announce)
{
new num = multi * g_iUserBetPoints[id];
g_iUserPoints[id] += num;
g_bRoulettePlay[id] = 1;
if (0 < announce)
{
client_print_color(0, id, "^4%s^1 %L", "[Anus]", -1, "CSGOR_ROULETTE_WIN", g_szName[id], g_iUserBetPoints[id]);
}
else
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", -1, "CSGOR_ROULETTE_WIN_ONE", g_iUserBetPoints[id]);
}
_SaveData(id);
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_ROULETTE_NEXT");
return 0;
}
_RouletteLoose(id, num)
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_ROULETTE_LOOSE", num);
_ShowGamesMenu(id);
return 0;
}
public concmd_betpoints(id)
{
new data[16];
read_args(data, 15);
remove_quotes(data);
new Amount = str_to_num(data);
if (Amount < 10 || Amount > 1000)
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_BET_MIN_MAX", 10, 1000);
client_cmd(id, "messagemode BetPoints");
return 1;
}
g_iUserBetPoints[id] = Amount;
_ShowRouletteMenu(id);
return 1;
}
_ShowJackpotMenu(id)
{
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[Anus]", id, "CSGOR_JACKPOT_MENU");
new menu = menu_create(temp, "jackpot_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
if (!_IsGoodItem(g_iUserJackpotItem[id]))
{
formatex(temp, 63, "\w%L", id, "CSGOR_SKINS");
szItem[0] = 1;
menu_additem(menu, temp, szItem, 0, -1);
}
else
{
new Item[32];
_GetItemName(g_iUserJackpotItem[id], Item, 31);
formatex(temp, 63, "\w%L", id, "CSGOR_JP_ITEM", Item);
szItem[0] = 1;
menu_additem(menu, temp, szItem, 0, -1);
}
if (g_bUserPlayJackpot[id])
{
formatex(temp, 63, "\r%L^n", id, "CSGOR_JP_ALREADY_PLAY");
szItem[0] = 0;
menu_additem(menu, temp, szItem, 0, -1);
}
else
{
formatex(temp, 63, "\r%L^n", id, "CSGOR_JP_PLAY");
szItem[0] = 2;
menu_additem(menu, temp, szItem, 0, -1);
}
new Timer[32];
_FormatTime(Timer, 31, g_iJackpotClose);
formatex(temp, 63, "\w%L", id, "CSGOR_TOMB_TIMER", Timer);
szItem[0] = 0;
menu_additem(menu, temp, szItem, 0, -1);
_DisplayMenu(id, menu);
return 0;
}
public jackpot_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowGamesMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy;
new index;
menu_item_getinfo(menu, item, dummy, itemdata, 1, {0}, 0, dummy);
index = itemdata[0];
if (!g_bJackpotWork)
{
_ShowGamesMenu(id);
return _MenuExit(menu);
}
switch (index)
{
case 0:
{
_ShowJackpotMenu(id);
}
case 1:
{
if (g_bUserPlayJackpot[id])
{
_ShowJackpotMenu(id);
}
else
{
_SelectJackpotSkin(id);
}
}
case 2:
{
new skin = g_iUserJackpotItem[id];
if (!_IsGoodItem(skin))
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_SKINS");
_ShowJackpotMenu(id);
}
else
{
if (!_UserHasItem(id, skin))
{
client_print_color(id, id, "^4%s^1 %L", "[Anus]", id, "CSGOR_NOT_ENOUGH_ITEMS");
g_iUserJackpotItem[id] = -1;
}
g_bUserPlayJackpot[id] = 1;
g_iUserSkins[id][skin]--;
ArrayPushCell(g_aJackpotSkins, skin);
ArrayPushCell(g_aJackpotUsers, id);
new szItem[32];
_GetItemName(skin, szItem, 31);
client_print_color(0, 0, "^4%s %L", "[Anus]", -1, "CSGOR_JP_JOIN", g_szName[id], szItem);
}
}
default:
{
}
}
return _MenuExit(menu);
}
_SelectJackpotSkin(id)
{
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[Anus]", id, "CSGOR_SKINS");
new menu = menu_create(temp, "jp_skins_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new szSkin[32];
new num;
new type[2];
new total;
new i;
while (i < g_iSkinsNum)
{
num = g_iUserSkins[id][i];
if (0 < num)
{
ArrayGetString(g_aSkinName, i, szSkin, 31);
ArrayGetString(g_aSkinType, i, type, 1);
new applied[64];
switch (type[0])
{
case 99:
{
applied = "#";
}
default:
{
applied = "";
}
}
formatex(temp, 63, "\r%s \w| \y%L \r%s", szSkin, id, "CSGOR_SM_PIECES", num, applied);
szItem[0] = i;
menu_additem(menu, temp, szItem, 0, -1);
total++;
}
i++;
}
if (!total)
{
formatex(temp, 63, "\r%L", id, "CSGOR_SM_NO_SKINS");
szItem[0] = -10;
menu_additem(menu, temp, szItem, 0, -1);
}
_DisplayMenu(id, menu);
return 0;
}
public jp_skins_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowJackpotMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy;
new index;
menu_item_getinfo(menu, item, dummy, itemdata, 1, {0}, 0, dummy);
index = itemdata[0];
if (index == -10)
{
_ShowGamesMenu(id);
return _MenuExit(menu);
}
g_iUserJackpotItem[id] = index;
_ShowJackpotMenu(id);
return _MenuExit(menu);
}
public task_Jackpot(task)
{
if (!g_bJackpotWork)
{
return 0;
}
new id;
new size = ArraySize(g_aJackpotUsers);
if (1 > size)
{
client_print_color(0, 0, "^4%s %L", "[Anus]", -1, "CSGOR_JP_NO_ONE");
_ClearJackpot();
return 0;
}
if (2 > size)
{
client_print_color(0, 0, "^4%s %L", "[Anus]", -1, "CSGOR_JP_ONLY_ONE");
new id;
new k;
id = ArrayGetCell(g_aJackpotUsers, 0);
if (0 < id && 32 >= id || !is_user_connected(id))
{
k = ArrayGetCell(g_aJackpotSkins, 0);
g_iUserSkins[id][k]++;
}
_ClearJackpot();
return 0;
}
new bool:succes;
new random;
new run;
do {
random = random_num(0, size + -1);
id = ArrayGetCell(g_aJackpotUsers, random);
if (0 < id && 32 >= id || !is_user_connected(id))
{
succes = true;
new i;
new j;
new k;
i = ArraySize(g_aJackpotSkins);
j = 0;
while (j < i)
{
k = ArrayGetCell(g_aJackpotSkins, j);
g_iUserSkins[id][k]++;
j++;
}
_SaveData(id);
client_print_color(0, 0, "^4%s %L", "[Anus]", -1, "CSGOR_JP_WINNER", g_szName[id]);
}
else
{
ArrayDeleteItem(g_aJackpotUsers, random);
size--;
}
if (!(!succes && size > 0))
{
_ClearJackpot();
return 0;
}
} while (run);
_ClearJackpot();
return 0;
}
_ClearJackpot()
{
ArrayClear(g_aJackpotSkins);
ArrayClear(g_aJackpotUsers);
arrayset(g_bUserPlayJackpot, 0, 33);
g_bJackpotWork = false;
client_print_color(0, 0, "^4%s^1 %L", "[Anus]", -1, "CSGOR_JP_NEXT");
return 0;
}
public ev_DeathMsg()
{
new killer = read_data(1);
new victim = read_data(2);
new head = read_data(3);
new szWeapon[24];
read_data(4, szWeapon, 23);
if (victim == killer)
{
return 0;
}
new assist = g_iMostDamage[victim];
if (is_user_connected(assist) && assist != killer && cs_get_user_team(assist) == cs_get_user_team(killer))
{
_GiveBonus(assist, 0);
new kName[32];
new szName1[32];
new szName2[32];
new iName1Len = strlen(g_szName[killer]);
new iName2Len = strlen(g_szName[assist]);
if (iName1Len < 14)
{
formatex(szName1, iName1Len, "%s", g_szName[killer]);
formatex(szName2, 28 - iName1Len, "%s", g_szName[assist]);
}
else
{
if (iName2Len < 14)
{
formatex(szName1, 28 - iName2Len, "%s", g_szName[killer]);
formatex(szName2, iName2Len, "%s", g_szName[assist]);
}
formatex(szName1, 13, "%s", g_szName[killer]);
formatex(szName2, 13, "%s", g_szName[assist]);
}
formatex(kName, 31, "%s + %s", szName1, szName2);
set_msg_block(g_Msg_SayText, 1);
g_IsChangeAllowed[killer] = true;
set_user_info(killer, "name", kName);
new szWeaponLong[24];
if (equali(szWeapon, "grenade", 0))
{
formatex(szWeaponLong, 23, "%s", "weapon_hegrenade");
}
else
{
formatex(szWeaponLong, 23, "weapon_%s", szWeapon);
}
new args[4];
args[0] = killer;
args[1] = victim;
args[2] = head;
args[3] = get_weaponid(szWeaponLong);
set_task(0.10, "task_Send_DeathMsg", killer + 3000, args, 4, "", 0);
}
else
{
_Send_DeathMsg(killer, victim, head, szWeapon);
}
if (equal(szWeapon, "knife", 0))
{
cs_set_user_money(killer, min(cs_get_user_money(killer) + 1000, 16000), 1);
client_print_color(0, killer, "^4%s^1 %L", "[Anus]", -1, "CSGOR_KNIFE_KILL", g_szName[killer], 1000);
}
g_iDigit[killer]++;
_SetKillsIcon(killer, 0);
g_iRoundKills[killer]++;
if (!g_bLogged[killer])
{
client_print_color(killer, killer, "^4%s^1 %L", "[Anus]", killer, "CSGOR_REGISTER");
return 0;
}
g_iUserKills[killer]++;
_SaveData(killer);
new bool:levelup;
if (g_iRanksNum + -1 > g_iUserRank[killer])
{
if (ArrayGetCell(g_aRankKills, g_iUserRank[killer] + 1) <= g_iUserKills[killer] < ArrayGetCell(g_aRankKills, g_iUserRank[killer] + 2))
{
g_iUserRank[killer]++;
_SaveData(killer);
levelup = true;
new szRank[32];
ArrayGetString(g_aRankName, g_iUserRank[killer], szRank, 31);
client_print_color(0, killer, "^4%s^1 %L", "[Anus]", -1, "CSGOR_LEVELUP_ALL", g_szName[killer], szRank);
}
}
new rpoints;
new rchance;
if (head)
{
rpoints = random_num(g_iHMinPoints, g_iHMaxPoints);
rchance = random_num(g_iHMinChance, g_iHMaxChance);
}
else
{
rpoints = random_num(g_iKMinPoints, g_iKMaxPoints);
rchance = random_num(g_iKMinChance, g_iKMaxChance);
}
g_iUserPoints[killer] += rpoints;
_SaveData(killer);
set_hudmessage(255, 255, 255, -1.00, 0.20, 0, 6.00, 2.00, 0.00, 0.00, -1);
show_hudmessage(killer, "%L", killer, "CSGOR_REWARD_POINTS", rpoints);
if (rchance > g_iDropChance)
{
new r;
if (0 < g_iDropType)
{
r = 1;
}
else
{
r = random_num(1, 2);
}
switch (r)
{
case 1:
{
g_iUserCases[killer]++;
_SaveData(killer);
if (0 < g_iDropType)
{
client_print_color(killer, killer, "^4%s^1 %L", "[Anus]", -1, "CSGOR_REWARD_CASE2");
}
else
{
client_print_color(killer, killer, "^4%s^1 %L", "[Anus]", -1, "CSGOR_REWARD_CASE");
}
}
case 2:
{
g_iUserKeys[killer]++;
_SaveData(killer);
client_print_color(killer, killer, "^4%s %L", "[Anus]", -1, "CSGOR_REWARD_KEY");
}
default:
{
}
}
}
if (levelup)
{
new szBonus[16];
get_pcvar_string(c_RankUpBonus, szBonus, 15);
new keys;
new cases;
new points;
new i;
while (szBonus[i] != 124 && 16 > i)
{
switch (szBonus[i])
{
case 99:
{
cases++;
}
case 107:
{
keys++;
}
default:
{
}
}
i++;
}
new temp[8];
strtok(szBonus, temp, 7, szBonus, 15, 124, 0);
if (szBonus[0])
{
points = str_to_num(szBonus);
}
if (0 < keys)
{
g_iUserKeys[killer] += keys;
}
if (0 < cases)
{
g_iUserCases[killer] += cases;
}
if (0 < points)
{
g_iUserPoints[killer] += points;
}
_SaveData(killer);
client_print_color(killer, killer, "^4%s^1 %L", "[Anus]", killer, "CSGOR_RANKUP_BONUS", keys, cases, points);
}
return 0;
}
public ev_Damage(id)
{
if (!(id && id <= g_iMaxPlayers))
{
return 0;
}
static att;
att = get_user_attacker(id);
if (!(0 < att && att <= g_iMaxPlayers))
{
return 0;
}
static damage;
damage = read_data(2);
g_iDealDamage[att] += damage;
g_iDamage[id][att] += damage;
new topDamager = g_iMostDamage[id];
if (g_iDamage[id][topDamager] < g_iDamage[id][att])
{
g_iMostDamage[id] = att;
}
return 0;
}
public task_Send_DeathMsg(arg[], task)
{
new killer = task + -3000;
new victim = arg[1];
new head = arg[2];
new weapon = arg[3];
new szWeapon[24];
get_weaponname(weapon, szWeapon, 23);
if (weapon == 4)
{
replace(szWeapon, 23, "weapon_he", "");
}
else
{
replace(szWeapon, 23, "weapon_", "");
}
_Send_DeathMsg(killer, victim, head, szWeapon);
set_msg_block(g_Msg_SayText, 1);
set_user_info(killer, "name", g_szName[killer]);
set_task(0.10, "task_Reset_AmxMode", killer + 4000, "", 0, "", 0);
return 0;
}
_Send_DeathMsg(killer, victim, hs, weapon[])
{
message_begin(MSG_ALL, g_Msg_DeathMsg, {0,0,0}, 0);
write_byte(killer);
write_byte(victim);
write_byte(hs);
write_string(weapon);
message_end();
return 0;
}
public Message_DeathMsg(msgId, msgDest, msgEnt)
{
return 1;
}
public task_Reset_AmxMode(task)
{
new id = task - 4000;
g_IsChangeAllowed[id] = false;
return 0;
}
public concmd_givepoints(id, level, cid)
{
if (!cmd_access(id, level, cid, 3, false))
{
return 1;
}
new arg1[32];
new arg2[16];
read_argv(1, arg1, 31);
read_argv(2, arg2, 15);
new target;
if (arg1[0] == 64)
{
_GiveToAll(id, arg1, arg2, 0);
return 1;
}
target = cmd_target(id, arg1, 3);
if (!target)
{
console_print(id, "%s %L", "[Anus]", id, "CSGOR_T_NOT_FOUND", arg1);
return 1;
}
new amount = str_to_num(arg2);
if (0 > amount)
{
g_iUserPoints[target] += amount;
if (0 > g_iUserPoints[target])
{
g_iUserPoints[target] = 0;
}
console_print(id, "%s %L %L", "[Anus]", id, "CSGOR_SUBSTRACT", arg1, amount, id, "CSGOR_POINTS");
client_print_color(target, id, "^4%s^1 %L %L", "[Anus]", target, "CSGOR_ADMIN_SUB_YOU", g_szName[id], amount, target, "CSGOR_POINTS");
}
else
{
if (0 < amount)
{
g_iUserPoints[target] += amount;
console_print(id, "[Anus] You gave %s %d points", arg1, amount);
client_print_color(target, id, "^4%s^1 %L %L", "[Anus]", target, "CSGOR_ADMIN_ADD_YOU", g_szName[id], amount, target, "CSGOR_POINTS");
}
return 1;
}
_SaveData(target);
return 1;
}
public concmd_givecases(id, level, cid)
{
if (!cmd_access(id, level, cid, 3, false))
{
return 1;
}
new arg1[32];
new arg2[16];
read_argv(1, arg1, 31);
read_argv(2, arg2, 15);
new target;
if (arg1[0] == 64)
{
_GiveToAll(id, arg1, arg2, 1);
return 1;
}
target = cmd_target(id, arg1, 3);
if (!target)
{
console_print(id, "%s %L", "[Anus]", id, "CSGOR_T_NOT_FOUND", arg1);
return 1;
}
new amount = str_to_num(arg2);
if (0 > amount)
{
g_iUserCases[target] -= amount;
if (0 > g_iUserCases[target])
{
g_iUserCases[target] = 0;
}
console_print(id, "%s %L %L", "[Anus]", id, "CSGOR_SUBSTRACT", arg1, amount, id, "CSGOR_CASES");
client_print_color(target, id, "^4%s^1 %L %L", "[Anus]", target, "CSGOR_ADMIN_SUB_YOU", g_szName[id], amount, target, "CSGOR_CASES");
}
else
{
if (0 < amount)
{
g_iUserCases[target] += amount;
console_print(id, "%s %L %L", "[Anus]", id, "CSGOR_ADD", arg1, amount, id, "CSGOR_CASES");
client_print_color(target, id, "^4%s^1 %L %L", "[Anus]", target, "CSGOR_ADMIN_ADD_YOU", g_szName[id], amount, target, "CSGOR_CASES");
}
return 1;
}
_SaveData(target);
return 1;
}
public concmd_givekeys(id, level, cid)
{
if (!cmd_access(id, level, cid, 3, false))
{
return 1;
}
new arg1[32];
new arg2[16];
read_argv(1, arg1, 31);
read_argv(2, arg2, 15);
new target;
if (arg1[0] == 64)
{
_GiveToAll(id, arg1, arg2, 2);
return 1;
}
target = cmd_target(id, arg1, 3);
if (!target)
{
console_print(id, "%s %L", "[Anus]", id, "CSGOR_T_NOT_FOUND", arg1);
return 1;
}
new amount = str_to_num(arg2);
if (0 > amount)
{
g_iUserKeys[target] -= amount;
if (0 > g_iUserKeys[target])
{
g_iUserKeys[target] = 0;
}
console_print(id, "%s %L %L", "[Anus]", id, "CSGOR_SUBSTRACT", arg1, amount, id, "CSGOR_KEYS");
client_print_color(target, id, "^4%s^1 %L %L", "[Anus]", target, "CSGOR_ADMIN_SUB_YOU", g_szName[id], amount, target, "CSGOR_KEYS");
}
else
{
if (0 < amount)
{
g_iUserKeys[target] += amount;
console_print(id, "%s %L %L", "[Anus]", id, "CSGOR_ADD", arg1, amount, id, "CSGOR_KEYS");
client_print_color(target, id, "^4%s^1 %L %L", "[Anus]", target, "CSGOR_ADMIN_ADD_YOU", g_szName[id], amount, target, "CSGOR_KEYS");
}
return 1;
}
_SaveData(target);
return 1;
}
public concmd_givedusts(id, level, cid)
{
if (!cmd_access(id, level, cid, 3, false))
{
return 1;
}
new arg1[32];
new arg2[16];
read_argv(1, arg1, 31);
read_argv(2, arg2, 15);
new target;
if (arg1[0] == 64)
{
_GiveToAll(id, arg1, arg2, 3);
return 1;
}
target = cmd_target(id, arg1, 3);
if (!target)
{
console_print(id, "%s %L", "[Anus]", id, "CSGOR_T_NOT_FOUND", arg1);
return 1;
}
new amount = str_to_num(arg2);
if (0 > amount)
{
g_iUserDusts[target] -= amount;
if (0 > g_iUserDusts[target])
{
g_iUserDusts[target] = 0;
}
console_print(id, "%s %L %L", "[Anus]", id, "CSGOR_SUBSTRACT", arg1, amount, id, "CSGOR_DUSTS");
client_print_color(target, id, "^4%s^1 %L %L", "[Anus]", target, "CSGOR_ADMIN_SUB_YOU", g_szName[id], amount, target, "CSGOR_DUSTS");
}
else
{
if (0 < amount)
{
g_iUserDusts[target] += amount;
console_print(id, "%s %L %L", "[Anus]", id, "CSGOR_ADD", arg1, amount, id, "CSGOR_DUSTS");
client_print_color(target, id, "^4%s^1 %L %L", "[Anus]", target, "CSGOR_ADMIN_ADD_YOU", g_szName[id], amount, target, "CSGOR_DUSTS");
}
return 1;
}
_SaveData(target);
return 1;
}
_GiveToAll(id, arg1[], arg2[], type)
{
new Pl[32];
new n;
new target;
new amount = str_to_num(arg2);
if (amount)
{
switch (arg1[1])
{
case 65, 97:
{
get_players(Pl, n, "h", "");
}
case 67, 99:
{
get_players(Pl, n, "eh", "CT");
}
case 84, 116:
{
get_players(Pl, n, "eh", "TERRORIST");
}
default:
{
}
}
if (n)
{
switch (type)
{
case 0:
{
new i;
while (i < n)
{
target = Pl[i];
if (g_bLogged[target])
{
if (0 > amount)
{
g_iUserPoints[target] -= amount;
if (0 > g_iUserPoints[target])
{
g_iUserPoints[target] = 0;
}
client_print_color(target, id, "^4%s^1 %L %L", "[Anus]", target, "CSGOR_ADMIN_SUB_YOU", g_szName[id], amount, target, "CSGOR_POINTS");
}
else
{
g_iUserPoints[target] += amount;
client_print_color(target, id, "^4%s^1 %L %L", "[Anus]", target, "CSGOR_ADMIN_ADD_YOU", g_szName[id], amount, target, "CSGOR_POINTS");
}
}
i++;
}
new temp[64];
if (0 < amount)
{
if (amount == 1)
{
formatex(temp, 63, "You gave 1 point to players !", id);
}
else
{
formatex(temp, 63, "You gave %d points to players !", amount);
}
console_print(id, "%s %s", "[Anus]", temp);
}
else
{
if (amount == -1)
{
formatex(temp, 63, "You got 1 point from players !", id);
}
else
{
formatex(temp, 63, "You got %d points from players !", amount *= -1);
}
console_print(id, "%s %s", "[Anus]", temp);
}
}
case 1:
{
new i;
while (i < n)
{
target = Pl[i];
if (g_bLogged[target])
{
if (0 > amount)
{
g_iUserCases[target] -= amount;
if (0 > g_iUserCases[target])
{
g_iUserCases[target] = 0;
}
client_print_color(target, id, "^4%s^1 %L %L", "[Anus]", target, "CSGOR_ADMIN_SUB_YOU", g_szName[id], amount, target, "CSGOR_CASES");
}
else
{
g_iUserCases[target] += amount;
client_print_color(target, id, "^4%s^1 %L %L", "[Anus]", target, "CSGOR_ADMIN_ADD_YOU", g_szName[id], amount, target, "CSGOR_CASES");
}
}
i++;
}
new temp[64];
if (0 < amount)
{
if (amount == 1)
{
formatex(temp, 63, "You gave 1 case to players !", id);
}
else
{
formatex(temp, 63, "You gave %d cases to players !", amount);
}
console_print(id, "%s %s", "[Anus]", temp);
}
else
{
if (amount == -1)
{
formatex(temp, 63, "You got 1 case from players !", id);
}
else
{
formatex(temp, 63, "You got %d cases from players !", amount *= -1);
}
console_print(id, "%s %s", "[Anus]", temp);
}
}
case 2:
{
new i;
while (i < n)
{
target = Pl[i];
if (g_bLogged[target])
{
if (0 > amount)
{
g_iUserKeys[target] -= amount;
if (0 > g_iUserKeys[target])
{
g_iUserKeys[target] = 0;
}
client_print_color(target, id, "^4%s^1 %L %L", "[Anus]", target, "CSGOR_ADMIN_SUB_YOU", g_szName[id], amount, target, "CSGOR_KEYS");
}
else
{
g_iUserKeys[target] += amount;
client_print_color(target, id, "^4%s^1 %L %L", "[Anus]", target, "CSGOR_ADMIN_ADD_YOU", g_szName[id], amount, target, "CSGOR_KEYS");
}
}
i++;
}
new temp[64];
if (0 < amount)
{
if (amount == 1)
{
formatex(temp, 63, "You gave 1 key to players !", id);
}
else
{
formatex(temp, 63, "You gave %d keys to players !", amount);
}
console_print(id, "%s %s", "[Anus]", temp);
}
else
{
if (amount == -1)
{
formatex(temp, 63, "You got 1 key from players !", id);
}
else
{
formatex(temp, 63, "You got %d keys from players !", amount *= -1);
}
console_print(id, "%s %s", "[Anus]", temp);
}
}
case 3:
{
new i;
while (i < n)
{
target = Pl[i];
if (g_bLogged[target])
{
if (0 > amount)
{
g_iUserDusts[target] -= amount;
if (0 > g_iUserDusts[target])
{
g_iUserDusts[target] = 0;
}
client_print_color(target, id, "^4%s^1 %L %L", "[Anus]", target, "CSGOR_ADMIN_SUB_YOU", g_szName[id], amount, target, "CSGOR_DUSTS");
}
else
{
g_iUserDusts[target] += amount;
client_print_color(target, id, "^4%s^1 %L %L", "[Anus]", target, "CSGOR_ADMIN_ADD_YOU", g_szName[id], amount, target, "CSGOR_DUSTS");
}
}
i++;
}
new temp[64];
if (0 < amount)
{
if (amount == 1)
{
formatex(temp, 63, "You gave 1 dust to players !", id);
}
else
{
formatex(temp, 63, "You gave %d dusts to players !", amount);
}
console_print(id, "%s %s", "[Anus]", temp);
}
else
{
if (amount == -1)
{
formatex(temp, 63, "You got 1 dust from players !", id);
}
else
{
formatex(temp, 63, "You got %d dusts from players !", amount *= -1);
}
console_print(id, "%s %s", "[Anus]", temp);
}
}
default:
{
}
}
}
else
{
console_print(id, "%s No players found in the chosen category: %s", "[Anus]", arg1);
}
return 0;
}
console_print(id, "%s <Amount> It must not be 0 (zero)!", "[Anus]");
return 0;
}
public concmd_setrank(id, level, cid)
{
if (!cmd_access(id, level, cid, 3, false))
{
return 1;
}
new arg1[32];
new arg2[8];
read_argv(1, arg1, 31);
read_argv(2, arg2, 7);
new target = cmd_target(id, arg1, 3);
if (!target)
{
console_print(id, "%s %L", "[Anus]", id, "CSGOR_T_NOT_FOUND", arg1);
return 1;
}
new rank = str_to_num(arg2);
if (rank < 0 || rank >= g_iRanksNum)
{
console_print(id, "%s %L", "[Anus]", id, "CSGOR_INVALID_RANKID", g_iRanksNum + -1);
return 1;
}
g_iUserRank[target] = rank;
if (rank)
{
g_iUserKills[target] = ArrayGetCell(g_aRankKills, rank + -1);
}
else
{
g_iUserKills[target] = 0;
}
_SaveData(target);
new szRank[32];
ArrayGetString(g_aRankName, g_iUserRank[target], szRank, 31);
console_print(id, "%s %L", "[Anus]", id, "CSGOR_SET_RANK", arg1, szRank);
client_print_color(target, id, "^4%s^1 %L", "[Anus]", target, "CSGOR_ADMIN_SET_RANK", g_szName[id], szRank);
return 1;
}
public concmd_giveskins(id, level, cid)
{
if (!cmd_access(id, level, cid, 4, false))
{
return 1;
}
new arg1[32];
new arg2[8];
new arg3[16];
read_argv(1, arg1, 31);
read_argv(2, arg2, 7);
read_argv(3, arg3, 15);
new target = cmd_target(id, arg1, 3);
if (!target)
{
console_print(id, "%s %L", "[Anus]", id, "CSGOR_T_NOT_FOUND", arg1);
return 1;
}
new skin = str_to_num(arg2);
if (skin < 0 || skin >= g_iSkinsNum)
{
console_print(id, "%s %L", "[Anus]", id, "CSGOR_INVALID_SKINID", g_iSkinsNum + -1);
return 1;
}
new amount = str_to_num(arg3);
new szSkin[32];
ArrayGetString(g_aSkinName, skin, szSkin, 31);
if (0 > amount)
{
g_iUserSkins[target][skin] -= amount;
if (0 > g_iUserSkins[target][skin])
{
g_iUserSkins[target][skin] = 0;
}
console_print(id, "%s %L x %s", "[Anus]", id, "CSGOR_SUBSTRACT", arg1, amount, szSkin);
client_print_color(target, id, "^4%s^1 %L x ^3%s", "[Anus]", target, "CSGOR_ADMIN_SUB_YOU", g_szName[id], amount, szSkin);
}
else
{
if (0 < amount)
{
g_iUserSkins[target][skin] += amount;
console_print(id, "%s %L x %s", "[Anus]", id, "CSGOR_ADD", arg1, amount, szSkin);
client_print_color(target, id, "^4%s^1 %L x ^3%s", "[Anus]", target, "CSGOR_ADMIN_ADD_YOU", g_szName[id], amount, szSkin);
}
return 1;
}
_SaveData(target);
return 1;
}
public native_get_user_points(iPluginID, iParamNum)
{
if (iParamNum != 1)
{
log_error(10, "[Anus] Invalid param num ! Valid: (PlayerID)");
return -1;
}
new id = get_param(1);
if (!(0 < id && 32 >= id || !is_user_connected(id)))
{
log_error(10, "[Anus] Player is not connected (%d)", id);
return -1;
}
return g_iUserPoints[id];
}
public native_set_user_points(iPluginID, iParamNum)
{
if (iParamNum != 2)
{
log_error(10, "[Anus] Invalid param num ! Valid: (PlayerID, Amount)");
return 0;
}
new id = get_param(1);
if (!(0 < id && 32 >= id || !is_user_connected(id)))
{
log_error(10, "[Anus] Player is not connected (%d)", id);
return 0;
}
new amount = get_param(2);
if (0 > amount)
{
log_error(10, "[Anus] Invalid amount value (%d)", amount);
return 0;
}
g_iUserPoints[id] = amount;
_SaveData(id);
return 1;
}
public native_get_user_cases(iPluginID, iParamNum)
{
if (iParamNum != 1)
{
log_error(10, "[Anus] Invalid param num ! Valid: (PlayerID)");
return -1;
}
new id = get_param(1);
if (!(0 < id && 32 >= id || !is_user_connected(id)))
{
log_error(10, "[Anus] Player is not connected (%d)", id);
return -1;
}
return g_iUserCases[id];
}
public native_set_user_cases(iPluginID, iParamNum)
{
if (iParamNum != 2)
{
log_error(10, "[Anus] Invalid param num ! Valid: (PlayerID, Amount)");
return 0;
}
new id = get_param(1);
if (!(0 < id && 32 >= id || !is_user_connected(id)))
{
log_error(10, "[Anus] Player is not connected (%d)", id);
return 0;
}
new amount = get_param(2);
if (0 > amount)
{
log_error(10, "[Anus] Invalid amount value (%d)", amount);
return 0;
}
g_iUserCases[id] = amount;
_SaveData(id);
return 1;
}
public native_get_user_keys(iPluginID, iParamNum)
{
if (iParamNum != 1)
{
log_error(10, "[Anus] Invalid param num ! Valid: (PlayerID)");
return -1;
}
new id = get_param(1);
if (!(0 < id && 32 >= id || !is_user_connected(id)))
{
log_error(10, "[Anus] Player is not connected (%d)", id);
return -1;
}
return g_iUserKeys[id];
}
public native_set_user_keys(iPluginID, iParamNum)
{
if (iParamNum != 2)
{
log_error(10, "[Anus] Invalid param num ! Valid: (PlayerID, Amount)");
return 0;
}
new id = get_param(1);
if (!(0 < id && 32 >= id || !is_user_connected(id)))
{
log_error(10, "[Anus] Player is not connected (%d)", id);
return 0;
}
new amount = get_param(2);
if (0 > amount)
{
log_error(10, "[Anus] Invalid amount value (%d)", amount);
return 0;
}
g_iUserKeys[id] = amount;
_SaveData(id);
return 1;
}
public native_get_user_dusts(iPluginID, iParamNum)
{
if (iParamNum != 1)
{
log_error(10, "[Anus] Invalid param num ! Valid: (PlayerID)");
return -1;
}
new id = get_param(1);
if (!(0 < id && 32 >= id || !is_user_connected(id)))
{
log_error(10, "[Anus] Player is not connected (%d)", id);
return -1;
}
return g_iUserDusts[id];
}
public native_set_user_dusts(iPluginID, iParamNum)
{
if (iParamNum != 2)
{
log_error(10, "[Anus] Invalid param num ! Valid: (PlayerID, Amount)");
return 0;
}
new id = get_param(1);
if (!(0 < id && 32 >= id || !is_user_connected(id)))
{
log_error(10, "[Anus] Player is not connected (%d)", id);
return 0;
}
new amount = get_param(2);
if (0 > amount)
{
log_error(10, "[Anus] Invalid amount value (%d)", amount);
return 0;
}
g_iUserDusts[id] = amount;
_SaveData(id);
return 1;
}
public native_get_user_rank(iPluginID, iParamNum)
{
if (iParamNum != 3)
{
log_error(10, "[Anus] Invalid param num ! Valid: (PlayerID, Output, Len)");
return -1;
}
new id = get_param(1);
if (!(0 < id && 32 >= id || !is_user_connected(id)))
{
log_error(10, "[Anus] Player is not connected (%d)", id);
return -1;
}
new rank = g_iUserRank[id];
new szRank[32];
ArrayGetString(g_aRankName, rank, szRank, 31);
new len = get_param(3);
set_string(2, szRank, len);
return rank;
}
public native_set_user_rank(iPluginID, iParamNum)
{
if (iParamNum != 2)
{
log_error(10, "[Anus] Invalid param num ! Valid: (PlayerID, RankID)");
return 0;
}
new id = get_param(1);
if (!(0 < id && 32 >= id || !is_user_connected(id)))
{
log_error(10, "[Anus] Player is not connected (%d)", id);
return 0;
}
new rank = get_param(2);
if (rank < 0 || rank >= g_iRanksNum)
{
log_error(10, "[Anus] Invalid RankID (%d)", rank);
return 0;
}
g_iUserRank[id] = rank;
g_iUserKills[id] = ArrayGetCell(g_aRankKills, rank + -1);
_SaveData(id);
return 1;
}
public native_get_user_skins(iPluginID, iParamNum)
{
if (iParamNum != 2)
{
log_error(10, "[Anus] Invalid param num ! Valid: (PlayerID, SkinID)");
return -1;
}
new id = get_param(1);
if (!(0 < id && 32 >= id || !is_user_connected(id)))
{
log_error(10, "[Anus] Player is not connected (%d)", id);
return -1;
}
new skin = get_param(2);
if (skin < 0 || skin >= g_iSkinsNum)
{
log_error(10, "[Anus] Invalid SkinID (%d)", skin);
return -1;
}
new amount = g_iUserSkins[id][skin];
return amount;
}
public native_set_user_skins(iPluginID, iParamNum)
{
if (iParamNum != 3)
{
log_error(10, "[Anus] Invalid param num ! Valid: (PlayerID, SkinID, Amount)");
return 0;
}
new id = get_param(1);
if (!(0 < id && 32 >= id || !is_user_connected(id)))
{
log_error(10, "[Anus] Player is not connected (%d)", id);
return 0;
}
new skin = get_param(2);
if (skin < 0 || skin >= g_iSkinsNum)
{
log_error(10, "[Anus] Invalid SkinID (%d)", skin);
return 0;
}
new amount = get_param(3);
if (0 > amount)
{
log_error(10, "[Anus] Invalid amount value (%d)", amount);
return 0;
}
g_iUserSkins[id][skin] = amount;
_SaveData(id);
return 1;
}
public native_is_user_logged(iPluginID, iParamNum)
{
if (iParamNum != 1)
{
log_error(10, "[Anus] Invalid param num ! Valid: (PlayerID)");
return 0;
}
new id = get_param(1);
if (!(0 < id && 32 >= id || !is_user_connected(id)))
{
log_error(10, "[Anus] Player is not connected (%d)", id);
return 0;
}
return g_bLogged[id];
}
public concmd_finddata(id, level, cid)
{
if (!cmd_access(id, level, cid, 2, false))
{
return 1;
}
new arg1[32];
read_argv(1, arg1, 31);
if (g_Vault == -1)
{
console_print(id, "%s Reading from vault has failed !", "[Anus]");
return 1;
}
new Data[64];
new Timestamp;
if (nvault_lookup(g_Vault, arg1, Data, 63, Timestamp))
{
new userData[6][16];
new password[16];
new buffer[48];
strtok(Data, password, 15, Data, 63, 61, 0);
strtok(Data, buffer, 47, Data, 63, 42, 0);
new i;
while (i < 6)
{
strtok(buffer, userData[i], 15, buffer, 47, 44, 0);
i++;
}
new rank = str_to_num(userData[5]);
new szRank[32];
ArrayGetString(g_aRankName, rank, szRank, 31);
console_print(id, "[Anus]", arg1, password);
console_print(id, "%s Points: %s | Rank: %s", "[Anus]", userData[0], szRank);
console_print(id, "%s Keys: %s | Cases: %s", "[Anus]", userData[2], userData[3]);
console_print(id, "%s Dusts: %s | Kills: %s", "[Anus]", userData[1], userData[4]);
}
else
{
console_print(id, "%s The account was not found: %s", "[Anus]", arg1);
}
return 1;
}
public concmd_resetdata(id, level, cid)
{
if (!cmd_access(id, level, cid, 3, false))
{
return 1;
}
new arg1[32];
new arg2[4];
read_argv(1, arg1, 31);
read_argv(2, arg2, 3);
new type = str_to_num(arg2);
if (g_Vault == -1)
{
console_print(id, "%s Reading from vault has failed !", "[Anus]");
return 1;
}
new Data[512];
new Timestamp;
if (nvault_lookup(g_Vault, arg1, Data, 511, Timestamp))
{
if (0 < type)
{
nvault_remove(g_Vault, arg1);
console_print(id, "%s The account has been removed: %s", "[Anus]", arg1);
return 1;
}
new infobuff[64];
new weapbuff[320];
new skinbuff[96];
new password[16];
strtok(Data, password, 15, Data, 511, 61, 0);
formatex(infobuff, 63, "%s=%d,%d,%d,%d,%d,%d", password, 0, 0, 0, 0, 0, 0);
formatex(weapbuff, 319, "%d", 0);
new i = 1;
while (i < 96)
{
format(weapbuff, 319, "%s,%d", weapbuff, 0);
i++;
}
formatex(skinbuff, 95, "%d", -1);
i = 2;
while (i <= 30)
{
format(skinbuff, 95, "%s,%d", skinbuff, -1);
i++;
}
formatex(Data, 511, "%s*%s#%s", infobuff, weapbuff, skinbuff);
nvault_set(g_Vault, arg1, Data);
console_print(id, "%s The account has been reseted: %s", "[Anus]", arg1);
}
else
{
console_print(id, "%s The account was not found: %s", "[Anus]", arg1);
}
return 1;
}
public concmd_getinfo(id, level, cid)
{
if (!cmd_access(id, level, cid, 3, false))
{
return 1;
}
new arg1[8];
new arg2[8];
read_argv(1, arg1, 7);
read_argv(2, arg2, 7);
new num = str_to_num(arg2);
switch (arg1[0])
{
case 82, 114:
{
if (num < 0 || num >= g_iRanksNum)
{
console_print(id, "%s Wrong index. Please choose a number between 0 and %d.", "[Anus]", g_iRanksNum + -1);
}
else
{
new Name[32];
ArrayGetString(g_aRankName, num, Name, 31);
new Kills = ArrayGetCell(g_aRankKills, num);
console_print(id, "%s Information about RANK with index: %d", "[Anus]", num);
console_print(id, "%s Name: %s | Required kills: %d", "[Anus]", Name, Kills);
}
}
case 83, 115:
{
if (num < 0 || num >= g_iSkinsNum)
{
console_print(id, "%s Wrong index. Please choose a number between 0 and %d.", "[Anus]", g_iSkinsNum + -1);
}
else
{
new Name[32];
ArrayGetString(g_aSkinName, num, Name, 31);
new Type[8];
ArrayGetString(g_aSkinType, num, Type, 7);
console_print(id, "%s Information about SKIN with index: %d", "[Anus]", num);
switch (Type[0])
{
case 100:
{
console_print(id, "%s Name: %s | Type: drop", "[Anus]", Name);
}
default:
{
console_print(id, "%s Name: %s | Type: craft", "[Anus]", Name);
}
}
}
}
default:
{
console_print(id, "%s Wrong index. Please choose R or S.", "[Anus]");
}
}
return 1;
}
public concmd_kill(id)
{
console_print(id, "You can't commit suicide.");
return FMRES_SUPERCEDE;
}