Hi. I just found this plugin and i cant compile it because it has some errors. Can you fix it please? thx
Code:
#pragma semicolon 1
#pragma ctrlchar '\'
new TaskExecNum;
new g_Socket;
new g_SocketTimer;
new g_Vault;
new bool:g_bSkinHasModelP[96];
new g_iUserSkins[33][96];
new g_szDefaultSkinModel[31][48];
new g_szConfigFile[48];
new Array:g_aRangName;
new Array:g_aRangKills;
new g_iUserKills[33];
new g_iUserRang[33];
new g_iUserPoints[33];
new g_iUserDust[33];
new g_iUserKeys[33];
new g_iUserCase[33];
new g_iUserSelectedSkin[33][31];
new g_szUserSavedPass[33][16];
new g_szUserPassword[33][16];
new g_iUserPassFail[33];
new bool:g_bLogged[33];
new IsBOTorHLTV;
new g_IsChangeAllowed;
new g_IsConnected;
new g_IsAlive;
new g_IsTrue;
new Array:g_aSkinWeaponID;
new Array:g_aSkinName;
new Array:g_aSkinModel;
new Array:g_aSkinModelP;
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 g_iDropSkinNum;
new g_iCraftSkinNum;
new bool:g_bUserSell[33];
new g_iUserSellItem[33];
new g_iUserItemPrice[33];
new g_iLastPlace[33];
new g_iGiftTarget[33];
new g_iGiftItem[33];
new g_iMenuType[33];
new g_iTradeTarget[33];
new g_iTradeItem[33];
new g_iTradeRequest[33];
new bool:g_bTradeActive[33];
new bool:g_bTradeAccept[33];
new bool:g_bTradeSecond[33];
new g_MsgSync;
new g_iMaxPlayers;
new g_WarmUpSync;
new g_szName[33][32];
new g_iRangsNum;
new g_iSkinsNum;
new c_PruneDays;
new g_iPruneDays = 30;
new c_DropChance;
new g_iDropChance = 75;
new c_CraftCost;
new g_iCraftCost = 10;
new c_CaseMinCost;
new g_iCaseMinCost = 100;
new c_KeyMinCost;
new g_iKeyMinCost = 100;
new c_WaitForPlace;
new g_iWaitForPlace = 30;
new c_DustForTransform;
new g_iDustForTransform = 1;
new c_ShowHUD;
new g_iShowHUD;
new c_SqlAccount;
new g_iSqlAccount;
new c_TombolaCost;
new g_iTombolaCost = 50;
new c_TombolaTimer;
new g_iTombolaTimer = 120;
new c_DropType;
new g_iDropType = 1;
new c_KeyPrice;
new g_iKeyPrice = 250;
new g_iNextTombolaStart;
new g_iTombolaPlayers;
new g_iTombolaPrize;
new bool:g_bUserPlay[33];
new bool:g_bTombolaWork = 1;
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 c_AMinPoints;
new g_iAMinPoints;
new c_AMaxPoints;
new g_iAMaxPoints;
new c_MVPMinPoints;
new g_iMVPMinPoints;
new c_MVPMaxPoints;
new g_iMVPMaxPoints;
new c_Respawn;
new c_RespawnDelay;
new g_iRespawnDelay;
new c_CmdAccess;
new c_OverrideMenu;
new c_MVPMsgType;
new g_iMVPMsgType;
new c_Competitive;
new g_iCompetitive;
new bool:g_bTeamSwap;
new c_ShowDropCraft;
new g_iShowDropCraft;
new c_RouletteCost;
new g_iRouletteCost;
new bool:g_bRoulettePlay[33];
new p_Freezetime;
new g_iFreezetime;
new p_NextMap;
new p_StartMoney;
new g_iStartMoney;
new g_iRoundNum;
new c_WarmUpDuration;
new c_BestPoints;
new c_RangUpBonus;
new c_ReturnPercent;
new g_iReturnPercent;
new c_RouletteMin;
new g_iRouletteMin;
new c_RouletteMax;
new g_iRouletteMax;
new bool:g_bWarmUp;
new g_iTimer;
new p_AmxMode;
new g_iAmxMode = 1;
new p_Hostname;
new g_iMostDamage[33];
new g_iDamage[33][33];
new g_Msg_SayText;
new g_Msg_DeathMsg;
new g_Msg_StatusIcon;
new g_Msg_SendAudio;
new g_szTWin[16] =
{
109, 105, 115, 99, 47, 116, 119, 105, 110, 103, 111, 46, 119, 97, 118, 0
};
new g_szCTWin[17] =
{
109, 105, 115, 99, 47, 99, 116, 119, 105, 110, 103, 111, 46, 119, 97, 118, 0
};
new g_szNadeModels[3][] =
{
"models/w_he_csgor.mdl",
"models/w_fb_csgor.mdl",
"models/w_sg_csgor.mdl"
};
new g_iLastOpenCraft[33];
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_iForwards[3];
new g_iForwardResult;
new ShortThrow;
new GrenadeName[3][] =
{
"weapon_hegrenade",
"weapon_flashbang",
"weapon_smokegrenade"
};
new m_rgpPlayerItems_CWeaponBox[6] =
{
34, 35, 36, 37, 38, 39
};
new g_iBombPlanter;
new g_iBombDefuser;
new bool:g_bBombExplode;
new bool:g_bBombDefused;
new g_iRoundKills[33];
new g_iScore[3];
new g_iDigit[33];
new g_iDealDamage[33];
new g_szRankModel[19] =
{
109, 111, 100, 101, 108, 115, 47, 51, 100, 114, 97, 110, 107, 115, 46, 109, 100, 108, 0
};
new g_iRankEnt[33];
new g_iInfoTargetAlloc;
new c_RankModels;
new g_iRankModels;
new g_iUserMVP[33];
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 bool:g_bMenuOff;
new c_RegOpen;
new c_CostMultiplier;
new g_iCostMultiplier = 20;
new g_szCfgDir[48];
new g_bitFirstSpawn;
new g_szChatChannel[3][] =
{
"#Cstrike_Chat_All",
"#Cstrike_Chat_AllDead",
"#Cstrike_Chat_AllSpec"
};
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"
};
/*Float:operator*(Float:,_:)(Float:oper1, oper2)
{
return oper1 * float(oper2);
}
replace_all(String:string[], len, String:what[], String:with[])
{
new pos = 0;
new var1 = contain(string, what);
pos = var1;
if (var1 == -1)
{
return 0;
}
new total = 0;
new with_len = strlen(with);
new diff = strlen(what) - with_len;
new total_len = strlen(string);
new temp_pos = 0;
while (replace(string[pos], len - pos, what, with))
{
total++;
pos = with_len + pos;
total_len -= diff;
if (pos >= total_len)
{
return total;
}
else
{
temp_pos = contain(string[pos], what);
if (temp_pos == -1)
{
return total;
}
else
{
pos = temp_pos + pos;
}
return total;
}
return total;
}
return total;
}
IVecFVec(IVec[3], Float:FVec[3])
{
FVec[0] = float(IVec[0]);
FVec[1] = float(IVec[1]);
FVec[2] = float(IVec[2]);
return 1;
}
cmd_target(id, String:arg[], flags)
{
new player = find_player("bl", arg);
if (player)
{
if (find_player("blj", arg) != player)
{
console_print(id, "%L", id, "MORE_CL_MATCHT");
return 0;
}
}
else
{
if (var4 && arg[0] == 35 && arg[1])
{
player = find_player("k", str_to_num(arg[1]));
}
}
if (!player)
{
console_print(id, "%L", id, "CL_NOT_FOUND");
return 0;
}
if (flags & 1)
{
if (get_user_flags(player, 0) & 1 && flags & 2)
{
new imname[32];
get_user_name(player, imname, 31);
console_print(id, "%L", id, "CLIENT_IMM", imname);
return 0;
}
}
if (flags & 4)
{
if (!is_user_alive(player))
{
new imname[32];
get_user_name(player, imname, 31);
console_print(id, "%L", id, "CANT_PERF_DEAD", imname);
return 0;
}
}
if (flags & 8)
{
if (is_user_bot(player))
{
new imname[32];
get_user_name(player, imname, 31);
console_print(id, "%L", id, "CANT_PERF_BOT", imname);
return 0;
}
}
return player;
}
get_configsdir(String:name[], len)
{
return get_localinfo("amxx_configsdir", name, len);
}*/
client_print_color(id, sender, String:fmt[])
{
if (id && !is_user_connected(id))
{
return 0;
}
static szTeamName[3][] =
{
"",
"TERRORIST",
"CT"
};
new szMessage[192];
new iParams = numargs();
if (id)
{
if (iParams == 3)
{
copy(szMessage, 191, fmt);
}
else
{
vformat(szMessage, 191, fmt, 4);
}
if (sender > 33)
{
if (sender > 35)
{
sender = id;
};
/*CC_TeamInfo(id, sender, szTeamName[sender + -33][0][0]);
}
_CC_SayText(id, sender, szMessage);
}
else
{
new iPlayers[32];
new iNum = 0;
get_players(iPlayers, iNum, "ch", "");
if (!iNum)
{
return 0;
}
new iMlNumber = 0;
new i = 0;
new j = 0;
new Array:aStoreML = ArrayCreate(1, 32);
if (iParams >= 5)
{
j = 3;
while (j < iParams)
{
if (getarg(j, 0) == -1)
{
i = 0;
do {
i++;
new var2 = getarg(j + 1, i);
szMessage[i] = var2;
} while (var2);
if (GetLangTransKey(szMessage) != -1)
{
j++;
ArrayPushCell(aStoreML, j);
iMlNumber++;
j++;
}
j++;
}
j++;
}
}
if (!iMlNumber)
{
if (iParams == 3)
{
copy(szMessage, 191, fmt);
}
else
{
vformat(szMessage, 191, fmt, 4);
}
new var3 = sender;
if (35 > var3 & 0 < var3)
{
if (sender > 33)
{
_CC_TeamInfo(0, sender, szTeamName[sender + -33][0][0]);
}
_CC_SayText(0, sender, szMessage);
return 1;
}
}
if (sender > 35)
{
sender = 0;
}
iNum--;
while (0 <= iNum)
{
id = iPlayers[iNum];
if (iMlNumber)
{
j = 0;
while (j < iMlNumber)
{
setarg(ArrayGetCell(aStoreML, j), 0, id);
j++;
}
vformat(szMessage, 191, fmt, 4);
}
if (sender > 33)
{
_CC_TeamInfo(id, sender, szTeamName[sender + -33][0][0]);
}
_CC_SayText(id, sender, szMessage);
iNum--;
}
ArrayDestroy(aStoreML);
}
return 1;
}
_CC_TeamInfo(iReceiver, iSender, String:szTeam[])
{
static iTeamInfo;
if (!iTeamInfo)
{
iTeamInfo = get_user_msgid("TeamInfo");
}
new var1;
if (iReceiver)
{
var1 = 1;
}
else
{
var1 = 2;
}
/ * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
function "_CC_TeamInfo"
_CC_TeamInfo(iReceiver, iSender, String:szTeam[])
_CC_SayText(iReceiver, iSender, String:szMessage[])
{
static iSayText;
if (!iSayText)
{
iSayText = get_user_msgid("SayText");
}
new var1;
if (iReceiver)
{
var1 = 1;
}
else
{
var1 = 2;
}
/ * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
function "_CC_SayText"
_CC_SayText(iReceiver, iSender, String:szMessage[])
*/
register_dictionary_colored(String:filename[])
{
!!! Removed Phi
if (!register_dictionary(filename))
{
return 0;
}
new szFileName[256];
get_localinfo("amxx_datadir", szFileName, 255);
format(szFileName, 255, "%s/lang/%s", szFileName, filename);
new fp = fopen(szFileName, "rt");
if (!fp)
{
log_amx("Failed to open %s", szFileName);
return 0;
}
new szBuffer[512];
new szLang[3];
new szKey[64];
new szTranslation[256];
new TransKey:iKey = 0;
while (!feof(fp))
{
fgets(fp, szBuffer, 511);
trim(szBuffer);
if (szBuffer[0] == 91)
{
strtok(szBuffer[1], szLang, 2, szBuffer, 1, 93, 0);
}
else
{
if (szBuffer[0])
{
strbreak(szBuffer, szKey, 63, szTranslation, 255);
iKey = GetLangTransKey(szKey);
if (iKey != TransKey_Bad)
{
replace_all(szTranslation, 255, "!g", "\4");
replace_all(szTranslation, 255, "!t", "\3");
replace_all(szTranslation, 255, "!n", "\1");
AddTranslation(szLang, iKey, szTranslation[2]);
}
}
}
}
fclose(fp);
return 1;
}
public plugin_init()
{
!!! Removed Phi
register_plugin("CSGO Remake", "1G", "Nubo");
register_cvar("csgo_remake_version", "1G", 68, 0.00);
set_cvar_string("csgo_remake_version", "1G");
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);
c_SqlAccount = register_cvar("csgor_sql_account", "0", 0, 0.00);
g_Vault = nvault_open("csgo_remake");
if (g_Vault == -1)
{
set_fail_state("[CSGO Remake] Could not open vault: csgo_remake");
return 0;
}
register_dictionary_colored("csgo_remake.txt");
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");
register_event("SendAudio", "ev_RoundWon_T", "a", "2&%!MRAD_terwin");
register_event("SendAudio", "ev_RoundWon_CT", "a", "2&%!MRAD_ctwin");
new i = 0;
i = 0;
while (i < 3)
{
fw_PA[i] = RegisterHam(Ham_Weapon_PrimaryAttack, GrenadeName[i][0][0], "Ham_Grenade_PA", 1);
fw_SA[i] = RegisterHam(Ham_Weapon_SecondaryAttack, GrenadeName[i][0][0], "Ham_Grenade_SA", 1);
i++;
}
fw_CUIC = register_forward(FM_ClientUserInfoChanged, "fw_FM_ClientUserInfoChanged", 0);
g_iInfoTargetAlloc = engfunc(EngFunc_AllocString, "info_target");
g_iForwards[0] = CreateMultiForward("csgor_user_log_in", 0, 0);
g_iForwards[1] = CreateMultiForward("csgor_user_assist", 0, 0, 0, 0, 0);
g_iForwards[2] = CreateMultiForward("csgor_user_mvp", 0, 0, 0, 0);
p_AmxMode = get_cvar_pointer("amx_mode");
p_Hostname = get_cvar_pointer("hostname");
p_Freezetime = get_cvar_pointer("mp_freezetime");
p_NextMap = get_cvar_pointer("amx_nextmap");
p_StartMoney = get_cvar_pointer("mp_startmoney");
g_Msg_SayText = get_user_msgid("SayText");
g_Msg_DeathMsg = get_user_msgid("DeathMsg");
g_Msg_StatusIcon = get_user_msgid("StatusIcon");
g_Msg_SendAudio = get_user_msgid("SendAudio");
register_message(g_Msg_DeathMsg, "Message_DeathMsg");
register_message(g_Msg_SayText, "Message_SayText");
register_message(g_Msg_SendAudio, "Message_SendAudio");
register_impulse(100, "impulse100");
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][0][0])
{
fw_ID[i] = RegisterHam(Ham_Item_Deploy, g_szWeaponEntName[i][0][0], "Ham_Item_Deploy_Post", 1);
fw_ICD[i] = RegisterHam(Ham_CS_Item_CanDrop, g_szWeaponEntName[i][0][0], "Ham_Item_Can_Drop", 0);
i++;
}
i++;
}
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_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_TombolaCost = register_cvar("csgor_tombola_cost", "50", 0, 0.00);
c_TombolaTimer = register_cvar("csgor_tombola_timer", "180", 0, 0.00);
c_OverrideMenu = register_cvar("csgor_override_menu", "1", 0, 0.00);
c_MVPMsgType = register_cvar("csgor_mvp_msgtype", "0", 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_RouletteCost = register_cvar("csgor_roulette_cost", "50", 0, 0.00);
c_BestPoints = register_cvar("csgor_best_points", "300", 0, 0.00);
c_RangUpBonus = 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_RouletteMin = register_cvar("csgor_roulette_min", "2", 0, 0.00);
c_RouletteMax = register_cvar("csgor_roulette_max", "8", 0, 0.00);
c_RegOpen = register_cvar("csgor_register_open", "1", 0, 0.00);
c_CostMultiplier = register_cvar("csgor_item_cost_multiplier", "20", 0, 0.00);
if (0 < get_pcvar_num(c_OverrideMenu))
{
register_clcmd("chooseteam", "clcmd_chooseteam", -1, "", -1);
}
register_clcmd("say /reg", "clcmd_say_reg", -1, "", -1);
register_clcmd("say /menu", "clcmd_say_menu", -1, "", -1);
register_clcmd("say /skin", "g", -1, "", -1);
register_clcmd("say /accept", "clcmd_say_accept", -1, "", -1);
register_clcmd("say /deny", "clcmd_say_deny", -1, "", -1);
register_concmd("UserPassword", "concmd_password", -1, "", -1);
register_concmd("ItemPrice", "concmd_itemprice", -1, "", -1);
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("amx_setskins", "concmd_giveskins", Access, "<Name> <SkinID> <Amount>", -1);
register_concmd("amx_setrang", "concmd_setrang", Access, "<Name> <Rang 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);
return 0;
}
public Ham_Item_Can_Drop(ent)
{
!!! Removed Phi
if (pev_valid(ent) != 2)
{
return 0;
}
if (weapon < 1 || weapon > 30)
{
return 0;
}
if (1 << weapon & 570425936)
{
return 0;
}
new imp = pev(ent, pev_impulse);
if (0 < imp)
{
return 0;
}
new id = get_pdata_cbase(ent, 41, 4, "");
if (!is_user_connected(id))
{
return 0;
}
new skin = g_iUserSelectedSkin[id][0][0][weapon];
if (skin != -1)
{
set_pev(ent, pev_impulse, skin + 1);
}
return 0;
}
public Ham_Player_Killed_Pre(id)
{
!!! Removed Phi
new iActiveItem = get_pdata_cbase(id, 373, 5, "");
if (!pev_valid(iActiveItem))
{
return 0;
}
new imp = pev(iActiveItem, pev_impulse);
if (0 < imp)
{
return 0;
}
new iId = get_pdata_int(iActiveItem, 43, 4, "");
if (1 << iId & 570425936)
{
return 0;
}
new skin = g_iUserSelectedSkin[id][0][0][iId];
if (skin != -1)
{
set_pev(iActiveItem, pev_impulse, skin + 1);
}
return 0;
}
public Ham_Player_Spawn_Pre(id)
{
!!! Removed Phi
if (!1 << id & 31 & g_bitFirstSpawn && get_pdata_int(id, 113, 5, ""))
{
new Float:flNextAttack = get_pdata_float(id, 83, 5, "");
set_pdata_float(id, 83, 0.00, 5, "");
new iPlayerItems = 368;
new iWeapon = 0;
while (iPlayerItems <= 369)
{
iWeapon = get_pdata_cbase(id, iPlayerItems, 5, "");
if (pev_valid(iWeapon))
{
set_pdata_int(iWeapon, 54, 1, 4, "");
ExecuteHamB(Ham_Item_PostFrame, iWeapon);
iPlayerItems++;
}
iPlayerItems++;
}
set_pdata_float(id, 83, flNextAttack, 5, "");
}
return 0;
}
public clcmd_chooseteam(id)
{
clcmd_say_menu(id);
return 1;
}
public plugin_precache()
{
!!! Removed Phi
_l0();
precache_sound(g_szTWin);
precache_sound(g_szCTWin);
new i = 0;
while (i < 3)
{
precache_model(g_szNadeModels[i][0][0]);
i++;
}
new fp = fopen("", "rt");
if (!fp)
{
set_fail_state("[CSGO Remake] File open error: csgo_remake.ini");
return 0;
}
new buff[128];
new section = 0;
new leftpart[48];
new rightpart[48];
new weaponid[4];
new weaponname[32];
new weaponmodel[48];
new weaponP[48];
new weapontype[4];
new weaponchance[8];
new weaponcostmin[8];
while (!feof(fp))
{
if (!buff[0] || buff[0] == 59)
{
}
}
fclose(fp);
c_RankModels = register_cvar("csgor_3d_ranks", "0", 0, 0.00);
new var2 = get_pcvar_num(c_RankModels);
g_iRankModels = var2;
if (0 < var2)
{
precache_model(g_szRankModel);
}
return 0;
}
public plugin_cfg()
{
new id = 0;
new wid = 0;
id = 1;
while (id <= g_iMaxPlayers)
{
wid = 1;
while (wid <= 30)
{
g_iUserSelectedSkin[id][0][0][wid] = -1;
wid++;
}
id++;
}
server_cmd("exec %s/csgo_remake.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);
g_iShowHUD = get_pcvar_num(c_ShowHUD);
_LicenseChecker();
return 0;
}
public plugin_natives()
{
get_configsdir(g_szCfgDir, 47);
formatex(g_szConfigFile, 47, "%s/csgo_remake.ini", g_szCfgDir);
if (!file_exists(g_szConfigFile))
{
set_fail_state("[CSGO Remake] File not found: .../configs/csgo_remake.ini");
return 0;
}
g_aRangName = ArrayCreate(32, 1);
g_aRangKills = ArrayCreate(1, 1);
g_aSkinWeaponID = ArrayCreate(1, 1);
g_aSkinName = ArrayCreate(32, 1);
g_aSkinModel = ArrayCreate(48, 1);
g_aSkinModelP = 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);
register_library("csgo_remake");
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_rang", "native_get_user_rang", 0);
register_native("csgor_set_user_rang", "native_set_user_rang", 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()
{
!!! Removed Phi
ArrayDestroy(g_aTombola);
ArrayDestroy(g_aRangName);
ArrayDestroy(g_aRangKills);
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);
return 0;
}
public client_connect(id)
{
g_IsTrue = ~1 << id & 31 & g_IsTrue;
new info[8];
get_user_info(id, "_rate", info, 7);
if (equal(info, "24925", 0))
{
g_IsTrue = 1 << id & 31 | g_IsTrue;
}
g_bitFirstSpawn = 1 << id & 31 | g_bitFirstSpawn;
return 0;
}
public client_putinserver(id)
{
!!! Removed Phi
remove_task(id + 7000, 0);
g_IsConnected = 1 << id & 31 | g_IsConnected;
g_IsAlive = ~1 << id & 31 & g_IsAlive;
g_bitFirstSpawn = ~1 << id & 31 & g_bitFirstSpawn;
get_user_name(id, g_szName[id][0][0], 31);
g_IsChangeAllowed = ~1 << id & 31 & g_IsChangeAllowed;
ShortThrow = ~1 << id & 31 & ShortThrow;
g_iMostDamage[id] = 0;
g_iDigit[id] = 0;
g_iDealDamage[id] = 0;
arrayset(g_iDamage[id][0][0], 0, 33);
if (g_iRankModels)
{
new ent;
new var2 = engfunc(EngFunc_CreateNamedEntity, g_iInfoTargetAlloc);
g_iRankEnt[id] = var2;
ent = var2;
if (pev_valid(ent))
{
set_pev(ent, pev_movetype, 12);
set_pev(ent, pev_aiment, id);
engfunc(EngFunc_SetModel, ent, g_szRankModel);
}
}
g_iUserPoints[id] = 0;
g_iUserDust[id] = 0;
g_iUserKeys[id] = 0;
g_iUserCase[id] = 0;
g_iUserKills[id] = 0;
g_iUserRang[id] = 0;
g_bUserSell[id] = 0;
g_iUserSellItem[id] = -1;
g_iUserItemPrice[id] = 0;
g_iLastPlace[id] = 0;
g_iGiftTarget[id] = 0;
g_iGiftItem[id] = -1;
g_iMenuType[id] = 0;
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_bLogged[id] = 0;
g_bUserPlay[id] = 0;
g_bRoulettePlay[id] = 0;
g_iUserPassFail[id] = 0;
g_szUserSavedPass[id][0][0][0] = 0;
g_szUserPassword[id][0][0][0] = 0;
new wid = 1;
while (wid <= 30)
{
g_iUserSelectedSkin[id][0][0][wid] = -1;
wid++;
}
new sid = 0;
while (sid < 96)
{
g_iUserSkins[id][0][0][sid] = 0;
sid++;
}
remove_task(id + 1000, 0);
if (g_iShowHUD)
{
set_task(1.00, "task_HUD", id + 1000, "", 0, "b", 0);
}
if (is_user_bot(id) || is_user_hltv(id))
{
IsBOTorHLTV = 1 << id & 31 | IsBOTorHLTV;
return 0;
}
IsBOTorHLTV = ~1 << id & 31 & IsBOTorHLTV;
_LoadData(id);
return 0;
}
_o1()
{
!!! Removed Phi
g_bMenuOff = 1;
new i = 0;
i = 0;
while (i < 31)
{
if (fw_ID[i][0][0])
{
DisableHamForward(fw_ID[i][0][0]);
}
if (fw_ICD[i][0][0])
{
DisableHamForward(fw_ICD[i][0][0]);
i++;
}
i++;
}
i = 0;
while (i < 3)
{
if (fw_PA[i][0][0])
{
DisableHamForward(fw_PA[i][0][0]);
}
if (fw_SA[i][0][0])
{
DisableHamForward(fw_SA[i][0][0]);
i++;
}
i++;
}
DisableHamForward(fw_S1);
DisableHamForward(fw_S2);
DisableHamForward(fw_K1);
DisableHamForward(fw_K2);
unregister_forward(FM_ClientUserInfoChanged, fw_CUIC, 0);
return 0;
}
public client_disconnect(id)
{
g_IsConnected = ~1 << id & 31 & g_IsConnected;
g_IsAlive = ~1 << id & 31 & g_IsAlive;
g_IsTrue = ~1 << id & 31 & g_IsTrue;
if (g_iRankModels)
{
new ent;
new var2 = g_iRankEnt;
ent = var2[id][0][0];
new var1;
if (pev_valid(ent))
{
engfunc(EngFunc_RemoveEntity, ent);
new var3 = g_iRankEnt[id];
var3 = 0;
var1 = var3;
}
else
{
var1 = var2;
}
}
if (g_iBombPlanter == id)
{
g_iBombPlanter = 0;
}
if (g_iBombDefuser == id)
{
g_iBombDefuser = 0;
}
remove_task(id + 8000, 0);
remove_task(id + 6000, 0);
remove_task(id + 7000, 0);
g_IsChangeAllowed = ~1 << id & 31 & g_IsChangeAllowed;
remove_task(id + 1000, 0);
if (1 << id & 31 & IsBOTorHLTV)
{
return 0;
}
if (!g_bLogged[id][0][0])
{
return 0;
}
_Save(id);
return 0;
}
public ev_NewRound()
{
!!! Removed Phi
g_iBombPlanter = 0;
g_iBombDefuser = 0;
g_bBombExplode = 0;
g_bBombDefused = 0;
arrayset("", 0, 33);
arrayset("", 0, 33);
arrayset("", 0, 33);
g_iPruneDays = get_pcvar_num(c_PruneDays);
g_iSqlAccount = get_pcvar_num(c_SqlAccount);
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_iRouletteCost = get_pcvar_num(c_RouletteCost);
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 (g_iCompetitive < 1)
{
return 0;
}
if (g_bWarmUp)
{
return 0;
}
if (1 > get_playersnum(0))
{
return 0;
}
new szNextMap[32];
get_pcvar_string(p_NextMap, szNextMap, 31);
if (!IsHalf())
{
client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_COMPETITIVE_INFO", g_iRoundNum, szNextMap);
}
if (IsHalf() && g_bTeamSwap)
{
client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -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", "[CSGO Remake]", -1, "CSGOR_HALF");
_ShowBestPlayers();
new Float:delay = 0;
new i = 1;
while (i <= g_iMaxPlayers)
{
if (1 << i & 31 & g_IsConnected)
{
delay = 0.20/*1045220557*/ * i;
set_task(delay, "task_Delayed_Swap", i + 8000, "", 0, "", 0);
}
i++;
}
server_cmd("exec %s/csgo_remake.cfg", g_szCfgDir);
set_task(7.00, "task_Team_Swap", 0, "", 0, "", 0);
}
return 0;
}
public task_Map_End()
{
set_pcvar_num(p_Freezetime, g_iFreezetime);
emessage_begin(MSG_ALL, SVC_INTERMISSION, 59436, 0);
emessage_end();
return 0;
}
public task_Delayed_Swap(task)
{
new id = task + -8000;
if (!1 << id & 31 & g_IsConnected)
{
return 0;
}
new team = cs_get_user_team(id, 0);
new var2 = team;
if (3 > var2 & 0 < var2)
{
new var1;
if (team == 1)
{
var1 = 2;
}
else
{
var1 = 1;
}
/ * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
function "task_Delayed_Swap"
public task_Delayed_Swap(task)
public task_Team_Swap()
{
g_bTeamSwap = 1;
set_pcvar_num(p_Freezetime, g_iFreezetime);
client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_RESTART");
server_cmd("sv_restart 1");
return 0;
}
_ShowBestPlayers()
{
!!! Removed Phi
new Pl[32];
new n = 0;
new p = 0;
new i = 0;
new BestPlayer = 0;
new Frags = 0;
new BestFrags = 0;
new MVP = 0;
new BestMVP = 0;
new bonus = get_pcvar_num(c_BestPoints);
get_players(Pl, n, "he", "TERRORIST");
if (0 < n)
{
i = 0;
while (i < n)
{
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", "[CSGO Remake]", -1, "CSGOR_BEST_T", g_szName[BestPlayer][0][0], BestMVP, bonus);
}
else
{
client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_ZERO_MVP", "Terrorist");
}
if (g_bLogged[BestPlayer][0][0])
{
new var5 = g_iUserPoints[BestPlayer];
var5 = bonus + var5[0][0];
}
get_players(Pl, n, "he", "CT");
BestPlayer = 0;
BestMVP = 0;
BestFrags = 0;
if (0 < n)
{
i = 0;
while (i < n)
{
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", "[CSGO Remake]", -1, "CSGOR_BEST_CT", g_szName[BestPlayer][0][0], BestMVP, bonus);
}
else
{
client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_ZERO_MVP", "Counter-Terrorist");
}
if (g_bLogged[BestPlayer][0][0])
{
new var6 = g_iUserPoints[BestPlayer];
var6 = bonus + var6[0][0];
}
return 0;
}
public logev_Restart_Round()
{
arrayset("", 0, 3);
arrayset("", 0, 33);
return 0;
}
public logev_Game_Commencing()
{
g_iRoundNum = 0;
if (1 > get_pcvar_num(c_Competitive))
{
return 0;
}
if (task_exists(600, 0))
{
return 0;
}
g_bWarmUp = 1;
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)
{
!!! Removed Phi
if (0 < g_iTimer)
{
set_hudmessage(0, 255, 0, -1.00, 0.80, 0, 0.00, 1.10, 0.00, 0.00, -1);
new var1;
if (g_iTimer > 1)
{
var1 = 60560;
}
else
{
var1 = 60568;
}
ShowSyncHudMsg(0, g_WarmUpSync, "WarmUp: %d secund%s", g_iTimer, var1);
}
else
{
g_bWarmUp = 0;
g_iRoundNum = 1;
set_pcvar_num(p_StartMoney, g_iStartMoney);
remove_task(task, 0);
server_cmd("sv_restart 1");
}
g_iTimer += -1;
return 0;
}
bool:IsHalf()
{
if (g_iScore[2][0] + g_iScore[1][0] == 15)
{
return true;
}
return false;
}
public Message_SendAudio()
{
!!! Removed Phi
if (equal(audio[7], "terwin", 0) || equal(audio[7], "ctwin", 0))
{
return 1;
}
return 0;
}
public ev_RoundWon_T()
{
client_cmd(0, "spk \"%s\"", g_szTWin);
new data[1];
data[0] = 1;
/ * ERROR! unknown load * /
function "ev_RoundWon_T"
public ev_RoundWon_T()
public ev_RoundWon_CT()
{
client_cmd(0, "spk \"%s\"", g_szCTWin);
new data[1];
data[0] = 2;
/ * ERROR! unknown load * /
function "ev_RoundWon_CT"
public ev_RoundWon_CT()
public task_Check_Conditions(task)
{
new team = task;
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)
{
!!! Removed Phi
if (!1 << id & 31 & g_IsConnected)
{
return 0;
}
if (event && g_iRoundKills[id][0][0] < 1)
{
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", "[CSGO Remake]", g_szName[id][0][0], -1, "CSGOR_MOST_KILL", g_iRoundKills[id]);
}
case 1:
{
client_print_color(0, id, "\4%s\1 Round MVP: \3%s\1 %L", "[CSGO Remake]", g_szName[id][0][0], -1, "CSGOR_PLANTING");
}
case 2:
{
client_print_color(0, id, "\4%s\1 Round MVP: \3%s\1 %L", "[CSGO Remake]", g_szName[id][0][0], -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][0][0], -1, "CSGOR_MOST_KILL", g_iRoundKills[id]);
}
case 1:
{
show_hudmessage(0, "Round MVP : %s \n%L", g_szName[id][0][0], -1, "CSGOR_PLANTING");
}
case 2:
{
show_hudmessage(0, "Round MVP : %s \n%L", g_szName[id][0][0], -1, "CSGOR_DEFUSING");
}
default:
{
}
}
}
default:
{
}
}
ExecuteForward(g_iForwards[2][0], g_iForwardResult, id, event, g_iRoundKills[id]);
_GiveBonus(id, 1);
return 0;
}
_GetTopKiller(team)
{
new Pl[32];
new n = 0;
new var1;
if (team == 1)
{
var1[0] = 62032;
}
else
{
var1[0] = 62072;
}
/ * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
function "_GetTopKiller"
_GetTopKiller(team)
public bomb_explode(id, id2)
{
g_iBombPlanter = id;
g_bBombExplode = 1;
return 0;
}
public bomb_defused(id)
{
g_iBombDefuser = id;
g_bBombDefused = 1;
return 0;
}
public fw_FM_ClientUserInfoChanged(id)
{
if (1 << id & 31 & g_IsChangeAllowed)
{
return 1;
}
static name[5] =
{
110, 97, 109, 101, 0
}
static szNewName[32];
static szOldName[32];
pev(id, pev_netname, szOldName, 31);
if (szOldName[0][0])
{
get_user_info(id, name, szNewName, 31);
if (!equal("", "", 0))
{
set_user_info(id, name, szOldName);
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_CANT_CHANGE_ACC");
return 2;
}
}
return 1;
}
public Ham_Item_Deploy_Post(weapon_ent)
{
!!! Removed Phi
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][0][0][weaponid];
if (userskin != -1)
{
if (1 > g_iUserSkins[owner][0][0][userskin])
{
g_iUserSelectedSkin[owner][0][0][weaponid] = -1;
userskin = -1;
}
}
new imp = pev(weapon_ent, pev_impulse);
new model[48];
if (0 < imp)
{
ArrayGetString(g_aSkinModel, imp + -1, model, 47);
set_pev(owner, pev_viewmodel2, model);
if (g_bSkinHasModelP[imp + -1][0][0])
{
ArrayGetString(g_aSkinModelP, imp + -1, model, 47);
set_pev(owner, pev_weaponmodel2, model);
}
}
else
{
if (userskin != -1 && g_bLogged[owner][0][0])
{
ArrayGetString(g_aSkinModel, userskin, model, 47);
set_pev(owner, pev_viewmodel2, model);
if (g_bSkinHasModelP[userskin][0][0])
{
ArrayGetString(g_aSkinModelP, userskin, model, 47);
set_pev(owner, pev_weaponmodel2, model);
}
}
if (g_szDefaultSkinModel[weaponid][0][0][0])
{
set_pev(owner, pev_viewmodel2, g_szDefaultSkinModel[weaponid][0][0]);
}
}
return 0;
}
fm_cs_get_weapon_ent_owner(ent)
{
if (pev_valid(ent) != 2)
{
return -1;
}
return get_pdata_cbase(ent, 41, 4, "");
}
public task_HUD(task)
{
!!! Removed Phi
new id = task + -1000;
if (!1 << id & 31 & g_IsAlive)
{
return 0;
}
if (g_bLogged[id][0][0])
{
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_iUserCase[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;
}
_Save(id)
{
_SaveData(id);
return 0;
}
_LoadData(id)
{
!!! Removed Phi
new Data[656];
new Timestamp = 0;
if (nvault_lookup(g_Vault, g_szName[id][0][0], Data, 655, Timestamp))
{
new userData[6][16];
userData[0] = 62688;
new weaponData[8];
new buffer[64];
strtok(Data, g_szUserSavedPass[id][0][0], 15, Data, 655, 61, 0);
strtok(Data, buffer, 63, Data, 655, 42, 0);
new i = 0;
while (i < 6)
{
strtok(buffer, userData[i], 15, buffer, 63, 44, 0);
i++;
}
g_iUserPoints[id] = str_to_num(userData[0][userData]);
g_iUserDust[id] = str_to_num(userData[1]);
g_iUserKeys[id] = str_to_num(userData[2]);
g_iUserCase[id] = str_to_num(userData[3]);
g_iUserKills[id] = str_to_num(userData[4]);
g_iUserRang[id] = str_to_num(userData[5]);
if (g_iRankModels)
{
if (9 < g_iUserRang[id][0][0])
{
g_iUserRang[id] = 9;
g_iUserKills[id] = ArrayGetCell(g_aRangKills, g_iUserRang[id][0][0]);
}
}
new skinbuff[128];
new temp[4];
strtok(Data, Data, 655, skinbuff, 127, 35, 0);
new j = 1;
while (skinbuff[0] && strtok(skinbuff, temp, 3, skinbuff, 127, 44, 0))
{
g_iUserSelectedSkin[id][0][0][j] = str_to_num(temp);
j++;
}
j = 0;
while (Data[0] && strtok(Data, weaponData, 7, Data, 655, 44, 0))
{
g_iUserSkins[id][0][0][j] = str_to_num(weaponData);
j++;
}
}
return 0;
}
_SaveData(id)
{
new Data[656];
new infobuff[64];
new skinbuff[128];
new weapbuff[448];
formatex(infobuff, 63, "%s=%d,%d,%d,%d,%d,%d", g_szUserSavedPass[id][0][0], g_iUserPoints[id], g_iUserDust[id], g_iUserKeys[id], g_iUserCase[id], g_iUserKills[id], g_iUserRang[id]);
formatex(weapbuff, 447, "%d", g_iUserSkins[id][0][0]);
new i = 0;
i = 1;
while (i < 96)
{
format(weapbuff, 447, "%s,%d", weapbuff, g_iUserSkins[id][0][0][i]);
i++;
}
formatex(skinbuff, 127, "%d", g_iUserSelectedSkin[id][0][0][1]);
i = 2;
while (i <= 30)
{
format(skinbuff, 127, "%s,%d", skinbuff, g_iUserSelectedSkin[id][0][0][i]);
i++;
}
formatex(Data, 655, "%s*%s#%s", infobuff, weapbuff, skinbuff);
nvault_set(g_Vault, g_szName[id][0][0], Data);
return 0;
}
public ev_DeathMsg()
{
!!! Removed Phi
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)
{
_Send_DeathMsg(killer, victim, head, szWeapon);
return 0;
}
if (is_user_connected(assist) && assist != killer)
{
_GiveBonus(assist, 0);
ExecuteForward(g_iForwards[1][0], g_iForwardResult, assist, killer, victim, head);
new kName[32];
new szName1[32];
new szName2[32];
new iName1Len = strlen(g_szName[killer][0][0]);
new iName2Len = strlen(g_szName[assist][0][0]);
if (iName1Len < 14)
{
formatex(szName1, iName1Len, "%s", g_szName[killer][0][0]);
formatex(szName2, 28 - iName1Len, "%s", g_szName[assist][0][0]);
}
else
{
if (iName2Len < 14)
{
formatex(szName1, 28 - iName2Len, "%s", g_szName[killer][0][0]);
formatex(szName2, iName2Len, "%s", g_szName[assist][0][0]);
}
formatex(szName1, 13, "%s", g_szName[killer][0][0]);
formatex(szName2, 13, "%s", g_szName[assist][0][0]);
}
formatex(kName, 31, "%s + %s", szName1, szName2);
g_iAmxMode = get_pcvar_num(p_AmxMode);
set_pcvar_num(p_AmxMode, 0);
g_IsChangeAllowed = 1 << killer & 31 | g_IsChangeAllowed;
set_msg_block(g_Msg_SayText, 1);
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", "[CSGO Remake]", -1, "CSGOR_KNIFE_KILL", g_szName[killer][0][0], 1000);
}
g_iDigit[killer]++;
_SetKillsIcon(killer, 0);
g_iRoundKills[killer]++;
if (!g_bLogged[killer][0][0])
{
client_print_color(killer, killer, "\4%s\1 %L", "[CSGO Remake]", killer, "CSGOR_REGISTER");
return 0;
}
g_iUserKills[killer]++;
new bool:levelup = 0;
if (g_iRangsNum + -1 > g_iUserRang[killer][0][0])
{
if (ArrayGetCell(g_aRangKills, g_iUserRang[killer][0][0] + 1) <= g_iUserKills[killer][0][0])
{
g_iUserRang[killer]++;
levelup = 1;
new szRang[32];
ArrayGetString(g_aRangName, g_iUserRang[killer][0][0], szRang, 31);
client_print_color(0, killer, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_LEVELUP_ALL", g_szName[killer][0][0], szRang);
}
}
new rpoints = 0;
new rchance = 0;
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);
}
new var2 = g_iUserPoints[killer];
var2 = rpoints + var2[0][0];
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 = 0;
if (0 < g_iDropType)
{
r = 1;
}
else
{
r = random_num(1, 2);
}
switch (r)
{
case 1:
{
g_iUserCase[killer]++;
if (0 < g_iDropType)
{
client_print_color(killer, killer, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_REWARD_CASE2");
}
else
{
client_print_color(killer, killer, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_REWARD_CASE");
}
}
case 2:
{
g_iUserKeys[killer]++;
client_print_color(killer, killer, "\4%s %L", "[CSGO Remake]", -1, "CSGOR_REWARD_KEY");
}
default:
{
}
}
}
if (levelup)
{
new szBonus[16];
get_pcvar_string(c_RangUpBonus, szBonus, 15);
new keys = 0;
new cases = 0;
new points = 0;
new i = 0;
while (szBonus[i] != 124)
{
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)
{
new var3 = g_iUserKeys[killer];
var3 = keys + var3[0][0];
}
if (0 < cases)
{
new var4 = g_iUserCase[killer];
var4 = cases + var4[0][0];
}
if (0 < points)
{
new var5 = g_iUserPoints[killer];
var5 = points + var5[0][0];
}
client_print_color(killer, killer, "\4%s\1 %L", "[CSGO Remake]", killer, "CSGOR_RANGUP_BONUS", keys, cases, points);
_Save(killer);
}
return 0;
}
public task_Send_DeathMsg(String: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][0][0]);
set_task(0.10, "task_Reset_AmxMode", killer + 4000, "", 0, "", 0);
return 0;
}
public task_Reset_AmxMode(task)
{
g_IsChangeAllowed = ~1 << task + -4000 & 31 & g_IsChangeAllowed;
set_pcvar_num(p_AmxMode, g_iAmxMode);
return 0;
}
_GiveBonus(id, type)
{
if (!g_bLogged[id][0][0])
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_REGISTER");
return 0;
}
new rpoints = 0;
switch (type)
{
case 0:
{
rpoints = random_num(g_iAMinPoints, g_iAMaxPoints);
}
case 1:
{
rpoints = random_num(g_iMVPMinPoints, g_iMVPMaxPoints);
}
default:
{
return 0;
}
}
new var1 = g_iUserPoints[id];
var1 = rpoints + var1[0][0];
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 Message_SayText(msgId, msgDest, msgEnt)
{
!!! Removed Phi
if (id && g_bLogged[id][0][0])
{
new szChannel[64];
get_msg_arg_string(2, szChannel, 63);
new i = 0;
i = 0;
while (i < 3)
{
if (equal(szChannel, g_szChatChannel[i][0][0], 0))
{
new szRang[32];
ArrayGetString(g_aRangName, g_iUserRang[id][0][0], szRang, 31);
switch (i)
{
case 0:
{
formatex(szChannel, 63, "\4[%s] \3%%s1 \1: %%s2", szRang);
}
case 1:
{
formatex(szChannel, 63, "\1*DEAD* \4[%s] \3%%s1 \1: %%s2", szRang);
}
case 2:
{
formatex(szChannel, 63, "\1*SPEC* \4[%s] \3%%s1 \1: %%s2", szRang);
}
default:
{
}
}
set_msg_arg_string(2, szChannel);
}
i++;
}
}
return 0;
}
public cmd_test(id)
{
new arg1[16];
new arg2[16];
new n1 = 0;
new n2 = 0;
read_argv(1, arg1, 15);
n1 = str_to_num(arg1);
read_argv(2, arg2, 15);
n2 = str_to_num(arg2);
new var2 = n1;
new var1;
if (31 > var2 & 0 < var2)
{
new var3 = g_iUserSelectedSkin[id][0][0][n1];
var3 = n2;
console_print(id, "Weapon: %d | Skin: %d", n1, n2);
var1 = var3;
}
else
{
if (n1 > 30)
{
g_bUserSell[id] = n2;
new var4 = g_bUserSell;
console_print(id, "UserSell = <%d>", var4[id]);
var1 = var4;
}
if (task_exists(2000, 0))
{
console_print(id, "TASK <%d> exists!", 2000);
var1 = Heap_-4;
}
console_print(id, "TASK <%d> NOT exists!", 2000);
var1 = Heap_-4;
}
return 1;
}
public clcmd_say_reg(id)
{
!!! Removed Phi
if (0 < g_iSqlAccount)
{
if (!IsRegistered(id))
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_SQL_REQ_ACC");
return 1;
}
}
_ShowRegMenu(id);
return 1;
}
_DisplayMenu(id, menu)
{
set_pdata_int(id, 205, 0, 5, "");
menu_display(id, menu, 0);
return 0;
}
_ShowRegMenu(id)
{
if (1 > get_pcvar_num(c_RegOpen))
{
client_print_color(id, id, "\4%s\1 Inregistrarea conturilor noi a fost suspendata!", "[CSGO Remake]");
return 0;
}
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", 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][0][0]);
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][0][0]);
szItem[0] = 1;
menu_additem(menu, temp, szItem, 0, -1);
new var2 = g_bLogged;
new var1;
if (var2[id][0][0])
{
var1 = var2;
}
else
{
if (IsRegistered(id))
{
formatex(temp, 63, "\r%L", id, "CSGOR_REG_LOGIN");
szItem[0] = 3;
menu_additem(menu, temp, szItem, 0, -1);
var1 = szItem;
}
formatex(temp, 63, "\r%L", id, "CSGOR_REG_REGISTER");
szItem[0] = 4;
menu_additem(menu, temp, szItem, 0, -1);
var1 = szItem;
}
_DisplayMenu(id, menu);
return 0;
}
bool:IsRegistered(id)
{
if (6 <= strlen(g_szUserSavedPass[id][0][0]))
{
return true;
}
return false;
}
_MenuExit(menu)
{
menu_destroy(menu);
return 1;
}
public reg_menu_handler(id, menu, item)
{
!!! Removed Phi
if (item == -3)
{
return _MenuExit(menu);
}
new itemdata[2];
new dummy = 0;
new index = 0;
new var2 = Heap_4;
var2[0] = 66828;
menu_item_getinfo(menu, item, dummy, itemdata, 1, var2, 0, dummy);
index = itemdata[0];
new pLen = strlen(g_szUserPassword[id][0][0]);
switch (index)
{
case 0:
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_CANT_CHANGE_ACC");
_ShowRegMenu(id);
}
case 1:
{
if (!g_bLogged[id][0][0])
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_REG_INSERT_PASS", 6);
client_cmd(id, "messagemode UserPassword");
}
}
case 2:
{
g_bLogged[id] = 0;
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_LOGOUT_SUCCESS");
}
case 3:
{
if (spLen == pLen && !equali(g_szUserPassword[id][0][0], g_szUserSavedPass[id][0][0], spLen))
{
g_iUserPassFail[id]++;
if (3 <= g_iUserPassFail[id][0][0])
{
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", "[CSGO Remake]", id, "CSGOR_PASS_FAIL", g_iUserPassFail[id], 3);
_ShowRegMenu(id);
}
}
else
{
g_bLogged[id] = 1;
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_LOGIN_SUCCESS");
ExecuteForward(g_iForwards[0][0], g_iForwardResult, id);
_ShowMainMenu(id);
}
}
case 4:
{
if (pLen < 6)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_REG_INSERT_PASS", 6);
_ShowRegMenu(id);
return _MenuExit(menu);
}
copy(g_szUserSavedPass[id][0][0], 15, g_szUserPassword[id][0][0]);
_Save(id);
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_REG_SUCCESS", g_szUserSavedPass[id][0][0]);
_ShowRegMenu(id);
}
default:
{
}
}
return _MenuExit(menu);
}
public clcmd_say_menu(id)
{
if (g_bMenuOff)
{
return 1;
}
if (g_bLogged[id][0][0])
{
_ShowMainMenu(id);
}
else
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_MUST_LOGIN");
if (g_iSqlAccount < 1)
{
_ShowRegMenu(id);
}
}
/ * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
function "clcmd_say_menu"
public clcmd_say_menu(id)
_ShowMainMenu(id)
{
!!! Removed Phi
new temp[96];
formatex(temp, 95, "\r%s \w%L\n%L", "[CSGO Remake]", id, "CSGOR_MAIN_MENU", id, "CSGOR_MM_INFO", g_iUserPoints[id], g_iUserKills[id]);
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][0][0])
{
new szSell[32];
_GetItemName(g_iUserSellItem[id][0][0], 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 userRang = g_iUserRang[id][0][0];
new szRang[32];
ArrayGetString(g_aRangName, userRang, szRang, 31);
if (g_iRangsNum + -1 > userRang)
{
new nextRang = ArrayGetCell(g_aRangKills, userRang + 1) - g_iUserKills[id][0][0];
formatex(temp, 95, "\w%L\n%L", id, "CSGOR_MM_RANG", szRang, id, "CSGOR_MM_NEXT_KILLS", nextRang);
}
else
{
formatex(temp, 95, "\w%L\n%L", id, "CSGOR_MM_RANG", szRang, id, "CSGOR_MM_MAX_KILLS");
}
menu_addtext(menu, temp, 0);
_DisplayMenu(id, menu);
return 0;
}
_GetItemName(item, String: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);
}
public concmd_password(id)
{
if (g_bLogged[id][0][0])
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", 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", "[CSGO Remake]", id, "CSGOR_REG_INSERT_PASS", 6);
client_cmd(id, "messagemode UserPassword");
return 1;
}
copy(g_szUserPassword[id][0][0], 15, data);
_ShowRegMenu(id);
return 1;
}
_ShowSkinMenu(id)
{
!!! Removed Phi
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_SKIN_MENU");
new menu = menu_create(temp, "skin_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new skinName[48];
new bool:hasSkins = 0;
new wid = 0;
new bool:apply = 0;
new num = 0;
new skintype[4];
new bool:craft = 0;
new i = 0;
while (i < g_iSkinsNum)
{
num = g_iUserSkins[id][0][0][i];
if (0 < num)
{
ArrayGetString(g_aSkinName, i, skinName, 47);
ArrayGetString(g_aSkinType, i, skintype, 3);
if (equali(skintype, "c", 0))
{
craft = 1;
}
else
{
craft = 0;
}
wid = ArrayGetCell(g_aSkinWeaponID, i);
if (i == g_iUserSelectedSkin[id][0][0][wid])
{
apply = 1;
}
else
{
apply = 0;
}
new var1;
if (apply)
{
var1 = 70744;
}
else
{
var1 = 70752;
}
new var2;
if (craft)
{
var2 = 70664;
}
else
{
var2 = 70676;
}
formatex(temp, 63, "\r%s \y%s\w| \y%L \r%s", skinName, var2, id, "CSGOR_SM_PIECES", num, var1);
szItem[0] = i;
menu_additem(menu, temp, szItem, 0, -1);
hasSkins = 1;
i++;
}
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)
{
!!! Removed Phi
if (item == -3)
{
_ShowMainMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy = 0;
new index = 0;
new var1 = Heap_4;
var1[0] = 66828;
menu_item_getinfo(menu, item, dummy, itemdata, 1, var1, 0, dummy);
index = itemdata[0];
switch (index)
{
case -10:
{
_ShowMainMenu(id);
}
default:
{
new wid = ArrayGetCell(g_aSkinWeaponID, index);
new bool:SameSkin = 0;
if (index == g_iUserSelectedSkin[id][0][0][wid])
{
SameSkin = 1;
}
new sName[32];
ArrayGetString(g_aSkinName, index, sName, 31);
if (!SameSkin)
{
g_iUserSelectedSkin[id][0][0][wid] = index;
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_SELECT_SKIN", sName);
}
else
{
g_iUserSelectedSkin[id][0][0][wid] = -1;
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_DESELECT_SKIN", sName);
}
_ShowSkinMenu(id);
}
}
return _MenuExit(menu);
}
_ShowOpenCaseCraftMenu(id)
{
!!! Removed Phi
new temp[96];
formatex(temp, 95, "\r%s \w%L", "[CSGO Remake]", 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_iUserCase[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_iUserDust[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)
{
!!! Removed Phi
if (item == -3)
{
_ShowMainMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy = 0;
new index = 0;
new var2 = Heap_4;
var2[0] = 66828;
menu_item_getinfo(menu, item, dummy, itemdata, 1, var2, 0, dummy);
index = itemdata[0];
switch (index)
{
case 0:
{
if (g_iUserCase[id][0][0] < 1 || g_iUserKeys[id][0][0] < 1)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_OPEN_NOT_ENOUGH");
_ShowOpenCaseCraftMenu(id);
}
else
{
if (get_systime(0) < g_iLastOpenCraft[id][0][0] + 5)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_DONT_SPAM", 5);
_ShowOpenCaseCraftMenu(id);
}
_OpenCase(id);
}
}
case 1:
{
if (g_iCraftCost > g_iUserDust[id][0][0])
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_CRAFT_NOT_ENOUGH", g_iCraftCost - g_iUserDust[id][0][0]);
_ShowOpenCaseCraftMenu(id);
}
else
{
if (get_systime(0) < g_iLastOpenCraft[id][0][0] + 5)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_DONT_SPAM", 5);
_ShowOpenCaseCraftMenu(id);
}
_CraftSkin(id);
}
}
case 2:
{
if (g_iKeyPrice > g_iUserPoints[id][0][0])
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_NOT_ENOUGH_POINTS", g_iKeyPrice - g_iUserPoints[id][0][0]);
_ShowOpenCaseCraftMenu(id);
}
else
{
new var5 = g_iUserPoints[id];
var5 = var5[0][0] - g_iKeyPrice;
new var6 = g_iUserKeys[id];
var6 = var6[0][0] + 1;
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_BUY_KEY");
_ShowOpenCaseCraftMenu(id);
}
}
case 3:
{
if (1 > g_iUserKeys[id][0][0])
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_NONE_KEYS");
_ShowOpenCaseCraftMenu(id);
}
else
{
new var3 = g_iUserPoints[id];
var3 = g_iKeyPrice / 2 + var3[0][0];
new var4 = g_iUserKeys[id];
var4 = var4[0][0] - 1;
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_SELL_KEY");
_ShowOpenCaseCraftMenu(id);
}
}
default:
{
}
}
return _MenuExit(menu);
}
_OpenCase(id)
{
!!! Removed Phi
new timer = 0;
new bool:succes = 0;
new rSkin = 0;
new rChance = 0;
new skinID = 0;
new wChance = 0;
do {
rSkin = random_num(0, g_iDropSkinNum + -1);
rChance = random_num(1, 100);
skinID = ArrayGetCell(g_aDropSkin, rSkin);
wChance = ArrayGetCell(g_aSkinChance, skinID);
if (rChance >= wChance)
{
succes = 1;
}
if (timer < 5 && !succes)
{
}
} while (var1);
if (succes)
{
new Skin[32];
ArrayGetString(g_aSkinName, skinID, Skin, 31);
g_iUserSkins[id][0][0][skinID]++;
g_iUserCase[id]--;
g_iUserKeys[id]--;
if (0 < g_iShowDropCraft)
{
client_print_color(0, id, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_DROP_SUCCESS_ALL", g_szName[id][0][0], Skin, 100 - wChance);
}
else
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_DROP_SUCCESS", Skin, 100 - wChance);
}
_Save(id);
g_iLastOpenCraft[id] = get_systime(0);
_ShowOpenCaseCraftMenu(id);
}
else
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_DROP_FAIL");
_ShowOpenCaseCraftMenu(id);
}
return 0;
}
_CraftSkin(id)
{
!!! Removed Phi
new timer = 0;
new bool:succes = 0;
new rSkin = 0;
new rChance = 0;
new skinID = 0;
new wChance = 0;
do {
rSkin = random_num(0, g_iCraftSkinNum + -1);
rChance = random_num(1, 100);
skinID = ArrayGetCell(g_aCraftSkin, rSkin);
wChance = ArrayGetCell(g_aSkinChance, skinID);
if (rChance >= wChance)
{
succes = 1;
}
if (timer < 5 && !succes)
{
}
} while (var1);
if (succes)
{
new Skin[32];
ArrayGetString(g_aSkinName, skinID, Skin, 31);
g_iUserSkins[id][0][0][skinID]++;
new var2 = g_iUserDust[id];
var2 = var2[0][0] - g_iCraftCost;
if (0 < g_iShowDropCraft)
{
client_print_color(0, id, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_CRAFT_SUCCESS_ALL", g_szName[id][0][0], Skin, 100 - wChance);
}
else
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_CRAFT_SUCCESS", Skin, 100 - wChance);
}
_Save(id);
g_iLastOpenCraft[id] = get_systime(0);
_ShowOpenCaseCraftMenu(id);
}
else
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_CRAFT_FAIL");
_ShowOpenCaseCraftMenu(id);
}
return 0;
}
_ShowMarketMenu(id)
{
!!! Removed Phi
new temp[96];
formatex(temp, 95, "\r%s \w%L", "[CSGO Remake]", 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][0][0]))
{
formatex(temp, 95, "\y%L", id, "CSGOR_MR_SELECT_ITEM");
}
else
{
_GetItemName(g_iUserSellItem[id][0][0], 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][0][0])
{
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 = 0;
new p = 0;
get_players(Pl, n, "ch", "");
if (n)
{
new items = 0;
new sType[4];
new bool:craft = 0;
new i = 0;
while (i < n)
{
p = Pl[i];
if (g_bLogged[p][0][0])
{
if (p == id)
{
}
else
{
if (g_bUserSell[p][0][0])
{
new index = g_iUserSellItem[p][0][0];
_GetItemName(index, szSkin, 47);
if (_IsItemSkin(index))
{
ArrayGetString(g_aSkinType, index, sType, 3);
}
else
{
formatex(sType, 3, "d");
}
if (equali(sType, "c", 0))
{
craft = 1;
}
else
{
craft = 0;
}
new var1;
if (craft)
{
var1 = 75380;
}
else
{
var1 = 75392;
}
formatex(temp, 95, "\w%s | \r%s \y%s\w| \y%d %L", g_szName[p][0][0], szSkin, var1, g_iUserItemPrice[p], id, "CSGOR_POINTS");
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)
{
new var1 = item;
if (g_iSkinsNum > var1 & 0 <= var1)
{
return true;
}
return false;
}
bool:_IsGoodItem(item)
{
!!! Removed Phi
if (var2 < g_iSkinsNum & 0 <= var2 || 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 = 0;
new index = 0;
new var6 = Heap_4;
var6[0] = 66828;
menu_item_getinfo(menu, item, dummy, itemdata, 1, var6, 0, dummy);
index = itemdata[0];
new var5;
switch (index)
{
case -10:
{
_ShowMarketMenu(id);
var5 = Heap_-4;
}
case 33:
{
new var12 = g_bUserSell;
if (var12[id][0][0])
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_MUST_CANCEL");
_ShowMarketMenu(id);
}
else
{
_ShowItems(id);
}
var5 = var12;
}
case 34:
{
new var8 = g_iUserSellItem;
new var1;
if (!_UserHasItem(id, var8[id][0][0]))
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_MUST_SELECT");
_ShowMarketMenu(id);
var1 = var8;
}
else
{
if (g_iWaitForPlace > get_systime(0) - g_iLastPlace[id][0][0])
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_MUST_WAIT", g_iWaitForPlace + g_iLastPlace[id][0][0] - get_systime(0));
var1 = Heap_-4;
}
new var9 = g_iUserItemPrice[id][0][0];
if (1 > var9)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_IM_SET_PRICE");
_ShowMarketMenu(id);
var1 = var9;
}
new wPriceMin = 0;
new wPriceMax = 0;
_CalcItemPrice(g_iUserSellItem[id][0][0], wPriceMin, wPriceMax);
new var10 = g_iUserItemPrice[id][0][0];
if (!var10 <= wPriceMax & wPriceMin <= var10)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", 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][0][0], Item, 31);
new var11 = g_szName[id];
client_print_color(0, id, "\4%s %L", "[CSGO Remake]", id, "CSGOR_SELL_ANNOUNCE", var11[0][0], Item, g_iUserItemPrice[id]);
var1 = var11;
}
var5 = var1;
}
case 35:
{
new var7 = g_bUserSell[id];
var7 = 0;
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_CANCEL_SELL");
_ShowMarketMenu(id);
var5 = var7;
}
default:
{
new tItem = g_iUserSellItem[index][0][0];
new price = g_iUserItemPrice[index][0][0];
new var13 = g_bLogged;
new var2;
new var3;
if (!var13[index][0][0])
{
var2 = var13;
}
else
{
new var14 = g_IsConnected;
if (!1 << index & 31 & var14)
{
var2 = var14;
}
var3 = 0;
/ * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
function "market_menu_handler"
public market_menu_handler(id, menu, item)
_ShowItems(id)
{
!!! Removed Phi
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_ITEM_MENU");
new menu = menu_create(temp, "item_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new total = 0;
if (0 < g_iUserCase[id][0][0])
{
formatex(temp, 63, "\r%L \w| \y%L", id, "CSGOR_ITEM_CASE", id, "CSGOR_SM_PIECES", g_iUserCase[id]);
szItem[0] = -11;
menu_additem(menu, temp, szItem, 0, -1);
total++;
}
if (g_iUserKeys[id][0][0] > 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 = 0;
new type[2];
new i = 0;
while (i < g_iSkinsNum)
{
num = g_iUserSkins[id][0][0][i];
if (0 < num)
{
ArrayGetString(g_aSkinName, i, szSkin, 31);
ArrayGetString(g_aSkinType, i, type, 1);
new var2;
if (type[0] == 99)
{
var2 = 78380;
}
else
{
var2 = 78388;
}
formatex(temp, 63, "\r%s \w| \y%L \r%s", szSkin, id, "CSGOR_SM_PIECES", num, var2);
szItem[0] = i;
menu_additem(menu, temp, szItem, 0, -1);
total++;
i++;
}
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 = 0;
new index = 0;
new var1 = Heap_4;
var1[0] = 66828;
menu_item_getinfo(menu, item, dummy, itemdata, 1, var1, 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", "[CSGO Remake]", id, "CSGOR_IM_SELECT", szItem);
client_cmd(id, "messagemode ItemPrice");
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_IM_SET_PRICE");
return _MenuExit(menu);
}
public concmd_itemprice(id)
{
!!! Removed Phi
new item = g_iUserSellItem[id][0][0];
if (!_IsGoodItem(item))
{
return 1;
}
if (uPrice < wPriceMin || uPrice > wPriceMax)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_ITEM_MIN_MAX_COST", wPriceMin, wPriceMax);
client_cmd(id, "messagemode ItemPrice");
return 1;
}
g_iUserItemPrice[id] = uPrice;
_ShowMarketMenu(id);
return 1;
}
_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", "[CSGO Remake]", 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 = 0;
new index = 0;
new var1 = Heap_4;
var1[0] = 66828;
menu_item_getinfo(menu, item, dummy, itemdata, 1, var1, 0, dummy);
index = itemdata[0];
g_iMenuType[id] = index;
_ShowSkins(id);
return _MenuExit(menu);
}
_ShowSkins(id)
{
!!! Removed Phi
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_SKINS");
new menu = menu_create(temp, "db_skins_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new szSkin[32];
new num = 0;
new type[2];
new total = 0;
new i = 0;
while (i < g_iSkinsNum)
{
num = g_iUserSkins[id][0][0][i];
if (0 < num)
{
ArrayGetString(g_aSkinName, i, szSkin, 31);
ArrayGetString(g_aSkinType, i, type, 1);
new var1;
if (type[0] == 99)
{
var1 = 79944;
}
else
{
var1 = 79952;
}
formatex(temp, 63, "\r%s \w| \y%L \r%s", szSkin, id, "CSGOR_SM_PIECES", num, var1);
szItem[0] = i;
menu_additem(menu, temp, szItem, 0, -1);
total++;
i++;
}
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 = 0;
new index = 0;
new var2 = Heap_4;
var2[0] = 66828;
menu_item_getinfo(menu, item, dummy, itemdata, 1, var2, 0, dummy);
index = itemdata[0];
if (index == -10)
{
_ShowMainMenu(id);
return _MenuExit(menu);
}
new var3 = g_iMenuType;
new var1;
switch (var3[id][0][0])
{
case 1:
{
g_iUserSkins[id][0][0][index]--;
new var5 = g_iUserDust[id];
var5 = g_iDustForTransform + var5[0][0];
new Skin[32];
ArrayGetString(g_aSkinName, index, Skin, 31);
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRANSFORM", g_iDustForTransform, Skin);
_Save(id);
var1 = Skin;
}
case 2:
{
g_iUserSkins[id][0][0][index]--;
new Skin[32];
ArrayGetString(g_aSkinName, index, Skin, 31);
new sPrice = ArrayGetCell(g_aSkinCostMin, index);
new rest = sPrice / g_iReturnPercent;
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_DESTORY", Skin, rest);
new var4 = g_iUserPoints[id];
var4 = rest + var4[0][0];
_Save(id);
var1 = var4;
}
default:
{
var1 = var3;
}
}
g_iMenuType[id] = 0;
_ShowDustbinMenu(id);
return _MenuExit(menu);
}
_ShowGiftMenu(id)
{
!!! Removed Phi
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_GIFT_MENU");
new menu = menu_create(temp, "gift_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new bool:HasTarget = 0;
new bool:HasItem = 0;
new target = g_iGiftTarget[id][0][0];
if (target)
{
formatex(temp, 63, "\w%L", id, "CSGOR_GM_TARGET", g_szName[target][0][0]);
szItem[0] = 0;
menu_additem(menu, temp, szItem, 0, -1);
HasTarget = 1;
}
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][0][0]))
{
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][0][0], Item, 31);
formatex(temp, 63, "\w%L\n", id, "CSGOR_GM_ITEM", Item);
szItem[0] = 1;
menu_additem(menu, temp, szItem, 0, -1);
HasItem = 1;
}
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 = 0;
new index = 0;
new var3 = Heap_4;
var3[0] = 66828;
menu_item_getinfo(menu, item, dummy, itemdata, 1, var3, 0, dummy);
index = itemdata[0];
switch (index)
{
case 0:
{
_SelectTarget(id);
}
case 1:
{
_SelectItem(id);
}
case 2:
{
new target = g_iGiftTarget[id][0][0];
new _item = g_iGiftItem[id][0][0];
new var4 = g_bLogged;
new var1;
new var2;
if (!var4[target][0][0])
{
var1 = var4;
}
else
{
new var5 = g_IsConnected;
if (!1 << target & 31 & var5)
{
var1 = var5;
}
var2 = 0;
/ * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
function "gift_menu_handler"
public gift_menu_handler(id, menu, item)
bool:_UserHasItem(id, item)
{
if (!_IsGoodItem(item))
{
return false;
}
switch (item)
{
case -12:
{
if (0 < g_iUserKeys[id][0][0])
{
return true;
}
}
case -11:
{
if (0 < g_iUserCase[id][0][0])
{
return true;
}
}
default:
{
if (0 < g_iUserSkins[id][0][0][item])
{
return true;
}
}
}
return 0;
}
_SelectTarget(id)
{
new temp[64];
formatex(temp, 63, "\r%s \y%L", "[CSGO Remake]", 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 = 0;
new p = 0;
get_players(Pl, n, "ch", "");
new total = 0;
if (n)
{
new i = 0;
while (i < n)
{
p = Pl[i];
new var2 = g_bLogged;
new var1;
if (!var2[p][0][0])
{
var1 = var2;
}
else
{
new var3 = id;
if (p == var3)
{
var1 = var3;
}
szItem[0] = p;
new var4 = g_szName[p];
menu_additem(menu, var4[0][0], szItem, 0, -1);
total++;
var1 = var4;
}
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 = 0;
new index = 0;
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", "[CSGO Remake]", id, "CSGOR_YOUR_TARGET", name);
_ShowGiftMenu(id);
}
}
return _MenuExit(menu);
}
_SelectItem(id)
{
!!! Removed Phi
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_ITEM_MENU");
new menu = menu_create(temp, "si_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new total = 0;
if (0 < g_iUserCase[id][0][0])
{
formatex(temp, 63, "\r%L \w| \y%L", id, "CSGOR_ITEM_CASE", id, "CSGOR_SM_PIECES", g_iUserCase[id]);
szItem[0] = -11;
menu_additem(menu, temp, szItem, 0, -1);
total++;
}
if (0 < g_iUserKeys[id][0][0])
{
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 = 0;
new type[2];
new i = 0;
while (i < g_iSkinsNum)
{
num = g_iUserSkins[id][0][0][i];
if (0 < num)
{
ArrayGetString(g_aSkinName, i, szSkin, 31);
ArrayGetString(g_aSkinType, i, type, 1);
new var1;
if (type[0] == 99)
{
var1 = 83736;
}
else
{
var1 = 83744;
}
formatex(temp, 63, "\r%s \w| \y%L \r%s", szSkin, id, "CSGOR_SM_PIECES", num, var1);
szItem[0] = i;
menu_additem(menu, temp, szItem, 0, -1);
total++;
i++;
}
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 = 0;
new index = 0;
new var3 = Heap_4;
var3[0] = 66828;
menu_item_getinfo(menu, item, dummy, itemdata, 1, var3, 0, dummy);
index = itemdata[0];
switch (index)
{
case -10:
{
_ShowMainMenu(id);
}
default:
{
new var4 = g_iUserSellItem[id][0][0];
new var1;
new var2;
if (index == var4)
{
new var5 = g_bUserSell;
if (var5[id][0][0])
{
var2 = var5;
if (ERROR: Phi)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", 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", "[CSGO Remake]", id, "CSGOR_YOUR_GIFT", szItem);
_ShowGiftMenu(id);
}
}
var1 = var5;
}
else
{
var1 = var4;
}
var2 = var1;
if (ERROR: Phi)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", 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", "[CSGO Remake]", id, "CSGOR_YOUR_GIFT", szItem);
_ShowGiftMenu(id);
}
}
}
return _MenuExit(menu);
}
_ShowTradeMenu(id)
{
!!! Removed Phi
if (g_bTradeAccept[id][0][0])
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_INFO2");
return 0;
}
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_TRADE_MENU");
new menu = menu_create(temp, "trade_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new bool:HasTarget = 0;
new bool:HasItem = 0;
new target = g_iTradeTarget[id][0][0];
if (target)
{
formatex(temp, 63, "\w%L", id, "CSGOR_GM_TARGET", g_szName[target][0][0]);
szItem[0] = 0;
menu_additem(menu, temp, szItem, 0, -1);
HasTarget = 1;
}
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][0][0]))
{
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][0][0], Item, 31);
formatex(temp, 63, "\w%L\n", id, "CSGOR_GM_ITEM", Item);
szItem[0] = 1;
menu_additem(menu, temp, szItem, 0, -1);
HasItem = 1;
}
if (HasTarget && HasItem && !g_bTradeActive[id][0][0])
{
formatex(temp, 63, "\r%L", id, "CSGOR_GM_SEND");
szItem[0] = 2;
menu_additem(menu, temp, szItem, 0, -1);
}
if (g_bTradeActive[id][0][0] || g_bTradeSecond[id][0][0])
{
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)
{
!!! Removed Phi
if (item == -3)
{
if (g_bTradeSecond[id][0][0])
{
clcmd_say_deny(id);
}
_ShowMainMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy = 0;
new index = 0;
new var4 = Heap_4;
var4[0] = 66828;
menu_item_getinfo(menu, item, dummy, itemdata, 1, var4, 0, dummy);
index = itemdata[0];
switch (index)
{
case 0:
{
if (g_bTradeActive[id][0][0] || g_bTradeSecond[id][0][0])
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_LOCKED");
_ShowTradeMenu(id);
}
else
{
_SelectTradeTarget(id);
}
}
case 1:
{
if (g_bTradeActive[id][0][0])
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_LOCKED");
_ShowTradeMenu(id);
}
else
{
_SelectTradeItem(id);
}
}
case 2:
{
if (!g_bLogged[target][0][0] || !1 << target & 31 & g_IsConnected)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_INVALID_TARGET");
_ResetTradeData(id);
_ShowTradeMenu(id);
}
else
{
if (!_UserHasItem(id, _item))
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_NOT_ENOUGH_ITEMS");
g_iTradeItem[id] = -1;
_ShowTradeMenu(id);
}
if (g_bTradeSecond[id][0][0] && !_UserHasItem(target, g_iTradeItem[target][0][0]))
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_FAIL");
client_print_color(target, target, "\4%s\1 %L", "[CSGO Remake]", 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][0][0], szItem, 31);
if (!g_bTradeSecond[id][0][0])
{
client_print_color(target, target, "\4%s\1 %L", "[CSGO Remake]", target, "CSGOR_TRADE_INFO1", g_szName[id][0][0], szItem);
client_print_color(target, target, "\4%s\1 %L", "[CSGO Remake]", target, "CSGOR_TRADE_INFO2");
}
else
{
new yItem[32];
_GetItemName(g_iTradeItem[target][0][0], yItem, 31);
client_print_color(target, target, "\4%s %L", "[CSGO Remake]", target, "CSGOR_TRADE_INFO3", g_szName[id][0][0], szItem, yItem);
client_print_color(target, target, "\4%s\1 %L", "[CSGO Remake]", target, "CSGOR_TRADE_INFO2");
g_bTradeAccept[target] = 1;
}
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_SEND", g_szName[target][0][0]);
}
}
case 3:
{
if (g_bTradeSecond[id][0][0])
{
clcmd_say_deny(id);
}
else
{
_ResetTradeData(id);
}
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_CANCELED");
_ShowTradeMenu(id);
}
default:
{
}
}
return _MenuExit(menu);
}
_SelectTradeTarget(id)
{
new temp[64];
formatex(temp, 63, "\r%s \y%L", "[CSGO Remake]", 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 = 0;
new p = 0;
get_players(Pl, n, "ch", "");
new total = 0;
if (n)
{
new i = 0;
while (i < n)
{
p = Pl[i];
new var2 = g_bLogged;
new var1;
if (!var2[p][0][0])
{
var1 = var2;
}
else
{
new var3 = id;
if (p == var3)
{
var1 = var3;
}
szItem[0] = p;
new var4 = g_szName[p];
menu_additem(menu, var4[0][0], szItem, 0, -1);
total++;
var1 = var4;
}
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 = 0;
new index = 0;
new name[32];
menu_item_getinfo(menu, item, dummy, itemdata, 1, name, 31, dummy);
index = itemdata[0];
switch (index)
{
case -10:
{
_ShowMainMenu(id);
}
default:
{
new var2 = g_iTradeRequest;
new var1;
if (var2[index][0][0])
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TARGET_TRADE_ACTIVE", name);
var1 = var2;
}
else
{
new var3 = g_iTradeTarget[id];
var3 = index;
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_YOUR_TARGET", name);
var1 = var3;
}
_ShowTradeMenu(id);
}
}
return _MenuExit(menu);
}
_SelectTradeItem(id)
{
!!! Removed Phi
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", id, "CSGOR_ITEM_MENU");
new menu = menu_create(temp, "tsi_menu_handler", 0);
new szItem[2];
szItem[1] = 0;
new total = 0;
if (0 < g_iUserCase[id][0][0])
{
formatex(temp, 63, "\r%L \w| \y%L", id, "CSGOR_ITEM_CASE", id, "CSGOR_SM_PIECES", g_iUserCase[id]);
szItem[0] = -11;
menu_additem(menu, temp, szItem, 0, -1);
total++;
}
if (0 < g_iUserKeys[id][0][0])
{
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 = 0;
new type[2];
new i = 0;
while (i < g_iSkinsNum)
{
num = g_iUserSkins[id][0][0][i];
if (0 < num)
{
ArrayGetString(g_aSkinName, i, szSkin, 31);
ArrayGetString(g_aSkinType, i, type, 1);
new var1;
if (type[0] == 99)
{
var1 = 88508;
}
else
{
var1 = 88516;
}
formatex(temp, 63, "\r%s \w| \y%L \r%s", szSkin, id, "CSGOR_SM_PIECES", num, var1);
szItem[0] = i;
menu_additem(menu, temp, szItem, 0, -1);
total++;
i++;
}
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 = 0;
new index = 0;
new var3 = Heap_4;
var3[0] = 66828;
menu_item_getinfo(menu, item, dummy, itemdata, 1, var3, 0, dummy);
index = itemdata[0];
switch (index)
{
case -10:
{
_ShowTradeMenu(id);
}
default:
{
new var4 = g_iUserSellItem[id][0][0];
new var1;
new var2;
if (index == var4)
{
new var5 = g_bUserSell;
if (var5[id][0][0])
{
var2 = var5;
if (ERROR: Phi)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", 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", "[CSGO Remake]", id, "CSGOR_TRADE_ITEM", szItem);
_ShowTradeMenu(id);
}
}
var1 = var5;
}
else
{
var1 = var4;
}
var2 = var1;
if (ERROR: Phi)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", 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", "[CSGO Remake]", id, "CSGOR_TRADE_ITEM", szItem);
_ShowTradeMenu(id);
}
}
}
return _MenuExit(menu);
}
public clcmd_say_accept(id)
{
!!! Removed Phi
if (sender < 1 || sender > 32)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_DONT_HAVE_REQ");
return 1;
}
if (!g_bLogged[sender][0][0] || !1 << sender & 31 & g_IsConnected)
{
_ResetTradeData(id);
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_INVALID_SENDER");
return 1;
}
if (!g_bTradeActive[sender][0][0] || id == g_iTradeTarget[sender][0][0])
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_IS_CANCELED");
_ResetTradeData(id);
return 1;
}
if (g_bTradeAccept[id][0][0])
{
if (!_UserHasItem(id, tItem) || !_UserHasItem(sender, sItem))
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_FAIL2");
client_print_color(sender, sender, "\4%s\1 %L", "[CSGO Remake]", sender, "CSGOR_TRADE_FAIL2");
_ResetTradeData(id);
_ResetTradeData(sender);
return 1;
}
switch (sItem)
{
case -12:
{
g_iUserKeys[id]++;
g_iUserKeys[sender]--;
}
case -11:
{
g_iUserCase[id]++;
g_iUserCase[sender]--;
}
default:
{
g_iUserSkins[id][0][0][sItem]++;
g_iUserSkins[sender][0][0][sItem]--;
}
}
switch (tItem)
{
case -12:
{
g_iUserKeys[id]--;
g_iUserKeys[sender]++;
}
case -11:
{
g_iUserCase[id]--;
g_iUserCase[sender]++;
}
default:
{
g_iUserSkins[id][0][0][tItem]--;
g_iUserSkins[sender][0][0][tItem]++;
}
}
new sItemsz[32];
new tItemsz[32];
_GetItemName(tItem, tItemsz, 31);
_GetItemName(sItem, sItemsz, 31);
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_SUCCESS", tItemsz, sItemsz);
client_print_color(sender, sender, "\4%s\1 %L", "[CSGO Remake]", sender, "CSGOR_TRADE_SUCCESS", sItemsz, tItemsz);
_ResetTradeData(id);
_ResetTradeData(sender);
}
else
{
if (!g_bTradeSecond[id][0][0])
{
g_iTradeTarget[id] = sender;
g_iTradeItem[id] = -1;
g_bTradeSecond[id] = 1;
_ShowTradeMenu(id);
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_SELECT_ITEM");
}
}
return 1;
}
public clcmd_say_deny(id)
{
!!! Removed Phi
if (sender < 1 || sender > 32)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_DONT_HAVE_REQ");
return 1;
}
if (!g_bLogged[sender][0][0] || !1 << sender & 31 & g_IsConnected)
{
_ResetTradeData(id);
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_INVALID_SENDER");
return 1;
}
if (!g_bTradeActive[sender][0][0] || id == g_iTradeTarget[sender][0][0])
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TRADE_IS_CANCELED");
_ResetTradeData(id);
return 1;
}
_ResetTradeData(id);
_ResetTradeData(sender);
client_print_color(sender, sender, "\4%s\1 %L", "[CSGO Remake]", sender, "CSGOR_TARGET_REFUSE_TRADE", g_szName[id][0][0]);
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_YOU_REFUSE_TRADE", g_szName[sender][0][0]);
return 1;
}
_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;
}
_ShowGamesMenu(id)
{
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", 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);
_DisplayMenu(id, menu);
return 0;
}
public games_menu_handler(id, menu, item)
{
!!! Removed Phi
if (item == -3)
{
_ShowMainMenu(id);
return _MenuExit(menu);
}
switch (item)
{
case 0:
{
_ShowTombolaMenu(id);
}
case 1:
{
new points = g_iUserPoints[id][0][0];
if (points < g_iRouletteCost)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_NOT_ENOUGH_POINTS", g_iRouletteCost - points);
_ShowGamesMenu(id);
}
else
{
if (g_bRoulettePlay[id][0][0])
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_ROULETTE_NEXT");
_ShowGamesMenu(id);
}
_ShowRouletteMenu(id);
}
}
default:
{
}
}
return _MenuExit(menu);
}
_ShowRouletteMenu(id)
{
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", 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", id, "CSGOR_ROU_BETWEEN", g_iRouletteMax);
menu_additem(menu, temp, szItem, 0, -1);
_DisplayMenu(id, menu);
return 0;
}
public roulette_menu_handler(id, menu, item)
{
!!! Removed Phi
if (item == -3)
{
_ShowGamesMenu(id);
return _MenuExit(menu);
}
new var1 = item;
if (2 >= var1 & 0 <= var1)
{
new var2 = g_iUserPoints[id];
var2 = var2[0][0] - g_iRouletteCost;
}
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:
{
new var3 = chance;
if (53 >= var3 & 48 <= var3)
{
_RouletteWin(id, g_iRouletteMax, 1);
}
else
{
_RouletteLoose(id, chance);
}
}
default:
{
}
}
return _MenuExit(menu);
}
_RouletteWin(id, multi, announce)
{
new num = multi * g_iRouletteCost;
new var1 = g_iUserPoints[id];
var1 = num + var1[0][0];
g_bRoulettePlay[id] = 1;
if (0 < announce)
{
client_print_color(0, id, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_ROULETTE_WIN", g_szName[id][0][0], num);
}
else
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_ROULETTE_WIN_ONE", num);
}
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_ROULETTE_NEXT");
return 0;
}
_RouletteLoose(id, num)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_ROULETTE_LOOSE", num);
_ShowGamesMenu(id);
return 0;
}
_ShowTombolaMenu(id)
{
new temp[64];
formatex(temp, 63, "\r%s \w%L", "[CSGO Remake]", 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);
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][0][0])
{
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;
}
public tombola_menu_handler(id, menu, item)
{
if (item == -3)
{
_ShowGamesMenu(id);
return _MenuExit(menu);
}
new itemdata[2];
new dummy = 0;
new index = 0;
new var2 = Heap_4;
var2[0] = 66828;
menu_item_getinfo(menu, item, dummy, itemdata, 1, var2, 0, dummy);
index = itemdata[0];
switch (index)
{
case 0:
{
_ShowTombolaMenu(id);
}
case 1:
{
new uPoints;
new var3 = g_iUserPoints;
uPoints = var3[id][0][0];
new var1;
if (!g_bTombolaWork)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_TOMB_NOT_WORK");
var1 = var3;
}
else
{
if (uPoints < g_iTombolaCost)
{
client_print_color(id, id, "\4%s\1 %L", "[CSGO Remake]", id, "CSGOR_NOT_ENOUGH_POINTS", g_iTombolaCost - uPoints);
_ShowTombolaMenu(id);
var1 = Heap_-4;
}
new var4 = g_iUserPoints[id];
var4 = var4[0][0] - g_iTombolaCost;
g_iTombolaPrize = g_iTombolaCost + g_iTombolaPrize;
g_bUserPlay[id] = 1;
ArrayPushCell(g_aTombola, id);
g_iTombolaPlayers += 1;
client_print_color(0, id, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_TOMB_ANNOUNCE", g_szName[id][0][0]);
_ShowTombolaMenu(id);
var1 = Heap_-4;
}
}
default:
{
}
}
return _MenuExit(menu);
}
_FormatTime(String:timer[], len)
{
!!! Removed Phi
new seconds = g_iNextTombolaStart - get_systime(0);
new minutes = 0;
while (seconds >= 60)
{
seconds += -60;
minutes++;
}
new bool:add_before = 0;
new temp[32];
if (seconds)
{
new var1;
if (seconds == 1)
{
var1 = 94548;
}
else
{
var1 = 94556;
}
formatex(temp, 31, "%i secund%s", seconds, var1);
add_before = 1;
}
if (minutes)
{
if (add_before)
{
new var2;
if (minutes == 1)
{
var2 = 94624;
}
else
{
var2 = 94628;
}
format(temp, 31, "%i minut%s, %s", minutes, var2, temp);
}
new var3;
if (minutes == 1)
{
var3 = 94680;
}
else
{
var3 = 94684;
}
formatex(temp, 31, "%i minut%s", minutes, var3);
add_before = 1;
}
if (!add_before)
{
copy(timer, len, "Acum!");
}
else
{
formatex(timer, len, "%s", temp);
}
return 0;
}
public task_TombolaRun(task)
{
!!! Removed Phi
if (g_iTombolaPlayers < 1)
{
client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_TOMB_FAIL_REG");
}
else
{
if (g_iTombolaPlayers < 2)
{
new id = ArrayGetCell(g_aTombola, 0);
if (1 << id & 31 & g_IsConnected)
{
new var2 = g_iUserPoints[id];
var2 = g_iTombolaCost + var2[0][0];
g_bUserPlay[id] = 0;
}
client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_TOMB_FAIL_NUM");
}
new id = 0;
new size = ArraySize(g_aTombola);
new bool:succes = 0;
new random = 0;
do {
random = random_num(0, size + -1);
id = ArrayGetCell(g_aTombola, random);
if (1 << id & 31 & g_IsConnected)
{
succes = 1;
new var3 = g_iUserPoints[id];
var3 = g_iTombolaPrize + var3[0][0];
new Name[32];
get_user_name(id, Name, 31);
client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_TOMB_WINNER", Name, g_iTombolaPrize);
}
else
{
ArrayDeleteItem(g_aTombola, random);
size--;
}
if (!succes && size > 0)
{
}
} while (var1);
}
arrayset("", 0, 33);
g_iTombolaPlayers = 0;
g_iTombolaPrize = 0;
ArrayClear(g_aTombola);
g_iNextTombolaStart = g_iTombolaTimer + get_systime(0);
new Timer[32];
_FormatTime(Timer, 31);
client_print_color(0, 0, "\4%s\1 %L", "[CSGO Remake]", -1, "CSGOR_TOMB_NEXT", Timer);
return 0;
}
public Message_DeathMsg(msgId, msgDest, msgEnt)
{
return 1;
}
_Send_DeathMsg(killer, victim, hs, String:weapon[])
{
message_begin(MSG_ALL, g_Msg_DeathMsg, 728, 0);
write_byte(killer);
write_byte(victim);
write_byte(hs);
write_string(weapon);
message_end();
return 0;
}
public Ham_Player_Spawn_Post(id)
{
if (!is_user_alive(id))
{
return 0;
}
g_IsAlive = 1 << id & 31 | g_IsAlive;
if (g_iRankModels)
{
_SetRankModels(id);
}
set_task(0.25, "task_SetIcon", id + 32, "", 0, "", 0);
new iAmmoIndex = 1;
while (iAmmoIndex <= 10)
{
set_pdata_int(id, iAmmoIndex + 376, g_iMaxBpAmmo[iAmmoIndex][0][0], 5, "");
iAmmoIndex++;
}
remove_task(id + 6000, 0);
new Name[32];
get_user_name(id, Name, 31);
if (!equali(Name, g_szName[id][0][0], 0))
{
g_IsChangeAllowed = 1 << id & 31 | g_IsChangeAllowed;
set_msg_block(g_Msg_SayText, 1);
set_user_info(id, "name", g_szName[id][0][0]);
set_task(0.10, "task_Reset_Name", id + 5000, "", 0, "", 0);
}
g_iMostDamage[id] = 0;
arrayset(g_iDamage[id][0][0], 0, 33);
return 0;
}
public task_Reset_Name(task)
{
g_IsChangeAllowed = ~1 << task + -5000 & 31 & g_IsChangeAllowed;
return 0;
}
public task_SetIcon(task)
{
new id = task + -32;
if (1 << id & 31 & g_IsConnected)
{
_SetKillsIcon(id, 1);
}
return 0;
}
_SetRankModels(id)
{
new rang = g_iUserRang[id][0][0];
new ent;
new var2 = g_iRankEnt;
ent = var2[id][0][0];
new var1;
if (pev_valid(ent))
{
set_pev(ent, pev_body, rang + 1);
var1 = Heap_-4;
}
else
{
var1 = var2;
}
return 0;
}
_SetKillsIcon(id, reset)
{
new var3;
switch (reset)
{
case 0:
{
new num = g_iDigit[id][0][0];
if (num > 10)
{
return 0;
}
num--;
message_begin(MSG_ONE_UNRELIABLE, g_Msg_StatusIcon, 728, id);
write_byte(0);
write_string(szSprite[num][0][0]);
message_end();
num++;
message_begin(MSG_ONE_UNRELIABLE, g_Msg_StatusIcon, 728, id);
write_byte(1);
new var2;
if (num > 9)
{
new var5 = szSprite[10];
write_string(var5[0]);
var2 = var5;
}
else
{
new var6 = szSprite[num];
write_string(var6[0][0]);
var2 = var6;
}
write_byte(0);
write_byte(200);
write_byte(0);
message_end();
}
case 1:
{
new num = g_iDigit[id][0][0];
message_begin(MSG_ONE_UNRELIABLE, g_Msg_StatusIcon, 728, id);
write_byte(0);
new var1;
if (num > 9)
{
var1[0] = szSprite[10][0];
}
else
{
var1[0] = szSprite[num][0][0];
}
write_string(var1);
message_end();
g_iDigit[id] = 0;
message_begin(MSG_ONE_UNRELIABLE, g_Msg_StatusIcon, 728, id);
write_byte(1);
new var4 = szSprite;
write_string(var4[0][0][var4]);
write_byte(0);
write_byte(200);
write_byte(0);
message_end();
var3 = var2;
}
default:
{
var3 = var4;
}
}
return 0;
}
public ev_Damage(id)
{
!!! Removed Phi
if (id && id <= g_iMaxPlayers)
{
return 0;
}
if (!1 << id & 31 & g_IsConnected)
{
return 0;
}
if (att && att <= g_iMaxPlayers)
{
return 0;
}
if (!1 << att & 31 & g_IsConnected)
{
return 0;
}
static damage;
damage = read_data(2);
new var3 = g_iDealDamage[att];
var3 = damage + var3[0][0];
new var4 = g_iDamage[id][0][0][att];
var4 = damage + var4;
new topDamager = g_iMostDamage[id][0][0];
if (g_iDamage[id][0][0][topDamager] < g_iDamage[id][0][0][att])
{
g_iMostDamage[id] = att;
}
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 = cmd_target(id, arg1, 3);
if (!target)
{
console_print(id, "%s %L", "[CSGO Remake]", id, "CSGOR_T_NOT_FOUND", arg1);
return 1;
}
new amount = str_to_num(arg2);
if (0 > amount)
{
new var1 = g_iUserPoints[target];
var1 = var1[0][0] - amount;
if (0 > g_iUserPoints[target][0][0])
{
g_iUserPoints[target] = 0;
}
/ * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
function "concmd_givepoints"
public concmd_givepoints(id, level, cid)
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 = cmd_target(id, arg1, 3);
if (!target)
{
console_print(id, "%s %L", "[CSGO Remake]", id, "CSGOR_T_NOT_FOUND", arg1);
return 1;
}
new amount = str_to_num(arg2);
if (0 > amount)
{
new var1 = g_iUserCase[target];
var1 = var1[0][0] - amount;
if (0 > g_iUserCase[target][0][0])
{
g_iUserCase[target] = 0;
}
/ * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
function "concmd_givecases"
public concmd_givecases(id, level, cid)
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 = cmd_target(id, arg1, 3);
if (!target)
{
console_print(id, "%s %L", "[CSGO Remake]", id, "CSGOR_T_NOT_FOUND", arg1);
return 1;
}
new amount = str_to_num(arg2);
if (0 > amount)
{
new var1 = g_iUserKeys[target];
var1 = var1[0][0] - amount;
if (0 > g_iUserKeys[target][0][0])
{
g_iUserKeys[target] = 0;
}
/ * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
function "concmd_givekeys"
public concmd_givekeys(id, level, cid)
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 = cmd_target(id, arg1, 3);
if (!target)
{
console_print(id, "%s %L", "[CSGO Remake]", id, "CSGOR_T_NOT_FOUND", arg1);
return 1;
}
new amount = str_to_num(arg2);
if (0 > amount)
{
new var1 = g_iUserDust[target];
var1 = var1[0][0] - amount;
if (0 > g_iUserDust[target][0][0])
{
g_iUserDust[target] = 0;
}
/ * ERROR! Unable to cast object of type 'Lysis.DSentinel' to type 'Lysis.DReturn'. * /
function "concmd_givedusts"
public concmd_givedusts(id, level, cid)
public concmd_setrang(id, level, cid)
{
!!! Removed Phi
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", "[CSGO Remake]", id, "CSGOR_T_NOT_FOUND", arg1);
return 1;
}
if (rang < 0 || rang >= g_iRangsNum)
{
console_print(id, "%s %L", "[CSGO Remake]", id, "CSGOR_INVALID_RANGID", g_iRangsNum + -1);
return 1;
}
g_iUserRang[target] = rang;
if (rang)
{
g_iUserKills[target] = ArrayGetCell(g_aRangKills, rang + -1);
}
else
{
g_iUserKills[target] = 0;
}
_Save(target);
new szRang[32];
ArrayGetString(g_aRangName, g_iUserRang[target][0][0], szRang, 31);
console_print(id, "%s %L", "[CSGO Remake]", id, "CSGOR_SET_RANG", arg1, szRang);
client_print_color(target, id, "\4%s\1 %L", "[CSGO Remake]", target, "CSGOR_ADMIN_SET_RANG", g_szName[id][0][0], szRang);
return 1;
}
public concmd_giveskins(id, level, cid)
{
!!! Removed Phi
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", "[CSGO Remake]", id, "CSGOR_T_NOT_FOUND", arg1);
return 1;
}
if (skin < 0 || skin >= g_iSkinsNum)
{
console_print(id, "%s %L", "[CSGO Remake]", 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][0][0][skin] -= amount;
if (0 > g_iUserSkins[target][0][0][skin])
{
g_iUserSkins[target][0][0][skin] = 0;
}
console_print(id, "%s %L x %s", "[CSGO Remake]", id, "CSGOR_SUBSTRACT", arg1, amount, szSkin);
client_print_color(target, id, "\4%s\1 %L x \3%s", "[CSGO Remake]", target, "CSGOR_ADMIN_SUB_YOU", g_szName[id][0][0], amount, szSkin);
}
else
{
if (0 < amount)
{
new var2 = g_iUserSkins[target][0][0][skin];
var2 = amount + var2;
console_print(id, "%s %L x %s", "[CSGO Remake]", id, "CSGOR_ADD", arg1, amount, szSkin);
client_print_color(target, id, "\4%s\1 %L x \3%s", "[CSGO Remake]", target, "CSGOR_ADMIN_ADD_YOU", g_szName[id][0][0], amount, szSkin);
}
return 1;
}
_Save(target);
return 1;
}
public native_get_user_points(iPluginID, iParamNum)
{
if (iParamNum != 1)
{
log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID)");
return -1;
}
new id = get_param(1);
if (!1 << id & 31 & g_IsConnected)
{
log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
return -1;
}
return g_iUserPoints[id][0][0];
}
public native_set_user_points(iPluginID, iParamNum)
{
if (iParamNum != 2)
{
log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID, Amount)");
return 0;
}
new id = get_param(1);
if (!1 << id & 31 & g_IsConnected)
{
log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
return 0;
}
new amount = get_param(2);
if (0 > amount)
{
log_error(10, "[CSGO Remake] Invalid amount value (%d)", amount);
return 0;
}
g_iUserPoints[id] = amount;
return 1;
}
public native_get_user_cases(iPluginID, iParamNum)
{
if (iParamNum != 1)
{
log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID)");
return -1;
}
new id = get_param(1);
if (!1 << id & 31 & g_IsConnected)
{
log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
return -1;
}
return g_iUserCase[id][0][0];
}
public native_set_user_cases(iPluginID, iParamNum)
{
if (iParamNum != 2)
{
log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID, Amount)");
return 0;
}
new id = get_param(1);
if (!1 << id & 31 & g_IsConnected)
{
log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
return 0;
}
new amount = get_param(2);
if (0 > amount)
{
log_error(10, "[CSGO Remake] Invalid amount value (%d)", amount);
return 0;
}
g_iUserCase[id] = amount;
return 1;
}
public native_get_user_keys(iPluginID, iParamNum)
{
if (iParamNum != 1)
{
log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID)");
return -1;
}
new id = get_param(1);
if (!1 << id & 31 & g_IsConnected)
{
log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
return -1;
}
return g_iUserKeys[id][0][0];
}
public native_set_user_keys(iPluginID, iParamNum)
{
if (iParamNum != 2)
{
log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID, Amount)");
return 0;
}
new id = get_param(1);
if (!1 << id & 31 & g_IsConnected)
{
log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
return 0;
}
new amount = get_param(2);
if (0 > amount)
{
log_error(10, "[CSGO Remake] Invalid amount value (%d)", amount);
return 0;
}
g_iUserKeys[id] = amount;
return 1;
}
public native_get_user_dusts(iPluginID, iParamNum)
{
if (iParamNum != 1)
{
log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID)");
return -1;
}
new id = get_param(1);
if (!1 << id & 31 & g_IsConnected)
{
log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
return -1;
}
return g_iUserDust[id][0][0];
}
public native_set_user_dusts(iPluginID, iParamNum)
{
if (iParamNum != 2)
{
log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID, Amount)");
return 0;
}
new id = get_param(1);
if (!1 << id & 31 & g_IsConnected)
{
log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
return 0;
}
new amount = get_param(2);
if (0 > amount)
{
log_error(10, "[CSGO Remake] Invalid amount value (%d)", amount);
return 0;
}
g_iUserDust[id] = amount;
return 1;
}
public native_get_user_rang(iPluginID, iParamNum)
{
if (iParamNum != 3)
{
log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID, Output, Len)");
return -1;
}
new id = get_param(1);
if (!1 << id & 31 & g_IsConnected)
{
log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
return -1;
}
new rang = g_iUserRang[id][0][0];
new szRang[32];
ArrayGetString(g_aRangName, rang, szRang, 31);
new len = get_param(3);
set_string(2, szRang, len);
return rang;
}
public native_set_user_rang(iPluginID, iParamNum)
{
!!! Removed Phi
if (iParamNum != 2)
{
log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID, RangID)");
return 0;
}
new id = get_param(1);
if (!1 << id & 31 & g_IsConnected)
{
log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
return 0;
}
if (rang < 0 || rang >= g_iRangsNum)
{
log_error(10, "[CSGO Remake] Invalid RangID (%d)", rang);
return 0;
}
g_iUserRang[id] = rang;
g_iUserKills[id] = ArrayGetCell(g_aRangKills, rang + -1);
return 1;
}
public native_get_user_skins(iPluginID, iParamNum)
{
!!! Removed Phi
if (iParamNum != 2)
{
log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID, SkinID)");
return -1;
}
new id = get_param(1);
if (!1 << id & 31 & g_IsConnected)
{
log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
return -1;
}
if (skin < 0 || skin >= g_iSkinsNum)
{
log_error(10, "[CSGO Remake] Invalid SkinID (%d)", skin);
return -1;
}
new amount = g_iUserSkins[id][0][0][skin];
return amount;
}
public native_set_user_skins(iPluginID, iParamNum)
{
!!! Removed Phi
if (iParamNum != 3)
{
log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID, SkinID, Amount)");
return 0;
}
new id = get_param(1);
if (!1 << id & 31 & g_IsConnected)
{
log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
return 0;
}
if (skin < 0 || skin >= g_iSkinsNum)
{
log_error(10, "[CSGO Remake] Invalid SkinID (%d)", skin);
return 0;
}
new amount = get_param(3);
if (0 > amount)
{
log_error(10, "[CSGO Remake] Invalid amount value (%d)", amount);
return 0;
}
g_iUserSkins[id][0][0][skin] = amount;
return 1;
}
public native_is_user_logged(iPluginID, iParamNum)
{
if (iParamNum != 1)
{
log_error(10, "[CSGO Remake] Invalid param num! Valid: (PlayerID)");
return 0;
}
new id = get_param(1);
if (!1 << id & 31 & g_IsConnected)
{
log_error(10, "[CSGO Remake] Player is not connected (%d)", id);
return 0;
}
return g_bLogged[id][0][0];
}
public Ham_Grenade_PA(ent)
{
if (!pev_valid(ent) == 2)
{
return 0;
}
new id = get_pdata_cbase(ent, 41, 4, "");
ShortThrow = ~1 << id & 31 & ShortThrow;
return 0;
}
public Ham_Grenade_SA(ent)
{
if (!pev_valid(ent) == 2)
{
return 0;
}
new id = get_pdata_cbase(ent, 41, 4, "");
ExecuteHamB(Ham_Weapon_PrimaryAttack, ent);
ShortThrow = 1 << id & 31 | ShortThrow;
return 0;
}
public grenade_throw(id, ent, csw)
{
if (!pev_valid(ent))
{
return 0;
}
new var1;
switch (csw)
{
case 4:
{
new var4 = g_szNadeModels;
engfunc(EngFunc_SetModel, ent, var4[0][0][var4]);
var1 = var2;
}
case 9:
{
new var3 = g_szNadeModels[2];
engfunc(EngFunc_SetModel, ent, var3[0]);
}
case 25:
{
new var2 = g_szNadeModels[1];
engfunc(EngFunc_SetModel, ent, var2[0]);
var1 = var3;
}
default:
{
var1 = var4;
}
}
if (!1 << id & 31 & ShortThrow)
{
return 0;
}
if (csw == 25)
{
set_pev(ent, pev_dmgtime, get_gametime() + 1.00);
}
static Float:fVec[3];
pev(ent, pev_velocity, fVec);
new var5 = fVec;
var5[0] = var5[0][0] * 0.50;
new var6 = fVec[1];
var6 = var6[0] * 0.50;
new var7 = fVec[2];
var7 = var7[0] * 0.50;
set_pev(ent, pev_velocity, fVec);
pev(ent, pev_origin, fVec);
new var8 = fVec[2];
var8 = var8[0] - 24.00;
set_pev(ent, pev_origin, fVec);
ShortThrow = ~1 << id & 31 & ShortThrow;
return 0;
}
public impulse100(id)
{
!!! Removed Phi
if (!1 << id & 31 & g_IsAlive)
{
return 1;
}
new endOrigin[3];
new startOrigin[3];
get_user_origin(id, startOrigin, 0);
get_user_origin(id, endOrigin, 3);
new Float:fOrigin[3];
IVecFVec(endOrigin, fOrigin);
if (100 < get_distance(startOrigin, endOrigin))
{
return 1;
}
if (!wpnbox && !armoury)
{
return 1;
}
if (wpnbox && armoury)
{
list = random_num(1, 2);
}
else
{
if (wpnbox)
{
list = 1;
}
list = 2;
}
new ent = 0;
new csw = 0;
if (list == 1)
{
new var3;
if (wpnbox > wpnboxsize)
{
var3 = random_num(0, wpnboxsize + -1);
}
else
{
var3 = random_num(0, wpnbox + -1);
}
num = var3;
ent = wpnboxlist[num];
}
else
{
new var4;
if (armoury > armourysize)
{
var4 = random_num(0, armourysize + -1);
}
else
{
var4 = random_num(0, armoury + -1);
}
num = var4;
ent = armourylist[num];
}
if (!pev_valid(ent) == 2)
{
return 1;
}
if (list == 1)
{
csw = cs_get_weaponbox_type(ent);
}
else
{
csw = cs_get_armoury_type(ent);
}
if (1 << csw & 8899675000000000.00/*1509749160*/)
{
UTIL_DropWeapons(id, 1);
}
else
{
if (1 << csw & 67308546)
{
UTIL_DropWeapons(id, 2);
}
}
fake_touch(ent, id);
return 1;
}
cs_get_weaponbox_type(iWeaponBox)
{
new iWeapon = 0;
new i = 1;
while (i <= 5)
{
iWeapon = get_pdata_cbase(iWeaponBox, m_rgpPlayerItems_CWeaponBox[i][0][0], 4, "");
if (0 < iWeapon)
{
return cs_get_weapon_id(iWeapon);
}
i++;
}
return 0;
}
UTIL_DropWeapons(id, dropwhat)
{
!!! Removed Phi
static weaponid;
static i;
static num;
static weapons[32];
num = 0;
get_user_weapons(id, "", num);
i = 0;
while (i < num)
{
if ((dropwhat == 1 && 1 << weaponid & 8899675000000000.00/*1509749160*/) || (dropwhat == 2 && 1 << weaponid & 67308546))
{
static wname[32];
get_weaponname(weaponid, "", 31);
engclient_cmd(id, "drop", "", "");
i += 1;
}
i += 1;
}
return 0;
}
public Ham_Player_Killed_Post(id)
{
!!! Removed Phi
g_IsAlive = ~1 << id & 31 & g_IsAlive;
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 var1;
if (g_iRespawnDelay > 1)
{
var1 = 108608;
}
else
{
var1 = 108616;
}
ShowSyncHudMsg(id, g_MsgSync, "Vei reinvia in %d secund%s...", g_iRespawnDelay, var1);
set_task(float(g_iRespawnDelay), "task_Respawn_Player", id + 6000, "", 0, "", 0);
}
return 0;
}
public task_Respawn_Player(task)
{
!!! Removed Phi
new id = task + -6000;
if (!1 << id & 31 & g_IsConnected)
{
return 0;
}
if (1 << id & 31 & g_IsAlive)
{
return 0;
}
if (team && team == 3)
{
return 0;
}
respawn_player_manually(id);
return 0;
}
public respawn_player_manually(id)
{
ExecuteHamB(Ham_CS_RoundRespawn, id);
return 0;
}
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 Citirea din Vault a esuat!", "[CSGO Remake]");
return 1;
}
new Data[64];
new Timestamp = 0;
if (nvault_lookup(g_Vault, arg1, Data, 63, Timestamp))
{
new userData[6][16];
userData[0] = 108880;
new password[16];
new buffer[48];
strtok(Data, password, 15, Data, 63, 61, 0);
strtok(Data, buffer, 47, Data, 63, 42, 0);
new i = 0;
while (i < 6)
{
strtok(buffer, userData[i], 15, buffer, 47, 44, 0);
i++;
}
new rang = str_to_num(20[userData]);
new szRang[32];
ArrayGetString(g_aRangName, rang, szRang, 31);
console_print(id, "%s Nume: %s | Parola: %s", "[CSGO Remake]", arg1, password);
console_print(id, "%s Puncte: %s | Rang: %s", "[CSGO Remake]", userData[0][userData], szRang);
console_print(id, "%s Chei: %s | Cutii: %s", "[CSGO Remake]", userData[2], userData[3]);
console_print(id, "%s Pulberi: %s | Ucideri: %s", "[CSGO Remake]", userData[1], userData[4]);
}
else
{
console_print(id, "%s Nu a fost gasit contul: %s", "[CSGO Remake]", arg1);
}
return 1;
}
public concmd_resetdata(id, level, cid)
{
!!! Removed Phi
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 Citirea din Vault a esuat!", "[CSGO Remake]");
return 1;
}
new Data[512];
new Timestamp = 0;
if (nvault_lookup(g_Vault, arg1, Data, 511, Timestamp))
{
if (0 < type)
{
nvault_remove(g_Vault, arg1);
console_print(id, "%s Contul a fost STERS: %s", "[CSGO Remake]", 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 = 0;
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 Contul a fost RESETAT: %s", "[CSGO Remake]", arg1);
}
else
{
console_print(id, "%s Nu a fost gasit contul: %s", "[CSGO Remake]", arg1);
}
return 1;
}
return 0;
}
public concmd_getinfo(id, level, cid)
{
!!! Removed Phi
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:
{
if (num < 0 || num >= g_iRangsNum)
{
console_print(id, "%s Index gresit. Alege o cifra intre 0 si %d, inclusiv.", "[CSGO Remake]", g_iRangsNum + -1);
}
else
{
new Name[32];
ArrayGetString(g_aRangName, num, Name, 31);
new Kills = ArrayGetCell(g_aRangKills, num);
console_print(id, "%s Informatie despre RANG cu index: %d", "[CSGO Remake]", num);
console_print(id, "%s Nume: %s | Omoruri necesare: %d", "[CSGO Remake]", Name, Kills);
}
}
case 83:
{
if (num < 0 || num >= g_iSkinsNum)
{
console_print(id, "%s Index gresit. Alege o cifra intre 0 si %d, inclusiv.", "[CSGO Remake]", 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 Informatie despre SKIN cu index: %d", "[CSGO Remake]", num);
new var2;
if (Type[0] == 100)
{
var2 = 117448;
}
else
{
var2 = 117468;
}
console_print(id, "%s Nume: %s | Tip: %s", "[CSGO Remake]", Name, var2);
}
}
case 114:
{
if (num < 0 || num >= g_iRangsNum)
{
console_print(id, "%s Index gresit. Alege o cifra intre 0 si %d, inclusiv.", "[CSGO Remake]", g_iRangsNum + -1);
}
else
{
new Name[32];
ArrayGetString(g_aRangName, num, Name, 31);
new Kills = ArrayGetCell(g_aRangKills, num);
console_print(id, "%s Informatie despre RANG cu index: %d", "[CSGO Remake]", num);
console_print(id, "%s Nume: %s | Omoruri necesare: %d", "[CSGO Remake]", Name, Kills);
}
}
case 115:
{
if (num < 0 || num >= g_iSkinsNum)
{
console_print(id, "%s Index gresit. Alege o cifra intre 0 si %d, inclusiv.", "[CSGO Remake]", 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 Informatie despre SKIN cu index: %d", "[CSGO Remake]", num);
new var2;
if (Type[0] == 100)
{
var2 = 117448;
}
else
{
var2 = 117468;
}
console_print(id, "%s Nume: %s | Tip: %s", "[CSGO Remake]", Name, var2);
}
}
default:
{
console_print(id, "%s Tip gresit. Alege R sau S.", "[CSGO Remake]");
}
}
return 1;
}
public clcmd_say_skin(id)
{
new player = id;
if (!is_user_alive(player))
{
player = pev(player, pev_iuser2);
if (!is_user_alive(player))
{
return 1;
}
}
new iActiveItem = get_pdata_cbase(player, 373, 5, "");
if (!pev_valid(iActiveItem))
{
return 1;
}
new weapon = get_pdata_int(iActiveItem, 43, 4, "");
if (1 << weapon & 33555024)
{
return 1;
}
new skin = 0;
switch (weapon)
{
case 29:
{
if (g_iUserSelectedSkin[player][0][0][weapon] != -1)
{
skin = g_iUserSelectedSkin[player][0][0][weapon];
}
return 1;
}
default:
{
new imp = pev(iActiveItem, pev_impulse);
if (0 < imp)
{
skin = imp + -1;
}
else
{
if (g_iUserSelectedSkin[player][0][0][weapon] != -1)
{
skin = g_iUserSelectedSkin[player][0][0][weapon];
}
return 1;
}
}
}
new sName[32];
new sType[4];
new bool:craft = 0;
new sChance = 0;
new pMin = 0;
new pMax = 0;
ArrayGetString(g_aSkinName, skin, sName, 31);
ArrayGetString(g_aSkinType, skin, sType, 3);
if (equali(sType, "c", 0))
{
craft = 1;
}
sChance = ArrayGetCell(g_aSkinChance, skin);
pMin = ArrayGetCell(g_aSkinCostMin, skin);
pMax = pMin * 2;
new var1;
if (craft)
{
var1 = 118624;
}
else
{
var1 = 118648;
}
client_print_color(id, id, "\4%s\1 Skin: \3%s\1 | \3%s\1 | \3%d%%\1 | \3%d - %d\1 puncte", "[CSGO Remake]", sName, var1, 100 - sChance, pMin, pMax);
return 1;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/