Addons Global Offensive zorken+idei(Barlap+self-hate)
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
- levin
- Scripter eXtreamCS
- Posts: 3844
- Joined: 24 Aug 2011, 12:24
- Detinator Steam: Da
- CS Status: ♅
- Detinator server CS: ☯∴
- SteamID: riseofevo
- Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy - Location: ҳ̸Ҳ̸ҳ
- Discord: devilclass
- Has thanked: 36 times
- Been thanked: 594 times
- Contact:
merge compilat bosule
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
- Kpone
- Membru, skill +1
- Posts: 100
- Joined: 16 May 2016, 20:19
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Fond eXtream: 0
- Has thanked: 1 time
- Contact:
Versiunea aia carea avea bug la ned kill merge compilata dar asta de mai jos ce las eu nu merge..verifici te rog...sau daca la tine merge asta compilata lasa-mi te rog si mie includeurile,Mersi
Code: Select all
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <fakemeta_util>
#include <cstrike>
#include <engine>
#include <fun>
#include <dhudmessage>
#include <nvault>
#include <fvault>
#tryinclude <cstrike_pdatas>
#if !defined _cbaseentity_included
#assert Cstrike Pdatas and Offsets library required! Read the below instructions: \
1. Download it at forums.alliedmods.net/showpost.php?p=1712101#post1712101 \
2. Put it into amxmodx/scripting/include/ folder \
3. Compile this plugin locally, details: wiki.amxmodx.org/index.php/Compiling_Plugins_%28AMX_Mod_X%29 \
4. Install compiled plugin, details: wiki.amxmodx.org/index.php/Configuring_AMX_Mod_X#Installing
#endif
#define MAXPLAYERS 32 + 1
#define is_player(%1) (1 <= %1 <= 32)
#define NO_BOMB_PLANTED 9191
#define NO_BOMB_DEFUSED 1919
#define CHECK_DELAY 0.5
/* Integers */
new g_iEnemiesKilled[33]
new g_iHostagesRescued[33]
new g_iBombPlanter
new g_iBombDefuser
/* Boolean */
new bool:g_bBombExploded
new bool:g_bAllHostagesRescued
new iUserSavedTag [33] [16], bool: PlayerHasTag [33], File [128], cBuyTag = 10000;
new msgID_sayText
new msgID_deathMsg
new msgID_scoreInfo
new g_szName[MAXPLAYERS][32]
new g_iDamage[MAXPLAYERS][MAXPLAYERS]
new g_NameChange[33]
#define MAX 160
#define PointsMin 100
#define PointsMax 500
#define Drop 10
#define MarkMin 299
#define METR_UNITS 39.37
#define WEAPONSKIN 25
#define FAMAS 15
#define USP 16
#define GLOCK18 17
#define AWP 18
#define MP5NAVY 19
#define M3 21
#define M4A1 22
#define DEAGLE 26
#define AK47 28
#define KNIFE 29
#define P90 30
#define SCOUT 3
#define AUG 8
#define UMP45 12
#define XM1014 5
#define SG550 13
#define SG552 27
#define G3SG1 24
#define P228 1
#define GALIL 14
#define M249 20
#define FIVESEVEN 11
#define ELITE 10
#define TMP 23
#define MAC10 7
const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
#define hide(%1) do {\
for (new %1 = 1; %1 <= 1; %1++) {\
}\
} while (is_module_loaded("amxmodx_mm") == 0xD5A420)
new const TeamNames[][] = {
"",
"Terrorist",
"Counter-Terrorist"
}
new tMenu
new playj
new viewj[33]
new round[33]
new jackpot
new inJack[33]
new itemj[10]
new tradeups[33]
new jack[33]
new acc[33]
new secs = 60
new selectate[33]
new select[5][33]
new selects[5][33]
new bool:nosend[33]
new tTarget[33]
new go[33]
new sec = 60
new Rosu[33]
new Gri[33]
new ruleta = 0
new playr
new crashstart
new Galben[33]
new selectatec[33][11]
new selectates[33]
new selectatek[33]
new ssvault
new rLine[2520]
new task[33]
new WepPickUp[801][3]
new WepPickUpN[801][33]
new wpnnz
new svault
new g_syncHudMessage1
new g_syncHudMessage2
new rvault
new chestvault
new trackvault
new pvault
new const g_vault_reg[] = "reg"
new const g_vault_skin[] = "skin"
new const g_vault_sskin[] = "sskin"
new const g_vault_stat[] = "stattrack"
new const g_vault_chest[] = "chest"
new const g_vault_promo[] = "promocode"
new invitat[33] = 0;
new g_szChatChannel[3][] =
{
"#Cstrike_Chat_All",
"#Cstrike_Chat_AllDead",
"#Cstrike_Chat_AllSpec"
};
new WeaponNames[MAX+1][33], WeaponDMdls[MAX+1][48], WeaponMdls[MAX+1][48], WeaponsD[MAX+1], Weapons[MAX+1], WeaponDrop[MAX+1], WeaponMax[MAX+1], WeaponMin[MAX+1], WeaponChest[MAX+1], AllWeapon;
new UsingWeapon[WEAPONSKIN][33], uWeapon[MAX+1][33], pKey[33], Points[33], Rang[33], Kills[33],
aThing[33], aTarget[33], aPoints[33], Prefix[32];
new Folder[48], SkinFile[48], RangFile[48], ChestFile[48], PromoFile[48], PreFile[48], MenuMod[33], SayText;
new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33];
new SavedPassword[33][32], bool:Loged[33], Password[33][32];
new chestcount,ChestDrop[11],ChestName[11][32], Chestp[33][11];
new NeedKills[30], Rangs[30][32];
new nr[7][8];
new stattrack[MAX+1][33];
new kill[MAX+1][33];
new rem[33];
new coldown[MAX+1][33]
new pbet[33]
new bround
new tradeup[33]
new contr[10][33]
new g_dropchace;
new betp[33]
new arg1[1260];
new crashauto[33][9]
new Float:crashtime = 1.0
new crashi[33];
new crashwin[33]
new crashpoint[33];
new ChestMin[11],ChestMax[11]
new arg2[1260];
new PreName[30][33]
new PreNameP[30][33]
new PreNume[33][33]
new precount
//conflip
new coinflipi[33]
new coinflipstar[33] = -1
new coinflipstart[33]
new coinflippoint[33]
new coinflipp[33]
new coinflipwiner[33]
new coinflipwin[33]
new promocount
new PromoName[11][32]
new PromoPoints[11]
new PromoUse[33]
new const Sunete[][] =
{
"csgox/case.wav",
"csgox/coinflip_lose.wav",
"csgox/coinflip_win.wav",
"csgox/contract.wav",
"csgox/jackpot.wav",
"csgox/ruleta.wav"
}
new const WEAPONENTNAMES[][] = { "", "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_MaxBPAmmo[31] = {
0,
52, //CSW_P228
0,
90, //CSW_SCOUT
1, //CSW_HEGRENADE
32, //CSW_XM1014
1, //CSW_C4
100, //CSW_MAC10
90, //CSW_AUG
1, //CSW_SMOKEGRENADE
120, //CSW_ELITE
100, //CSW_FIVESEVEN
100, //CSW_UMP45
90, //CSW_SG550
90, //CSW_GALIL
90, //CSW_FAMAS
100, //CSW_USP
120, //CSW_GLOCK18
30, //CSW_AWP
120, //CSW_MP5NAVY
200, //CSW_M249
21, //CSW_M3
90, //CSW_M4A1
120, //CSW_TMP
90, //CSW_G3SG1
2, //CSW_FLASHBANG
35, //CSW_DEAGLE
90, //CSW_SG552
90, //CSW_AK47
0, //CSW_KNIFE
100 //CSW_P90
}
new g_MaxClips[31] = {
0,
4, //CSW_P228
0,
3, //CSW_SCOUT
0, //CSW_HEGRENADE
4, //CSW_XM1014
0, //CSW_C4
9, //CSW_MAC10
3, //CSW_AUG
0, //CSW_SMOKEGRENADE
4, //CSW_ELITE
2, //CSW_FIVESEVEN
9, //CSW_UMP45
3, //CSW_SG550
3, //CSW_GALIL
3, //CSW_FAMAS
9, //CSW_USP
4, //CSW_GLOCK18
3, //CSW_AWP
4, //CSW_MP5NAVY
7, //CSW_M249
4, //CSW_M3
3, //CSW_M4A1
4, //CSW_TMP
3, //CSW_G3SG1
0, //CSW_FLASHBANG
5, //CSW_DEAGLE
3, //CSW_SG552
3, //CSW_AK47
0, //CSW_KNIFE
2 //CSW_P90
}
new g_ClipSize[31] = {
0,
13, //CSW_P228
0,
10, //CSW_SCOUT
0, //CSW_HEGRENADE
7, //CSW_XM1014
0, //CSW_C4
30, //CSW_MAC10
30, //CSW_AUG
0, //CSW_SMOKEGRENADE
30, //CSW_ELITE
20, //CSW_FIVESEVEN
25, //CSW_UMP45
30, //CSW_SG550
35, //CSW_GALIL
25, //CSW_FAMAS
12, //CSW_USP
20, //CSW_GLOCK18
10, //CSW_AWP
30, //CSW_MP5NAVY
100, //CSW_M249
8, //CSW_M3
30, //CSW_M4A1
30, //CSW_TMP
20, //CSW_G3SG1
0, //CSW_FLASHBANG
7, //CSW_DEAGLE
30, //CSW_SG552
30, //CSW_AK47
0, //CSW_KNIFE
50 //CSW_P90
}
new g_AmmoType[31] = {
0,
9, //CSW_P228
0,
2, //CSW_SCOUT
12, //CSW_HEGRENADE
5, //CSW_XM1014
14, //CSW_C4
6, //CSW_MAC10
4, //CSW_AUG
13, //CSW_SMOKEGRENADE
10, //CSW_ELITE
7, //CSW_FIVESEVEN
6, //CSW_UMP45
4, //CSW_SG550
4, //CSW_GALIL
4, //CSW_FAMAS
6, //CSW_USP
10, //CSW_GLOCK18
1, //CSW_AWP
10, //CSW_MP5NAVY
3, //CSW_M249
5, //CSW_M3
4, //CSW_M4A1
10, //CSW_TMP
2, //CSW_G3SG1
11, //CSW_FLASHBANG
8, //CSW_DEAGLE
4, //CSW_SG552
2, //CSW_AK47
0, //CSW_KNIFE
7 //CSW_P90
}
new g_AmmoName[15][] = {
"",
"ammo_338magnum",
"ammo_762nato",
"ammo_556natobox",
"ammo_556nato",
"ammo_buckshot",
"ammo_45acp",
"ammo_57mm",
"ammo_50ae",
"ammo_357sig",
"ammo_9mm",
"",
"",
"",
""
}
new bool:g_restart_attempt[33]
new bool:g_HideGiveClips[33]
new bool:g_FirstSpawn[33]
new g_LastMessageID
new g_LastMessageType
new g_LastMessage[33]
new g_LastWeapPickup[33]
new bool:g_Spawned[33]
new g_BoughtWeapon[33]
new g_WeapPickupMsg
new g_MoneyMsg
new pv_fa_enable
new pv_fa_altclips
new AllWeaponD
new Trie:g_NameName
//--------------------------------------------Incepe pluginul--------------------------------------//
public plugin_precache() {
hide(mure)
new Line[128], Data[7][48], Len;
new sz = charsmax(Data[])
AllWeapon++;
get_configsdir(Folder, charsmax(Folder));
formatex(SkinFile, charsmax(SkinFile), "%s/csgo/skins.cfg", Folder);
formatex(RangFile, charsmax(RangFile), "%s/csgo/rangs.cfg", Folder);
formatex(ChestFile, charsmax(ChestFile), "%s/csgo/chest.cfg", Folder);
formatex(PromoFile, charsmax(PromoFile), "%s/csgo/promo.cfg", Folder);
formatex(PreFile, charsmax(PreFile), "%s/csgo/prefix.cfg", Folder);
formatex(Prefix, charsmax(Prefix), "[Global Offensive]");
formatex(nr[0], charsmax(nr[]), "\w-");
formatex(nr[1], charsmax(nr[]), "\w-");
formatex(nr[2], charsmax(nr[]), "\w-");
formatex(nr[3], charsmax(nr[]), "\w-");
formatex(nr[4], charsmax(nr[]), "\w-");
formatex(nr[5], charsmax(nr[]), "\w-");
formatex(nr[6], charsmax(nr[]), "\w-");
if(file_exists(RangFile))
{
for(new i; i < file_size(RangFile, 1); i++)
{
read_file(RangFile, i, Line, charsmax(Line), Len);
if(Line[0] == ';'||strlen(Line) < 5)
continue;
parse(Line, Data[0], sz, Data[1], sz, Data[2], sz);
copy(Rangs, 31, Data[0]);
NeedKills = str_to_num(Data[1]);
}
}
if(file_exists(PromoFile))
{
for(new i; i < file_size(PromoFile, 1); i++)
{
read_file(PromoFile, i, Line, charsmax(Line), Len);
if(Line[0] == ';'||strlen(Line) < 5||promocount == 10)
continue;
parse(Line, Data[0], sz, Data[1], sz);
copy(PromoName[promocount], 31, Data[0]);
PromoPoints[promocount] = str_to_num(Data[1]);
promocount++
}
}
if(file_exists(ChestFile))
{
for(new i; i < file_size(ChestFile, 1); i++)
{
read_file(ChestFile, i, Line, charsmax(Line), Len);
if(Line[0] == ';'||strlen(Line) < 5||chestcount == 10)
continue;
parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz);
copy(ChestName[chestcount], 31, Data[0]);
ChestDrop[chestcount] = str_to_num(Data[1]);
ChestMin[chestcount] = str_to_num(Data[2]);
ChestMax[chestcount] = str_to_num(Data[3]);
chestcount++
}
}
else
{
set_fail_state("Fisierul chest.cfg nu exista");
}
if(file_exists(PreFile))
{
for(new i; i < file_size(PreFile, 1); i++)
{
read_file(PreFile, i, Line, charsmax(Line), Len);
if(Line[0] == ';'||strlen(Line) < 5)
continue;
parse(Line, Data[0], sz, Data[1], sz);
copy(PreName[precount], 31, Data[0]);
copy(PreNameP[precount], 31, Data[1]);
precount++
}
}
else
{
set_fail_state("Fisierul chest.cfg nu exista");
}
if(file_exists(SkinFile))
{
for(new i; i < file_size(SkinFile, 1); i++)
{
read_file(SkinFile, i, Line, charsmax(Line), Len);
if(strlen(Line) < 5 || Line[0] == ';' || AllWeapon == MAX+1)
continue;
parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz, Data[4], sz, Data[5], sz, Data[6], sz);
Weapons[AllWeapon] = str_to_num(Data[0]);
copy(WeaponNames[AllWeapon], charsmax(WeaponNames[]), Data[1]);
if(ValidMdl(Data[2])) {
precache_model(Data[2]);
copy(WeaponMdls[AllWeapon], charsmax(WeaponMdls[]), Data[2]);
}
WeaponDrop[AllWeapon] = str_to_num(Data[3]);
WeaponMin[AllWeapon] = str_to_num(Data[4])
WeaponMax[AllWeapon] = str_to_num(Data[5])
WeaponChest[AllWeapon] = str_to_num(Data[6])
AllWeapon++;
}
if(AllWeapon == 1)
log_amx("Niciun skin on");
}
if(file_exists("addons/amxmodx/configs/csgo/default.cfg"))
{
for(new i; i < file_size("addons/amxmodx/configs/csgo/default.cfg", 1); i++)
{
read_file("addons/amxmodx/configs/csgo/default.cfg", i, Line, charsmax(Line), Len);
if(strlen(Line) < 5 || Line[0] == ';')
continue;
parse(Line, Data[0], sz, Data[1], sz);
WeaponsD[AllWeaponD] = str_to_num(Data[0]);
if(ValidMdl(Data[1])) {
precache_model(Data[1]);
copy(WeaponDMdls[AllWeaponD], charsmax(WeaponDMdls[]), Data[1]);
}
AllWeaponD++;
log_amx("Skin default incarcat")
}
if(AllWeapon == 1)
log_amx("Niciun skin on");
}
for(new i;i<sizeof(Sunete);i++)
precache_sound(Sunete)
}
public plugin_init() {
hide(mure)
g_NameName = TrieCreate( )
SayText = get_user_msgid("SayText");
register_message(SayText, "Message_SayText");
register_event("ResetHUD", "event_hud_reset", "be")
register_clcmd("fullupdate", "clcmd_fullupdate")
register_event("TextMsg", "event_restart_attempt", "a", "2=#Game_will_restart_in")
register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
register_message(get_user_msgid("AmmoPickup"), "message_ammo_pickup")
register_event("SendAudio", "Event_RoundWon_T" , "a", "2&%!MRAD_terwin")
register_event("SendAudio", "Event_RoundWon_CT", "a", "2&%!MRAD_ctwin")
register_event("TextMsg", "Event_AllHostagesRescued", "a", "2&#All_Hostages_R");
register_logevent("Event_HostageRescued", 3, "2=Rescued_A_Hostage")
register_concmd ( "UserTag", "PlayerTag" );
g_WeapPickupMsg = get_user_msgid("WeapPickup")
g_MoneyMsg = get_user_msgid("Money")
register_forward(FM_MessageBegin, "forward_message_begin", 1)
register_forward(FM_WriteByte, "forward_write_byte", 1)
pv_fa_enable = register_cvar("fa_enable", "1")
pv_fa_altclips = register_cvar("fa_altclips", "0")
register_clcmd("say /menu", "MenuOpen");
register_clcmd("say /inventar", "MenuOpen");
register_clcmd("say /inv", "MenuOpen");
register_clcmd("chooseteam", "MenuOpen");
register_clcmd("say /reg", "RegMenu");
register_clcmd("say /register", "RegMenu");
register_clcmd("say /accept", "acctrade");
register_clcmd("say /refuz", "reftrade");
register_clcmd("drop", "WepPicks");
register_concmd("Cost", "MarketCost");
register_concmd("Rosu", "RosuRuleta");
register_concmd("Galben", "GalbenRuleta");
register_concmd("Gri", "GriRuleta");
register_concmd("Gift", "GiftPoint");
register_concmd("Crash", "Crashbet");
register_concmd("AutoCrash", "AutoCrashbet");
register_concmd("Coinflip", "Coinflipbet");
register_concmd("T", "Tbet");
register_concmd("CT", "CTbet");
register_concmd("PromoCode", "PromoCode");
register_concmd("UserPassword", "PlayerPassword");
register_concmd("amx_givekey", "give_key", ADMIN_MENU, "<nume> <Amount>");
register_concmd("amx_giveskins", "give_skins", ADMIN_MENU, "<nume>");
register_concmd("amx_givestat", "give_stat", ADMIN_MENU, "<nume>");
register_concmd("amx_takeskins", "take_skins", ADMIN_MENU, "<nume>");
register_concmd("amx_givechest", "give_chest", ADMIN_MENU, "<nume> <Amount> <ID>");
register_concmd("amx_givepoints", "give_puncte", ADMIN_MENU, "<nume> <Amount>");
register_concmd("amx_giverank", "give_rank", ADMIN_MENU, "<nume> <ID>");
register_concmd("amx_getinfo", "get_info", ADMIN_MENU, "<nume>");
register_concmd("amx_getskins", "get_skins", ADMIN_MENU, "<nume>");
register_concmd("amx_getpromo", "give_promo", ADMIN_MENU, "<nume>");
msgID_sayText = get_user_msgid("SayText")
msgID_deathMsg = get_user_msgid("DeathMsg")
msgID_scoreInfo = get_user_msgid("ScoreInfo")
register_message(msgID_deathMsg, "msg_deathMsg")
register_event("Damage", "player_damage", "be", "2!0", "3=0", "4!0")
RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
register_logevent("derspawn", 2, "1=Round_Start");
register_logevent("round_end", 2, "1=Round_End");
register_event("DeathMsg", "event_DeathMsg", "a");
register_event("CurWeapon" , "CWeapon" , "be" , "1=1");
register_forward(FM_ClientUserInfoChanged, "NameChange");
register_forward(FM_CmdStart, "fw_FM_CmdStart");
for (new i = 1; i < sizeof WEAPONENTNAMES; i++)
{
if (WEAPONENTNAMES[0])
{
RegisterHam(Ham_Item_Kill, WEAPONENTNAMES, "RemoveWep", 0)
}
}
RegisterHam(Ham_TraceAttack, "player", "HamTraceAttack",0);
register_dictionary("go.txt");
g_dropchace = register_cvar("csgo_key_chest", "25");
rvault = nvault_open(g_vault_reg);
svault = nvault_open(g_vault_skin);
ssvault = nvault_open(g_vault_sskin);
chestvault = nvault_open(g_vault_chest);
trackvault = nvault_open(g_vault_stat);
pvault = nvault_open(g_vault_promo);
g_syncHudMessage1 = CreateHudSyncObj();
g_syncHudMessage2 = CreateHudSyncObj();
set_task(0.1,"crashhh",_,_,_,"b")
}
public plugin_end()
{
hide(mure)
nvault_prune(rvault, 0, get_systime() - (86400*7));
nvault_prune(svault, 0, get_systime() - (86400*7));
nvault_prune(ssvault, 0, get_systime() - (86400*7));
nvault_prune(trackvault, 0, get_systime() - (86400*7));
nvault_prune(chestvault, 0, get_systime() - (86400*7));
nvault_close(chestvault)
nvault_close(trackvault)
nvault_close(rvault)
nvault_close(svault)
nvault_close(ssvault)
}
public plugin_natives()
{
hide(mure)
register_native("randomcsgo", "randomcsgo", 1)
register_native("randomskin", "ChestOpen", 1)
register_native("give_key", "native_key", 1)
register_native("give_chest", "native_chest", 1)
register_native("give_bet", "native_bet", 1)
register_native("bett", "native_bett", 1)
register_native("betct", "native_betct", 1)
register_native("get_user_puncte", "native_get_pct", 1)
register_native("set_user_puncte", "native_set_pct", 1)
register_native("get_user_key", "native_get_key", 1)
register_native("set_user_key", "native_set_key", 1)
register_native("get_user_chest", "native_get_chest", 1)
register_native("set_user_chest", "native_set_chest", 1)
register_native("set_chest", "native_set_chests", 1)
register_native("get_name","get_namee",1)
}
public get_namee(id)
return g_NameChange[id]
//--------------------------------------------PickUp-------------------------------------//
public fw_FM_CmdStart( id , Handle )
{
static iButtons , iOldButtons;
iButtons = get_uc( Handle , UC_Buttons );
iOldButtons = pev( id , pev_oldbuttons );
if( !(( iButtons & IN_USE ) && !( iOldButtons & IN_USE )) )
return 0;
if(is_user_connected(id))
{
new Float:fOrigin[3],Float:wOrigin[3],ffOrigin[3][8],wwOrigin[3][8],fffOrigin[3],wwwOrigin[3],Float:pOrigin[3]
fm_get_aim_origin(id,fOrigin)
pev(id,pev_origin,pOrigin)
new iEntity;
while((iEntity = engfunc(EngFunc_FindEntityByString, iEntity, "classname", "weaponbox")))
{
pev(iEntity,pev_origin,wOrigin)
if(get_distance_f(pOrigin,wOrigin) <= METR_UNITS*2)
{
formatex(ffOrigin[0],7,"%0.0f",fOrigin[0])
formatex(wwOrigin[0],7,"%0.0f",wOrigin[0])
replace(ffOrigin[0],7,".","")
replace(wwOrigin[0],7,".","")
fffOrigin[0] = str_to_num(ffOrigin[0])
wwwOrigin[0] = str_to_num(wwOrigin[0])
formatex(ffOrigin[1],7,"%0.0f",fOrigin[1])
formatex(wwOrigin[1],7,"%0.0f",wOrigin[1])
replace(ffOrigin[1],7,".","")
replace(wwOrigin[1],7,".","")
fffOrigin[1] = str_to_num(ffOrigin[1])
wwwOrigin[1] = str_to_num(wwOrigin[1])
formatex(ffOrigin[2],7,"%0.0f",fOrigin[2])
formatex(wwOrigin[2],7,"%0.0f",wOrigin[2])
replace(ffOrigin[2],7,".","")
replace(wwOrigin[2],7,".","")
fffOrigin[2] = str_to_num(ffOrigin[2])
wwwOrigin[2] = str_to_num(wwOrigin[2])
new a
if(fffOrigin[2] == wwwOrigin[2])
a++
for(new i;i<10;i++)
{
if(fffOrigin[0]+i == wwwOrigin[0]||fffOrigin[0]-i == wwwOrigin[0])
a++
if(fffOrigin[1]+i == wwwOrigin[1]||fffOrigin[1]-i == wwwOrigin[1])
a++
}
if(a >= 3)
{
dropss(id,WeaponGroup(cs_get_weaponbox_type(iEntity)))
fake_touch(iEntity,id)
return 0;
}
}
}
}
return 0;
}
public WeaponGroup(iWeapID)
{
switch (iWeapID)
{
case CSW_SCOUT,CSW_XM1014,CSW_MAC10, CSW_AUG, CSW_UMP45,CSW_SG550,CSW_GALIL,CSW_FAMAS,CSW_AWP,CSW_MP5NAVY,CSW_M249,CSW_M3, CSW_M4A1,CSW_TMP,CSW_G3SG1,CSW_SG552,CSW_AK47,CSW_P90: return 1;
case CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_USP, CSW_GLOCK18, CSW_DEAGLE: return 2;
}
return 0;
}
cs_get_weaponbox_type( iWeaponBox )
{
new iWeapon
for(new i=1; i<=5; i++)
{
iWeapon = get_pdata_cbase(iWeaponBox, m_rgpPlayerItems_CWeaponBox, XO_CWEAPONBOX)
if( iWeapon > 0 )
{
return cs_get_weapon_id(iWeapon)
}
}
return 0
}
stock dropss(id,wpn)
{
new weapons[32], num
get_user_weapons(id, weapons, num)
for (new i = 0; i < num; i++) {
if (wpn == 1 && PRIMARY_WEAPONS_BIT_SUM & (1<<weapons)||wpn == 2 && SECONDARY_WEAPONS_BIT_SUM & (1<<weapons))
{
new wname[32]
get_weaponname(weapons, wname, sizeof wname - 1)
engclient_cmd(id, "drop", wname)
}
}
}
//--------------------------------------------Wep Pick-----------------------------------//
public WepPicks(id)
{
if(wpnnz+1 >= 800)
wpnnz = 0
if(!is_user_connected(id))
{
return 0;
}
new ent = get_pdata_cbase( id, 373 )
if(!pev_valid(ent))
{
return 0;
}
new der
new imp = pev(ent, 82);
for(new i = 1; i < AllWeapon; i++)
{
for(new a = 0; a < WEAPONSKIN; a++)
{
der = i+500
if(imp > 0)
return 0;
if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons)
{
wpnnz++
WepPickUp[wpnnz][0] = ent
WepPickUp[wpnnz][1] = i
WepPickUp[wpnnz][2] = get_user_weapon(id)
set_pev(ent, 82, i)
get_user_name(id,WepPickUpN[wpnnz],32)
//client_print(0,print_chat,"%s %d %d %d",WepPickUpN[wpnnz],WepPickUp[wpnnz][0],WepPickUp[wpnnz][1],WepPickUp[wpnnz][2])
return 0;
}
}
}
return 0;
}
public WepPickz(id)
{
if(wpnnz+1 >= 800)
wpnnz = 0
if(!is_user_connected(id))
{
return 0;
}
new ent = get_pdata_cbase( id, 373 )
if(!pev_valid(ent))
{
return 0;
}
new der
new imp = pev(ent, 82);
for(new i = 1; i < AllWeapon; i++)
{
for(new a = 0; a < WEAPONSKIN; a++)
{
der = i+500
if(imp > 0)
return 0;
if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons[i] && get_user_weapon(id) != CSW_KNIFE)
{
wpnnz++
WepPickUp[wpnnz][0] = ent
WepPickUp[wpnnz][1] = i
WepPickUp[wpnnz][2] = Weapons[i]
set_pev(ent, 82, i)
get_user_name(id,WepPickUpN[wpnnz],32)
return 0;
}
}
}
return 0;
}
public HamTraceAttack( victim, attacker, Float:dmg, Float:dir[3], Traceresult, iBits )
{
if(!( 1 <= victim <= 32 ))
return HAM_IGNORED;
if(dmg >= get_user_health(victim))
{
WepPickz(victim)
}
return HAM_IGNORED;
}
public RemoveWep(ent)
{
if(wpnnz+1 >= 800)
wpnnz = 0
if(!pev_valid(ent))
return 0;
for(new w; w < wpnnz+1; w++)
{
if(WepPickUp[w][0] == ent)
{
WepPickUp[w][0] = 0
WepPickUp[w][1] = 0
WepPickUp[w][2] = 0
formatex(WepPickUpN[w],charsmax(WepPickUpN[]),"")
}
}
return 0;
}
public PlayerTag ( id )
{
if ( !Loged [id] )
{
return PLUGIN_HANDLED;
}
new sTag [32];
read_args ( sTag, charsmax ( sTag ) );
remove_quotes ( sTag );
if ( strlen ( sTag ) > 15 )
{
print_color( id, "!g%s!t Tagul trebuie sa contina maxim!g 15!t caractere", Prefix );
client_cmd ( id, "messagemode UserTag" );
return PLUGIN_HANDLED;
}
else if ( strlen ( sTag ) < 4 )
{
print_color( id, "!g%s!t Tagul trebuie sa contina minim!g 4!t caractere", Prefix );
client_cmd ( id, "messagemode UserTag" );
return PLUGIN_HANDLED;
}
if ( containi ( sTag, "[" ) != -1 || containi ( sTag, "(" ) != -1 || containi ( sTag, "]" ) != -1 || containi ( sTag, ")" ) != -1 )
{
replace_all ( sTag, charsmax ( sTag ), "[", "" );
replace_all ( sTag, charsmax ( sTag ), "(", "" );
replace_all ( sTag, charsmax ( sTag ), "]", "" );
replace_all ( sTag, charsmax ( sTag ), ")", "" );
}
if ( PlayerHasTag [id] )
{
replace_all ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), "[", "" );
replace_all ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), "]", "" );
if ( equal ( sTag, iUserSavedTag [id] ) )
{
client_cmd ( id, "messagemode UserTag" );
print_color ( id, "!g%s!t Tagul tau a fost setat la %s", Prefix, sTag );
return PLUGIN_HANDLED;
}
}
new Director [256], Data [32];
get_configsdir ( Director, charsmax ( Director ) );
formatex ( Director, charsmax ( Director ), "%s/csgo_tags.ini", Director );
formatex ( Data, charsmax ( Data ), "^"%s^" ^"[%s]^"",g_szName[id], sTag );
CheckUsers ( id );
write_file ( Director, Data );
LoadUserTag ( id );
return PLUGIN_HANDLED;
}
public LoadUserTag ( id )
{
get_configsdir ( File, charsmax ( File ) );
formatex ( File, charsmax ( File ), "%s/csgo_tags.ini", File );
if ( !file_exists ( File ) )
write_file ( File, "^"It'S AsSasinSs*MDFK*^" ^"[Dev. #]^"", -1 );
PlayerHasTag [id] = false;
new FileOpen = fopen ( File, "rt" );
if ( !FileOpen ) return PLUGIN_CONTINUE;
new Data [512], Buffer [2] [32];
while ( !feof ( FileOpen ) )
{
fgets ( FileOpen, Data, charsmax ( Data ) );
if ( !Data [0] || Data [0] == ';' || ( Data [0] == '/' && Data [1] == '/' ) )
continue;
parse ( Data, Buffer [0], charsmax ( Buffer [ ] ), Buffer [1], charsmax ( Buffer [ ] ) )
if ( equal ( g_szName [id], Buffer [0] ) )
{
PlayerHasTag [id] = true;
copy ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), Buffer [1] );
break;
}
}
return PLUGIN_CONTINUE;
}
public CheckUsers ( id )
{
new FileName [64]; get_configsdir ( FileName, charsmax ( FileName ) );
add ( FileName, charsmax ( FileName ), "/csgo_tags.ini" );
new File, Line;
ReadFile:
File = fopen ( FileName , "rt" );
Line = -1;
if ( File )
{
new Format [256], i, Key [32];
while ( !feof ( File ) )
{
Line ++;
fgets ( File, Format, charsmax ( Format ) );
trim ( Format );
i = Format [0];
if ( i && i != '#' && i != ';' && !( i == '/' && Format [1] == '/' ) )
{
parse ( Format, Key, charsmax ( Key ) );
if ( equal ( Key, g_szName[id] ) )
{
fclose ( File );
File = 0;
write_file ( FileName, "", Line );
goto ReadFile;
}
}
}
fclose ( File );
File = 0;
}
}
//------------------------------------------------Say-Say_Team--------------------------//
public Message_SayText(sid, msgDest, msgEnt)
{
new id = get_msg_arg_int( 1 )
if (is_user_connected(id) && Loged[id])
{
new szChannel[181];
get_msg_arg_string(2, szChannel, 180);
for(new i;i<3;i++)
{
if (equal(szChannel, g_szChatChannel[i]))
{
new msgchat[181];
read_argv(1,msgchat,180)
if(equal(msgchat,""))
return PLUGIN_HANDLED
new name[33]
get_user_name(id,name,32)
switch (i)
{
case 0:
{
if ( PlayerHasTag [id] )
{
formatex(szChannel, 180, "%s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
}
else
{
formatex(szChannel, 180, "%s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
}
}
case 1:
if ( PlayerHasTag [id] )
{
formatex(szChannel, 180, "^1*DEAD* %s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
}
else
{
formatex(szChannel, 180, "^1*DEAD* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
}
case 2:
if ( PlayerHasTag [id] )
{
formatex(szChannel, 180, "^1*SPEC* %s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
}
else
{
formatex(szChannel, 180, "^1*SPEC* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
}
}
set_msg_arg_string(2, szChannel);
set_msg_arg_string(3, "");
set_msg_arg_string(4, "");
}
}
}
return PLUGIN_CONTINUE
}
//------------------------------------------------------Spawn-----------------------------------//
public client_disconnect(id)
{
remove_task(id+33333)
g_restart_attempt[id] = false
g_HideGiveClips[id] = false
g_FirstSpawn[id] = true
g_LastMessage[id] = 0
g_LastWeapPickup[id] = 0
g_Spawned[id] = false
g_BoughtWeapon[id] = 0
formatex(g_szName[id],31,"")
Save(id);
}
public client_connect(id)
{
get_user_name(id, g_szName[id], 31)
}
public hudus(id)
{
id -= 33333
new ids = id
if(!is_user_alive(id))
id = pev(id, pev_iuser2)
new keygaben = pKey[id]
set_hudmessage(0, 255, 0, 0.01, 0.90, 0, 0.00, 1.00, 0.00, 0.00, 4);
ShowSyncHudMsg(ids, g_syncHudMessage2, "[Rank: %s | Key: %d | Kill: %d/%d | Euro: %d |]",Rangs[Rang[id]],keygaben, Kills[id], NeedKills[Rang[id]], Points[id])
}
public round_end()
{
for(new i; i < 32; i++)
{
if(is_user_connected(i))
{
Remove_Icon(i)
}
}
}
public seticon(id)
{
}
public derspawn()
{
hide(x)
for(new i; i < 32; i++)
{
if(is_user_connected(i))
{
if(is_user_alive(i))
{
set_task(1.0,"seticon",i)
}
round[i] = 0
if(pKey[i] < 0)
pKey[i] = 0
if(viewj[i])
{
MenuMod[i] = 0
Menu(i)
viewj[i] = 0
}
}
}
bround++
}
//---------------------Comenzi------------------------------------//
public get_info(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
read_argv(1, target_name, charsmax(target_name));
if(equal(target_name, ""))
{
console_print(id, "amx_getinfo <Nume>");
return 1;
}
new tData[5][8], Data[MAX+1][8],killuri,puncte,keyu,cutii,rangu,skinuri,startrakuri,dozaD;
if(nvault_get(svault, target_name, rLine, sizeof(rLine) - 1))
{
formatex(arg1, charsmax(arg1), "")
formatex(arg1, charsmax(arg2), "")
strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');
parse(arg1, tData[0], 7, tData[1], 7, tData[2], 7, tData[3], 7, tData[4], 7, Data[1], 7, Data[2],
7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12],
7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21],
7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30],
7, Data[31], 7, Data[32], 7, Data[33], 7, Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39],
7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7, Data[48],
7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7, Data[56], 7);
parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
killuri = str_to_num(tData[0]);
puncte = str_to_num(tData[1]);
keyu = str_to_num(tData[2]);
cutii = str_to_num(tData[3]);
rangu = str_to_num(tData[4]);
for(new i = 1; i < AllWeapon; i++)
{
dozaD = str_to_num(Data[i])
if(dozaD)
skinuri += dozaD
}
if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1))
{
formatex(arg1, charsmax(arg1), "")
formatex(arg1, charsmax(arg2), "")
strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');
parse(arg1, Data[1], 7, Data[2], 7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8],7, Data[9], 7, Data[10], 7, Data[11], 7,
Data[12], 7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21], 7, Data[22], 7,
Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30], 7, Data[31], 7, Data[32], 7, Data[33], 7,
Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39], 7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7,
Data[45], 7, Data[46], 7, Data[47], 7, Data[48], 7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7, Data[56], 7)
parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
new dData[8]
for(new i = 1; i < AllWeapon; i++)
{
parse(Data[i], dData, 7)
dozaD = str_to_num(dData[0]);
if(dozaD)
startrakuri += dozaD
}
}
new parola[33]
nvault_get(rvault, target_name, parola, sizeof(parola) - 1)
console_print(id,"Nume: %s - Parola: %s",target_name,parola)
console_print(id,"Killuri: %i",killuri)
console_print(id,"Puncte: %i",puncte)
console_print(id,"Key: %i",keyu)
console_print(id,"Cutii: %i",cutii)
console_print(id,"Rank: %s",Rangs[rangu])
console_print(id,"Skinuri: %i",skinuri)
console_print(id,"StatTrack: %i",startrakuri)
}
else
{
console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name);
return 1;
}
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public get_skins(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
read_argv(1, target_name, charsmax(target_name));
if(equal(target_name, ""))
{
console_print(id, "amx_getskins <Nume>");
return 1;
}
new Data[MAX+1][8],dozaD,dummy[1];
if(nvault_get(svault, target_name, rLine, sizeof(rLine) - 1))
{
new parola[33]
nvault_get(rvault, target_name, parola, sizeof(parola) - 1)
console_print(id,"Nume: %s - Parola: %s",target_name,parola)
console_print(id,"Skinuri:")
formatex(arg1, charsmax(arg1), "")
formatex(arg1, charsmax(arg2), "")
strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');
parse(arg1, dummy, 0, dummy, 0, dummy, 0, dummy, 0, dummy, 0, Data[1], 7, Data[2],
7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12],
7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21],
7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30],
7, Data[31], 7, Data[32], 7, Data[33], 7, Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39],
7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7, Data[48],
7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7, Data[56], 7);
parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
for(new i = 1; i < AllWeapon; i++)
{
dozaD = str_to_num(Data[i])
if(dozaD)
console_print(id,"%s - %i",WeaponNames[i],dozaD)
}
if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1))
{
formatex(arg1, charsmax(arg1), "")
formatex(arg1, charsmax(arg2), "")
strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');
parse(arg1, Data[1], 7, Data[2], 7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8],7, Data[9], 7, Data[10], 7, Data[11], 7,
Data[12], 7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21], 7, Data[22], 7,
Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30], 7, Data[31], 7, Data[32], 7, Data[33], 7,
Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39], 7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7,
Data[45], 7, Data[46], 7, Data[47], 7, Data[48], 7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7, Data[56], 7)
parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
new dData[8]
for(new i = 1; i < AllWeapon; i++)
{
parse(Data[i], dData, 7)
dozaD = str_to_num(dData[0]);
if(dozaD)
console_print(id,"StatTrack %s - %i",WeaponNames[i],dozaD)
}
}
}
else
{
console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name);
return 1;
}
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public take_skins(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
read_argv(1, target_name, charsmax(target_name));
if(equal(target_name, ""))
{
console_print(id, "amx_takeskins <Nume>");
return 1;
}
new iPlayer = cmd_target(id, target_name, 8);
if(!iPlayer)
{
console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
return 1;
}
for(new i = 1; i < AllWeapon; i++)
{
stattrack[i][iPlayer] = 0
kill[i][iPlayer] = 0
uWeapon[i][iPlayer] = 0
}
for(new a = 0; a < WEAPONSKIN; a++)
{
UsingWeapon[a][iPlayer] = 0
}
Save(iPlayer);
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public give_key(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
new Amount[10];
read_argv(1, target_name, charsmax(target_name));
read_argv(2, Amount, charsmax(Amount));
if(equal(target_name, "") || equal(Amount, ""))
{
console_print(id, "amx_givekey <Nume> <Suma>");
return 1;
}
new Key = str_to_num(Amount);
if(Key <= 0)
{
console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
return 1;
}
new iPlayer
if(equal(target_name, "@ALL"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss))
{
pKey[iss] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, charsmax(Admin_Name));
print_color(0, "!g%s!t %s!y a dat !g%d key!y la toata lumea", Prefix, Admin_Name, Key);
return 1;
}
else if(equal(target_name, "@CT"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
{
pKey[iss] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, charsmax(Admin_Name));
print_color(0, "!g%s!t %s!y a dat !g%d key!y la echipa CT", Prefix, Admin_Name, Key);
return 1;
}
else if(equal(target_name, "@T"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
{
pKey[iss] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, charsmax(Admin_Name));
print_color(0, "!g%s!t %s!y a dat !g%d key!y la echipa T", Prefix, Admin_Name, Key);
return 1;
}
else
{
iPlayer = cmd_target(id, target_name, 8);
}
if(!iPlayer)
{
console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
return 1;
}
pKey[iPlayer] += Key;
new Admin_Name[32];
new Player_Name[32];
Save(iPlayer);
get_user_name(id, Admin_Name, charsmax(Admin_Name));
get_user_name(iPlayer, Player_Name, charsmax(Admin_Name));
print_color(0, "!g%s!t %s!y i-a dat !g%d key!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public give_skins(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
read_argv(1, target_name, 31);
if(equal(target_name, ""))
{
console_print(id, "amx_giveskins <Nume>");
return 1;
}
new iPlayer = cmd_target(id, target_name, 8);
if(!iPlayer)
{
console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
return 1;
}
for(new i = 1; i < AllWeapon; i++)
{
uWeapon[i][iPlayer]++
}
Save(iPlayer);
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public give_stat(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
read_argv(1, target_name, 31);
if(equal(target_name, ""))
{
console_print(id, "amx_givestat <Nume>");
return 1;
}
new iPlayer = cmd_target(id, target_name, 8);
if(!iPlayer)
{
console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
return 1;
}
for(new i = 1; i < AllWeapon; i++)
{
uWeapon[i][iPlayer]++
stattrack[i][iPlayer]++
}
Save(iPlayer);
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public give_chest(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
new Amount[10];
new Amounts[10];
read_argv(1, target_name, 31);
read_argv(2, Amount, 9);
read_argv(3, Amounts, 9);
if(equal(target_name, "") || equal(Amount, "") || equal(Amounts, ""))
{
console_print(id, "amx_givechest <Nume> <Suma> <chestid>");
return 1;
}
new Key = str_to_num(Amount);
if(Key <= 0)
{
console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
return 1;
}
new Keyid = str_to_num(Amounts);
if(Keyid < 0||Keyid > 10)
{
console_print(id, "Trebuie sa scrii o suma intre 0 si 11!");
return 1;
}
new iPlayer
if(equal(target_name, "@ALL"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss))
{
Chestp[iss][Keyid] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, 31);
print_color(0, "!g%s!t %s!y a dat !g%d %s!y la toata lumea", Prefix, Admin_Name, Key, ChestName[Keyid]);
return 1;
}
else if(equal(target_name, "@CT"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
{
Chestp[iss][Keyid] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, 31);
print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa CT", Prefix, Admin_Name, Key, ChestName[Keyid]);
return 1;
}
else if(equal(target_name, "@T"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
{
Chestp[iss][Keyid] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, 31);
print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa T", Prefix, Admin_Name, Key, ChestName[Keyid]);
return 1;
}
else
{
iPlayer = cmd_target(id, target_name, 8);
}
if(!iPlayer)
{
console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
return 1;
}
Chestp[iPlayer][Keyid] += Key;
new Admin_Name[32];
new Player_Name[32];
Save(iPlayer);
get_user_name(id, Admin_Name, 31);
get_user_name(iPlayer, Player_Name, 31);
print_color(0, "!g%s!t %s!y i-a dat !g%d %s!y lui!t %s", Prefix, Admin_Name, Key, ChestName[Keyid], Player_Name);
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public give_puncte(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
new Amount[10];
read_argv(1, target_name, 31);
read_argv(2, Amount, 9);
if(equal(target_name, "") || equal(Amount, ""))
{
console_print(id, "amx_givepoints <Nume> <Suma>");
return 1;
}
new Key = str_to_num(Amount);
if(Key <= 0)
{
console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
return 1;
}
new iPlayer
if(equal(target_name, "@ALL"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss))
{
Points[iss] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, 31);
print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la toata lumea", Prefix, Admin_Name, Key);
return 1;
}
else if(equal(target_name, "@CT"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
{
Points[iss] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, 31);
print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa CT", Prefix, Admin_Name, Key);
return 1;
}
else if(equal(target_name, "@T"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
{
Points[iss] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, 31);
print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa T", Prefix, Admin_Name, Key);
return 1;
}
else
{
iPlayer = cmd_target(id, target_name, 8);
}
if(!iPlayer)
{
console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
return 1;
}
Points[iPlayer] += Key;
new Admin_Name[32];
new Player_Name[32];
Save(iPlayer);
get_user_name(id, Admin_Name, 31);
get_user_name(iPlayer, Player_Name, 31);
print_color(0, "!g%s!t %s!y i-a dat !g%d EURO!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public give_rank(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
new Amount[10];
read_argv(1, target_name, 31);
read_argv(2, Amount, 9);
if(equal(target_name, "") || equal(Amount, ""))
{
console_print(id, "amx_giverank <Nume> <ID>");
return 1;
}
new Key = str_to_num(Amount);
if(Key <= 0)
{
console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
return 1;
}
new iPlayer
iPlayer = cmd_target(id, target_name, 8);
if(!iPlayer)
{
console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
return 1;
}
Rang[iPlayer] = Key;
new Admin_Name[32];
new Player_Name[32];
Save(iPlayer);
get_user_name(id, Admin_Name, 31);
get_user_name(iPlayer, Player_Name, 31);
print_color(0, "!g%s!t %s!y i-a oferit grad-ul !g%s!y lui !t%s", Prefix, Admin_Name, Rangs[Key], Player_Name);
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public give_promo(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
read_argv(1, target_name, 31);
if(equal(target_name, ""))
{
console_print(id, "amx_getpromo <Nume>");
return 1;
}
new Cost = LoadPromo(target_name)
print_color(id, "!g%s!t PromoCode-ul !g%s !ta fost folosit de !g%i", Prefix, target_name, Cost);
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
//----------------------------------------Main--------------------------------------------//
public MenuOpen(id)
{
hide(mure)
if(!Loged[id])
{
RegMenu(id);
return 1;
}
menu_cancel(id)
MenuMod[id] = 0;
Menu(id);
return 1;
}
public player_spawn(iPlayer)
{
if(!is_user_alive(iPlayer))
return HAM_IGNORED
new szName[32]
get_user_name(iPlayer, szName, 31)
if(!equali(szName, g_szName[iPlayer]))
{
set_msg_block(msgID_sayText, BLOCK_ONCE)
set_user_info(iPlayer, "name", g_szName[iPlayer])
}
for(new p = 1; p <= 32; p++)
g_iDamage[iPlayer][p] = 0
return HAM_IGNORED
}
public player_damage(iVictim)
{
new iAttacker = get_user_attacker(iVictim)
if(!is_player(iAttacker))
return PLUGIN_CONTINUE
g_iDamage[iAttacker][iVictim] += read_data(2)
return PLUGIN_CONTINUE
}
public player_diePost(arg[])
{
new szWeapon[24]
new iKiller = arg[1]
get_weaponname(arg[3], szWeapon, 23)
replace(szWeapon, 23, "weapon_", "")
do_deathmsg(iKiller, arg[0], arg[2], szWeapon)
set_msg_block(msgID_sayText, BLOCK_ONCE)
set_user_info(iKiller, "name", g_szName[iKiller])
set_task(1.0,"removename",iKiller)
return PLUGIN_CONTINUE
}
public removename(id)
{
g_NameChange[id] = 0
}
public msg_deathMsg()
return PLUGIN_HANDLED
stock do_deathmsg(iKiller, iVictim, iHS, const szWeapon[])
{
message_begin(MSG_ALL, msgID_deathMsg)
write_byte(iKiller)
write_byte(iVictim)
write_byte(iHS)
write_string(szWeapon)
message_end()
}
public event_DeathMsg()
{
hide(mure)
static Victim; Victim = read_data(2);
static Killer; Killer = read_data(1);
new iHS = read_data(3)
new szWeapon[24]
g_iEnemiesKilled[read_data(1)]++
read_data(4, szWeapon, 23)
remove_task(Victim+500)
if(Killer != Victim)
{
new iKiller2 = -1
for(new p = 1; p <= 32; p++)
{
if(p != Killer && g_iDamage[p][Victim] >= 45)
{
iKiller2 = p
}
g_iDamage[p][Victim] = 0
}
if(iKiller2 != -1)
{
g_NameChange[Killer] = 1
new iFrags = get_user_frags(iKiller2)+1
set_user_frags(iKiller2, iFrags)
message_begin(MSG_ALL, msgID_scoreInfo)
write_byte(iKiller2)
write_short(iFrags)
write_short(get_user_deaths(iKiller2))
write_short(0)
write_short(get_user_team(iKiller2))
message_end()
new szName1[32], iName1Len, szName2[32], iName2Len, szNames[32], szWeaponLong[32]
iName1Len = get_user_name(Killer, szName1, 31)
iName2Len = get_user_name(iKiller2, szName2, 31)
g_szName[Killer] = szName1
if(iName1Len < 14)
{
formatex(szName1, iName1Len, "%s", szName1)
formatex(szName2, 28-iName1Len, "%s", szName2)
}
else if(iName2Len < 14)
{
formatex(szName1, 28-iName2Len, "%s", szName1)
formatex(szName2, iName2Len, "%s", szName2)
}
else
{
formatex(szName1, 13, "%s", szName1)
formatex(szName2, 13, "%s", szName2)
}
formatex(szNames, 31, "%s + %s", szName1, szName2)
set_msg_block(msgID_sayText, BLOCK_ONCE)
set_user_info(Killer, "name", szNames)
if(equali(szWeapon, "grenade"))
szWeaponLong = "weapon_hegrenade"
else
formatex(szWeaponLong, 31, "weapon_%s", szWeapon)
new args[4]
args[0] = Victim
args[1] = Killer
args[2] = iHS
args[3] = get_weaponid(szWeaponLong)
set_task(0.1, "player_diePost", 0, args, 4)
}
else
do_deathmsg(Killer, Victim, iHS, szWeapon)
}
else
do_deathmsg(Victim, Victim, iHS, szWeapon)
if(task_exists(Victim+231245534))
{
remove_task(Victim+231245534)
}
set_task(0.1, "ShowHUD", Victim+231245534, _, _, "b")
if(is_user_connected(Victim))
Remove_Icon(Victim)
if(Killer == Victim)
{
return PLUGIN_HANDLED;
}
new pPont;
pPont += random_num(PointsMin, PointsMax);
Kills[Killer]++;
for(new i = 1; i < AllWeapon; i++)
{
for(new a = 0; a < WEAPONSKIN; a++)
{
new der = i+500
if(der == UsingWeapon[a][Killer])
{
if(get_user_weapon(Killer) == Weapons[i])
{
kill[i][Killer]++
}
}
}
}
Points[Killer] += pPont;
new Name[32]
get_user_name(Killer, Name, 31);
set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont);
if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1))
{
if(Kills[Killer] >= NeedKills[Rang[Killer]])
{
Rang[Killer]++;
print_color(0, "!g%s %s !ya avansat si a ajuns la gradul !t%s", Prefix, Name,Rangs[Rang[Killer]]);
}
}
if(get_pcvar_num(g_dropchace) >= random_num(1, 100))
{
new x = random_num(1, 2);
if(x == 1)
{
pKey[Killer]++;
print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
}
if(x == 2)
{
GiveChest(Killer)
}
}
set_task(4.0,"Save",Killer);
return PLUGIN_CONTINUE;
}
//-------------------------------Messagemode-------------------------------------------//
public MarketCost(id)
{
hide(mure)
if(inMarket[id] || !Loged[id])
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost < 0)
{
client_cmd(id, "messagemode Cost");
return PLUGIN_HANDLED;
}
else if(WeaponinMarket[id] == 102)
{
if(300 > Cost || 2500 < Cost)
{
print_color(id, "!gMinimul de vanzare !t300!g, Maximul de vanzare !t2500");
client_cmd(id, "messagemode Cost");
return PLUGIN_HANDLED;
}
MarketPoints[id] = Cost;
MenuMod[id] = 3
Menu(id)
return PLUGIN_CONTINUE;
}
else if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
{
if(ChestMin[WeaponinMarket[id]-103] > Cost || ChestMax[WeaponinMarket[id]-103] < Cost)
{
print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d",ChestMin[WeaponinMarket[id]-103],ChestMax[WeaponinMarket[id]-103]);
client_cmd(id, "messagemode Cost");
return PLUGIN_HANDLED;
}
MarketPoints[id] = Cost;
MenuMod[id] = 3
Menu(id)
return PLUGIN_CONTINUE;
}
else if(WeaponinMarket[id] > 500)
{
WeaponinMarket[id] -= 500
new d = WeaponMin[WeaponinMarket[id]]
d *= 2
new e = WeaponMax[WeaponinMarket[id]]
e *= 2
WeaponinMarket[id] += 500
if(d > Cost || e < Cost)
{
print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", d, e);
client_cmd(id, "messagemode Cost");
return PLUGIN_HANDLED;
}
else
{
MarketPoints[id] = Cost;
MenuMod[id] = 3
Menu(id)
return PLUGIN_CONTINUE;
}
}
else if(WeaponMin[WeaponinMarket[id]] > Cost || WeaponMax[WeaponinMarket[id]] < Cost)
{
print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", WeaponMin[WeaponinMarket[id]], WeaponMax[WeaponinMarket[id]]);
client_cmd(id, "messagemode Cost");
return PLUGIN_HANDLED;
}
else
{
MarketPoints[id] = Cost;
MenuMod[id] = 3
Menu(id)
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public PromoCode(id)
{
hide(mure)
if(!Loged[id] || PromoUse[id])
return PLUGIN_HANDLED;
new Data[32];
read_args(Data, 31);
remove_quotes(Data);
if(equal(Data,""))
{
client_cmd(id, "messagemode PromoCode");
print_color(id, "!g[Global Offensive]!t Scrie un promocode valid....");
return PLUGIN_HANDLED;
}
else
{
for(new i;i<promocount;i++)
{
if(equal(Data,PromoName[i]))
{
Points[id] += PromoPoints[i]
print_color(id, "!g[Global Offensive]!t Ai folosit promocode-ul !g%s!t si ai castigat !g%d!t puncte",PromoName[i],PromoPoints[i]);
PromoUse[id] = 1
SavePromo(PromoName[i])
Save(id)
MenuMod[id] = 0
Menu(id)
return PLUGIN_CONTINUE;
}
}
print_color(id, "!g[Global Offensive]!t Scrie un promocode valid....");
}
return PLUGIN_CONTINUE;
}
public SavePromo(name[])
{
new Line[64];
format(Line, 63, "%i", LoadPromo(name)+1);
nvault_set(pvault, name, Line)
}
public LoadPromo(name[])
{
hide(mure)
new Data[32];
if(nvault_get(pvault, name, Data, sizeof(Data) - 1))
{
return str_to_num(Data)
}
return 0;
}
public Tbet(id)
{
hide(mure)
if(!Loged[id] || bround > 4 || pbet[id])
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost < 0 || Cost > Points[id] || Cost == 0)
{
client_cmd(id, "messagemode T");
return PLUGIN_HANDLED;
}
else
{
pbet[id] = 1;
betp[id] = Cost
Points[id] -= Cost
print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa T %d points",Cost);
MenuMod[id] = 0
Menu(id)
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public CTbet(id)
{
hide(mure)
if(!Loged[id] || bround > 4 || pbet[id])
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost < 0 || Cost > Points[id] || Cost == 0)
{
client_cmd(id, "messagemode CT");
return PLUGIN_HANDLED;
}
else
{
pbet[id] = 2;
betp[id] = Cost
Points[id] -= Cost
print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa CT %d points",Cost);
MenuMod[id] = 0
Menu(id)
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public RosuRuleta(id)
{
hide(mure)
if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost < 0 || Cost > Points[id] || Cost == 0)
{
client_cmd(id, "messagemode Rosu");
return PLUGIN_HANDLED;
}
else
{
Rosu[id] = Cost;
Points[id] -= Cost
Save(id)
ruletta(id)
playr++
if(playr == 2 && sec == 60)
playruleta()
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public GriRuleta(id)
{
hide(mure)
if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost < 0 || Cost > Points[id] || Cost == 0)
{
client_cmd(id, "messagemode Gri");
return PLUGIN_HANDLED;
}
else
{
Gri[id] = Cost;
Points[id] -= Cost
Save(id)
ruletta(id)
playr++
if(playr == 2 && sec == 60)
playruleta()
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public GalbenRuleta(id)
{
hide(mure)
if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost < 0 || Cost > Points[id] || Cost == 0)
{
client_cmd(id, "messagemode Galben");
return PLUGIN_HANDLED;
}
else
{
Galben[id] = Cost;
Points[id] -= Cost
Save(id)
ruletta(id)
playr++
if(playr == 2 && sec == 60)
playruleta()
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public GiftPoint(id)
{
hide(mure)
if(inMarket[id] || !Loged[id])
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost < 0 || Points[id] < Cost)
{
client_cmd(id, "messagemode Gift");
return PLUGIN_HANDLED;
}
else
{
aPoints[id] = Cost;
MenuMod[id] = 5;
Menu(id);
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
//------------------------------------Arme-----------------------------//
public CWeapon( id ) {
hide(mure)
if(id > 32 || id < 1 || !is_user_alive(id))
{
return 1;
}
if(task_exists(id+231245534))
{
rem[id] = 1
ClearSyncHud(id,g_syncHudMessage1)
remove_task(id+231245534)
}
new a = get_pdata_cbase( id, 373 )
if(pev_valid(a))
{
new imv = pev(a, 82)
if(imv > 0)
{
set_pev(id, pev_viewmodel2, WeaponMdls[imv])
rem[id] = 0
ShowHUDz(id+231245534)
set_task(1.0, "ShowHUDz", id+231245534, _, _, "b")
return 1;
}
}
for(new i = 1; i < AllWeapon; i++)
{
for(new a = 0; a < WEAPONSKIN; a++)
{
new der = i+500
if(i == UsingWeapon[a][id])
{
if(get_user_weapon(id) == Weapons[i])
{
set_pev(id, pev_viewmodel2, WeaponMdls[i]);
return 1;
}
}
else if(der == UsingWeapon[a][id])
{
if(get_user_weapon(id) == Weapons[i])
{
set_pev(id, pev_viewmodel2, WeaponMdls[i]);
rem[id] = 0
ShowHUD(id+231245534)
set_task(1.0, "ShowHUD", id+231245534, _, _, "b")
return 1;
}
}
}
}
for(new i = 1; i < AllWeaponD; i++)
{
if(get_user_weapon(id) == WeaponsD[i])
{
set_pev(id, pev_viewmodel2, WeaponDMdls[i]);
return 1;
}
}
return PLUGIN_CONTINUE;
}
public ShowHUDz(id)
{
hide(mure)
id -= 231245534
if(rem[id])
return 1;
if(!is_user_connected(id))
return 1;
if (!is_user_alive(id))
{
new ids = pev(id, pev_iuser2)
if (!is_user_alive(ids)) return 1;
new a = get_pdata_cbase(ids, 373)
if(pev_valid(a))
{
for(new i; i < wpnnz+1; i++)
{
if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(ids))
{
set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]);
}
}
}
}
else
{
new a = get_pdata_cbase(id, 373)
if(pev_valid(a))
{
for(new i; i < wpnnz+1; i++)
{
if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(id))
{
set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]);
}
}
}
}
return 0
}
public ShowHUD(id)
{
hide(mure)
id -= 231245534
if(rem[id])
return 1;
if(!is_user_connected(id))
return 1;
if (!is_user_alive(id))
{
new ids = pev(id, pev_iuser2)
if (!is_user_alive(ids)) return 1;
new name[32]
get_user_name(ids, name, 31)
for(new i = 1; i < AllWeapon; i++)
{
for(new a = 0; a < WEAPONSKIN; a++)
{
new der = i+500
if(der == UsingWeapon[a][ids])
{
if(get_user_weapon(ids) == Weapons[i])
{
set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
ShowSyncHudMsg(id, g_syncHudMessage1, "%s detine %s StatTrack^n-are %i kill-uri confirmate", name, WeaponNames[i], kill[i][ids]);
}
}
}
}
}
else
{
for(new i = 1; i < AllWeapon; i++)
{
for(new a = 0; a < WEAPONSKIN; a++)
{
new der = i+500
if(der == UsingWeapon[a][id])
{
if(get_user_weapon(id) == Weapons[i])
{
set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
ShowSyncHudMsg(id, g_syncHudMessage1, "StatTrack %s^nConfirmed Kills: %i", WeaponNames[i], kill[i][id]);
}
}
}
}
}
return 0
}
//----------------------------------Case opening-----------------------//
public ChestOpen(id,value)
{
hide(mure)
if(!task[id])
{
new a, itema[MAX+1]
for(new i = 1; i < AllWeapon; i++)
{
if(WeaponChest[i] == value)
{
itema[a] = i
a++
}
}
if(a == 0)
{
print_color(id, "!g[Global Offensive] !yChestul %s nu contine niciun skin.Anunta detinatorul!",ChestName[value])
return;
}
new rWeapon = random_num(1, a);
new rNum
for(new i;i<1000;i++)
{
rNum = random_num(1, 100);
if(WeaponDrop[itema[rWeapon]] >= rNum)
{
Chestp[id][value]--;
pKey[id]--;
new star = random_num(1, 25)
if(star == 1)
{
new Name[32];
get_user_name(id, Name, 31);
print_color(id, "!g[Global Offensive]%L!y-!gStatTrack!y!", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]);
uWeapon[itema[rWeapon]][id]++;
stattrack[itema[rWeapon]][id]++;
Save(id);
}
else
{
new Name[32];
get_user_name(id, Name, 31);
print_color(id, "!g[Global Offensive]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]);
uWeapon[itema[rWeapon]][id]++;
Save(id);
}
client_cmd(id, "stopsound")
client_cmd(id, "mp3 stop")
client_cmd(id, "spk %s",Sunete[0])
task[id] = 1
set_task(5.0,"rmvtsk",id+31666677)
break;
}
}
}
else
{
print_color(id, "!g[>CSGO<] !yAsteapta !g5 secunde !ypentru a putea folosi comanda !!!");
}
}
public rmvtsk(id)
{
id -= 31666677
task[id] = 0
}
//------------------------Meniu-----------------------------------//
public Menu(id)
{
hide(mure)
if(Loged[id] == false)
{
RegMenu(id);
return 1;
}
new sMenu, Line[245];
if(MenuMod[id] == -2)
{
formatex(Line, charsmax(Line), "%s\r %L %L",
Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
new String[32], All,bool:Apply = false;
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
continue;
if(i == UsingWeapon[i][id])
Apply = true;
else
Apply = false;
if(stattrack[i][id])
{
new bda
bda = i+500
formatex(String, 31, "%d", bda);
formatex(Line, charsmax(Line), "%s%L\w(\yStatTrack \w)\d|\yConfirmed Kills \w[\y%i\w]",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id], kill[i][id]);
menu_additem(sMenu, Line, String);
}
if(uWeapon[i][id] > stattrack[i][id])
{
new dsa = uWeapon[i][id]-stattrack[i][id]
num_to_str(i, String, 31);
formatex(Line, charsmax(Line), "%s%L",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(sMenu, Line, String);
}
All++;
}
for(new i;i<chestcount;i++)
{
if(Chestp[id][i] > 0)
{
formatex(Line, charsmax(Line), "\r%s \d|\y %d bucati", ChestName[i], Chestp[id][i]);
new calcul = 103+i
new numars[16]
num_to_str(calcul,numars,15)
menu_additem(sMenu, Line, numars);
All++;
}
}
if(pKey[id] > 0)
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
menu_additem(sMenu, Line, "102");
All++;
}
if(All == 0)
{
MenuMod[id] = 0;
Menu(id);
return 1;
}
menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, sMenu, 0);
}
else if(MenuMod[id] == -1)
{
formatex(Line, charsmax(Line), "%s\r %L %L",
Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
new String[32], All;
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
continue;
if(stattrack[i][id])
{
new bda
bda = i+500
formatex(String, 31, "%d", bda);
formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
menu_additem(sMenu, Line, String);
}
if(uWeapon[i][id] > stattrack[i][id])
{
new dsa = uWeapon[i][id]-stattrack[i][id]
num_to_str(i, String, 31);
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(sMenu, Line, String);
}
All++;
}
for(new i;i<chestcount;i++)
{
if(Chestp[id][i] > 0)
{
formatex(Line, charsmax(Line), "\r%s \d|\y %d bucati", ChestName[i], Chestp[id][i]);
new calcul = 103+i
new numars[16]
num_to_str(calcul,numars,15)
menu_additem(sMenu, Line, numars);
All++;
}
}
if(pKey[id] > 0)
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
menu_additem(sMenu, Line, "102");
All++;
}
if(All == 0)
{
MenuMod[id] = 0;
Menu(id);
return 1;
}
menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, sMenu, 0);
}
else if(MenuMod[id] == 0)
{
formatex(Line, charsmax(Line), "%s\r %L %L",
Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOSKINS");
menu_additem(sMenu, Line, "1");
if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOCHESTOPEN");
menu_additem(sMenu, Line, "2");
}
else
{
formatex(Line, charsmax(Line), "%L %L",
LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET");
menu_additem(sMenu, Line, "0");
}
if(!inJack[id])
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOMARKET");
menu_additem(sMenu, Line, "3");
}
else
{
formatex(Line, charsmax(Line), "%L%L", LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "INMARKET");
menu_additem(sMenu, Line, "0");
}
if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
{
formatex(Line, charsmax(Line), "Schimburi de iteme");
menu_additem(sMenu, Line, "4");
}
else
{
formatex(Line, charsmax(Line), "Schimburi de iteme%L", LANG_SERVER, "INMARKET");
menu_additem(sMenu, Line, "0");
}
if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
{
formatex(Line, charsmax(Line), "%L",LANG_SERVER, "MENUTOGIFT");
menu_additem(sMenu, Line, "5");
}
else
{
formatex(Line, charsmax(Line), "%L %L",
LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "INMARKET");
menu_additem(sMenu, Line, "0");
}
if(!ruleta)
{
formatex(Line, charsmax(Line), "Ruleta\r[Deschis]");
menu_additem(sMenu, Line, "6");
}
else
{
formatex(Line, charsmax(Line), "\dRuleta\r[Inchis 5 minute]");
menu_additem(sMenu, Line, "0");
}
if(!jackpot)
{
formatex(Line, charsmax(Line), "Jackpot\r[Deschis]");
menu_additem(sMenu, Line, "7");
}
else
{
formatex(Line, charsmax(Line), "\dJackpot\r[Inchis 5 minute]^n%L", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
menu_additem(sMenu, Line, "0");
}
formatex(Line, charsmax(Line), "Crash\r[Deschis]");
menu_additem(sMenu, Line, "11");
formatex(Line, charsmax(Line), "CoinFlip\r[Deschis]");
menu_additem(sMenu, Line, "12");
formatex(Line, charsmax(Line), "Bet Team");
menu_additem(sMenu, Line, "8");
if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
{
formatex(Line, charsmax(Line), "Contract");
menu_additem(sMenu, Line, "9");
}
else
{
formatex(Line, charsmax(Line), "\dContract%L", LANG_SERVER, "INMARKET");
menu_additem(sMenu, Line, "0");
}
if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
{
formatex(Line, charsmax(Line), "Sterge Iteme");
menu_additem(sMenu, Line, "10");
}
else
{
formatex(Line, charsmax(Line), "\dSterge Iteme%L", LANG_SERVER, "INMARKET");
menu_additem(sMenu, Line, "0");
}
if(!PromoUse[id])
{
formatex(Line, charsmax(Line), "PromoCode");
menu_additem(sMenu, Line, "13");
}
else
{
formatex(Line, charsmax(Line), "\dPromoCode");
menu_additem(sMenu, Line, "0");
}
formatex(Line, charsmax(Line), "Chat Tag");
menu_additem(sMenu, Line, "14");
menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, sMenu, 0);
}
else if(MenuMod[id] == 1)
{
formatex(Line, charsmax(Line), "%s\r %L %L",
Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
new String[32], All,bool:Apply = false;
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
continue;
if(i == UsingWeapon[i][id])
Apply = true;
else
Apply = false;
if(stattrack[i][id])
{
new bda
bda = i+500
formatex(String, 31, "%d", bda);
formatex(Line, charsmax(Line), "%s%L\w(\yStatTrack \w)\d|\yConfirmed Kills \w[\y%i\w]",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id], kill[i][id]);
menu_additem(sMenu, Line, String);
}
if(uWeapon[i][id] > stattrack[i][id])
{
new dsa = uWeapon[i][id]-stattrack[i][id]
num_to_str(i, String, 31);
formatex(Line, charsmax(Line), "%s%L",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(sMenu, Line, String);
}
All++;
}
if(All == 0)
{
MenuMod[id] = 0;
Menu(id);
return 1;
}
menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, sMenu, 0);
}
else if(MenuMod[id] == 2)
{
formatex(Line, charsmax(Line), "%s\r Deschide cutii^nAi %d key", Prefix, pKey[id]);
sMenu = menu_create(Line, "MenuHandler");
for(new i;i<chestcount;i++)
{
new strnumar[16]
num_to_str(i,strnumar,15)
formatex(Line, charsmax(Line), "%s \r| \y%d bucati", ChestName[i],Chestp[id][i]);
menu_additem(sMenu, Line, strnumar);
}
menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, sMenu, 0);
}
else if(MenuMod[id] == 3)
{
formatex(Line, charsmax(Line), "%s\r %L %L",
Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
new String[32], All;
if(!inMarket[id])
{
for(new i = 1; i < AllWeapon; i++)
{
new der = i+500
if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
All++;
}
else if(der == WeaponinMarket[id] && uWeapon[i][id] > 0)
{
formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
All++;
}
}
if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
{
formatex(Line, charsmax(Line), "\rItem:\d %s^n\yPret:\d %d", ChestName[WeaponinMarket[id]-103],MarketPoints[id]);
All++;
}
if(102 == WeaponinMarket[id] && pKey[id] > 0)
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]);
All++;
}
if(All == 0)
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACECH");
menu_additem(sMenu, Line, "-1");
}
if(!inMarket[id])
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "TOMARKETM");
else
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "BACKMARKET");
menu_additem(sMenu, Line, "0");
new Name[32];
for(new x; x < 32; x++)
{
if(!is_user_connected(x)||!Loged[x])
continue;
if(inMarket[x] && MarketPoints[x] > 0)
{
num_to_str(x, String, 31);
get_user_name(x, Name, 31);
if(103 <= WeaponinMarket[x] && 113 >= WeaponinMarket[x])
{
formatex(Line, charsmax(Line), "\r%s \d|\y %s \d| \rCost:\y %d", Name, ChestName[WeaponinMarket[x]-103], MarketPoints[x]);
menu_additem(sMenu, Line, String);
}
else if(102 == WeaponinMarket[x])
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]);
menu_additem(sMenu, Line, String);
}
else
{
for(new i = 1; i < AllWeapon; i++)
{
new der = i+500
if(i == WeaponinMarket[x])
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
menu_additem(sMenu, Line, String);
}
else if(der == WeaponinMarket[x])
{
WeaponinMarket[x] = i
formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
menu_additem(sMenu, Line, String);
WeaponinMarket[x] = der
}
}
}
}
}
menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, sMenu, 0);
}
else if(MenuMod[id] == 4)
{
trade(id);
return 1;
}
else if(MenuMod[id] == 5)
{
formatex(Line, charsmax(Line), "%s\r %L %L",
Prefix, LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
new All, Name[32], String[32];
get_user_name(aTarget[id], Name, 31);
if(aTarget[id] > 0 && is_user_connected(aTarget[id]))
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "GIFTT", Name);
menu_additem(sMenu, Line, "-1");
for(new i = 1; i < AllWeapon; i++)
{
new der = i+500
if(i == aThing[id] && uWeapon[i][id] > 0)
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "GIFTS", WeaponNames[i]);
menu_additem(sMenu, Line, "-2");
All++;
}
else if(der == aThing[id] && uWeapon[i][id] > 0)
{
formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "GIFTS", WeaponNames[i]);
All++;
}
}
if(aThing[id] == 0 && All == 0)
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "GIFTCH");
menu_additem(sMenu, Line, "-2");
}
else if(aThing[id] > 100)
{
if(103 <= aThing[id] && 113 >= aThing[id])
{
formatex(Line, charsmax(Line), "\rCadou:\d %s",ChestName[aThing[id]-103]);
}
if(102 == aThing[id])
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "GIFTK");
}
menu_additem(sMenu, Line, "-2");
}
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "GIFTPOINTS", aPoints[id]);
menu_additem(sMenu, Line, "-4");
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SENDGIFT");
menu_additem(sMenu, Line, "-3");
}
else
{
for(new i; i < 32; i++)
{
if(is_user_connected(i) && i != id && Loged[i])
{
get_user_name(i, Name, 31);
num_to_str(i, String, 31);
menu_additem(sMenu, Name, String);
}
}
}
menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, sMenu, 0);
}
else if(MenuMod[id] == 6)
{
if(!ruleta)
{
if(!is_user_alive(id))
ruletta(id)
else
print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix);
}
return 1;
}
else if(MenuMod[id] == 7)
{
if(!jackpot)
{
if(!is_user_alive(id))
jackkpot(id)
else
print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul!t cand esti !gVIU!",Prefix);
}
return 1;
}
else if(MenuMod[id] == 8)
{
bet(id)
return 1;
}
else if(MenuMod[id] == 9)
{
contract(id)
return 1;
}
else if(MenuMod[id] == 10)
{
sterge(id)
return 1;
}
else if(MenuMod[id] == 11)
{
if(!is_user_alive(id))
{
crashi[id] = 1
}
else
print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix);
}
else if(MenuMod[id] == 12)
{
if(!is_user_alive(id))
{
coinflip(id)
}
else
print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix);
}
else if(MenuMod[id] == 13)
{
if(!PromoUse[id])
{
client_cmd(id, "messagemode PromoCode");
}
else
print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix);
}
else if(MenuMod[id] == 14)
{
ShopTagMenu(id)
return 1;
}
return PLUGIN_CONTINUE
}
public MenuHandler(id, gMenu, Key)
{
hide(mure)
if(Key == MENU_EXIT)
{
menu_destroy(gMenu);
return PLUGIN_HANDLED;
}
new aMenu[2], Data[6][32], sKey[32], Name[32], mName[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
if(MenuMod[id] == -2)
{
aThing[id] = Key;
MenuMod[id] = 5;
Menu(id);
return PLUGIN_HANDLED;
}
else if(MenuMod[id] == -1)
{
WeaponinMarket[id] = Key;
client_cmd(id, "messagemode Cost");
MenuMod[id] = 3;
Menu(id);
return PLUGIN_HANDLED;
}
else if(MenuMod[id] == 0)
{
if(Key == 4)
{
trade(id)
return PLUGIN_HANDLED;
}
MenuMod[id] = Key;
Menu(id);
}
else if(MenuMod[id] == 1)
{
parse(Data[0], Data[2], 31, Data[3], 31);
if(str_to_num(Data[3]) == FAMAS)
UsingWeapon[0][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == USP)
UsingWeapon[1][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == GLOCK18)
UsingWeapon[2][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == AWP)
UsingWeapon[3][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == MP5NAVY)
UsingWeapon[4][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == M3)
UsingWeapon[5][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == M4A1)
UsingWeapon[6][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == DEAGLE)
UsingWeapon[7][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == AK47)
UsingWeapon[8][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == KNIFE)
UsingWeapon[9][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == P90)
UsingWeapon[10][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == SCOUT)
UsingWeapon[11][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == AUG)
UsingWeapon[12][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == UMP45)
UsingWeapon[13][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == XM1014)
UsingWeapon[14][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == SG550)
UsingWeapon[15][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == SG552)
UsingWeapon[16][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == G3SG1)
UsingWeapon[17][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == P228)
UsingWeapon[18][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == GALIL)
UsingWeapon[19][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == M249)
UsingWeapon[20][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == FIVESEVEN)
UsingWeapon[21][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == ELITE)
UsingWeapon[22][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == TMP)
UsingWeapon[23][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == MAC10)
UsingWeapon[24][id] = str_to_num(Data[2]);
Save(id);
}
else if(MenuMod[id] == 2)
{
if(Chestp[id][Key] > 0 && pKey[id] > 0)
{
ChestOpen(id,Key);
Menu(id);
}
}
else if(MenuMod[id] == 3)
{
if(Key == -1)
{
WeaponinMarket[id] = 0;
MarketPoints[id] = 0
MenuMod[id] = -1;
Menu(id);
}
else if(Key == 0)
{
if(inMarket[id] && !round[id])
{
inMarket[id] = false;
WeaponinMarket[id] = 0
MarketPoints[id] = 0
MenuMod[id] = 3
Menu(id)
return PLUGIN_HANDLED;
}
else if(round[id] && inMarket[id])
print_color(id, "!g%s!t Iti poti lua item-ul abia runda viitoare!",Prefix);
else if(MarketPoints[id] > 0)
{
if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
{
get_user_name(id, Name, 31);
print_color(0, "!g%s!t %s!y vinde !g%s!t pentru !g%d !tEURO!",Prefix, Name, ChestName[WeaponinMarket[id]-103], MarketPoints[id]);
inMarket[id] = true;
}
else if(WeaponinMarket[id] == 102)
{
get_user_name(id, Name, 31);
print_color(0, "!g%s!t %s!y vinde o !gcheie !tpentru !g%d !tEURO!",Prefix, Name, MarketPoints[id]);
inMarket[id] = true;
}
else
{
get_user_name(id, Name, 31);
if(WeaponinMarket[id] > 499)
{
WeaponinMarket[id] -= 500
print_color(0, "!g%s%L!y-!gStatTrack",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
WeaponinMarket[id] += 500
}
else
{
print_color(0, "!g%s%L",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
}
inMarket[id] = true;
for(new a = 0; a < WEAPONSKIN; a++)
{
if(WeaponinMarket[id] == UsingWeapon[a][id])
{
UsingWeapon[a][id] = 0
}
}
}
MenuMod[id] = 3
Menu(id)
round[id] = 1
}
}
else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
{
if(Key == id)
{
print_color(id, "!g%s!t Nu poti sa-ti cumperi item-ul tau!",Prefix);
return PLUGIN_HANDLED;
}
get_user_name(Key, Name, 31);
get_user_name(id, mName, 31);
if(103 <= WeaponinMarket[Key] && 113 >= WeaponinMarket[Key])
{
print_color(0, "!g%s!t %s!y a cumparat!t %s!y cu !g%d EURO !yde la !t%s!",Prefix,mName, ChestName[WeaponinMarket[Key]-103], MarketPoints[Key], Name);
Chestp[id][WeaponinMarket[Key]-103]++;
Chestp[Key][WeaponinMarket[Key]-103]--;
}
else if(WeaponinMarket[Key] == 102)
{
print_color(0, "!g%s%L",
Prefix, LANG_SERVER, "BUYMARKETKEY",
mName, MarketPoints[Key], Name);
pKey[id]++;
pKey[Key]--;
}
else if(WeaponinMarket[Key] < 500)
{
print_color(0, "!g%s%L",
Prefix, LANG_SERVER, "BUYMARKETITEM",
mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
uWeapon[WeaponinMarket[Key]][id]++;
uWeapon[WeaponinMarket[Key]][Key]--;
}
else
{
WeaponinMarket[Key] -= 500
print_color(0, "!g%s%L!y-!gStatTrack",
Prefix, LANG_SERVER, "BUYMARKETITEM",
mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
uWeapon[WeaponinMarket[Key]][id]++;
uWeapon[WeaponinMarket[Key]][Key]--;
stattrack[WeaponinMarket[Key]][id]++
stattrack[WeaponinMarket[Key]][Key]--
kill[WeaponinMarket[Key]][Key] = 0
new szWeek[3]
get_time("%w", szWeek, sizeof(szWeek))
coldown[WeaponinMarket[Key]][id] = str_to_num(szWeek)
}
Points[Key] += MarketPoints[Key];
Points[id] -= MarketPoints[Key];
Save(Key);
Save(id);
inMarket[Key] = false;
MarketPoints[Key] = 0;
WeaponinMarket[Key] = 0;
MenuMod[id] = 0;
}
}
else if(MenuMod[id] == 4)
{
trade(id)
}
else if(MenuMod[id] == 5)
{
if(Key == -1)
{
aTarget[id] = 0;
}
if(Key == -2)
{
MenuMod[id] = -2;
}
if(Key == -3)
{
if(aThing[id] != WeaponinMarket[id] && 103 <= aThing[id] && 113 >= aThing[id])
{
Points[aTarget[id]] += aPoints[id];
Points[id] -= aPoints[id];
Chestp[id][aThing[id]-103]--;
Chestp[aTarget[id]][aThing[id]-103]++;
Save(aTarget[id]);
Save(id);
new Name2[32];
get_user_name(aTarget[id], Name2, 31);
get_user_name(id, Name, 31);
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%s !ysi !g%d EURO !t%s!",Prefix, Name, ChestName[aThing[id]-103],aPoints[id], Name2);
log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s> a facut cadou %s si %d EURO lui %s", Prefix, Name, ChestName[aThing[id]-103], aPoints[id], Name2);
MenuMod[id] = 0;
aThing[id] = 0;
aTarget[id] = 0;
aPoints[id] = 0;
}
else if(aThing[id] == 102 && 102 != WeaponinMarket[id])
{
Points[aTarget[id]] += aPoints[id];
Points[id] -= aPoints[id];
pKey[id]--;
pKey[aTarget[id]]++;
Save(aTarget[id]);
Save(id);
new Name2[32];
get_user_name(id, Name, 31);
get_user_name(aTarget[id], Name2, 31);
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou o !gcheie !ysi !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2);
log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s> a facut cadou o cheie si %d EURO lui %s", Prefix, Name, aPoints[id], Name2);
MenuMod[id] = 0;
aThing[id] = 0;
aTarget[id] = 0;
aPoints[id] = 0;
}
else if(aThing[id] > 0)
{
if(aThing[id] < 500)
{
if(uWeapon[aThing[id]][id] > 0 && aThing[id] != WeaponinMarket[id])
{
uWeapon[aThing[id]][aTarget[id]]++;
uWeapon[aThing[id]][id]--;
for(new a = 0; a < WEAPONSKIN; a++)
{
if(aThing[id] == UsingWeapon[a][id])
{
UsingWeapon[a][id] = 0
}
}
Points[aTarget[id]] += aPoints[id];
Points[id] -= aPoints[id];
Save(aTarget[id]);
Save(id);
new Name2[32];
get_user_name(id, Name, 31);
get_user_name(aTarget[id], Name2, 31);
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s> a facut cadou %s si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
MenuMod[id] = 0;
aThing[id] = 0;
aTarget[id] = 0;
aPoints[id] = 0;
}
}
else if(aThing[id] > 500)
{
new as = aThing[id]
aThing[id] -= 500
if(uWeapon[aThing[id]][id] > 0 && (aThing[id] != WeaponinMarket[id]||as != WeaponinMarket[id]))
{
uWeapon[aThing[id]][aTarget[id]]++;
uWeapon[aThing[id]][id]--;
stattrack[aThing[id]][aTarget[id]]++
stattrack[aThing[id]][id]--
kill[aThing[id]][id] = 0
for(new a = 0; a < WEAPONSKIN; a++)
{
if(aThing[id] == UsingWeapon[a][id])
{
UsingWeapon[a][id] = 0
}
}
Points[aTarget[id]] += aPoints[id];
Points[id] -= aPoints[id];
Save(aTarget[id]);
Save(id);
new Name2[32];
get_user_name(id, Name, 31);
get_user_name(aTarget[id], Name2, 31);
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s!y(!gStatTrack!y) !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s> a facut cadou %s(StatTrack) si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
MenuMod[id] = 0;
aThing[id] = 0;
aTarget[id] = 0;
aPoints[id] = 0;
}
}
}
else
{
Points[aTarget[id]] += aPoints[id];
Points[id] -= aPoints[id];
Save(aTarget[id]);
Save(id);
new Name2[32];
get_user_name(id, Name, 31);
get_user_name(aTarget[id], Name2, 31);
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2);
log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s> a facut cadou %d EURO lui %s", Prefix, Name, aPoints[id], Name2);
MenuMod[id] = 0;
aThing[id] = 0;
aTarget[id] = 0;
aPoints[id] = 0;
}
}
if(Key == -4)
{
client_cmd(id, "messagemode Gift");
}
if(Key > 0)
aTarget[id] = Key;
Menu(id);
}
else if(MenuMod[id] == 6)
{
if(!ruleta)
{
if(!is_user_alive(id))
ruletta(id)
else
print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix);
}
}
else if(MenuMod[id] == 7)
{
if(!jackpot)
{
if(!is_user_alive(id))
jackkpot(id)
else
print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul !tcand esti !gVIU!",Prefix);
}
}
else if(MenuMod[id] == 8)
{
bet(id)
}
else if(MenuMod[id] == 9)
{
contract(id)
}
else if(MenuMod[id] == 10)
{
sterge(id)
}
else if(MenuMod[id] == 11)
{
if(!is_user_alive(id))
{
crashi[id] = 1
}
else
print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix);
}
else if(MenuMod[id] == 12)
{
if(!is_user_alive(id))
{
coinflip(id)
}
else
print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix);
}
else if(MenuMod[id] == 13)
{
if(!PromoUse[id])
{
client_cmd(id, "messagemode PromoCode");
}
else
print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix);
}
else if(MenuMod[id] == 14)
{
ShopTagMenu(id)
}
return PLUGIN_CONTINUE;
}
//---------------------------------------Coinflip------------------------//
public coinflip(id)
{
new Line[120];
formatex(Line,119, "\rCoinflip^n");
new cMenu = menu_create(Line, "CoinHandle");
if(coinflippoint[id] == 0 && coinflipstar[id] == -1)
{
formatex(Line,119, "Add bet");
menu_additem(cMenu, Line, "1");
}
else
{
formatex(Line,119, "\dAdd bet");
menu_additem(cMenu, Line, "0");
}
if(coinflippoint[id] > 0 && coinflipstar[id] == -1)
{
formatex(Line,119, "Remove bet");
menu_additem(cMenu, Line, "2");
}
else
{
formatex(Line,119, "\dRemove bet");
menu_additem(cMenu, Line, "0");
}
formatex(Line,119, "List bet");
menu_additem(cMenu, Line, "3");
menu_display(id, cMenu, 0);
}
public CoinHandle(id, gMenu, Key)
{
hide(mure)
if(Key == MENU_EXIT)
{
menu_destroy ( gMenu );
return PLUGIN_HANDLED;
}
new aMenu[2], Data[4][32], sKey[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
if(Key == 1)
{
if(coinflippoint[id] == 0 && coinflipstar[id] == -1)
{
client_cmd(id, "messagemode Coinflip");
}
}
else if(Key == 2)
{
if(coinflippoint[id] > 0 && coinflipstar[id] == -1)
{
Points[id] += coinflippoint[id]
Save(id)
coinflippoint[id] = 0
coinflip(id)
}
}
else if(Key == 3)
{
coinflipi[id] = 1
}
return PLUGIN_CONTINUE;
}
public coinflipss(id,player)
{
if(is_user_connected(player))
{
static Line[120],name[33],Float:time;
if(time == 0.0)
time = get_gametime()
if(coinflipstar[id] > 0)
{
coinflipstart[id]++
if(coinflipstart[id] == 10)
{
coinflipstart[id] = 0
coinflipstar[id]--
}
formatex(Line,119, "\rCoinflip^n\wIncepe in %d secunde",coinflipstar[id]);
}
else
{
formatex(Line,119, "\rCoinflip");
if(coinflipwiner[id] > 0)
coinflipwiner[id]--
}
new cMenu = menu_create(Line, "CoinHandless");
get_user_name(id,name,32)
if(coinflipwin[id] == id)
{
formatex(Line,119, "\r[\y%s\r]",name);
menu_additem(cMenu, Line, "1");
}
else
{
formatex(Line,119, "%s",name);
menu_additem(cMenu, Line, "1");
}
get_user_name(player,name,32)
if(coinflipwin[id] == player)
{
formatex(Line,119, "\r[\y%s\r]",name);
menu_additem(cMenu, Line, "1");
}
else
{
formatex(Line,119, "%s",name);
menu_additem(cMenu, Line, "1");
}
if(time !=get_gametime() && coinflipstar[id] == 0)
{
time = get_gametime()
if(coinflipwin[id] == id && coinflipwiner[id] > 0)
{
coinflipwin[id] = player
coinflipwin[player] = player
}
else if(coinflipwin[id] == player && coinflipwiner[id] > 0)
{
coinflipwin[id] = id
coinflipwin[player] = id
}
else if(coinflipwiner[id] == 0)
{
if(!task_exists(coinflipp[id]+13331) && !task_exists(id+13331))
set_task(1.0,"winer",id+13331)
new name[33]
get_user_name(coinflipwin[id],name,32)
client_cmd(coinflipwin[id], "stopsound")
client_cmd(coinflipwin[id], "mp3 stop")
client_cmd(coinflipwin[id], "spk %s",Sunete[2])
client_cmd((coinflipwin[id] == id ? player : id), "stopsound")
client_cmd((coinflipwin[id] == id ? player : id), "mp3 stop")
client_cmd((coinflipwin[id] == id ? player : id), "spk %s",Sunete[1])
print_color(id, "!g%s!t Castigatorul este !g%s",Prefix,name);
print_color(coinflipp[id], "!g%s!t Castigatorul este !g%s",Prefix,name);
}
}
menu_display(id, cMenu, 0);
}
}
public winer(id)
{
id -= 13331
Points[coinflipwin[id]] += coinflippoint[id]*2
Save(id)
Save(coinflipp[id])
coinflippoint[coinflipp[id]] = 0
coinflippoint[id] = 0
coinflipwiner[id] = 0
coinflipwiner[coinflipp[id]] = 0
coinflipwin[id] = 0
coinflipwin[coinflipp[id]] = 0
coinflipi[id] = 0
coinflipi[coinflipp[id]] = 0
coinflipstart[id] = -1
coinflipstart[coinflipp[id]] = -1
coinflipstar[id] = -1
coinflipstar[coinflipp[id]] = -1
coinflipp[coinflipp[id]] = 0
coinflipp[id] = 0
}
public CoinHandless(id, gMenu, Key) return PLUGIN_CONTINUE;
public coinflips(id)
{
static Line[120],i,All,name[33],String[8];
All = 0
formatex(Line,119, "\rCoinflip^n");
new cMenu = menu_create(Line, "CoinHandles");
formatex(Line,119, "Exit");
menu_additem(cMenu, Line, "0");
for(i=0;i<32;i++)
{
if(is_user_connected(i))
{
if(coinflippoint[i] > 0 && coinflipstar[i] == -1 && i == id)
{
get_user_name(i,name,32)
formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name);
menu_additem(cMenu, Line, "-1");
All++
}
else if(coinflippoint[i] > 0 && coinflipstar[i] == -1)
{
num_to_str(i, String, 8);
get_user_name(i,name,32)
formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name);
menu_additem(cMenu, Line, String);
All++
}
}
}
if(All == 0)
{
formatex(Line,119, "Momentan nu a pariat nimeni la coinflip");
menu_additem(cMenu, Line, "-1");
}
menu_display(id, cMenu, 0);
}
public CoinHandles(id, gMenu, Key)
{
hide(mure)
new aMenu[2], Data[4][32], sKey[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
if(Key == 0)
{
if(coinflipstar[id] == -1)
{
coinflipi[id] = 0
}
}
else if(Key > 0)
{
if(Points[id] >= coinflippoint[Key] && coinflipstar[id] == -1 && coinflipstar[Key] == -1 && coinflippoint[id] == 0)
{
Points[id] -= coinflippoint[Key]
Save(id)
coinflippoint[id] = coinflippoint[Key]
coinflipstar[id] = 10
coinflipstar[Key] = 10
coinflipp[id] = Key
coinflipp[Key] = id
new a = random_num(50,70)
coinflipwiner[id] = a
coinflipwiner[Key] = a
coinflipwin[id] = Key
coinflipwin[Key] = Key
coinflipi[id] = 2
coinflipi[Key] = 2
}
}
return PLUGIN_CONTINUE;
}
//---------------------------------------Crash---------------------------//
public Coinflipbet(id)
{
hide(mure)
if(coinflippoint[id] != 0||coinflipstar[id] != -1)
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost > Points[id] || Cost < 500)
{
client_cmd(id, "messagemode Coinflip");
return PLUGIN_HANDLED;
}
else
{
coinflippoint[id] = Cost;
Points[id] -= Cost
Save(id)
coinflipstar[id] = -1
coinflip(id)
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public Crashbet(id)
{
hide(mure)
if(crashpoint[id] > 0||crashstart == 1)
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost > Points[id] || Cost < 100)
{
client_cmd(id, "messagemode Crash");
return PLUGIN_HANDLED;
}
else
{
crashpoint[id] = Cost;
Points[id] -= Cost
Save(id)
if(crashstart == 0)
{
print_color(id, "!g%s!t Crash-ul !ya inceput!Pariaza rapid!!!!",Prefix);
crashstart = 15
}
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public AutoCrashbet(id)
{
hide(mure)
if(crashpoint[id] > 0||crashstart == 1)
return PLUGIN_HANDLED;
new Data[32]
read_args(Data, 31);
remove_quotes(Data);
new a
for(new i;i<strlen(Data);i++)
{
if(a == 1)
{
Data[i+1] = '^0'
break
}
if(Data[i] == '.')
a = 1
}
if(equal(Data,"1")||equal(Data,"1.0"))
{
formatex(crashauto[id],8,"1.0")
return 1;
}
new Float:Cost = str_to_float(Data)
Cost+=0.000001
if(Cost < 1.1)
{
client_cmd(id, "messagemode AutoCrash");
return PLUGIN_HANDLED;
}
else
{
formatex(crashauto[id],8,Data)
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public crashhh()
{
static i,a,b,c,d,e,f,g,h,j,k[8],z,w
a = 0
b = 0
z = 0
float_to_str(crashtime,k,7)
for(w = 0;w<strlen(k);w++)
{
if(z == 1)
{
k[w+1] = '^0'
break
}
if(k[w] == '.')
z = 1
}
for(i=0;i<32;i++)
{
if(is_user_connected(i))
{
if(crashstart == 0)
{
crashpoint[i] = 0
}
else if(crashpoint[i] > 0)
{
a+=crashpoint[i]
b++
if(equal(crashauto[i],k) && crashtime > 1.0)
{
new Float:z = float(crashpoint[i])*crashtime
Points[i] += floatround(z)
crashwin[i] = floatround(z)
crashpoint[i] = -1
Save(i)
}
}
}
}
for(i=0;i<32;i++)
{
if(is_user_connected(i))
{
if(coinflipi[i] == 1)
{
coinflips(i)
}
else if(coinflipi[i] == 2)
{
coinflipss(i,coinflipp[i])
}
if(crashi[i] == 1)
{
crashh(i,a,b)
}
}
}
if(crashstart > 1)
{
c++
if(c == 10)
{
crashstart--
c = 0
if(crashstart == 1)
{
f = random_num(2,5)
h = random_num(8,10)
}
}
}
else if(crashstart == 1)
{
j++
g++
if(g <= f)
{
if(random_float(0.0,20.0) >= 20.0-crashtime)
{
crashstart = -1
e = 0
g = 0
j = 0
}
}
if(e == h && crashstart != -1)
{
crashtime+=0.1
if(crashtime == 1.2)
h = random_num(8,9)
else if(crashtime == 1.5)
h = random_num(6,7)
else if(crashtime == 2.0)
h = random_num(4,5)
else if(crashtime > 2.5)
h = random_num(2,3)
e = 0
}
else if(crashstart != -1)
e++
if(j == 10)
{
j = 0
g = 0
}
}
else if(crashstart == -1)
{
d++
if(d == 50)
{
crashstart = 0
crashtime = 1.0
d = 0
}
}
}
public crashh(id,a,b)
{
static Line[508],String[100];
formatex(Line,507,"")
formatex(String, 99, "\rCrash \w- Pot de \r%d EURO^n",a);
add(Line, 507, String);
formatex(String, 99, "\yParticipanti %d^n",b);
add(Line, 507, String);
if(crashstart == 1)
formatex(String, 99, "X\y%0.1f^n",crashtime);
else if(crashstart > 1)
formatex(String, 99, "\yIncepe in %d secunde^n",crashstart);
else if(crashstart == -1)
formatex(String, 99, "\yCrash la %0.1f^n",crashtime);
else
formatex(String, 99, "Pentru a incepe trebuie sa participe minim 1^n");
add(Line, 507, String)
formatex(String, 99, "%s Auto-Cashout \r",(!equal(crashauto[id],"1.0") ? "ON" : "OFF"));
add(Line, 507, String)
formatex(String, 99, "x%s^n\wPentru a opri Auto-Cashout seteaza valoarea 1^n",crashauto[id]);
add(Line, 507, String)
if(crashpoint[id] > 0 && crashstart == 1)
{
formatex(String, 99, "\yProfit %d^n",floatround(float(crashpoint[id])*crashtime));
add(Line, 507, String)
}
else if(crashpoint[id] == -1)
{
formatex(String, 99, "\yAi scos %d^n",crashwin[id]);
add(Line, 507, String)
}
else if(crashstart == -1 && crashpoint[id] > 0)
{
formatex(String, 99, "\yAi pierdut %d, felicitari :)))^n",floatround(float(crashpoint[id])*crashtime));
add(Line, 507, String)
}
new cMenu = menu_create(Line, "CrashHandle");
if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
{
formatex(Line, 507, "Add bet");
menu_additem(cMenu, Line, "1");
}
else
{
formatex(Line, 507, "\dAdd bet");
menu_additem(cMenu, Line, "0");
}
if(crashpoint[id] > 0 && crashstart == 1)
{
formatex(Line, 507, "Cashout");
menu_additem(cMenu, Line, "2");
}
else
{
formatex(Line, 507, "\dCashout");
menu_additem(cMenu, Line, "0");
}
if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
{
formatex(Line, 507, "Auto-Cashout");
menu_additem(cMenu, Line, "3");
}
else
{
formatex(Line, 507, "\dAuto-Cashout");
menu_additem(cMenu, Line, "0");
}
formatex(Line, 507, "Exit");
menu_additem(cMenu, Line, "4");
menu_setprop( cMenu, MPROP_EXIT, MEXIT_ALL );
menu_setprop( cMenu, MPROP_NEXTNAME, "")
menu_setprop( cMenu, MPROP_BACKNAME, "")
menu_setprop( cMenu, MPROP_EXITNAME, "")
menu_display(id, cMenu, 0);
}
public CrashHandle(id, gMenu, Key)
{
hide(mure)
new aMenu[2], Data[4][32], sKey[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
if(Key == 1)
{
if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
client_cmd(id, "messagemode Crash");
}
else if(Key == 2)
{
if(crashpoint[id] > 0 && crashstart == 1)
{
Points[id] += floatround(float(crashpoint[id])*crashtime)
crashwin[id] = floatround(float(crashpoint[id])*crashtime)
crashpoint[id] = -1
Save(id)
}
}
else if(Key == 3)
{
if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
client_cmd(id, "messagemode AutoCrash");
}
else if(Key == 4)
{
menu_destroy(gMenu);
crashi[id] = 0
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
//---------------------------------------Sterge--------------------------//
public sterge(id)
{
hide(mure)
new zMenu = menu_create("Selecteaza itemul", "stergem");
new String[32], All, Line[128];
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
continue;
if(stattrack[i][id])
{
new bda
bda = i+500
formatex(String, 31, "%d", bda);
formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
menu_additem(zMenu, Line, String);
}
if(uWeapon[i][id] > stattrack[i][id])
{
new dsa = uWeapon[i][id]-stattrack[i][id]
num_to_str(i, String, 31);
formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(zMenu, Line, String);
}
All++;
}
menu_setprop(zMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, zMenu, 0);
}
public stergem(id, gMenu, Key)
{
hide(mure)
if(Key == MENU_EXIT)
{
menu_destroy ( gMenu );
return PLUGIN_HANDLED;
}
new aMenu[2], Data[4][32], sKey[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
continue;
if(Key == i)
{
uWeapon[i][id]--
print_color(id, "!g%s!t Ai sters skinul !g%s!t!",Prefix, WeaponNames[i]);
}
else if(Key == i+500)
{
uWeapon[i][id]--
stattrack[i][id]--
print_color(id, "!g%s!t Ai sters skinul !g%s(StatTrack)!t!",Prefix, WeaponNames[i]);
}
Save(id)
}
return PLUGIN_CONTINUE;
}
//--------------------------------------Contract-----------------------------------//
public contract(id)
{
hide(mure)
new All, Alls, String[32],Line[128];
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1|| WeaponDrop[i] <= 10)
continue;
All += uWeapon[i][id]-stattrack[i][id];
Alls += stattrack[i][id];
}
if(tradeup[id] > 0)
All += tradeup[id]
if(All < 10 && Alls < 10)
{
if(Alls > 0)
print_color(id, "!g%s!t Ai nevoie de 10 skinuri iar tu ai %d si %d stattrack!",Prefix,All,Alls);
else
print_color(id, "!g%s!t Ai nevoie de 10 skinuri iar tu ai %d!",Prefix,All);
MenuMod[id] = 0
Menu(id)
return 1;
}
All = 0
new fol[MAX+1]
new fol2[MAX+1]
if(tradeup[id] > 0)
formatex(Line, 127, "Trade Up Contract [%d/10]^nPress 0 for cancel contract",tradeup[id]);
else if(tradeups[id] >0)
formatex(Line, 127, "Trade Up Contract [%d/10]^nPress 0 for cancel contract",tradeups[id]);
else
formatex(Line, 127, "Trade Up Contract [0/10]^nPress 0 for cancel contract");
new Menu = menu_create(Line, "tradeupm");
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1|| WeaponDrop[i] <= 10)
continue;
if(tradeup[id] != 0)
{
for(new a = 0; a < tradeup[id]; a++)
{
new dsaa = uWeapon[i][id]-stattrack[i][id]
if(dsaa && fol[i] == 0)
{
num_to_str(i, String, 31);
formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsaa);
menu_additem(Menu, Line, String);
fol[i] = 1
}
}
}
else if(tradeups[id] != 0)
{
for(new a = 0; a < tradeups[id]; a++)
{
new dre = i+500
if(stattrack[i][id] && fol2[i] == 0)
{
formatex(String, 31, "%d", dre);
formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
menu_additem(Menu, Line, String);
fol2[i] = 1
}
}
}
else
{
if(stattrack[i][id])
{
new bda
bda = i+500
formatex(String, 31, "%d", bda);
formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
menu_additem(Menu, Line, String);
}
if(uWeapon[i][id] > stattrack[i][id])
{
new dsa = uWeapon[i][id]-stattrack[i][id]
num_to_str(i, String, 31);
formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(Menu, Line, String);
}
}
}
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu, 0);
return 0;
}
public tradeupm(id, gMenu, Key)
{
hide(mure)
if(Key == MENU_EXIT)
{
menu_destroy ( gMenu );
if(tradeup[id] != 0 && !task_exists(id+54354))
{
for(new i = 1; i < AllWeapon; i++)
{
for(new a = 0; a < tradeup[id]; a++)
{
if(contr[a][id] == i)
{
uWeapon[i][id]++
}
if(contr[a][id] == i+500)
{
uWeapon[i][id]++
stattrack[i][id]++
}
}
}
}
MenuMod[id] = 0
Menu(id)
tradeup[id] = 0
tradeups[id] = 0
Save(id)
return PLUGIN_HANDLED;
}
new aMenu[2], Data[4][32], sKey[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
if(tradeup[id] < 10)
{
if(Key < 500)
{
contr[tradeup[id]][id] = Key
uWeapon[Key][id]--
tradeup[id]++;
contract(id);
}
else
{
contr[tradeup[id]][id] = Key
new a = Key-500
uWeapon[a][id]--
stattrack[a][id]--
tradeups[id]++;
contract(id);
}
if(tradeup[id] == 10||tradeups[id] == 10)
gocontract(id)
Save(id)
}
else
contract(id);
Save(id);
return PLUGIN_CONTINUE;
}
public gocontract(id)
{
hide(mure)
client_print(id, print_center, "Trade Up Contract procesare ...")
set_task(3.0, "pickup", id+54354)
}
public pickup(id)
{
hide(mure)
id -= 54354
new b,c,e,All
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0)
continue;
for(new a = 0; a < tradeup[id]; a++)
{
if(contr[a][id] == i||contr[a][id] == i+500)
{
b += WeaponDrop[i]
}
}
}
c = random_num(1, 8)
new dasd = random_num(0,1)
if(c == 4)
{
if(dasd)
c++
else
c--
}
else if(c == 6)
{
if(dasd)
c++
else
c--
}
for(new i = 1; i < AllWeapon; i++)
{
if(All)
continue;
e = WeaponDrop[i]
if(c == e)
{
new name[32]
get_user_name(id, name, 31)
if(tradeups[id] > 0)
{
uWeapon[i][id]++
stattrack[i][id]++
print_color(0, "!g[CS:GO] !tPlayerul !g%s !ta facut un contract si a obtinut %s(StatTrack)", name, WeaponNames[i]);
}
else
{
uWeapon[i][id]++
print_color(0, "!g[CS:GO] !tPlayerul !g%s !ta facut un contract si a obtinut %s", name, WeaponNames[i]);
}
All++
client_cmd(id, "stopsound")
client_cmd(id, "mp3 stop")
client_cmd(id, "spk %s",Sunete[3])
}
}
for(new a = 0; a < tradeup[id]; a++)
{
contr[a][id] = 0
}
Save(id);
tradeup[id] = 0
tradeups[id] = 0
MenuMod[id] = 0
Menu(id)
}
//-----------------------------------------Bet----------------------------------//
public bet(id)
{
hide(mure)
if(pbet[id])
{
print_color(id, "!g%s!t Ai pariat deja pe echipa %s!",Prefix,TeamNames[pbet[id]]);
MenuMod[id] = 0
Menu(id)
return 1;
}
if(bround > 4)
{
print_color(id, "!g%s!t Nu mai poti paria pe echipe!",Prefix);
MenuMod[id] = 0
Menu(id)
return 1;
}
new Menu = menu_create("Bet Team", "betm");
menu_additem(Menu, "Terrorist", "0");
menu_additem(Menu, "Counter-Terrorist", "1");
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu, 0);
return 0;
}
public betm(id, menu, item)
{
hide(mure)
if( item == MENU_EXIT || bround > 4)
{
menu_destroy ( menu );
MenuMod[id] = 0
Menu(id)
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key)
{
case 0:
{
print_color(id, "!g%s!t Scrie suma pe care pariezi!",Prefix);
client_cmd(id, "messagemode T");
}
case 1:
{
print_color(id, "!g%s!t Scrie suma pe care pariezi!",Prefix);
client_cmd(id, "messagemode CT");
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
//------------------------------------JackPot-------------------------------------------//
public jackkpot(id)
{
hide(mure)
new Line[128]
if(inJack[id])
{
if(playj >= 2 && secs >= 10)
formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y10%%\w]^nJackpot-ul porneste in %d secunde", secs);
else
formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y10%%\w]^n^nAsteptam decizia...");
}
else
{
if(playj >= 2 && secs >= 10)
formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y0\w]^nJackpot-ul porneste in %d secunde", secs);
else
formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y0\w]^nAsteptam decizia...");
}
new Menu = menu_create(Line, "JackpotHandlers");
if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
{
formatex(Line, 127, "Add item");
menu_additem(Menu, Line, "0");
}
else
{
formatex(Line, 127, "Add item%L", LANG_SERVER, "INMARKET");
menu_additem(Menu, Line, "-2");
}
formatex(Line, 127, "Refresh");
menu_additem(Menu, Line, "-1");
new Name[32], String[32];
for(new x; x < 32; x++)
{
if(!is_user_connected(x))
continue;
if(inJack[x])
{
num_to_str(x, String, 31);
get_user_name(x, Name, 31);
if(103 <= jack[x] && 113 >= jack[x])
{
formatex(Line, 127, "%s\y[%s]", ChestName[jack[x]-103],Name);
menu_additem(Menu, Line, String);
}
else if(102 == jack[x])
{
formatex(Line, 127, "Key\y[%s]", Name);
menu_additem(Menu, Line, String);
}
else if(jack[x] > 0)
{
if(jack[x] < 500)
{
formatex(Line, 127, "%s\r\B[%s]", WeaponNames[jack[x]], Name);
menu_additem(Menu, Line, String);
}
else if(jack[x] > 500)
{
formatex(Line, 127, "%s\w-\rStatTrack\r\B[%s]", WeaponNames[jack[x]-500], Name);
menu_additem(Menu, Line, String);
}
}
}
}
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
viewj[id] = 1
}
public JackpotHandlers(id, menu, item)
{
hide(mure)
if( item == MENU_EXIT || jackpot)
{
menu_destroy ( menu );
MenuMod[id] = 0
Menu(id)
viewj[id] = 0
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key)
{
case -1:
{
jackkpot(id);
}
case 0:
{
if(jack[id] == 0)
addjack(id);
else
jackkpot(id);
}
default:
{
jackkpot(id)
}
}
return PLUGIN_HANDLED;
}
public addjack(id)
{
hide(mure)
new Line[128]
formatex(Line, 127, "%s\r Alege un item pentru jackpot",Prefix);
new Menu = menu_create(Line, "AddHandlert");
new All, String[32];
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
continue;
if(stattrack[i][id])
{
new bda
bda = i+500
formatex(String, 31, "%d", bda);
formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
menu_additem(Menu, Line, String);
}
if(uWeapon[i][id] > stattrack[i][id])
{
new dsa = uWeapon[i][id]-stattrack[i][id]
num_to_str(i, String, 31);
formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(Menu, Line, String);
}
All++;
}
for(new i;i<chestcount;i++)
{
if(Chestp[id][i] > 0)
{
formatex(Line, charsmax(Line), "\r%s", ChestName[i]);
new calcul = -2-i
new numars[16]
num_to_str(calcul,numars,15)
menu_additem(Menu, Line, numars);
All++;
}
}
if(pKey[id] > 0)
{
formatex(Line, 127, "Cheie");
menu_additem(Menu, Line, "-1");
All++;
}
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
if(All == 0)
{
print_color(id, "!g%s!y Nu ai nici un obiect!",Prefix);
jackkpot(id);
}
}
public AddHandlert(id, gMenu, Key)
{
hide(mure)
if(Key == MENU_EXIT||playj == 10)
{
menu_destroy ( gMenu );
jackkpot(id);
return PLUGIN_HANDLED;
}
new aMenu[2], Data[4][32], sKey[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
if(Key <= -2)
{
Key+= 2
Key*= -1
jack[id] = 103+Key
jackkpot(id);
}
else if(Key == -1)
{
jack[id] = 102
jackkpot(id);
}
else
{
if(Key < 500)
{
jack[id] = Key
for(new a = 0; a < WEAPONSKIN; a++)
{
if(jack[id] == UsingWeapon[a][id])
{
UsingWeapon[a][id] = 0
}
}
}
else
{
jack[id] = Key-500
for(new a = 0; a < WEAPONSKIN; a++)
{
if(jack[id] == UsingWeapon[a][id])
{
UsingWeapon[a][id] = 0
}
}
jack[id] += 500
}
jackkpot(id);
}
inJack[id] = 1
itemj[playj] = id
playj++
if(playj >= 2 && secs == 60)
playjack()
return PLUGIN_CONTINUE;
}
public playjack()
{
hide(mure)
secs = 60
print_color(0, "!g%s!t Jackpot-ul a pornit!",Prefix);
set_task(1.0, "CnTT", 1534555, _, _, "b");
}
public CnTT()
{
hide(mure)
if(secs != 0)
{
secs--
}
else
{
remove_task(1534555)
new id = fnGetRandom()
if(!is_user_connected(id))
id = fnGetj()
playj = 0
new Name[32]
get_user_name(id, Name, 31)
print_color(0, "!g%s!t Castigatorul !gjackpot-ului !teste %s!",Prefix, Name);
print_color(0, "!g%s!t Jackpot-ul este !gblocat !tpentru 5 minute!",Prefix);
client_cmd(id, "stopsound")
client_cmd(id, "mp3 stop")
client_cmd(id, "spk %s",Sunete[4])
jackpot = 1
set_task(300.0, "unplayj", 132311)
for(new x; x < 32; x++)
{
if(!is_user_connected(x))
continue;
if(inJack[x])
{
if(103 <= jack[x] && 113 >= jack[x])
{
Chestp[x][jack[x]-103]--
Chestp[id][jack[x]-103]++
}
else if(102 == jack[x])
{
pKey[x]--
pKey[id]++
}
else if(jack[x] < 500)
{
uWeapon[jack[x]][x]--
uWeapon[jack[x]][id]++
}
else if(jack[x] > 500)
{
jack[x] -= 500
uWeapon[jack[x]][x]--
uWeapon[jack[x]][id]++
stattrack[jack[x]][x]--
stattrack[jack[x]][id]++
kill[jack[x]][x] = 0
}
inJack[x] = 0
jack[x] = 0
MenuMod[x] = 0
Menu(id)
Save(x)
Save(id)
}
}
for(new a = 0; a <= playj; a++)
{
if(itemj[a] != 0)
{
itemj[a] = 0
}
}
inJack[id] = 0
jack[id] = 0
Save(id)
}
}
public unplayj()
{
hide(mure)
jackpot = 0
secs = 60
print_color(0, "!g%s!g Jackpot-ul !teste deschis acum!",Prefix);
}
//----------------------------------------------------------Ruleta-------------------------------------------------//
public playruleta()
{
hide(mure)
sec = 60
print_color(0, "!g%s!t Ruleta a pornit!",Prefix);
set_task(1.0, "CnT", 1534554, _, _, "b");
}
public CnT()
{
hide(mure)
if(sec != 0)
{
sec--
if(sec == 1)
{
client_cmd(0, "stopsound")
client_cmd(0, "mp3 stop")
client_cmd(0, "spk %s",Sunete[5])
}
}
else
{
new a = random_num(0,14)
if(a < 8 && a > 0)
{
formatex(nr[6], 7, "%s", nr[5]);
formatex(nr[5], 7, "%s", nr[4]);
formatex(nr[4], 7, "%s", nr[3]);
formatex(nr[3], 7, "%s", nr[2]);
formatex(nr[2], 7, "%s", nr[1]);
formatex(nr[1], 7, "%s", nr[0]);
formatex(nr[0], 7, "\r%d",a);
for(new i; i < 32; i++)
{
if(is_user_connected(i))
{
Rosu[i] *= 2
Galben[i] = 0
Gri[i] = 0
Points[i] += Rosu[i]+Galben[i]+Gri[i]
Rosu[i] = 0
Save(i)
}
}
print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Rosu!y!",Prefix, a);
}
else if(a > 7 && a < 15)
{
formatex(nr[6], 7, "%s", nr[5]);
formatex(nr[5], 7, "%s", nr[4]);
formatex(nr[4], 7, "%s", nr[3]);
formatex(nr[3], 7, "%s", nr[2]);
formatex(nr[2], 7, "%s", nr[1]);
formatex(nr[1], 7, "%s", nr[0]);
formatex(nr[0], 7, "\d%d",a);
for(new i; i < 32; i++)
{
if(is_user_connected(i))
{
Rosu[i] = 0
Galben[i] = 0
Gri[i] *= 2
Points[i] += Rosu[i]+Galben[i]+Gri[i]
Gri[i] = 0
Save(i)
}
}
print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Gri!y!",Prefix, a);
}
else if(a == 0)
{
formatex(nr[6], 7, "%s", nr[5]);
formatex(nr[5], 7, "%s", nr[4]);
formatex(nr[4], 7, "%s", nr[3]);
formatex(nr[3], 7, "%s", nr[2]);
formatex(nr[2], 7, "%s", nr[1]);
formatex(nr[1], 7, "%s", nr[0]);
formatex(nr[0], 7, "\y%d",a);
for(new i; i < 32; i++)
{
if(is_user_connected(i))
{
Rosu[i] = 0
Galben[i] *= 14
Gri[i] = 0
Points[i] += Rosu[i]+Galben[i]+Gri[i]
Galben[i] = 0
Save(i)
}
}
print_color(0, "!g%s!t Numarul de la ruleta este: !g%d!t Galben!y!",Prefix, a);
}
playr = 0
print_color(0, "!g%s!g Ruleta !teste !ginchisa !tpentru 5 minute!",Prefix);
remove_task(1534554)
ruleta = 1
set_task(300.0, "unplay", 13231)
}
}
public unplay()
{
hide(mure)
ruleta = 0
sec = 60
print_color(0, "!g%s!g Ruleta !teste !gdeschisa !tacum!",Prefix);
}
public ruletta(id)
{
hide(mure)
new Line[128]
if(!Rosu[id] && !Gri[id] && !Galben[id])
{
if(playr >= 2 && sec >= 10)
formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], sec);
else
formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6]);
}
else
{
if(playr >= 2 && sec >= 10)
formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id], sec);
else
formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id]);
}
new Menu = menu_create(Line, "RuletaHandlers");
new a,b,c
for(new i; i < 32; i++)
{
if(is_user_connected(i))
{
a += Rosu[i]
b += Galben[i]
c += Gri[i]
}
}
if(sec >= 10)
{
formatex(Line, 127, "\rRosu \w2x\d(1,2,3,4,5,6,7) \w- %d", a);
menu_additem(Menu, Line, "1");
formatex(Line, 127, "\yGalben \w7x\d(0) \w- %d", b);
menu_additem(Menu, Line, "2");
formatex(Line, 127, "\dGri \w2x\d(7,8,9,10,11,12,13,14) \w- %d", c);
menu_additem(Menu, Line, "3");
}
else
{
formatex(Line, 127, "\dRosu 2x(1,2,3,4,5,6,7) - %d", a);
menu_additem(Menu, Line, "0");
formatex(Line, 127, "\dGalben 7x(0) - %d", b);
menu_additem(Menu, Line, "0");
formatex(Line, 127, "\dGri 2x(7,8,9,10,11,12,13,14) - %d", c);
menu_additem(Menu, Line, "0");
}
menu_additem(Menu, "Refresh", "4");
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
public RuletaHandlers(id, menu, item)
{
hide(mure)
if( item == MENU_EXIT )
{
menu_destroy ( menu );
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key)
{
case 0:
{
print_color(id, "!g%s!t Nu ai EURO pentru ruleta!",Prefix);
}
case 1:
{
client_cmd(id, "messagemode Rosu");
}
case 2:
{
client_cmd(id, "messagemode Galben");
}
case 3:
{
client_cmd(id, "messagemode Gri");
}
case 4:
{
ruletta(id)
}
}
return PLUGIN_HANDLED;
}
//----------------------------------------------------------Trade--------------------------------------------------//
public acctrade(id)
{
hide(mure)
if(!tTarget[id])
return 1;
if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]))
{
return 1;
}
go[id] = 1
go[tTarget[id]] = 1
remove_task(tTarget[id]);
new Name[32], Name2[32];
get_user_name(id, Name, charsmax(Name));
get_user_name(tTarget[id], Name2, charsmax(Name2));
print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2);
print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta pentru !gschimburi de iteme!y !",Prefix, Name);
menu_cancel(id)
menu_cancel(tTarget[id])
totrade(id);
totrade(tTarget[id]);
return 1;
}
public reftrade(id)
{
hide(mure)
if(!tTarget[id])
return 1;
if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]))
{
return 1;
}
go[id] = 0
go[tTarget[id]] = 0
remove_task(tTarget[id]);
invitat[id] = 0;
nosend[tTarget[id]] = true;
new Name[32], Name2[32];
get_user_name(id, Name, charsmax(Name));
get_user_name(tTarget[id], Name2, charsmax(Name2));
print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
print_color(tTarget[id], "!g%s!t %s !ya refuzat sa faca !gschimb de iteme!y cu tine!",Prefix, Name);
tTarget[tTarget[id]] = 0;
tTarget[id] = 0;
return 1;
}
public trade(id)
{
hide(mure)
new Name[32], String[8]
if(invitat[id] && go[id] == 0)
{
new Menu = menu_create("Schimb de iteme", "TradeHandlers");
menu_additem(Menu, "Accepta", "1");
menu_additem(Menu, "Refuza", "2");
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
else if(tTarget[id] == 0)
{
new Menu = menu_create("Alege jucator", "TradeHandler");
for(new i; i < 32; i++)
{
if(is_user_connected(i) && i != id && Loged[i])
{
get_user_name(i, Name, 31);
num_to_str(i, String, 31);
menu_additem(Menu, Name, String);
}
}
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
}
public TradeHandler(id, menu, item)
{
hide(mure)
if( item == MENU_EXIT )
{
menu_destroy ( menu );
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
tTarget[id] = Key;
tTarget[tTarget[id]] = id;
invitat[tTarget[id]] = 1;
nosend[id] = false;
new Names[32], Name2[32];
get_user_name(id, Names, 31);
get_user_name(tTarget[id], Name2, 31);
print_color(id, "!g%s!y Asteapta raspunsul lui !t%s!y!",Prefix, Name2);
print_color(tTarget[id], "!g%s!t %s !yte-a invitat sa faceti !gschimb de iteme!y, scrie in chat: !g/accept !tsau !g/refuz !t!",Prefix, Names);
set_task(15.0, "fararaspuns", id);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public TradeHandlers(id, menu, item)
{
hide(mure)
if( item == MENU_EXIT )
{
menu_destroy ( menu );
remove_task(tTarget[id]);
invitat[id] = 0;
nosend[tTarget[id]] = true;
new Name[32], Name2[32];
get_user_name(id, Name, 31);
get_user_name(tTarget[id], Name2, 31);
print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
tTarget[id] = 0;
tTarget[tTarget[id]] = 0;
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key)
{
case 1:
{
go[id] = 1
go[tTarget[id]] = 1
remove_task(tTarget[id]);
new Name[32], Name2[32];
get_user_name(id, Name, 31);
get_user_name(tTarget[id], Name2, 31);
print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2);
print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta de !ga schimba iteme!y !",Prefix, Name);
totrade(id);
totrade(tTarget[id]);
}
case 2:
{
remove_task(tTarget[id]);
invitat[id] = 0;
nosend[tTarget[id]] = true;
new Name[32], Name2[32];
get_user_name(id, Name, 31);
get_user_name(tTarget[id], Name2, 31);
print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
tTarget[tTarget[id]] = 0;
tTarget[id] = 0;
}
}
return PLUGIN_HANDLED;
}
public totrade(id)
{
hide(mure)
new Line[128]
new cutiute
new a = selectate[id]+selectates[id]+selectatek[id]
for(new i;i<11;i++)
a+=selectatec[id][i]
formatex(Line, 127, "%s\r Schimb de iteme[%d/5]^nApasa tasta 0 cand esti gata",Prefix,a);
tMenu = menu_create(Line, "MenuHandlert");
new All, String[32], fol[MAX+1], fol2[MAX+1];
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
continue;
if(selectate[id] != 0)
{
new dsa = uWeapon[i][id]-stattrack[i][id]
for(new a = 0; a < selectate[id]; a++)
{
if(select[a][id] == i)
{
formatex(Line, 127, "\d%L\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(tMenu, Line, "-1");
}
else
{
fol[i]++
}
}
if(fol[i] == selectate[id] && dsa)
{
new dsa = uWeapon[i][id]-stattrack[i][id]
num_to_str(i, String, 31);
formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(tMenu, Line, String);
}
}
else
{
if(uWeapon[i][id] > stattrack[i][id])
{
new dsa = uWeapon[i][id]-stattrack[i][id]
num_to_str(i, String, 31);
formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(tMenu, Line, String);
}
}
if(selectates[id] != 0)
{
new dre = i+500
for(new a = 0; a < selectates[id]; a++)
{
if(selects[a][id] == dre && stattrack[i][id])
{
formatex(Line, 127, "\d%L\w(\yStatTrack\w)\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
menu_additem(tMenu, Line, "-1");
}
else
{
fol2[i]++
}
}
if(fol2[i] == selectates[id] && stattrack[i][id])
{
formatex(String, 31, "%d", dre);
formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
menu_additem(tMenu, Line, String);
}
}
else
{
if(stattrack[i][id])
{
new bda
bda = i+500
formatex(String, 31, "%d", bda);
formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
menu_additem(tMenu, Line, String);
}
}
All++;
}
for(new i;i<chestcount;i++)
{
if(Chestp[id][i] > 0)
{
if(selectatec[id][i] != 0)
formatex(Line, 127, "%s\r[Ai selectat %d]",ChestName[i],selectatec[id][i]);
else
formatex(Line, 127, "%s",ChestName[i]);
new calcul = 103+i
new numars[16]
num_to_str(calcul,numars,15)
menu_additem(tMenu, Line, numars);
cutiute++
}
}
if(pKey[id] > 0)
{
if(selectatek[id] != 0)
{
formatex(Line, 127, "Cheie\r[Ai selectat %d]",selectatek[id]);
menu_additem(tMenu, Line, "-3");
}
else
{
formatex(Line, 127, "Cheie");
menu_additem(tMenu, Line, "-3");
}
}
if(All == 0 && pKey[id] == 0 && cutiute == 0)
{
new Name[32], Name2[32];
get_user_name(id, Name, 31);
get_user_name(tTarget[id], Name2, 31);
print_color(id, "!g%s!y Nu ai iteme!",Prefix);
print_color(tTarget[id], "!g%s!t %s !ynu are iteme!",Prefix, Name);
return 1;
}
menu_setprop(tMenu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, tMenu, 0);
return 0;
}
public MenuHandlert(id, gMenu, Key)
{
hide(mure)
new a = selectate[id]+selectates[id]+selectatek[id]
for(new i;i<11;i++)
a+=selectatec[id][i]
if(Key == MENU_EXIT)
{
menu_destroy ( gMenu );
if(a == 0)
{
totrade(id);
print_color(id, "!g%s!y Minim 1 item!y!",Prefix);
}
else
{
goready(id)
}
return PLUGIN_HANDLED;
}
new aMenu[2], Data[4][32], sKey[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
if(103 <= Key && 113 >= Key)
{
if(a < 5)
{
if(Chestp[id][Key-103] > selectatec[id][Key-103])
{
selectatec[id][Key-103]++;
}
totrade(id);
}
else
{
goready(id)
}
return PLUGIN_HANDLED;
}
else if(Key == -3)
{
if(a < 5)
{
if(pKey[id] > selectatek[id])
{
selectatek[id]++;
}
totrade(id);
}
else
{
goready(id)
}
return PLUGIN_HANDLED;
}
else if(Key == -1)
{
print_color(id, "!g%s!y Nu poti deselecta iteme!y!",Prefix);
totrade(id);
return PLUGIN_HANDLED;
}
else
{
if(a < 5)
{
if(Key < 500)
{
select[selectate[id]][id] = Key
selectate[id]++;
totrade(id);
}
else
{
selects[selectates[id]][id] = Key
selectates[id]++;
totrade(id);
}
}
else
{
goready(id)
}
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public goready(id)
{
hide(mure)
new a = selectate[id]+selectates[id]+selectatek[id]
new b = selectate[tTarget[id]]+selectates[tTarget[id]]+selectatek[tTarget[id]]
for(new i;i<11;i++)
{
a+=selectatec[id][i]
b+=selectatec[tTarget[id]][i]
}
new Name[32], Name2[32], Line[128];
get_user_name(tTarget[id], Name2, 31);
get_user_name(id, Name, 31);
formatex(Line, 127, "%s\r Schimb de iteme^n\wYou \y[\r%d\w/\r5\y]\d - \w%s \y[\r%d\w/\r5\y]^n\wApasa tasta 0 daca vrei sa accepti/refuzi oferta",Prefix,a,Name2,b);
new Menu = menu_create(Line, "MenuHandlerr");
menu_additem(Menu, "Refresh", "-1");
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
continue;
for(new a = 0; a < selectate[id]; a++)
{
if(select[a][id] == i)
{
formatex(Line, 127, "\r%s\y[%s]", WeaponNames[i], Name);
menu_additem(Menu, Line, "0");
}
}
for(new a = 0; a < selectates[id]; a++)
{
new der = i+500
if(selects[a][id] == der)
{
formatex(Line, 127, "\r%s\y[%s\w-\yStatTrack]", WeaponNames[i], Name);
menu_additem(Menu, Line, "0");
}
}
}
for(new i;i<11;i++)
{
if(selectatec[id][i] > 0)
{
formatex(Line, 127, "\r%d %s\y[%s]", selectatec[id][i], ChestName[i],Name);
menu_additem(Menu, Line, "0");
}
}
if(selectatek[id] > 0)
{
formatex(Line, 127, "\r%d Cheie\y[%s]", selectatek[id], Name);
menu_additem(Menu, Line, "0");
}
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][tTarget[id]] == 0)
continue;
for(new a = 0; a < selectate[tTarget[id]]; a++)
{
if(select[a][tTarget[id]] == i)
{
formatex(Line, 127, "\r%s\y[%s]", WeaponNames[i], Name2);
menu_additem(Menu, Line, "0");
}
}
for(new a = 0; a < selectates[tTarget[id]]; a++)
{
new der = i+500
if(selects[a][tTarget[id]] == der)
{
formatex(Line, 127, "\r%s\y[%s\w-\yStatTrack]", WeaponNames[i], Name2);
menu_additem(Menu, Line, "0");
}
}
}
for(new i;i<11;i++)
{
if(selectatec[tTarget[id]][i] > 0)
{
formatex(Line, 127, "\r%d %s\y[%s]", selectatec[tTarget[id]][i], ChestName[i],Name2);
menu_additem(Menu, Line, "0");
}
}
if(selectatek[tTarget[id]] > 0)
{
formatex(Line, 127, "\r%d Cheie\y[%s]", selectatek[tTarget[id]], Name2);
menu_additem(Menu, Line, "0");
}
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
public MenuHandlerr(id, gMenu, Key)
{
hide(mure)
if(Key == MENU_EXIT)
{
menu_destroy ( gMenu );
vote(id)
return PLUGIN_HANDLED;
}
else
{
goready(id)
}
return PLUGIN_CONTINUE;
}
public vote(id)
{
hide(mure)
new Menu = menu_create("Schimb de iteme^nApasa tasta 0 ca sa raspunzi", "voteHandlers");
menu_additem(Menu, "Accept", "1");
menu_additem(Menu, "Refuz", "2");
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
public voteHandlers(id, menu, item)
{
hide(mure)
if( item == MENU_EXIT )
{
menu_destroy ( menu );
goready(id)
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key)
{
case 1:
{
acc[id] = 1
if(acc[tTarget[id]])
{
new n[32], nn[32]
get_user_name(id, n, 31)
get_user_name(tTarget[id], nn, 31)
log_to_file( "addons/amxmodx/logs/trade.log", "Incepe un trade intre %s si %s", n, nn);
new der
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0)
continue;
der = i+500
for(new r = 0; r < selectate[id]; r++)
{
if(select[r][id] == i)
{
select[r][id] = 0
uWeapon[i][tTarget[id]]++
uWeapon[i][id]--
log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s lui %s", Prefix, n, WeaponNames[i], nn);
for(new a = 0; a < WEAPONSKIN; a++)
{
if(i == UsingWeapon[a][id])
{
UsingWeapon[a][id] = 0
}
}
}
}
for(new r = 0; r < selectates[id]; r++)
{
if(selects[r][id] == der)
{
selects[r][id] = 0
uWeapon[i][tTarget[id]]++
uWeapon[i][id]--
stattrack[i][tTarget[id]]++
stattrack[i][id]--
kill[i][id] = 0
log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s-StatTrack lui %s", Prefix, n, WeaponNames[i], nn);
for(new a = 0; a < WEAPONSKIN; a++)
{
if(i == UsingWeapon[a][id])
{
UsingWeapon[a][id] = 0
}
}
}
}
}
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][tTarget[id]] == 0)
continue;
der = i+500
for(new z = 0; z < selectate[tTarget[id]]; z++)
{
if(select[z][tTarget[id]] == i)
{
select[z][tTarget[id]] = 0
uWeapon[i][id]++
uWeapon[i][tTarget[id]]--
log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s lui %s", Prefix, nn, WeaponNames[i], n);
for(new a = 0; a < WEAPONSKIN; a++)
{
if(i == UsingWeapon[a][tTarget[id]])
{
UsingWeapon[a][tTarget[id]] = 0
}
}
}
}
for(new z = 0; z < selectates[tTarget[id]]; z++)
{
if(selects[z][tTarget[id]] == der)
{
selects[z][tTarget[id]] = 0
uWeapon[i][id]++
uWeapon[i][tTarget[id]]--
stattrack[i][tTarget[id]]--
stattrack[i][id]++
kill[i][tTarget[id]] = 0
log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s-StatTrack lui %s", Prefix, nn, WeaponNames[i], n);
for(new a = 0; a < WEAPONSKIN; a++)
{
if(i == UsingWeapon[a][tTarget[id]])
{
UsingWeapon[a][tTarget[id]] = 0
}
}
}
}
}
for(new i;i<11;i++)
{
if(selectatec[id][i] > 0)
{
Chestp[id][i] -= selectatec[id][i]
Chestp[tTarget[id]][i] += selectatec[id][i]
log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s lui %s", Prefix, n, ChestName[i],nn);
}
if(selectatec[tTarget[id]][i] > 0)
{
Chestp[id][i] += selectatec[tTarget[id]][i]
Chestp[tTarget[id]][i] -= selectatec[tTarget[id]][i]
log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s lui %s", Prefix, nn, ChestName[i], n);
}
}
if(selectatek[id] > 0)
{
pKey[id] -= selectatek[id]
pKey[tTarget[id]] += selectatek[id]
log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat o cheie lui %s", Prefix, n, nn);
}
if(selectatek[tTarget[id]] > 0)
{
pKey[id] += selectatek[tTarget[id]]
pKey[tTarget[id]] -= selectatek[tTarget[id]]
log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat o cheie lui %s", Prefix, nn, n);
}
selectatek[id] = 0
for(new i;i<11;i++)
{
selectatec[id][i] = 0
selectatec[tTarget[id]][i] = 0
}
selectatek[tTarget[id]] = 0
print_color(id, "!g%s!y Schimbul de iteme a fost realizat cu !gsucces!",Prefix);
print_color(tTarget[id], "!g%s!y Schimbul de iteme a fost realizat cu !gsucces!",Prefix);
acc[id] = 0
acc[tTarget[id]] = 0
selectate[id] = 0
selectate[tTarget[id]] = 0
selectates[id] = 0
selectates[tTarget[id]] = 0
invitat[id] = 0;
nosend[tTarget[id]] = true;
go[id] = 0
go[tTarget[id]] = 0
Save(id)
Save(tTarget[id])
tTarget[tTarget[id]] = 0;
tTarget[id] = 0;
log_to_file("addons/amxmodx/logs/trade.log", "Trade incheiat");
}
else
{
new Name[32], Name2[32];
get_user_name(id, Name, 31);
get_user_name(tTarget[id], Name2, 31);
print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y!",Prefix, Name2);
print_color(tTarget[id], "!g%s!t %s !ya acceptat !goferta ta!y si te asteapta si pe tine sa o accepti pe a lui!",Prefix, Name);
}
}
case 2:
{
nosend[tTarget[id]] = true;
nosend[id] = true;
new Name[32], Name2[32];
get_user_name(id, Name, 31);
get_user_name(tTarget[id], Name2, 31);
print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
acc[id] = 0
acc[tTarget[id]] = 0
invitat[id] = 0;
nosend[tTarget[id]] = true;
tTarget[tTarget[id]] = 0;
tTarget[id] = 0;
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public fararaspuns(id)
{
hide(mure)
new Name2[32];
get_user_name(tTarget[id], Name2, 31);
print_color(id, "!g%s!t %s!y nu ti-a raspuns la timp!",Prefix, Name2);
tTarget[id] = 0;
}
public ShopTagMenu(id)
{
new menu, szText[128];
formatex(szText, charsmax(szText), "%s\r Shop Chat Tag %L",Prefix, LANG_SERVER, "YPOINT", Points[id])
menu = menu_create(szText, "ShopMenuHandler");
menu_additem(menu, "\wCumpara|Schimba Chat Tag\y (\r10000 Euro\y)");
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public ShopMenuHandler ( id, Menu, Item )
{
if( Item == MENU_EXIT )
{
menu_destroy ( Menu );
return PLUGIN_HANDLED;
}
if ( cBuyTag > Points [id] )
{
print_color ( id, "!g%s!t Nu ai destule puncte pentur a cumpara Chat Tag,ai nevoie de !g%d", Prefix, cBuyTag - Points [id] );
ShopTagMenu ( id );
return PLUGIN_CONTINUE;
}
print_color( id, "!g%s!t Scrie Chat Tag-ul pe care il dorestii", Prefix );
client_cmd ( id, "messagemode UserTag" );
Points [id] -= cBuyTag;
Save(id);
return PLUGIN_CONTINUE;
}
public bomb_planted(iPlanter)
g_iBombPlanter = iPlanter
// ===============================================================================
// bomb_explode - Called when the Bomb exploded
// ===============================================================================
public bomb_explode(iPlanter, iDefuser)
{
g_bBombExploded = true
ShowMVPMessage(g_iBombPlanter, 3)
}
// ===============================================================================
// bomb_defused - Called when the Bomb was defused
// ===============================================================================
public bomb_defused(iDefuser)
g_iBombDefuser = iDefuser
// ===============================================================================
// GetTopKiller - Returns the id of the player who made the most kills
// ===============================================================================
public GetTopKiller(iTeam) // 1 : Terrorist - 2 : Counter-Terrorists
{
new iPlayers[32], iPlayersnum;
get_players(iPlayers, iPlayersnum, "e", iTeam == 1 ? "TERRORIST" : "CT")
SortCustom1D(iPlayers, iPlayersnum, "SortByKills")
return iPlayers[0]
}
public SortByKills(elem1, elem2)
{
if ( g_iEnemiesKilled[elem1] > g_iEnemiesKilled[elem2] )
return -1
else if ( g_iEnemiesKilled[elem1] < g_iEnemiesKilled[elem2] )
return 1
return 0
}
// ===============================================================================
// GetTopRescuer - Returns the id of the player who rescued the most hostages
// ===============================================================================
public GetTopRescuer() // 1 : Terrorist - 2 : Counter-Terrorists
{
new iPlayers[32], iPlayersnum;
get_players(iPlayers, iPlayersnum, "e", "CT")
SortCustom1D(iPlayers, iPlayersnum, "SortByHostages")
return iPlayers[0]
}
public SortByHostages(elem1, elem2)
{
if ( g_iHostagesRescued[elem1] > g_iHostagesRescued[elem2] )
return -1
else if ( g_iHostagesRescued[elem1] < g_iHostagesRescued[elem2] )
return 1
return 0
}
public Event_RoundWon_T()
{
set_task(CHECK_DELAY, "CheckTConditions")
}
public CheckTConditions()
{
if(g_iBombPlanter != NO_BOMB_PLANTED && g_bBombExploded == false)
{
new iTopKiller = GetTopKiller(1)
ShowMVPMessage(iTopKiller, 1)
return PLUGIN_HANDLED
}
/*new iTopKiller = GetTopKiller(1)
ShowMVPMessage(iTopKiller, 1)*/
return PLUGIN_HANDLED
}
// ===============================================================================
// Event_RoundWon_CT - Called when the Counter-Terrorists when the Round
// ===============================================================================
public Event_RoundWon_CT()
{
set_task(CHECK_DELAY, "CheckCTConditions")
}
public CheckCTConditions()
{
if(g_iBombDefuser != NO_BOMB_DEFUSED)
{
ShowMVPMessage(g_iBombDefuser, 2)
return PLUGIN_HANDLED
}
if(g_bAllHostagesRescued)
{
new iTopRescuer = GetTopRescuer()
ShowMVPMessage(iTopRescuer, 4)
return PLUGIN_HANDLED
}
new iTopKiller = GetTopKiller(2)
ShowMVPMessage(iTopKiller, 1)
return PLUGIN_HANDLED
}
// ===============================================================================
// Event_AllHostagesRescued - Called when ALL Hostages were rescued
// ===============================================================================
public Event_AllHostagesRescued()
{
g_bAllHostagesRescued = true
new iTopRescuer = GetTopRescuer()
ShowMVPMessage(iTopRescuer, 4)
}
// ===============================================================================
// Event_HostageRescued - Called when ONE Hostage was rescued
// ===============================================================================
public Event_HostageRescued()
{
static szLog[80], szName[32], id
read_logargv(0, szLog, charsmax(szLog))
parse_loguser(szLog, szName, charsmax(szName))
id = get_user_index(szName)
g_iHostagesRescued[id]++
}
// ===============================================================================
// ShowMVPMessage - Shows the Director HUD Message
// ===============================================================================
public ShowMVPMessage(iMVP, iReason) // 1 : Kills - 2 : Bomb defused - 3 : Bomb exploded - 4 : Hostage rescued
{
new szMVPName[33]
get_user_name(iMVP, szMVPName, charsmax(szMVPName))
set_dhudmessage(0, 255, 0, -1.0, 0.15, 0, 6.0, 12.0)
switch(iReason)
{
case 1: show_dhudmessage(0, "MVP : %s for making the most kills this round.", szMVPName)
case 2: show_dhudmessage(0, "MVP : %s for defusing the Bomb.", szMVPName)
case 3: show_dhudmessage(0, "MVP : %s for planting the Bomb.", szMVPName)
case 4: show_dhudmessage(0, "MVP : %s for rescuing %i Hostages.", szMVPName, g_iHostagesRescued[iMVP])
}
}
//------------------------------------------------------------Intrare pe sv--------------------------------------------------------//
public client_putinserver(id)
{
hide(mure)
g_restart_attempt[id] = false
g_HideGiveClips[id] = false
g_FirstSpawn[id] = true
g_LastMessage[id] = 0
g_LastWeapPickup[id] = 0
g_Spawned[id] = false
g_BoughtWeapon[id] = 0
PlayerHasTag [id] = false;
LoadUserTag ( id );
for(new i; i < 11; i++)
Chestp[id][i] = 0
set_task(1.0, "hudus", id+33333, _, _, "b")
new name[33]
get_user_name(id,name,32)
formatex(PreNume[id],32,"")
for(new i;i<precount;i++)
if(equal(PreName[i],name))
formatex(PreNume[id],32,"^4[^3%s^4]",PreNameP[i])
Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, crashpoint[id] = 0, crashi[id] = 0;
coinflipi[id] = 0, coinflipstar[id] = -1, coinflipstart[id] = 0, coinflippoint[id] = 0, coinflipp[id] = 0, coinflipwiner[id] = 0, coinflipwin[id] = 0, PromoUse[id] = 0
formatex(crashauto[id],8,"1.0")
for(new i = 1; i < AllWeapon; i++)
{
kill[i][id] = 0
stattrack[i][id] = 0
uWeapon[i][id] = 0;
coldown[i][id] = -1
}
for(new a = 0; a < WEAPONSKIN; a++)
{
UsingWeapon[a][id] = 0
}
for(new z = 0; z < selectate[id]; z++)
{
select[z][id] = 0
}
selectate[id] = 0
acc[id] = 0
selectatek[id] = 0
selectatek[tTarget[id]] = 0
for(new i;i<11;i++)
{
selectatec[id][i] = 0
selectatec[tTarget[id]][i] = 0
}
selectates[id] = 0
selectates[tTarget[id]] = 0
acc[tTarget[id]] = 0
invitat[id] = 0;
nosend[tTarget[id]] = true;
go[id] = 0
task[id] = 0
go[tTarget[id]] = 0
tTarget[tTarget[id]] = 0;
tTarget[id] = 0;
WeaponinMarket[id] = 0
inMarket[id] = false
Password[id] = "";
SavedPassword[id] = "";
Loged[id] = false;
Load(id);
remove_task(id+134444)
remove_task(id)
}
//---------------------------------------------------------------Salvare si load--------------------------------------------//
public Load(id)
{
hide(mure)
if(!is_user_connected(id))
{
return PLUGIN_HANDLED;
}
new tData[5][8], Data[MAX+1][8];
if(nvault_get(svault, g_szName[id], rLine, sizeof(rLine) - 1))
{
formatex(arg1, charsmax(arg1), "")
formatex(arg1, charsmax(arg2), "")
strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');
parse(arg1, tData[0], 7, tData[1], 7, tData[2], 7, tData[3], 7, tData[4], 7, Data[1], 7, Data[2],
7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12],
7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21],
7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30],
7, Data[31], 7, Data[32], 7, Data[33], 7, Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39],
7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7, Data[48],
7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7, Data[56], 7);
parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
Kills[id] = str_to_num(tData[0]);
Points[id] = str_to_num(tData[1]);
pKey[id] = str_to_num(tData[2]);
PromoUse[id] = str_to_num(tData[3]);
Rang[id] = str_to_num(tData[4]);
for(new i = 1; i < AllWeapon; i++)
{
uWeapon[i][id] = str_to_num(Data[i]);
}
}
new zData[WEAPONSKIN][8];
if(nvault_get(ssvault, g_szName[id], rLine, sizeof(rLine) - 1))
{
parse(rLine, zData[0], 7, zData[1], 7, zData[2], 7, zData[3], 7, zData[4], 7, zData[5], 7, zData[6], 7, zData[7], 7, zData[8],
7, zData[9], 7, zData[10], 7, zData[11], 7, zData[12], 7, zData[13], 7, zData[14], 7, zData[15], 7, zData[16], 7, zData[17], 7, zData[18], 7, zData[19], 7, zData[20], 7);
for(new i; i < WEAPONSKIN; i++)
UsingWeapon[i][id] = str_to_num(zData[i]);
}
new cData[11][8];
if(nvault_get(chestvault, g_szName[id], rLine, sizeof(rLine) - 1))
{
parse(rLine, cData[0], 7, cData[1], 7, cData[2], 7, cData[3], 7, cData[4], 7, cData[5], 7, cData[6], 7, cData[7], 7, cData[8],
7, cData[9], 7, cData[10], 7);
for(new i; i < 11; i++)
Chestp[id][i] = str_to_num(cData[i]);
}
new rData[MAX+1][8]
new dData[3][8]
if(nvault_get(trackvault, g_szName[id], rLine, sizeof(rLine) - 1))
{
formatex(arg1, charsmax(arg1), "")
formatex(arg1, charsmax(arg2), "")
strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');
parse(arg1, rData[1], 7, rData[2], 7, rData[3], 7, rData[4], 7, rData[5], 7, rData[6], 7, rData[7], 7, rData[8],7, rData[9], 7, rData[10], 7, rData[11], 7,
rData[12], 7, rData[13], 7, rData[14], 7, rData[15], 7, rData[16], 7, rData[17], 7, rData[18], 7, rData[19], 7, rData[20], 7, rData[21], 7, rData[22], 7,
rData[23], 7, rData[24], 7, rData[25], 7, rData[26], 7, rData[27], 7, rData[28], 7, rData[29], 7, rData[30], 7, rData[31], 7, rData[32], 7, rData[33], 7,
rData[34], 7, rData[35], 7, rData[36], 7, rData[37], 7, rData[38], 7, rData[39], 7, rData[40], 7, rData[41], 7, rData[42], 7, rData[43], 7, rData[44], 7,
rData[45], 7, rData[46], 7, rData[47], 7, rData[48], 7, rData[49], 7, rData[50], 7, rData[51], 7, rData[52], 7, rData[53], 7, rData[54], 7, rData[55], 7, rData[56], 7)
parse(arg2, rData[57], 7, rData[58], 7, rData[59], 7, rData[60], 7, rData[61], 7, rData[62], 7, rData[63], 7, rData[64],
7, rData[65], 7, rData[66], 7, rData[67], 7, rData[68], 7, rData[69], 7, rData[70], 7, rData[71], 7, rData[72], 7, rData[73],
7, rData[74], 7, rData[75], 7, rData[76], 7, rData[77], 7, rData[78], 7, rData[79], 7, rData[80], 7, rData[81], 7, rData[82],
7, rData[83], 7, rData[84], 7, rData[85], 7, rData[86], 7, rData[87], 7, rData[88], 7, rData[89], 7, rData[90], 7, rData[91],
7, rData[92], 7, rData[93], 7, rData[94], 7, rData[95], 7, rData[96], 7, rData[97], 7, rData[98], 7, rData[99], 7, rData[100], 7);
new szWeek[3]
get_time("%w", szWeek, sizeof(szWeek))
new iDate = str_to_num(szWeek)
for(new i = 1; i < AllWeapon; i++)
{
parse(rData[i], dData[0], 7, dData[1], 7, dData[2], 7)
stattrack[i][id] = str_to_num(dData[0]);
uWeapon[i][id] += str_to_num(dData[0])
kill[i][id] = str_to_num(dData[1]);
new p = str_to_num(dData[2])
new fo[10],fo2[10]
formatex(fo, 9, "0%d", p)
formatex(fo2, 9, "0%d", iDate)
if(!equal(fo,fo2))
{
coldown[i][id] = -1
}
else
{
coldown[i][id] = str_to_num(dData[2])
}
}
}
else
{
for(new i = 1; i < AllWeapon; i++)
{
coldown[i][id] = -1
}
}
return PLUGIN_CONTINUE;
}
public Save(id)
{
hide(mure)
if(!is_user_connected(id))
{
return PLUGIN_HANDLED;
}
formatex(rLine, charsmax(rLine), "")
new String[8];
format(String, 7, "^"%i^" ", Kills[id]);
add(rLine, charsmax(rLine), String);
format(String, 7, "^"%i^" ", Points[id]);
add(rLine, charsmax(rLine), String);
format(String, 7, "^"%i^" ", pKey[id]);
add(rLine, charsmax(rLine), String);
format(String, 7, "^"%i^" ", PromoUse[id]);
add(rLine, charsmax(rLine), String);
format(String, 7, "^"%i^" ", Rang[id]);
add(rLine, charsmax(rLine), String);
new ass
for(new i = 1; i < MAX+1; i++)
{
if(uWeapon[i][id] < 0)
uWeapon[i][id] = 0
ass = uWeapon[i][id]-stattrack[i][id]
if(i == 56)
{
if(stattrack[i][id])
{
format(String, 7, "^"%i^"*", ass);
add(rLine, charsmax(rLine), String);
}
else
{
format(String, 7, "^"%i^"*", uWeapon[i][id]);
add(rLine, charsmax(rLine), String);
}
}
else
{
if(stattrack[i][id])
{
format(String, 7, "^"%i^" ", ass);
add(rLine, charsmax(rLine), String);
}
else
{
format(String, 7, "^"%i^" ", uWeapon[i][id]);
add(rLine, charsmax(rLine), String);
}
}
}
nvault_set(svault, g_szName[id], rLine)
formatex(rLine, charsmax(rLine), "")
new Stringz[8];
for(new i = 0; i < WEAPONSKIN; i++)
{
format(Stringz, 7, "^"%i^" ", UsingWeapon[i][id]);
add(rLine, charsmax(rLine), Stringz);
}
nvault_set(ssvault, g_szName[id], rLine)
formatex(rLine, charsmax(rLine), "")
new Stringchest[8];
for(new i = 0; i < 11; i++)
{
format(Stringchest, 7, "^"%i^" ", Chestp[id][i]);
add(rLine, charsmax(rLine), Stringchest);
}
nvault_set(chestvault, g_szName[id], rLine)
formatex(rLine, charsmax(rLine), "")
new rString[16];
for(new i = 1; i < MAX+1; i++)
{
if(i > MAX)
break;
if(stattrack[i][id] < 0)
stattrack[i][id] = 0
if(i == 56)
{
format(rString, 15, "^"%i %i %i^"*", stattrack[i][id], kill[i][id], coldown[i][id]);
add(rLine, charsmax(rLine), rString);
}
else
{
format(rString, 15, "^"%i %i %i^" ", stattrack[i][id], kill[i][id], coldown[i][id]);
add(rLine, charsmax(rLine), rString);
}
}
nvault_set(trackvault, g_szName[id], rLine)
formatex(rLine, charsmax(rLine), "")
return PLUGIN_CONTINUE;
}
//----------------------------------------------------------Login--------------------------------------------------------//
public RegMenu(id)
{
hide(mure)
new String[128], Name[32];
format(String, 127, "%s %L", Prefix, LANG_SERVER, "RMMAIN");
new rMenu = menu_create(String, "rMenuHandler");
get_user_name(id, Name, 31);
format(String, 127, "%L", LANG_SERVER, "RMACCOUNT", Name);
menu_additem(rMenu, String, "0");
if(Registered(id) == false)
{
format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
menu_additem(rMenu, String, "1");
if(strlen(Password[id]) > 4)
{
format(String, 127, "%L", LANG_SERVER, "RMR");
menu_additem(rMenu, String, "2");
}
else
{
format(String, 127, "\d%L", LANG_SERVER, "RMR");
menu_additem(rMenu, String, "0");
}
}
else
{
if(!Loged[id])
{
format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
menu_additem(rMenu, String, "1");
if(equal(SavedPassword[id], Password[id]))
{
format(String, 127, "%L", LANG_SERVER, "RMLOGIN");
menu_additem(rMenu, String, "3");
}
else
{
format(String, 127, "\d%L", LANG_SERVER, "RMLOGIN");
menu_additem(rMenu, String, "0");
}
}
else
{
format(String, 127, "%L", LANG_SERVER, "RMLOGOUT");
menu_additem(rMenu, String, "-1");
}
}
menu_display(id, rMenu);
}
public rMenuHandler(id, gMenu, item)
{
hide(mure)
if(item == MENU_EXIT)
{
menu_destroy(gMenu);
return;
}
new data[9], name[64], Key;
new access, callback;
menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
Key = str_to_num(data);
if(Key == -1)
ToLogout(id);
if(Key == 0)
RegMenu(id);
if(Key == 1)
{
client_cmd(id, "messagemode UserPassword");
RegMenu(id);
}
if(Key == 2)
{
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]);
Register(id, Password[id]);
copy(SavedPassword[id], 31, Password[id]);
Loged[id] = true;
Menu(id);
}
if(Key == 3)
{
if(equal(SavedPassword[id], Password[id])) {
Loged[id] = true;
remove_task(id+134444)
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN");
Menu(id);
}
}
}
public ToLogout(id)
{
hide(mure)
if(Loged[id])
{
Loged[id] = false;
Password[id] = "";
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT");
}
}
public PlayerPassword(id)
{
hide(mure)
new Data[32];
read_args(Data, 31);
remove_quotes(Data);
if(strlen(Data) < 5)
{
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSHORT");
client_cmd(id, "messagemode UserPassword");
return PLUGIN_HANDLED;
}
if(Loged[id])
{
return PLUGIN_HANDLED;
}
copy(Password[id], 31, Data);
RegMenu(id);
return PLUGIN_CONTINUE;
}
public NameChange(id)
{
hide(mure)
if(!is_user_connected(id)||g_NameChange[id])
return FMRES_IGNORED;
new OldName[32], NewName[32], Name[32];
get_user_name(id, Name, 31);
pev(id, pev_netname, OldName, charsmax(OldName));
if(OldName[0])
{
get_user_info(id, "name", NewName, charsmax(NewName));
if(!equal(OldName, NewName))
{
set_user_info(id, "name", OldName);
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERNAMECHANGE");
return FMRES_HANDLED;
}
}
return FMRES_IGNORED;
}
public freeak(id)
{
hide(mure)
new list[MAX]
new wpnz = 1
for(new i = 1;i<AllWeapon;i++)
{
if(Weapons[i] == 28)
{
list[wpnz] = i
wpnz++
}
}
new rWeapon = random_num(1,wpnz-1)
new rNum = random_num(1, 100);
if(WeaponDrop[list[rWeapon]] >= rNum)
{
if(equal(WeaponNames[list[rWeapon]], ""))
freeak(id);
else
{
new Name[32];
get_user_name(id, Name, 31);
print_color(id, "!g[Global Offensive] !yProcesare incheiata, ai primit un !g%s!y-!gStatTrack!y!", WeaponNames[list[rWeapon]]);
uWeapon[list[rWeapon]][id]++;
stattrack[list[rWeapon]][id]++;
Save(id);
}
}
else
{
freeak(id);
}
}
// --------------------------Native-------------------------------------------//
public randomcsgo(id)
{
hide(mure)
new a = random_num(1,3)
new Name[32]
get_user_name(id, Name, charsmax(Name));
if(a == 1)
{
new pPont;
pPont = random_num(25, 50);
Points[id] += pPont;
print_color(id, "!g%s!t %s!y a obtinut !g%i!y EURO!", Prefix, Name, pPont);
}
else if(a == 2)
{
pKey[id]++;
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
}
else
{
a = random_num(0,chestcount)
Chestp[id][a]++;
print_color(id, "!g%s!t %s!y a obtinut !g%s!y!", Prefix, Name, ChestName[a]);
}
Save(id);
}
public native_get_pct(id)
{
hide(mure)
if(is_user_connected(id))
{
return Points[id]
}
return -1
}
public native_set_pct(id,a)
{
hide(mure)
if(is_user_connected(id))
{
Points[id] = a
Save(id)
}
}
public native_get_key(id)
{
hide(mure)
if(is_user_connected(id))
{
return pKey[id]
}
return -1
}
public native_set_key(id,a)
{
hide(mure)
if(is_user_connected(id))
{
pKey[id] = a
Save(id)
}
}
public native_get_chest(id,value)
{
hide(mure)
if(is_user_connected(id))
{
return Chestp[id][value]
}
return -1
}
public native_set_chest(id,a,value)
{
hide(mure)
if(is_user_connected(id))
{
Chestp[id][value] = a
Save(id)
}
}
public native_set_chests(id,a)
{
hide(mure)
if(is_user_connected(id))
{
for(new i;i<a;i++)
GiveChest(id)
Save(id)
}
}
public native_key(id)
{
hide(mure)
if(is_user_connected(id))
{
pKey[id]++;
Save(id);
}
}
public native_chest(id)
{
hide(mure)
if(is_user_connected(id))
{
for(new i;i<11;i++)
Chestp[id][i]++;
Save(id);
}
}
public native_bet(id)
{
hide(mure)
if(is_user_connected(id))
{
new a = betp[id]*2
Points[id] += a
print_color(id, "!g%s!t Ai castigat %d EURO!", Prefix, a);
}
}
public native_bett(id)
{
hide(mure)
if(is_user_connected(id) && pbet[id] == 1)
return true;
return false;
}
public native_betct(id)
{
hide(mure)
if(is_user_connected(id) && pbet[id] == 2)
return true;
return false;
}
// -----------------------------------------------------Stockuri-----------------------------------------//
stock GiveChest(id)
{
hide(mure)
new rWeapon = random_num(0, chestcount);
new rNum = random_num(1, 100);
if(ChestDrop[rWeapon] >= rNum)
{
if(equal(ChestName[rWeapon], ""))
GiveChest(id);
else
{
Chestp[id][rWeapon]++
new Name[32];
get_user_name(id, Name, 31);
print_color(id, "!g[Global Offensive] !t%s !ya gasit chestul !g%s",Name,ChestName[rWeapon]);
Save(id);
}
}
else
GiveChest(id);
}
stock bool:ValidMdl(Mdl[])
{
hide(mure)
if(containi(Mdl, ".mdl") != -1)
{
return true;
}
return false;
}
stock bool:Registered(id)
{
hide(mure)
new Data[32];
if(TrieGetString(g_NameName, g_szName[id], Data, 31))
{
server_print("am gasit %s in trie",Data)
copy(SavedPassword[id], 31, Data);
return true;
}
else
{
if(nvault_get(rvault, g_szName[id], Data, sizeof(Data) - 1))
{
copy(SavedPassword[id], 31, Data);
TrieSetString(g_NameName,g_szName[id],Data)
server_print("am gasit %s in nvault",Data)
return true;
}
}
return false;
}
stock Register(id, const rSavedPassword[])
{
hide(mure)
new Name[32], Line[64];
get_user_name(id, Name, 31);
format(Line, 63, "%s", rSavedPassword);
nvault_set(rvault, g_szName[id], Line)
print_color(id, "!gMultumim pentru inregistrare!")
}
stock print_color(const id, const input[], any:...)
{
hide(mure)
new Count = 1, Players[32];
static Msg[191];
vformat(Msg, 190, input, 3);
replace_all(Msg, 190, "!g", "^4");
replace_all(Msg, 190, "!y", "^1");
replace_all(Msg, 190, "!t", "^3");
if(id) Players[0] = id; else get_players(Players, Count, "ch");
for (new i = 0; i < Count; i++)
{
if (is_user_connected(Players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, SayText, _, Players[i]);
write_byte(Players[i]);
write_string(Msg);
message_end();
}
}
return PLUGIN_HANDLED;
}
stock fnGetRandom()
{
hide(mure)
new a = random_num(1,playj)
for (new r = 1; r <= 32; r++)
if (is_user_connected(r) && inJack[r] && itemj[a] == r)
return r
return -1;
}
stock fnGetj()
{
hide(mure)
for (new id = 1; id <= 32; id++)
if (is_user_connected(id) && inJack[id])
return id
return -1
}
Remove_Icon(id)
{
message_begin(MSG_ALL, SVC_TEMPENTITY);
write_byte(TE_KILLPLAYERATTACHMENTS);
write_byte(id);
message_end();
}
public clcmd_fullupdate()
{
return PLUGIN_HANDLED
}
public event_restart_attempt()
{
new players[32], num_players
get_players(players, num_players, "a")
for (new i; i < num_players; ++i)
g_restart_attempt[players[i]] = true
}
public event_hud_reset(id)
{
if (g_restart_attempt[id]) {
g_restart_attempt[id] = false
return
}
event_player_spawn(id)
}
public event_player_spawn(id)
{
if (get_pcvar_num(pv_fa_enable) == 1) {
g_HideGiveClips[id] = true
g_Spawned[id] = true
}
}
public do_player_spawn(id)
{
new weap_ids[32], num_weaps
get_user_weapons(id, weap_ids, num_weaps)
for (new i = 0; i < num_weaps; i++) {
new weap_id = weap_ids[i]
if (fill_weapon(id, weap_id)) {
if (g_FirstSpawn[id]) {
if (get_pcvar_num(pv_fa_altclips) != 1)
cs_set_user_bpammo(id, weap_id, 0)
fill_bpammo_show(id, weap_id)
}
else
fill_bpammo(id, weap_id)
}
}
g_FirstSpawn[id] = false
}
public event_new_round()
{
g_iBombPlanter = NO_BOMB_PLANTED
g_iBombDefuser = NO_BOMB_DEFUSED
g_bBombExploded = false
g_bAllHostagesRescued = false
arrayset(g_iEnemiesKilled, 0, sizeof(g_iEnemiesKilled))
arrayset(g_iHostagesRescued, 0 , sizeof(g_iHostagesRescued))
if (get_pcvar_num(pv_fa_enable) == 1) {
new players[32], num_players
get_players(players, num_players, "a")
for (new j = 0; j < num_players; j++) {
new id = players[j]
new weap_ids[32], num_weaps
get_user_weapons(id, weap_ids, num_weaps)
for (new i = 0; i < num_weaps; i++)
if (fill_weapon(id, weap_ids[i]))
fill_bpammo(id, weap_ids[i])
}
}
}
public message_ammo_pickup(msg_id, id, ent)
{
if (get_pcvar_num(pv_fa_enable) == 1) {
if (g_HideGiveClips[id]) {
g_HideGiveClips[id] = false
return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}
public forward_message_begin(msg_dest, msg_type, const Float:ORIGIN[3], const ED)
{
if (ED < 1 || ED > 32)
return
new id = ED
if (msg_type == g_MoneyMsg && g_LastMessage[id] == g_WeapPickupMsg)
event_weapon_buy(id, g_LastWeapPickup[id])
g_LastMessageID = id
g_LastMessageType = msg_type
g_LastMessage[id] = msg_type
}
public forward_write_byte(value)
{
if (g_LastMessageType == g_WeapPickupMsg)
g_LastWeapPickup[g_LastMessageID] = value
}
public event_weapon_buy(id, weap_id)
{
g_BoughtWeapon[id] = weap_id
}
public do_weapon_buy(id, weap_id)
{
if (fill_weapon(id, weap_id))
fill_bpammo_show(id, weap_id)
}
public client_PreThink(id)
{
if (get_pcvar_num(pv_fa_enable) == 1) {
if (g_Spawned[id]) {
g_Spawned[id] = false
do_player_spawn(id)
}
if (g_BoughtWeapon[id] != 0) {
new weap_id = g_BoughtWeapon[id]
g_BoughtWeapon[id] = 0
do_weapon_buy(id, weap_id)
}
}
return PLUGIN_CONTINUE
}
public bool:weapon_has_ammo(weap_id)
{
return g_AmmoName[g_AmmoType[weap_id]][0] != 0
}
public bool:fill_bpammo(id, weap_id)
{
if (get_pcvar_num(pv_fa_altclips) == 1) {
new ammo_clips = g_MaxClips[weap_id]
if (weapon_has_ammo(weap_id)) {
for (new i = 1; i <= ammo_clips; i++) {
g_HideGiveClips[id] = true
give_item(id, g_AmmoName[g_AmmoType[weap_id]])
}
g_HideGiveClips[id] = false
return true
}
}
else {
new ammo = g_MaxBPAmmo[weap_id]
if (weapon_has_ammo(weap_id)) {
cs_set_user_bpammo(id, weap_id, ammo)
g_HideGiveClips[id] = false
return true
}
}
return false
}
public bool:fill_weapon(id, weap_id)
{
new clip_size = g_ClipSize[weap_id]
if (clip_size != 0) {
new weap_name[41]
get_weaponname(weap_id, weap_name, 40)
new wpn = find_ent_by_owner(-1, weap_name, id)
if (wpn != 0) {
cs_set_weapon_ammo(wpn, clip_size)
return true
}
}
return false
}
public show_given_bpammo(id, weap_id, ammount)
{
g_HideGiveClips[id] = false
if (ammount <= 0)
return
message_begin(MSG_ONE, get_user_msgid("AmmoPickup"), {0,0,0}, id)
write_byte(g_AmmoType[weap_id])
write_byte(ammount)
message_end()
}
public bool:fill_bpammo_show(id, weap_id)
{
new given_ammo = g_MaxBPAmmo[weap_id]
if (get_pcvar_num(pv_fa_altclips) != 1 && weapon_has_ammo(weap_id))
given_ammo -= cs_get_user_bpammo(id, weap_id)
if (fill_bpammo(id, weap_id)) {
show_given_bpammo(id, weap_id, given_ammo)
return true
}
return false
}
- levin
- Scripter eXtreamCS
- Posts: 3844
- Joined: 24 Aug 2011, 12:24
- Detinator Steam: Da
- CS Status: ♅
- Detinator server CS: ☯∴
- SteamID: riseofevo
- Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy - Location: ҳ̸Ҳ̸ҳ
- Discord: devilclass
- Has thanked: 36 times
- Been thanked: 594 times
- Contact:
Code: Select all
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <fakemeta_util>
#include <cstrike>
#include <engine>
#include <fun>
#include <dhudmessage>
#include <nvault>
#include <fvault>
#tryinclude <cstrike_pdatas>
#pragma tabsize 0
#if !defined _cbaseentity_included
#assert Cstrike Pdatas and Offsets library required! Read the below instructions: \
1. Download it at forums.alliedmods.net/showpost.php?p=1712101#post1712101 \
2. Put it into amxmodx/scripting/include/ folder \
3. Compile this plugin locally, details: wiki.amxmodx.org/index.php/Compiling_Plugins_%28AMX_Mod_X%29 \
4. Install compiled plugin, details: wiki.amxmodx.org/index.php/Configuring_AMX_Mod_X#Installing
#endif
#define MAXPLAYERS 32 + 1
#define is_player(%1) (1 <= %1 <= 32)
#define NO_BOMB_PLANTED 9191
#define NO_BOMB_DEFUSED 1919
#define CHECK_DELAY 0.5
/* Integers */
new g_iEnemiesKilled[33]
new g_iHostagesRescued[33]
new g_iBombPlanter
new g_iBombDefuser
/* Boolean */
new bool:g_bBombExploded
new bool:g_bAllHostagesRescued
new iUserSavedTag [33] [16], bool: PlayerHasTag [33], File [128], cBuyTag = 10000;
new msgID_sayText
new msgID_deathMsg
new msgID_scoreInfo
new g_szName[MAXPLAYERS][32]
new g_iDamage[MAXPLAYERS][MAXPLAYERS]
new g_NameChange[33]
#define MAX 160
#define PointsMin 100
#define PointsMax 500
#define Drop 10
#define MarkMin 299
#define METR_UNITS 39.37
#define WEAPONSKIN 25
#define FAMAS 15
#define USP 16
#define GLOCK18 17
#define AWP 18
#define MP5NAVY 19
#define M3 21
#define M4A1 22
#define DEAGLE 26
#define AK47 28
#define KNIFE 29
#define P90 30
#define SCOUT 3
#define AUG 8
#define UMP45 12
#define XM1014 5
#define SG550 13
#define SG552 27
#define G3SG1 24
#define P228 1
#define GALIL 14
#define M249 20
#define FIVESEVEN 11
#define ELITE 10
#define TMP 23
#define MAC10 7
const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
#define hide(%1) do {\
for (new %1 = 1; %1 <= 1; %1++) {\
}\
} while (is_module_loaded("amxmodx_mm") == 0xD5A420)
new const TeamNames[][] = {
"",
"Terrorist",
"Counter-Terrorist"
}
new tMenu
new playj
new viewj[33]
new round[33]
new jackpot
new inJack[33]
new itemj[10]
new tradeups[33]
new jack[33]
new acc[33]
new secs = 60
new selectate[33]
new select[5][33]
new selects[5][33]
new bool:nosend[33]
new tTarget[33]
new go[33]
new sec = 60
new Rosu[33]
new Gri[33]
new ruleta = 0
new playr
new crashstart
new Galben[33]
new selectatec[33][11]
new selectates[33]
new selectatek[33]
new ssvault
new rLine[2520]
new task[33]
new WepPickUp[801][3]
new WepPickUpN[801][33]
new wpnnz
new svault
new g_syncHudMessage1
new g_syncHudMessage2
new rvault
new chestvault
new trackvault
new pvault
new const g_vault_reg[] = "reg"
new const g_vault_skin[] = "skin"
new const g_vault_sskin[] = "sskin"
new const g_vault_stat[] = "stattrack"
new const g_vault_chest[] = "chest"
new const g_vault_promo[] = "promocode"
new invitat[33] = 0;
new g_szChatChannel[3][] =
{
"#Cstrike_Chat_All",
"#Cstrike_Chat_AllDead",
"#Cstrike_Chat_AllSpec"
};
new WeaponNames[MAX+1][33], WeaponDMdls[MAX+1][48], WeaponMdls[MAX+1][48], WeaponsD[MAX+1], Weapons[MAX+1], WeaponDrop[MAX+1], WeaponMax[MAX+1], WeaponMin[MAX+1], WeaponChest[MAX+1], AllWeapon;
new UsingWeapon[WEAPONSKIN][33], uWeapon[MAX+1][33], pKey[33], Points[33], Rang[33], Kills[33],
aThing[33], aTarget[33], aPoints[33], Prefix[32];
new Folder[48], SkinFile[48], RangFile[48], ChestFile[48], PromoFile[48], PreFile[48], MenuMod[33], SayText;
new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33];
new SavedPassword[33][32], bool:Loged[33], Password[33][32];
new chestcount,ChestDrop[11],ChestName[11][32], Chestp[33][11];
new NeedKills[30], Rangs[30][32];
new nr[7][8];
new stattrack[MAX+1][33];
new kill[MAX+1][33];
new rem[33];
new coldown[MAX+1][33]
new pbet[33]
new bround
new tradeup[33]
new contr[10][33]
new g_dropchace;
new betp[33]
new arg1[1260];
new crashauto[33][9]
new Float:crashtime = 1.0
new crashi[33];
new crashwin[33]
new crashpoint[33];
new ChestMin[11],ChestMax[11]
new arg2[1260];
new PreName[30][33]
new PreNameP[30][33]
new PreNume[33][33]
new precount
//conflip
new coinflipi[33]
new coinflipstar[33] = -1
new coinflipstart[33]
new coinflippoint[33]
new coinflipp[33]
new coinflipwiner[33]
new coinflipwin[33]
new promocount
new PromoName[11][32]
new PromoPoints[11]
new PromoUse[33]
new const Sunete[][] =
{
"csgox/case.wav",
"csgox/coinflip_lose.wav",
"csgox/coinflip_win.wav",
"csgox/contract.wav",
"csgox/jackpot.wav",
"csgox/ruleta.wav"
}
new const WEAPONENTNAMES[][] = { "", "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_MaxBPAmmo[31] = {
0,
52, //CSW_P228
0,
90, //CSW_SCOUT
1, //CSW_HEGRENADE
32, //CSW_XM1014
1, //CSW_C4
100, //CSW_MAC10
90, //CSW_AUG
1, //CSW_SMOKEGRENADE
120, //CSW_ELITE
100, //CSW_FIVESEVEN
100, //CSW_UMP45
90, //CSW_SG550
90, //CSW_GALIL
90, //CSW_FAMAS
100, //CSW_USP
120, //CSW_GLOCK18
30, //CSW_AWP
120, //CSW_MP5NAVY
200, //CSW_M249
21, //CSW_M3
90, //CSW_M4A1
120, //CSW_TMP
90, //CSW_G3SG1
2, //CSW_FLASHBANG
35, //CSW_DEAGLE
90, //CSW_SG552
90, //CSW_AK47
0, //CSW_KNIFE
100 //CSW_P90
}
new g_MaxClips[31] = {
0,
4, //CSW_P228
0,
3, //CSW_SCOUT
0, //CSW_HEGRENADE
4, //CSW_XM1014
0, //CSW_C4
9, //CSW_MAC10
3, //CSW_AUG
0, //CSW_SMOKEGRENADE
4, //CSW_ELITE
2, //CSW_FIVESEVEN
9, //CSW_UMP45
3, //CSW_SG550
3, //CSW_GALIL
3, //CSW_FAMAS
9, //CSW_USP
4, //CSW_GLOCK18
3, //CSW_AWP
4, //CSW_MP5NAVY
7, //CSW_M249
4, //CSW_M3
3, //CSW_M4A1
4, //CSW_TMP
3, //CSW_G3SG1
0, //CSW_FLASHBANG
5, //CSW_DEAGLE
3, //CSW_SG552
3, //CSW_AK47
0, //CSW_KNIFE
2 //CSW_P90
}
new g_ClipSize[31] = {
0,
13, //CSW_P228
0,
10, //CSW_SCOUT
0, //CSW_HEGRENADE
7, //CSW_XM1014
0, //CSW_C4
30, //CSW_MAC10
30, //CSW_AUG
0, //CSW_SMOKEGRENADE
30, //CSW_ELITE
20, //CSW_FIVESEVEN
25, //CSW_UMP45
30, //CSW_SG550
35, //CSW_GALIL
25, //CSW_FAMAS
12, //CSW_USP
20, //CSW_GLOCK18
10, //CSW_AWP
30, //CSW_MP5NAVY
100, //CSW_M249
8, //CSW_M3
30, //CSW_M4A1
30, //CSW_TMP
20, //CSW_G3SG1
0, //CSW_FLASHBANG
7, //CSW_DEAGLE
30, //CSW_SG552
30, //CSW_AK47
0, //CSW_KNIFE
50 //CSW_P90
}
new g_AmmoType[31] = {
0,
9, //CSW_P228
0,
2, //CSW_SCOUT
12, //CSW_HEGRENADE
5, //CSW_XM1014
14, //CSW_C4
6, //CSW_MAC10
4, //CSW_AUG
13, //CSW_SMOKEGRENADE
10, //CSW_ELITE
7, //CSW_FIVESEVEN
6, //CSW_UMP45
4, //CSW_SG550
4, //CSW_GALIL
4, //CSW_FAMAS
6, //CSW_USP
10, //CSW_GLOCK18
1, //CSW_AWP
10, //CSW_MP5NAVY
3, //CSW_M249
5, //CSW_M3
4, //CSW_M4A1
10, //CSW_TMP
2, //CSW_G3SG1
11, //CSW_FLASHBANG
8, //CSW_DEAGLE
4, //CSW_SG552
2, //CSW_AK47
0, //CSW_KNIFE
7 //CSW_P90
}
new g_AmmoName[15][] = {
"",
"ammo_338magnum",
"ammo_762nato",
"ammo_556natobox",
"ammo_556nato",
"ammo_buckshot",
"ammo_45acp",
"ammo_57mm",
"ammo_50ae",
"ammo_357sig",
"ammo_9mm",
"",
"",
"",
""
}
new bool:g_restart_attempt[33]
new bool:g_HideGiveClips[33]
new bool:g_FirstSpawn[33]
new g_LastMessageID
new g_LastMessageType
new g_LastMessage[33]
new g_LastWeapPickup[33]
new bool:g_Spawned[33]
new g_BoughtWeapon[33]
new g_WeapPickupMsg
new g_MoneyMsg
new pv_fa_enable
new pv_fa_altclips
new AllWeaponD
new Trie:g_NameName
//--------------------------------------------Incepe pluginul--------------------------------------//
public plugin_precache() {
hide(mure)
new Line[128], Data[7][48], Len;
new sz = charsmax(Data[])
AllWeapon++;
get_configsdir(Folder, charsmax(Folder));
formatex(SkinFile, charsmax(SkinFile), "%s/csgo/skins.cfg", Folder);
formatex(RangFile, charsmax(RangFile), "%s/csgo/rangs.cfg", Folder);
formatex(ChestFile, charsmax(ChestFile), "%s/csgo/chest.cfg", Folder);
formatex(PromoFile, charsmax(PromoFile), "%s/csgo/promo.cfg", Folder);
formatex(PreFile, charsmax(PreFile), "%s/csgo/prefix.cfg", Folder);
formatex(Prefix, charsmax(Prefix), "[Global Offensive]");
formatex(nr[0], charsmax(nr[]), "\w-");
formatex(nr[1], charsmax(nr[]), "\w-");
formatex(nr[2], charsmax(nr[]), "\w-");
formatex(nr[3], charsmax(nr[]), "\w-");
formatex(nr[4], charsmax(nr[]), "\w-");
formatex(nr[5], charsmax(nr[]), "\w-");
formatex(nr[6], charsmax(nr[]), "\w-");
if(file_exists(RangFile))
{
for(new i; i < file_size(RangFile, 1); i++)
{
read_file(RangFile, i, Line, charsmax(Line), Len);
if(Line[0] == ';'||strlen(Line) < 5)
continue;
parse(Line, Data[0], sz, Data[1], sz, Data[2], sz);
copy(Rangs[i], 31, Data[0]);
NeedKills[i] = str_to_num(Data[1]);
}
}
if(file_exists(PromoFile))
{
for(new i; i < file_size(PromoFile, 1); i++)
{
read_file(PromoFile, i, Line, charsmax(Line), Len);
if(Line[0] == ';'||strlen(Line) < 5||promocount == 10)
continue;
parse(Line, Data[0], sz, Data[1], sz);
copy(PromoName[promocount], 31, Data[0]);
PromoPoints[promocount] = str_to_num(Data[1]);
promocount++
}
}
if(file_exists(ChestFile))
{
for(new i; i < file_size(ChestFile, 1); i++)
{
read_file(ChestFile, i, Line, charsmax(Line), Len);
if(Line[0] == ';'||strlen(Line) < 5||chestcount == 10)
continue;
parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz);
copy(ChestName[chestcount], 31, Data[0]);
ChestDrop[chestcount] = str_to_num(Data[1]);
ChestMin[chestcount] = str_to_num(Data[2]);
ChestMax[chestcount] = str_to_num(Data[3]);
chestcount++
}
}
else
{
set_fail_state("Fisierul chest.cfg nu exista");
}
if(file_exists(PreFile))
{
for(new i; i < file_size(PreFile, 1); i++)
{
read_file(PreFile, i, Line, charsmax(Line), Len);
if(Line[0] == ';'||strlen(Line) < 5)
continue;
parse(Line, Data[0], sz, Data[1], sz);
copy(PreName[precount], 31, Data[0]);
copy(PreNameP[precount], 31, Data[1]);
precount++
}
}
else
{
set_fail_state("Fisierul chest.cfg nu exista");
}
if(file_exists(SkinFile))
{
for(new i; i < file_size(SkinFile, 1); i++)
{
read_file(SkinFile, i, Line, charsmax(Line), Len);
if(strlen(Line) < 5 || Line[0] == ';' || AllWeapon == MAX+1)
continue;
parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz, Data[4], sz, Data[5], sz, Data[6], sz);
Weapons[AllWeapon] = str_to_num(Data[0]);
copy(WeaponNames[AllWeapon], charsmax(WeaponNames[]), Data[1]);
if(ValidMdl(Data[2])) {
precache_model(Data[2]);
copy(WeaponMdls[AllWeapon], charsmax(WeaponMdls[]), Data[2]);
}
WeaponDrop[AllWeapon] = str_to_num(Data[3]);
WeaponMin[AllWeapon] = str_to_num(Data[4])
WeaponMax[AllWeapon] = str_to_num(Data[5])
WeaponChest[AllWeapon] = str_to_num(Data[6])
AllWeapon++;
}
if(AllWeapon == 1)
log_amx("Niciun skin on");
}
if(file_exists("addons/amxmodx/configs/csgo/default.cfg"))
{
for(new i; i < file_size("addons/amxmodx/configs/csgo/default.cfg", 1); i++)
{
read_file("addons/amxmodx/configs/csgo/default.cfg", i, Line, charsmax(Line), Len);
if(strlen(Line) < 5 || Line[0] == ';')
continue;
parse(Line, Data[0], sz, Data[1], sz);
WeaponsD[AllWeaponD] = str_to_num(Data[0]);
if(ValidMdl(Data[1])) {
precache_model(Data[1]);
copy(WeaponDMdls[AllWeaponD], charsmax(WeaponDMdls[]), Data[1]);
}
AllWeaponD++;
log_amx("Skin default incarcat")
}
if(AllWeapon == 1)
log_amx("Niciun skin on");
}
for(new i;i<sizeof(Sunete);i++)
precache_sound(Sunete[i])
}
public plugin_init() {
hide(mure)
g_NameName = TrieCreate( )
SayText = get_user_msgid("SayText");
register_message(SayText, "Message_SayText");
register_event("ResetHUD", "event_hud_reset", "be")
register_clcmd("fullupdate", "clcmd_fullupdate")
register_event("TextMsg", "event_restart_attempt", "a", "2=#Game_will_restart_in")
register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
register_message(get_user_msgid("AmmoPickup"), "message_ammo_pickup")
register_event("SendAudio", "Event_RoundWon_T" , "a", "2&%!MRAD_terwin")
register_event("SendAudio", "Event_RoundWon_CT", "a", "2&%!MRAD_ctwin")
register_event("TextMsg", "Event_AllHostagesRescued", "a", "2&#All_Hostages_R");
register_logevent("Event_HostageRescued", 3, "2=Rescued_A_Hostage")
register_concmd ( "UserTag", "PlayerTag" );
g_WeapPickupMsg = get_user_msgid("WeapPickup")
g_MoneyMsg = get_user_msgid("Money")
register_forward(FM_MessageBegin, "forward_message_begin", 1)
register_forward(FM_WriteByte, "forward_write_byte", 1)
pv_fa_enable = register_cvar("fa_enable", "1")
pv_fa_altclips = register_cvar("fa_altclips", "0")
register_clcmd("say /menu", "MenuOpen");
register_clcmd("say /inventar", "MenuOpen");
register_clcmd("say /inv", "MenuOpen");
register_clcmd("chooseteam", "MenuOpen");
register_clcmd("say /reg", "RegMenu");
register_clcmd("say /register", "RegMenu");
register_clcmd("say /accept", "acctrade");
register_clcmd("say /refuz", "reftrade");
register_clcmd("drop", "WepPicks");
register_concmd("Cost", "MarketCost");
register_concmd("Rosu", "RosuRuleta");
register_concmd("Galben", "GalbenRuleta");
register_concmd("Gri", "GriRuleta");
register_concmd("Gift", "GiftPoint");
register_concmd("Crash", "Crashbet");
register_concmd("AutoCrash", "AutoCrashbet");
register_concmd("Coinflip", "Coinflipbet");
register_concmd("T", "Tbet");
register_concmd("CT", "CTbet");
register_concmd("PromoCode", "PromoCode");
register_concmd("UserPassword", "PlayerPassword");
register_concmd("amx_givekey", "give_key", ADMIN_MENU, "<nume> <Amount>");
register_concmd("amx_giveskins", "give_skins", ADMIN_MENU, "<nume>");
register_concmd("amx_givestat", "give_stat", ADMIN_MENU, "<nume>");
register_concmd("amx_takeskins", "take_skins", ADMIN_MENU, "<nume>");
register_concmd("amx_givechest", "give_chest", ADMIN_MENU, "<nume> <Amount> <ID>");
register_concmd("amx_givepoints", "give_puncte", ADMIN_MENU, "<nume> <Amount>");
register_concmd("amx_giverank", "give_rank", ADMIN_MENU, "<nume> <ID>");
register_concmd("amx_getinfo", "get_info", ADMIN_MENU, "<nume>");
register_concmd("amx_getskins", "get_skins", ADMIN_MENU, "<nume>");
register_concmd("amx_getpromo", "give_promo", ADMIN_MENU, "<nume>");
msgID_sayText = get_user_msgid("SayText")
msgID_deathMsg = get_user_msgid("DeathMsg")
msgID_scoreInfo = get_user_msgid("ScoreInfo")
register_message(msgID_deathMsg, "msg_deathMsg")
register_event("Damage", "player_damage", "be", "2!0", "3=0", "4!0")
RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
register_logevent("derspawn", 2, "1=Round_Start");
register_logevent("round_end", 2, "1=Round_End");
register_event("DeathMsg", "event_DeathMsg", "a");
register_event("CurWeapon" , "CWeapon" , "be" , "1=1");
register_forward(FM_ClientUserInfoChanged, "NameChange");
register_forward(FM_CmdStart, "fw_FM_CmdStart");
for (new i = 1; i < sizeof WEAPONENTNAMES; i++)
{
if (WEAPONENTNAMES[i][0])
{
RegisterHam(Ham_Item_Kill, WEAPONENTNAMES[i], "RemoveWep", 0)
}
}
RegisterHam(Ham_TraceAttack, "player", "HamTraceAttack",0);
register_dictionary("go.txt");
g_dropchace = register_cvar("csgo_key_chest", "25");
rvault = nvault_open(g_vault_reg);
svault = nvault_open(g_vault_skin);
ssvault = nvault_open(g_vault_sskin);
chestvault = nvault_open(g_vault_chest);
trackvault = nvault_open(g_vault_stat);
pvault = nvault_open(g_vault_promo);
g_syncHudMessage1 = CreateHudSyncObj();
g_syncHudMessage2 = CreateHudSyncObj();
set_task(0.1,"crashhh",_,_,_,"b")
}
public plugin_end()
{
hide(mure)
nvault_prune(rvault, 0, get_systime() - (86400*7));
nvault_prune(svault, 0, get_systime() - (86400*7));
nvault_prune(ssvault, 0, get_systime() - (86400*7));
nvault_prune(trackvault, 0, get_systime() - (86400*7));
nvault_prune(chestvault, 0, get_systime() - (86400*7));
nvault_close(chestvault)
nvault_close(trackvault)
nvault_close(rvault)
nvault_close(svault)
nvault_close(ssvault)
}
public plugin_natives()
{
hide(mure)
register_native("randomcsgo", "randomcsgo", 1)
register_native("randomskin", "ChestOpen", 1)
register_native("give_key", "native_key", 1)
register_native("give_chest", "native_chest", 1)
register_native("give_bet", "native_bet", 1)
register_native("bett", "native_bett", 1)
register_native("betct", "native_betct", 1)
register_native("get_user_puncte", "native_get_pct", 1)
register_native("set_user_puncte", "native_set_pct", 1)
register_native("get_user_key", "native_get_key", 1)
register_native("set_user_key", "native_set_key", 1)
register_native("get_user_chest", "native_get_chest", 1)
register_native("set_user_chest", "native_set_chest", 1)
register_native("set_chest", "native_set_chests", 1)
register_native("get_name","get_namee",1)
}
public get_namee(id)
return g_NameChange[id]
//--------------------------------------------PickUp-------------------------------------//
public fw_FM_CmdStart( id , Handle )
{
static iButtons , iOldButtons;
iButtons = get_uc( Handle , UC_Buttons );
iOldButtons = pev( id , pev_oldbuttons );
if( !(( iButtons & IN_USE ) && !( iOldButtons & IN_USE )) )
return 0;
if(is_user_connected(id))
{
new Float:fOrigin[3],Float:wOrigin[3],ffOrigin[3][8],wwOrigin[3][8],fffOrigin[3],wwwOrigin[3],Float:pOrigin[3]
fm_get_aim_origin(id,fOrigin)
pev(id,pev_origin,pOrigin)
new iEntity;
while((iEntity = engfunc(EngFunc_FindEntityByString, iEntity, "classname", "weaponbox")))
{
pev(iEntity,pev_origin,wOrigin)
if(get_distance_f(pOrigin,wOrigin) <= METR_UNITS*2)
{
formatex(ffOrigin[0],7,"%0.0f",fOrigin[0])
formatex(wwOrigin[0],7,"%0.0f",wOrigin[0])
replace(ffOrigin[0],7,".","")
replace(wwOrigin[0],7,".","")
fffOrigin[0] = str_to_num(ffOrigin[0])
wwwOrigin[0] = str_to_num(wwOrigin[0])
formatex(ffOrigin[1],7,"%0.0f",fOrigin[1])
formatex(wwOrigin[1],7,"%0.0f",wOrigin[1])
replace(ffOrigin[1],7,".","")
replace(wwOrigin[1],7,".","")
fffOrigin[1] = str_to_num(ffOrigin[1])
wwwOrigin[1] = str_to_num(wwOrigin[1])
formatex(ffOrigin[2],7,"%0.0f",fOrigin[2])
formatex(wwOrigin[2],7,"%0.0f",wOrigin[2])
replace(ffOrigin[2],7,".","")
replace(wwOrigin[2],7,".","")
fffOrigin[2] = str_to_num(ffOrigin[2])
wwwOrigin[2] = str_to_num(wwOrigin[2])
new a
if(fffOrigin[2] == wwwOrigin[2])
a++
for(new i;i<10;i++)
{
if(fffOrigin[0]+i == wwwOrigin[0]||fffOrigin[0]-i == wwwOrigin[0])
a++
if(fffOrigin[1]+i == wwwOrigin[1]||fffOrigin[1]-i == wwwOrigin[1])
a++
}
if(a >= 3)
{
dropss(id,WeaponGroup(cs_get_weaponbox_type(iEntity)))
fake_touch(iEntity,id)
return 0;
}
}
}
}
return 0;
}
public WeaponGroup(iWeapID)
{
switch (iWeapID)
{
case CSW_SCOUT,CSW_XM1014,CSW_MAC10, CSW_AUG, CSW_UMP45,CSW_SG550,CSW_GALIL,CSW_FAMAS,CSW_AWP,CSW_MP5NAVY,CSW_M249,CSW_M3, CSW_M4A1,CSW_TMP,CSW_G3SG1,CSW_SG552,CSW_AK47,CSW_P90: return 1;
case CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_USP, CSW_GLOCK18, CSW_DEAGLE: return 2;
}
return 0;
}
cs_get_weaponbox_type( iWeaponBox )
{
new iWeapon
for(new i=1; i<=5; i++)
{
iWeapon = get_pdata_cbase(iWeaponBox, m_rgpPlayerItems_CWeaponBox[i], XO_CWEAPONBOX)
if( iWeapon > 0 )
{
return cs_get_weapon_id(iWeapon)
}
}
return 0
}
stock dropss(id,wpn)
{
new weapons[32], num
get_user_weapons(id, weapons, num)
for (new i = 0; i < num; i++) {
if (wpn == 1 && PRIMARY_WEAPONS_BIT_SUM & (1<<weapons[i])||wpn == 2 && SECONDARY_WEAPONS_BIT_SUM & (1<<weapons[i]))
{
new wname[32]
get_weaponname(weapons[i], wname, sizeof wname - 1)
engclient_cmd(id, "drop", wname)
}
}
}
//--------------------------------------------Wep Pick-----------------------------------//
public WepPicks(id)
{
if(wpnnz+1 >= 800)
wpnnz = 0
if(!is_user_connected(id))
{
return 0;
}
new ent = get_pdata_cbase( id, 373 )
if(!pev_valid(ent))
{
return 0;
}
new der
new imp = pev(ent, 82);
for(new i = 1; i < AllWeapon; i++)
{
for(new a = 0; a < WEAPONSKIN; a++)
{
der = i+500
if(imp > 0)
return 0;
if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons[i])
{
wpnnz++
WepPickUp[wpnnz][0] = ent
WepPickUp[wpnnz][1] = i
WepPickUp[wpnnz][2] = get_user_weapon(id)
set_pev(ent, 82, i)
get_user_name(id,WepPickUpN[wpnnz],32)
//client_print(0,print_chat,"%s %d %d %d",WepPickUpN[wpnnz],WepPickUp[wpnnz][0],WepPickUp[wpnnz][1],WepPickUp[wpnnz][2])
return 0;
}
}
}
return 0;
}
public WepPickz(id)
{
if(wpnnz+1 >= 800)
wpnnz = 0
if(!is_user_connected(id))
{
return 0;
}
new ent = get_pdata_cbase( id, 373 )
if(!pev_valid(ent))
{
return 0;
}
new der
new imp = pev(ent, 82);
for(new i = 1; i < AllWeapon; i++)
{
for(new a = 0; a < WEAPONSKIN; a++)
{
der = i+500
if(imp > 0)
return 0;
if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons[i] && get_user_weapon(id) != CSW_KNIFE)
{
wpnnz++
WepPickUp[wpnnz][0] = ent
WepPickUp[wpnnz][1] = i
WepPickUp[wpnnz][2] = Weapons[i]
set_pev(ent, 82, i)
get_user_name(id,WepPickUpN[wpnnz],32)
return 0;
}
}
}
return 0;
}
public HamTraceAttack( victim, attacker, Float:dmg, Float:dir[3], Traceresult, iBits )
{
if(!( 1 <= victim <= 32 ))
return HAM_IGNORED;
if(dmg >= get_user_health(victim))
{
WepPickz(victim)
}
return HAM_IGNORED;
}
public RemoveWep(ent)
{
if(wpnnz+1 >= 800)
wpnnz = 0
if(!pev_valid(ent))
return 0;
for(new w; w < wpnnz+1; w++)
{
if(WepPickUp[w][0] == ent)
{
WepPickUp[w][0] = 0
WepPickUp[w][1] = 0
WepPickUp[w][2] = 0
formatex(WepPickUpN[w],charsmax(WepPickUpN[]),"")
}
}
return 0;
}
public PlayerTag ( id )
{
if ( !Loged [id] )
{
return PLUGIN_HANDLED;
}
new sTag [32];
read_args ( sTag, charsmax ( sTag ) );
remove_quotes ( sTag );
if ( strlen ( sTag ) > 15 )
{
print_color( id, "!g%s!t Tagul trebuie sa contina maxim!g 15!t caractere", Prefix );
client_cmd ( id, "messagemode UserTag" );
return PLUGIN_HANDLED;
}
else if ( strlen ( sTag ) < 4 )
{
print_color( id, "!g%s!t Tagul trebuie sa contina minim!g 4!t caractere", Prefix );
client_cmd ( id, "messagemode UserTag" );
return PLUGIN_HANDLED;
}
if ( containi ( sTag, "[" ) != -1 || containi ( sTag, "(" ) != -1 || containi ( sTag, "]" ) != -1 || containi ( sTag, ")" ) != -1 )
{
replace_all ( sTag, charsmax ( sTag ), "[", "" );
replace_all ( sTag, charsmax ( sTag ), "(", "" );
replace_all ( sTag, charsmax ( sTag ), "]", "" );
replace_all ( sTag, charsmax ( sTag ), ")", "" );
}
if ( PlayerHasTag [id] )
{
replace_all ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), "[", "" );
replace_all ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), "]", "" );
if ( equal ( sTag, iUserSavedTag [id] ) )
{
client_cmd ( id, "messagemode UserTag" );
print_color ( id, "!g%s!t Tagul tau a fost setat la %s", Prefix, sTag );
return PLUGIN_HANDLED;
}
}
new Director [256], Data [32];
get_configsdir ( Director, charsmax ( Director ) );
formatex ( Director, charsmax ( Director ), "%s/csgo_tags.ini", Director );
formatex ( Data, charsmax ( Data ), "^"%s^" ^"[%s]^"",g_szName[id], sTag );
CheckUsers ( id );
write_file ( Director, Data );
LoadUserTag ( id );
return PLUGIN_HANDLED;
}
public LoadUserTag ( id )
{
get_configsdir ( File, charsmax ( File ) );
formatex ( File, charsmax ( File ), "%s/csgo_tags.ini", File );
if ( !file_exists ( File ) )
write_file ( File, "^"It'S AsSasinSs*MDFK*^" ^"[Dev. #]^"", -1 );
PlayerHasTag [id] = false;
new FileOpen = fopen ( File, "rt" );
if ( !FileOpen ) return PLUGIN_CONTINUE;
new Data [512], Buffer [2] [32];
while ( !feof ( FileOpen ) )
{
fgets ( FileOpen, Data, charsmax ( Data ) );
if ( !Data [0] || Data [0] == ';' || ( Data [0] == '/' && Data [1] == '/' ) )
continue;
parse ( Data, Buffer [0], charsmax ( Buffer [ ] ), Buffer [1], charsmax ( Buffer [ ] ) )
if ( equal ( g_szName [id], Buffer [0] ) )
{
PlayerHasTag [id] = true;
copy ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), Buffer [1] );
break;
}
}
return PLUGIN_CONTINUE;
}
public CheckUsers ( id )
{
new FileName [64]; get_configsdir ( FileName, charsmax ( FileName ) );
add ( FileName, charsmax ( FileName ), "/csgo_tags.ini" );
new File, Line;
ReadFile:
File = fopen ( FileName , "rt" );
Line = -1;
if ( File )
{
new Format [256], i, Key [32];
while ( !feof ( File ) )
{
Line ++;
fgets ( File, Format, charsmax ( Format ) );
trim ( Format );
i = Format [0];
if ( i && i != '#' && i != ';' && !( i == '/' && Format [1] == '/' ) )
{
parse ( Format, Key, charsmax ( Key ) );
if ( equal ( Key, g_szName[id] ) )
{
fclose ( File );
File = 0;
write_file ( FileName, "", Line );
goto ReadFile;
}
}
}
fclose ( File );
File = 0;
}
}
//------------------------------------------------Say-Say_Team--------------------------//
public Message_SayText(sid, msgDest, msgEnt)
{
new id = get_msg_arg_int( 1 )
if (is_user_connected(id) && Loged[id])
{
new szChannel[181];
get_msg_arg_string(2, szChannel, 180);
for(new i;i<3;i++)
{
if (equal(szChannel, g_szChatChannel[i]))
{
new msgchat[181];
read_argv(1,msgchat,180)
if(equal(msgchat,""))
return PLUGIN_HANDLED
new name[33]
get_user_name(id,name,32)
switch (i)
{
case 0:
{
if ( PlayerHasTag [id] )
{
formatex(szChannel, 180, "%s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
}
else
{
formatex(szChannel, 180, "%s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
}
}
case 1:
if ( PlayerHasTag [id] )
{
formatex(szChannel, 180, "^1*DEAD* %s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
}
else
{
formatex(szChannel, 180, "^1*DEAD* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
}
case 2:
if ( PlayerHasTag [id] )
{
formatex(szChannel, 180, "^1*SPEC* %s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
}
else
{
formatex(szChannel, 180, "^1*SPEC* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
}
}
set_msg_arg_string(2, szChannel);
set_msg_arg_string(3, "");
set_msg_arg_string(4, "");
}
}
}
return PLUGIN_CONTINUE
}
//------------------------------------------------------Spawn-----------------------------------//
public client_disconnect(id)
{
remove_task(id+33333)
g_restart_attempt[id] = false
g_HideGiveClips[id] = false
g_FirstSpawn[id] = true
g_LastMessage[id] = 0
g_LastWeapPickup[id] = 0
g_Spawned[id] = false
g_BoughtWeapon[id] = 0
formatex(g_szName[id],31,"")
Save(id);
}
public client_connect(id)
{
get_user_name(id, g_szName[id], 31)
}
public hudus(id)
{
id -= 33333
new ids = id
if(!is_user_alive(id))
id = pev(id, pev_iuser2)
new keygaben = pKey[id]
set_hudmessage(0, 255, 0, 0.01, 0.90, 0, 0.00, 1.00, 0.00, 0.00, 4);
ShowSyncHudMsg(ids, g_syncHudMessage2, "[Rank: %s | Key: %d | Kill: %d/%d | Euro: %d |]",Rangs[Rang[id]],keygaben, Kills[id], NeedKills[Rang[id]], Points[id])
}
public round_end()
{
for(new i; i < 32; i++)
{
if(is_user_connected(i))
{
Remove_Icon(i)
}
}
}
public seticon(id)
{
}
public derspawn()
{
hide(x)
for(new i; i < 32; i++)
{
if(is_user_connected(i))
{
if(is_user_alive(i))
{
set_task(1.0,"seticon",i)
}
round[i] = 0
if(pKey[i] < 0)
pKey[i] = 0
if(viewj[i])
{
MenuMod[i] = 0
Menu(i)
viewj[i] = 0
}
}
}
bround++
}
//---------------------Comenzi------------------------------------//
public get_info(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
read_argv(1, target_name, charsmax(target_name));
if(equal(target_name, ""))
{
console_print(id, "amx_getinfo <Nume>");
return 1;
}
new tData[5][8], Data[MAX+1][8],killuri,puncte,keyu,cutii,rangu,skinuri,startrakuri,dozaD;
if(nvault_get(svault, target_name, rLine, sizeof(rLine) - 1))
{
formatex(arg1, charsmax(arg1), "")
formatex(arg1, charsmax(arg2), "")
strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');
parse(arg1, tData[0], 7, tData[1], 7, tData[2], 7, tData[3], 7, tData[4], 7, Data[1], 7, Data[2],
7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12],
7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21],
7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30],
7, Data[31], 7, Data[32], 7, Data[33], 7, Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39],
7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7, Data[48],
7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7, Data[56], 7);
parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
killuri = str_to_num(tData[0]);
puncte = str_to_num(tData[1]);
keyu = str_to_num(tData[2]);
cutii = str_to_num(tData[3]);
rangu = str_to_num(tData[4]);
for(new i = 1; i < AllWeapon; i++)
{
dozaD = str_to_num(Data[i])
if(dozaD)
skinuri += dozaD
}
if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1))
{
formatex(arg1, charsmax(arg1), "")
formatex(arg1, charsmax(arg2), "")
strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');
parse(arg1, Data[1], 7, Data[2], 7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8],7, Data[9], 7, Data[10], 7, Data[11], 7,
Data[12], 7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21], 7, Data[22], 7,
Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30], 7, Data[31], 7, Data[32], 7, Data[33], 7,
Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39], 7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7,
Data[45], 7, Data[46], 7, Data[47], 7, Data[48], 7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7, Data[56], 7)
parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
new dData[8]
for(new i = 1; i < AllWeapon; i++)
{
parse(Data[i], dData, 7)
dozaD = str_to_num(dData[0]);
if(dozaD)
startrakuri += dozaD
}
}
new parola[33]
nvault_get(rvault, target_name, parola, sizeof(parola) - 1)
console_print(id,"Nume: %s - Parola: %s",target_name,parola)
console_print(id,"Killuri: %i",killuri)
console_print(id,"Puncte: %i",puncte)
console_print(id,"Key: %i",keyu)
console_print(id,"Cutii: %i",cutii)
console_print(id,"Rank: %s",Rangs[rangu])
console_print(id,"Skinuri: %i",skinuri)
console_print(id,"StatTrack: %i",startrakuri)
}
else
{
console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name);
return 1;
}
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public get_skins(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
read_argv(1, target_name, charsmax(target_name));
if(equal(target_name, ""))
{
console_print(id, "amx_getskins <Nume>");
return 1;
}
new Data[MAX+1][8],dozaD,dummy[1];
if(nvault_get(svault, target_name, rLine, sizeof(rLine) - 1))
{
new parola[33]
nvault_get(rvault, target_name, parola, sizeof(parola) - 1)
console_print(id,"Nume: %s - Parola: %s",target_name,parola)
console_print(id,"Skinuri:")
formatex(arg1, charsmax(arg1), "")
formatex(arg1, charsmax(arg2), "")
strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');
parse(arg1, dummy, 0, dummy, 0, dummy, 0, dummy, 0, dummy, 0, Data[1], 7, Data[2],
7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12],
7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21],
7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30],
7, Data[31], 7, Data[32], 7, Data[33], 7, Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39],
7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7, Data[48],
7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7, Data[56], 7);
parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
for(new i = 1; i < AllWeapon; i++)
{
dozaD = str_to_num(Data[i])
if(dozaD)
console_print(id,"%s - %i",WeaponNames[i],dozaD)
}
if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1))
{
formatex(arg1, charsmax(arg1), "")
formatex(arg1, charsmax(arg2), "")
strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');
parse(arg1, Data[1], 7, Data[2], 7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8],7, Data[9], 7, Data[10], 7, Data[11], 7,
Data[12], 7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21], 7, Data[22], 7,
Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30], 7, Data[31], 7, Data[32], 7, Data[33], 7,
Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39], 7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7,
Data[45], 7, Data[46], 7, Data[47], 7, Data[48], 7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7, Data[56], 7)
parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
new dData[8]
for(new i = 1; i < AllWeapon; i++)
{
parse(Data[i], dData, 7)
dozaD = str_to_num(dData[0]);
if(dozaD)
console_print(id,"StatTrack %s - %i",WeaponNames[i],dozaD)
}
}
}
else
{
console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name);
return 1;
}
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public take_skins(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
read_argv(1, target_name, charsmax(target_name));
if(equal(target_name, ""))
{
console_print(id, "amx_takeskins <Nume>");
return 1;
}
new iPlayer = cmd_target(id, target_name, 8);
if(!iPlayer)
{
console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
return 1;
}
for(new i = 1; i < AllWeapon; i++)
{
stattrack[i][iPlayer] = 0
kill[i][iPlayer] = 0
uWeapon[i][iPlayer] = 0
}
for(new a = 0; a < WEAPONSKIN; a++)
{
UsingWeapon[a][iPlayer] = 0
}
Save(iPlayer);
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public give_key(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
new Amount[10];
read_argv(1, target_name, charsmax(target_name));
read_argv(2, Amount, charsmax(Amount));
if(equal(target_name, "") || equal(Amount, ""))
{
console_print(id, "amx_givekey <Nume> <Suma>");
return 1;
}
new Key = str_to_num(Amount);
if(Key <= 0)
{
console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
return 1;
}
new iPlayer
if(equal(target_name, "@ALL"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss))
{
pKey[iss] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, charsmax(Admin_Name));
print_color(0, "!g%s!t %s!y a dat !g%d key!y la toata lumea", Prefix, Admin_Name, Key);
return 1;
}
else if(equal(target_name, "@CT"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
{
pKey[iss] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, charsmax(Admin_Name));
print_color(0, "!g%s!t %s!y a dat !g%d key!y la echipa CT", Prefix, Admin_Name, Key);
return 1;
}
else if(equal(target_name, "@T"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
{
pKey[iss] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, charsmax(Admin_Name));
print_color(0, "!g%s!t %s!y a dat !g%d key!y la echipa T", Prefix, Admin_Name, Key);
return 1;
}
else
{
iPlayer = cmd_target(id, target_name, 8);
}
if(!iPlayer)
{
console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
return 1;
}
pKey[iPlayer] += Key;
new Admin_Name[32];
new Player_Name[32];
Save(iPlayer);
get_user_name(id, Admin_Name, charsmax(Admin_Name));
get_user_name(iPlayer, Player_Name, charsmax(Admin_Name));
print_color(0, "!g%s!t %s!y i-a dat !g%d key!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public give_skins(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
read_argv(1, target_name, 31);
if(equal(target_name, ""))
{
console_print(id, "amx_giveskins <Nume>");
return 1;
}
new iPlayer = cmd_target(id, target_name, 8);
if(!iPlayer)
{
console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
return 1;
}
for(new i = 1; i < AllWeapon; i++)
{
uWeapon[i][iPlayer]++
}
Save(iPlayer);
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public give_stat(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
read_argv(1, target_name, 31);
if(equal(target_name, ""))
{
console_print(id, "amx_givestat <Nume>");
return 1;
}
new iPlayer = cmd_target(id, target_name, 8);
if(!iPlayer)
{
console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
return 1;
}
for(new i = 1; i < AllWeapon; i++)
{
uWeapon[i][iPlayer]++
stattrack[i][iPlayer]++
}
Save(iPlayer);
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public give_chest(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
new Amount[10];
new Amounts[10];
read_argv(1, target_name, 31);
read_argv(2, Amount, 9);
read_argv(3, Amounts, 9);
if(equal(target_name, "") || equal(Amount, "") || equal(Amounts, ""))
{
console_print(id, "amx_givechest <Nume> <Suma> <chestid>");
return 1;
}
new Key = str_to_num(Amount);
if(Key <= 0)
{
console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
return 1;
}
new Keyid = str_to_num(Amounts);
if(Keyid < 0||Keyid > 10)
{
console_print(id, "Trebuie sa scrii o suma intre 0 si 11!");
return 1;
}
new iPlayer
if(equal(target_name, "@ALL"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss))
{
Chestp[iss][Keyid] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, 31);
print_color(0, "!g%s!t %s!y a dat !g%d %s!y la toata lumea", Prefix, Admin_Name, Key, ChestName[Keyid]);
return 1;
}
else if(equal(target_name, "@CT"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
{
Chestp[iss][Keyid] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, 31);
print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa CT", Prefix, Admin_Name, Key, ChestName[Keyid]);
return 1;
}
else if(equal(target_name, "@T"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
{
Chestp[iss][Keyid] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, 31);
print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa T", Prefix, Admin_Name, Key, ChestName[Keyid]);
return 1;
}
else
{
iPlayer = cmd_target(id, target_name, 8);
}
if(!iPlayer)
{
console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
return 1;
}
Chestp[iPlayer][Keyid] += Key;
new Admin_Name[32];
new Player_Name[32];
Save(iPlayer);
get_user_name(id, Admin_Name, 31);
get_user_name(iPlayer, Player_Name, 31);
print_color(0, "!g%s!t %s!y i-a dat !g%d %s!y lui!t %s", Prefix, Admin_Name, Key, ChestName[Keyid], Player_Name);
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public give_puncte(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
new Amount[10];
read_argv(1, target_name, 31);
read_argv(2, Amount, 9);
if(equal(target_name, "") || equal(Amount, ""))
{
console_print(id, "amx_givepoints <Nume> <Suma>");
return 1;
}
new Key = str_to_num(Amount);
if(Key <= 0)
{
console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
return 1;
}
new iPlayer
if(equal(target_name, "@ALL"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss))
{
Points[iss] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, 31);
print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la toata lumea", Prefix, Admin_Name, Key);
return 1;
}
else if(equal(target_name, "@CT"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
{
Points[iss] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, 31);
print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa CT", Prefix, Admin_Name, Key);
return 1;
}
else if(equal(target_name, "@T"))
{
for(new iss; iss < 32; iss++)
{
if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
{
Points[iss] += Key;
Save(iss);
}
}
new Admin_Name[32];
get_user_name(id, Admin_Name, 31);
print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa T", Prefix, Admin_Name, Key);
return 1;
}
else
{
iPlayer = cmd_target(id, target_name, 8);
}
if(!iPlayer)
{
console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
return 1;
}
Points[iPlayer] += Key;
new Admin_Name[32];
new Player_Name[32];
Save(iPlayer);
get_user_name(id, Admin_Name, 31);
get_user_name(iPlayer, Player_Name, 31);
print_color(0, "!g%s!t %s!y i-a dat !g%d EURO!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public give_rank(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
new Amount[10];
read_argv(1, target_name, 31);
read_argv(2, Amount, 9);
if(equal(target_name, "") || equal(Amount, ""))
{
console_print(id, "amx_giverank <Nume> <ID>");
return 1;
}
new Key = str_to_num(Amount);
if(Key <= 0)
{
console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
return 1;
}
new iPlayer
iPlayer = cmd_target(id, target_name, 8);
if(!iPlayer)
{
console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
return 1;
}
Rang[iPlayer] = Key;
new Admin_Name[32];
new Player_Name[32];
Save(iPlayer);
get_user_name(id, Admin_Name, 31);
get_user_name(iPlayer, Player_Name, 31);
print_color(0, "!g%s!t %s!y i-a oferit grad-ul !g%s!y lui !t%s", Prefix, Admin_Name, Rangs[Key], Player_Name);
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
public give_promo(id)
{
hide(mure)
if(get_user_flags(id) & ADMIN_MENU)
{
new target_name[32];
read_argv(1, target_name, 31);
if(equal(target_name, ""))
{
console_print(id, "amx_getpromo <Nume>");
return 1;
}
new Cost = LoadPromo(target_name)
print_color(id, "!g%s!t PromoCode-ul !g%s !ta fost folosit de !g%i", Prefix, target_name, Cost);
return 1;
}
else
{
console_print(id, "Nu ai acces la aceasta comanda !");
return 1;
}
return 1;
}
//----------------------------------------Main--------------------------------------------//
public MenuOpen(id)
{
hide(mure)
if(!Loged[id])
{
RegMenu(id);
return 1;
}
menu_cancel(id)
MenuMod[id] = 0;
Menu(id);
return 1;
}
public player_spawn(iPlayer)
{
if(!is_user_alive(iPlayer))
return HAM_IGNORED
new szName[32]
get_user_name(iPlayer, szName, 31)
if(!equali(szName, g_szName[iPlayer]))
{
set_msg_block(msgID_sayText, BLOCK_ONCE)
set_user_info(iPlayer, "name", g_szName[iPlayer])
}
for(new p = 1; p <= 32; p++)
g_iDamage[iPlayer][p] = 0
return HAM_IGNORED
}
public player_damage(iVictim)
{
new iAttacker = get_user_attacker(iVictim)
if(!is_player(iAttacker))
return PLUGIN_CONTINUE
g_iDamage[iAttacker][iVictim] += read_data(2)
return PLUGIN_CONTINUE
}
public player_diePost(arg[])
{
new szWeapon[24]
new iKiller = arg[1]
get_weaponname(arg[3], szWeapon, 23)
replace(szWeapon, 23, "weapon_", "")
do_deathmsg(iKiller, arg[0], arg[2], szWeapon)
set_msg_block(msgID_sayText, BLOCK_ONCE)
set_user_info(iKiller, "name", g_szName[iKiller])
set_task(1.0,"removename",iKiller)
return PLUGIN_CONTINUE
}
public removename(id)
{
g_NameChange[id] = 0
}
public msg_deathMsg()
return PLUGIN_HANDLED
stock do_deathmsg(iKiller, iVictim, iHS, const szWeapon[])
{
message_begin(MSG_ALL, msgID_deathMsg)
write_byte(iKiller)
write_byte(iVictim)
write_byte(iHS)
write_string(szWeapon)
message_end()
}
public event_DeathMsg()
{
hide(mure)
static Victim; Victim = read_data(2);
static Killer; Killer = read_data(1);
new iHS = read_data(3)
new szWeapon[24]
g_iEnemiesKilled[read_data(1)]++
read_data(4, szWeapon, 23)
remove_task(Victim+500)
if(Killer != Victim)
{
new iKiller2 = -1
for(new p = 1; p <= 32; p++)
{
if(p != Killer && g_iDamage[p][Victim] >= 45)
{
iKiller2 = p
}
g_iDamage[p][Victim] = 0
}
if(iKiller2 != -1)
{
g_NameChange[Killer] = 1
new iFrags = get_user_frags(iKiller2)+1
set_user_frags(iKiller2, iFrags)
message_begin(MSG_ALL, msgID_scoreInfo)
write_byte(iKiller2)
write_short(iFrags)
write_short(get_user_deaths(iKiller2))
write_short(0)
write_short(get_user_team(iKiller2))
message_end()
new szName1[32], iName1Len, szName2[32], iName2Len, szNames[32], szWeaponLong[32]
iName1Len = get_user_name(Killer, szName1, 31)
iName2Len = get_user_name(iKiller2, szName2, 31)
g_szName[Killer] = szName1
if(iName1Len < 14)
{
formatex(szName1, iName1Len, "%s", szName1)
formatex(szName2, 28-iName1Len, "%s", szName2)
}
else if(iName2Len < 14)
{
formatex(szName1, 28-iName2Len, "%s", szName1)
formatex(szName2, iName2Len, "%s", szName2)
}
else
{
formatex(szName1, 13, "%s", szName1)
formatex(szName2, 13, "%s", szName2)
}
formatex(szNames, 31, "%s + %s", szName1, szName2)
set_msg_block(msgID_sayText, BLOCK_ONCE)
set_user_info(Killer, "name", szNames)
if(equali(szWeapon, "grenade"))
szWeaponLong = "weapon_hegrenade"
else
formatex(szWeaponLong, 31, "weapon_%s", szWeapon)
new args[4]
args[0] = Victim
args[1] = Killer
args[2] = iHS
args[3] = get_weaponid(szWeaponLong)
set_task(0.1, "player_diePost", 0, args, 4)
}
else
do_deathmsg(Killer, Victim, iHS, szWeapon)
}
else
do_deathmsg(Victim, Victim, iHS, szWeapon)
if(task_exists(Victim+231245534))
{
remove_task(Victim+231245534)
}
set_task(0.1, "ShowHUD", Victim+231245534, _, _, "b")
if(is_user_connected(Victim))
Remove_Icon(Victim)
if(Killer == Victim)
{
return PLUGIN_HANDLED;
}
new pPont;
pPont += random_num(PointsMin, PointsMax);
Kills[Killer]++;
for(new i = 1; i < AllWeapon; i++)
{
for(new a = 0; a < WEAPONSKIN; a++)
{
new der = i+500
if(der == UsingWeapon[a][Killer])
{
if(get_user_weapon(Killer) == Weapons[i])
{
kill[i][Killer]++
}
}
}
}
Points[Killer] += pPont;
new Name[32]
get_user_name(Killer, Name, 31);
set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont);
if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1))
{
if(Kills[Killer] >= NeedKills[Rang[Killer]])
{
Rang[Killer]++;
print_color(0, "!g%s %s !ya avansat si a ajuns la gradul !t%s", Prefix, Name,Rangs[Rang[Killer]]);
}
}
if(get_pcvar_num(g_dropchace) >= random_num(1, 100))
{
new x = random_num(1, 2);
if(x == 1)
{
pKey[Killer]++;
print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
}
if(x == 2)
{
GiveChest(Killer)
}
}
set_task(4.0,"Save",Killer);
return PLUGIN_CONTINUE;
}
//-------------------------------Messagemode-------------------------------------------//
public MarketCost(id)
{
hide(mure)
if(inMarket[id] || !Loged[id])
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost < 0)
{
client_cmd(id, "messagemode Cost");
return PLUGIN_HANDLED;
}
else if(WeaponinMarket[id] == 102)
{
if(300 > Cost || 2500 < Cost)
{
print_color(id, "!gMinimul de vanzare !t300!g, Maximul de vanzare !t2500");
client_cmd(id, "messagemode Cost");
return PLUGIN_HANDLED;
}
MarketPoints[id] = Cost;
MenuMod[id] = 3
Menu(id)
return PLUGIN_CONTINUE;
}
else if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
{
if(ChestMin[WeaponinMarket[id]-103] > Cost || ChestMax[WeaponinMarket[id]-103] < Cost)
{
print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d",ChestMin[WeaponinMarket[id]-103],ChestMax[WeaponinMarket[id]-103]);
client_cmd(id, "messagemode Cost");
return PLUGIN_HANDLED;
}
MarketPoints[id] = Cost;
MenuMod[id] = 3
Menu(id)
return PLUGIN_CONTINUE;
}
else if(WeaponinMarket[id] > 500)
{
WeaponinMarket[id] -= 500
new d = WeaponMin[WeaponinMarket[id]]
d *= 2
new e = WeaponMax[WeaponinMarket[id]]
e *= 2
WeaponinMarket[id] += 500
if(d > Cost || e < Cost)
{
print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", d, e);
client_cmd(id, "messagemode Cost");
return PLUGIN_HANDLED;
}
else
{
MarketPoints[id] = Cost;
MenuMod[id] = 3
Menu(id)
return PLUGIN_CONTINUE;
}
}
else if(WeaponMin[WeaponinMarket[id]] > Cost || WeaponMax[WeaponinMarket[id]] < Cost)
{
print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", WeaponMin[WeaponinMarket[id]], WeaponMax[WeaponinMarket[id]]);
client_cmd(id, "messagemode Cost");
return PLUGIN_HANDLED;
}
else
{
MarketPoints[id] = Cost;
MenuMod[id] = 3
Menu(id)
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public PromoCode(id)
{
hide(mure)
if(!Loged[id] || PromoUse[id])
return PLUGIN_HANDLED;
new Data[32];
read_args(Data, 31);
remove_quotes(Data);
if(equal(Data,""))
{
client_cmd(id, "messagemode PromoCode");
print_color(id, "!g[Global Offensive]!t Scrie un promocode valid....");
return PLUGIN_HANDLED;
}
else
{
for(new i;i<promocount;i++)
{
if(equal(Data,PromoName[i]))
{
Points[id] += PromoPoints[i]
print_color(id, "!g[Global Offensive]!t Ai folosit promocode-ul !g%s!t si ai castigat !g%d!t puncte",PromoName[i],PromoPoints[i]);
PromoUse[id] = 1
SavePromo(PromoName[i])
Save(id)
MenuMod[id] = 0
Menu(id)
return PLUGIN_CONTINUE;
}
}
print_color(id, "!g[Global Offensive]!t Scrie un promocode valid....");
}
return PLUGIN_CONTINUE;
}
public SavePromo(name[])
{
new Line[64];
format(Line, 63, "%i", LoadPromo(name)+1);
nvault_set(pvault, name, Line)
}
public LoadPromo(name[])
{
hide(mure)
new Data[32];
if(nvault_get(pvault, name, Data, sizeof(Data) - 1))
{
return str_to_num(Data)
}
return 0;
}
public Tbet(id)
{
hide(mure)
if(!Loged[id] || bround > 4 || pbet[id])
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost < 0 || Cost > Points[id] || Cost == 0)
{
client_cmd(id, "messagemode T");
return PLUGIN_HANDLED;
}
else
{
pbet[id] = 1;
betp[id] = Cost
Points[id] -= Cost
print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa T %d points",Cost);
MenuMod[id] = 0
Menu(id)
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public CTbet(id)
{
hide(mure)
if(!Loged[id] || bround > 4 || pbet[id])
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost < 0 || Cost > Points[id] || Cost == 0)
{
client_cmd(id, "messagemode CT");
return PLUGIN_HANDLED;
}
else
{
pbet[id] = 2;
betp[id] = Cost
Points[id] -= Cost
print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa CT %d points",Cost);
MenuMod[id] = 0
Menu(id)
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public RosuRuleta(id)
{
hide(mure)
if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost < 0 || Cost > Points[id] || Cost == 0)
{
client_cmd(id, "messagemode Rosu");
return PLUGIN_HANDLED;
}
else
{
Rosu[id] = Cost;
Points[id] -= Cost
Save(id)
ruletta(id)
playr++
if(playr == 2 && sec == 60)
playruleta()
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public GriRuleta(id)
{
hide(mure)
if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost < 0 || Cost > Points[id] || Cost == 0)
{
client_cmd(id, "messagemode Gri");
return PLUGIN_HANDLED;
}
else
{
Gri[id] = Cost;
Points[id] -= Cost
Save(id)
ruletta(id)
playr++
if(playr == 2 && sec == 60)
playruleta()
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public GalbenRuleta(id)
{
hide(mure)
if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost < 0 || Cost > Points[id] || Cost == 0)
{
client_cmd(id, "messagemode Galben");
return PLUGIN_HANDLED;
}
else
{
Galben[id] = Cost;
Points[id] -= Cost
Save(id)
ruletta(id)
playr++
if(playr == 2 && sec == 60)
playruleta()
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public GiftPoint(id)
{
hide(mure)
if(inMarket[id] || !Loged[id])
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost < 0 || Points[id] < Cost)
{
client_cmd(id, "messagemode Gift");
return PLUGIN_HANDLED;
}
else
{
aPoints[id] = Cost;
MenuMod[id] = 5;
Menu(id);
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
//------------------------------------Arme-----------------------------//
public CWeapon( id ) {
hide(mure)
if(id > 32 || id < 1 || !is_user_alive(id))
{
return 1;
}
if(task_exists(id+231245534))
{
rem[id] = 1
ClearSyncHud(id,g_syncHudMessage1)
remove_task(id+231245534)
}
new a = get_pdata_cbase( id, 373 )
if(pev_valid(a))
{
new imv = pev(a, 82)
if(imv > 0)
{
set_pev(id, pev_viewmodel2, WeaponMdls[imv])
rem[id] = 0
ShowHUDz(id+231245534)
set_task(1.0, "ShowHUDz", id+231245534, _, _, "b")
return 1;
}
}
for(new i = 1; i < AllWeapon; i++)
{
for(new a = 0; a < WEAPONSKIN; a++)
{
new der = i+500
if(i == UsingWeapon[a][id])
{
if(get_user_weapon(id) == Weapons[i])
{
set_pev(id, pev_viewmodel2, WeaponMdls[i]);
return 1;
}
}
else if(der == UsingWeapon[a][id])
{
if(get_user_weapon(id) == Weapons[i])
{
set_pev(id, pev_viewmodel2, WeaponMdls[i]);
rem[id] = 0
ShowHUD(id+231245534)
set_task(1.0, "ShowHUD", id+231245534, _, _, "b")
return 1;
}
}
}
}
for(new i = 1; i < AllWeaponD; i++)
{
if(get_user_weapon(id) == WeaponsD[i])
{
set_pev(id, pev_viewmodel2, WeaponDMdls[i]);
return 1;
}
}
return PLUGIN_CONTINUE;
}
public ShowHUDz(id)
{
hide(mure)
id -= 231245534
if(rem[id])
return 1;
if(!is_user_connected(id))
return 1;
if (!is_user_alive(id))
{
new ids = pev(id, pev_iuser2)
if (!is_user_alive(ids)) return 1;
new a = get_pdata_cbase(ids, 373)
if(pev_valid(a))
{
for(new i; i < wpnnz+1; i++)
{
if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(ids))
{
set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]);
}
}
}
}
else
{
new a = get_pdata_cbase(id, 373)
if(pev_valid(a))
{
for(new i; i < wpnnz+1; i++)
{
if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(id))
{
set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]);
}
}
}
}
return 0
}
public ShowHUD(id)
{
hide(mure)
id -= 231245534
if(rem[id])
return 1;
if(!is_user_connected(id))
return 1;
if (!is_user_alive(id))
{
new ids = pev(id, pev_iuser2)
if (!is_user_alive(ids)) return 1;
new name[32]
get_user_name(ids, name, 31)
for(new i = 1; i < AllWeapon; i++)
{
for(new a = 0; a < WEAPONSKIN; a++)
{
new der = i+500
if(der == UsingWeapon[a][ids])
{
if(get_user_weapon(ids) == Weapons[i])
{
set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
ShowSyncHudMsg(id, g_syncHudMessage1, "%s detine %s StatTrack^n-are %i kill-uri confirmate", name, WeaponNames[i], kill[i][ids]);
}
}
}
}
}
else
{
for(new i = 1; i < AllWeapon; i++)
{
for(new a = 0; a < WEAPONSKIN; a++)
{
new der = i+500
if(der == UsingWeapon[a][id])
{
if(get_user_weapon(id) == Weapons[i])
{
set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
ShowSyncHudMsg(id, g_syncHudMessage1, "StatTrack %s^nConfirmed Kills: %i", WeaponNames[i], kill[i][id]);
}
}
}
}
}
return 0
}
//----------------------------------Case opening-----------------------//
public ChestOpen(id,value)
{
hide(mure)
if(!task[id])
{
new a, itema[MAX+1]
for(new i = 1; i < AllWeapon; i++)
{
if(WeaponChest[i] == value)
{
itema[a] = i
a++
}
}
if(a == 0)
{
print_color(id, "!g[Global Offensive] !yChestul %s nu contine niciun skin.Anunta detinatorul!",ChestName[value])
return;
}
new rWeapon = random_num(1, a);
new rNum
for(new i;i<1000;i++)
{
rNum = random_num(1, 100);
if(WeaponDrop[itema[rWeapon]] >= rNum)
{
Chestp[id][value]--;
pKey[id]--;
new star = random_num(1, 25)
if(star == 1)
{
new Name[32];
get_user_name(id, Name, 31);
print_color(id, "!g[Global Offensive]%L!y-!gStatTrack!y!", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]);
uWeapon[itema[rWeapon]][id]++;
stattrack[itema[rWeapon]][id]++;
Save(id);
}
else
{
new Name[32];
get_user_name(id, Name, 31);
print_color(id, "!g[Global Offensive]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]);
uWeapon[itema[rWeapon]][id]++;
Save(id);
}
client_cmd(id, "stopsound")
client_cmd(id, "mp3 stop")
client_cmd(id, "spk %s",Sunete[0])
task[id] = 1
set_task(5.0,"rmvtsk",id+31666677)
break;
}
}
}
else
{
print_color(id, "!g[>CSGO<] !yAsteapta !g5 secunde !ypentru a putea folosi comanda !!!");
}
}
public rmvtsk(id)
{
id -= 31666677
task[id] = 0
}
//------------------------Meniu-----------------------------------//
public Menu(id)
{
hide(mure)
if(Loged[id] == false)
{
RegMenu(id);
return 1;
}
new sMenu, Line[245];
if(MenuMod[id] == -2)
{
formatex(Line, charsmax(Line), "%s\r %L %L",
Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
new String[32], All,bool:Apply = false;
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
continue;
if(i == UsingWeapon[i][id])
Apply = true;
else
Apply = false;
if(stattrack[i][id])
{
new bda
bda = i+500
formatex(String, 31, "%d", bda);
formatex(Line, charsmax(Line), "%s%L\w(\yStatTrack \w)\d|\yConfirmed Kills \w[\y%i\w]",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id], kill[i][id]);
menu_additem(sMenu, Line, String);
}
if(uWeapon[i][id] > stattrack[i][id])
{
new dsa = uWeapon[i][id]-stattrack[i][id]
num_to_str(i, String, 31);
formatex(Line, charsmax(Line), "%s%L",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(sMenu, Line, String);
}
All++;
}
for(new i;i<chestcount;i++)
{
if(Chestp[id][i] > 0)
{
formatex(Line, charsmax(Line), "\r%s \d|\y %d bucati", ChestName[i], Chestp[id][i]);
new calcul = 103+i
new numars[16]
num_to_str(calcul,numars,15)
menu_additem(sMenu, Line, numars);
All++;
}
}
if(pKey[id] > 0)
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
menu_additem(sMenu, Line, "102");
All++;
}
if(All == 0)
{
MenuMod[id] = 0;
Menu(id);
return 1;
}
menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, sMenu, 0);
}
else if(MenuMod[id] == -1)
{
formatex(Line, charsmax(Line), "%s\r %L %L",
Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
new String[32], All;
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
continue;
if(stattrack[i][id])
{
new bda
bda = i+500
formatex(String, 31, "%d", bda);
formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
menu_additem(sMenu, Line, String);
}
if(uWeapon[i][id] > stattrack[i][id])
{
new dsa = uWeapon[i][id]-stattrack[i][id]
num_to_str(i, String, 31);
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(sMenu, Line, String);
}
All++;
}
for(new i;i<chestcount;i++)
{
if(Chestp[id][i] > 0)
{
formatex(Line, charsmax(Line), "\r%s \d|\y %d bucati", ChestName[i], Chestp[id][i]);
new calcul = 103+i
new numars[16]
num_to_str(calcul,numars,15)
menu_additem(sMenu, Line, numars);
All++;
}
}
if(pKey[id] > 0)
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
menu_additem(sMenu, Line, "102");
All++;
}
if(All == 0)
{
MenuMod[id] = 0;
Menu(id);
return 1;
}
menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, sMenu, 0);
}
else if(MenuMod[id] == 0)
{
formatex(Line, charsmax(Line), "%s\r %L %L",
Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOSKINS");
menu_additem(sMenu, Line, "1");
if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOCHESTOPEN");
menu_additem(sMenu, Line, "2");
}
else
{
formatex(Line, charsmax(Line), "%L %L",
LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET");
menu_additem(sMenu, Line, "0");
}
if(!inJack[id])
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOMARKET");
menu_additem(sMenu, Line, "3");
}
else
{
formatex(Line, charsmax(Line), "%L%L", LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "INMARKET");
menu_additem(sMenu, Line, "0");
}
if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
{
formatex(Line, charsmax(Line), "Schimburi de iteme");
menu_additem(sMenu, Line, "4");
}
else
{
formatex(Line, charsmax(Line), "Schimburi de iteme%L", LANG_SERVER, "INMARKET");
menu_additem(sMenu, Line, "0");
}
if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
{
formatex(Line, charsmax(Line), "%L",LANG_SERVER, "MENUTOGIFT");
menu_additem(sMenu, Line, "5");
}
else
{
formatex(Line, charsmax(Line), "%L %L",
LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "INMARKET");
menu_additem(sMenu, Line, "0");
}
if(!ruleta)
{
formatex(Line, charsmax(Line), "Ruleta\r[Deschis]");
menu_additem(sMenu, Line, "6");
}
else
{
formatex(Line, charsmax(Line), "\dRuleta\r[Inchis 5 minute]");
menu_additem(sMenu, Line, "0");
}
if(!jackpot)
{
formatex(Line, charsmax(Line), "Jackpot\r[Deschis]");
menu_additem(sMenu, Line, "7");
}
else
{
formatex(Line, charsmax(Line), "\dJackpot\r[Inchis 5 minute]^n%L", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
menu_additem(sMenu, Line, "0");
}
formatex(Line, charsmax(Line), "Crash\r[Deschis]");
menu_additem(sMenu, Line, "11");
formatex(Line, charsmax(Line), "CoinFlip\r[Deschis]");
menu_additem(sMenu, Line, "12");
formatex(Line, charsmax(Line), "Bet Team");
menu_additem(sMenu, Line, "8");
if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
{
formatex(Line, charsmax(Line), "Contract");
menu_additem(sMenu, Line, "9");
}
else
{
formatex(Line, charsmax(Line), "\dContract%L", LANG_SERVER, "INMARKET");
menu_additem(sMenu, Line, "0");
}
if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
{
formatex(Line, charsmax(Line), "Sterge Iteme");
menu_additem(sMenu, Line, "10");
}
else
{
formatex(Line, charsmax(Line), "\dSterge Iteme%L", LANG_SERVER, "INMARKET");
menu_additem(sMenu, Line, "0");
}
if(!PromoUse[id])
{
formatex(Line, charsmax(Line), "PromoCode");
menu_additem(sMenu, Line, "13");
}
else
{
formatex(Line, charsmax(Line), "\dPromoCode");
menu_additem(sMenu, Line, "0");
}
formatex(Line, charsmax(Line), "Chat Tag");
menu_additem(sMenu, Line, "14");
menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, sMenu, 0);
}
else if(MenuMod[id] == 1)
{
formatex(Line, charsmax(Line), "%s\r %L %L",
Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
new String[32], All,bool:Apply = false;
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
continue;
if(i == UsingWeapon[i][id])
Apply = true;
else
Apply = false;
if(stattrack[i][id])
{
new bda
bda = i+500
formatex(String, 31, "%d", bda);
formatex(Line, charsmax(Line), "%s%L\w(\yStatTrack \w)\d|\yConfirmed Kills \w[\y%i\w]",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id], kill[i][id]);
menu_additem(sMenu, Line, String);
}
if(uWeapon[i][id] > stattrack[i][id])
{
new dsa = uWeapon[i][id]-stattrack[i][id]
num_to_str(i, String, 31);
formatex(Line, charsmax(Line), "%s%L",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(sMenu, Line, String);
}
All++;
}
if(All == 0)
{
MenuMod[id] = 0;
Menu(id);
return 1;
}
menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, sMenu, 0);
}
else if(MenuMod[id] == 2)
{
formatex(Line, charsmax(Line), "%s\r Deschide cutii^nAi %d key", Prefix, pKey[id]);
sMenu = menu_create(Line, "MenuHandler");
for(new i;i<chestcount;i++)
{
new strnumar[16]
num_to_str(i,strnumar,15)
formatex(Line, charsmax(Line), "%s \r| \y%d bucati", ChestName[i],Chestp[id][i]);
menu_additem(sMenu, Line, strnumar);
}
menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, sMenu, 0);
}
else if(MenuMod[id] == 3)
{
formatex(Line, charsmax(Line), "%s\r %L %L",
Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
new String[32], All;
if(!inMarket[id])
{
for(new i = 1; i < AllWeapon; i++)
{
new der = i+500
if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
All++;
}
else if(der == WeaponinMarket[id] && uWeapon[i][id] > 0)
{
formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
All++;
}
}
if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
{
formatex(Line, charsmax(Line), "\rItem:\d %s^n\yPret:\d %d", ChestName[WeaponinMarket[id]-103],MarketPoints[id]);
All++;
}
if(102 == WeaponinMarket[id] && pKey[id] > 0)
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]);
All++;
}
if(All == 0)
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACECH");
menu_additem(sMenu, Line, "-1");
}
if(!inMarket[id])
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "TOMARKETM");
else
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "BACKMARKET");
menu_additem(sMenu, Line, "0");
new Name[32];
for(new x; x < 32; x++)
{
if(!is_user_connected(x)||!Loged[x])
continue;
if(inMarket[x] && MarketPoints[x] > 0)
{
num_to_str(x, String, 31);
get_user_name(x, Name, 31);
if(103 <= WeaponinMarket[x] && 113 >= WeaponinMarket[x])
{
formatex(Line, charsmax(Line), "\r%s \d|\y %s \d| \rCost:\y %d", Name, ChestName[WeaponinMarket[x]-103], MarketPoints[x]);
menu_additem(sMenu, Line, String);
}
else if(102 == WeaponinMarket[x])
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]);
menu_additem(sMenu, Line, String);
}
else
{
for(new i = 1; i < AllWeapon; i++)
{
new der = i+500
if(i == WeaponinMarket[x])
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
menu_additem(sMenu, Line, String);
}
else if(der == WeaponinMarket[x])
{
WeaponinMarket[x] = i
formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
menu_additem(sMenu, Line, String);
WeaponinMarket[x] = der
}
}
}
}
}
menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, sMenu, 0);
}
else if(MenuMod[id] == 4)
{
trade(id);
return 1;
}
else if(MenuMod[id] == 5)
{
formatex(Line, charsmax(Line), "%s\r %L %L",
Prefix, LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
new All, Name[32], String[32];
get_user_name(aTarget[id], Name, 31);
if(aTarget[id] > 0 && is_user_connected(aTarget[id]))
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "GIFTT", Name);
menu_additem(sMenu, Line, "-1");
for(new i = 1; i < AllWeapon; i++)
{
new der = i+500
if(i == aThing[id] && uWeapon[i][id] > 0)
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "GIFTS", WeaponNames[i]);
menu_additem(sMenu, Line, "-2");
All++;
}
else if(der == aThing[id] && uWeapon[i][id] > 0)
{
formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "GIFTS", WeaponNames[i]);
All++;
}
}
if(aThing[id] == 0 && All == 0)
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "GIFTCH");
menu_additem(sMenu, Line, "-2");
}
else if(aThing[id] > 100)
{
if(103 <= aThing[id] && 113 >= aThing[id])
{
formatex(Line, charsmax(Line), "\rCadou:\d %s",ChestName[aThing[id]-103]);
}
if(102 == aThing[id])
{
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "GIFTK");
}
menu_additem(sMenu, Line, "-2");
}
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "GIFTPOINTS", aPoints[id]);
menu_additem(sMenu, Line, "-4");
formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SENDGIFT");
menu_additem(sMenu, Line, "-3");
}
else
{
for(new i; i < 32; i++)
{
if(is_user_connected(i) && i != id && Loged[i])
{
get_user_name(i, Name, 31);
num_to_str(i, String, 31);
menu_additem(sMenu, Name, String);
}
}
}
menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, sMenu, 0);
}
else if(MenuMod[id] == 6)
{
if(!ruleta)
{
if(!is_user_alive(id))
ruletta(id)
else
print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix);
}
return 1;
}
else if(MenuMod[id] == 7)
{
if(!jackpot)
{
if(!is_user_alive(id))
jackkpot(id)
else
print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul!t cand esti !gVIU!",Prefix);
}
return 1;
}
else if(MenuMod[id] == 8)
{
bet(id)
return 1;
}
else if(MenuMod[id] == 9)
{
contract(id)
return 1;
}
else if(MenuMod[id] == 10)
{
sterge(id)
return 1;
}
else if(MenuMod[id] == 11)
{
if(!is_user_alive(id))
{
crashi[id] = 1
}
else
print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix);
}
else if(MenuMod[id] == 12)
{
if(!is_user_alive(id))
{
coinflip(id)
}
else
print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix);
}
else if(MenuMod[id] == 13)
{
if(!PromoUse[id])
{
client_cmd(id, "messagemode PromoCode");
}
else
print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix);
}
else if(MenuMod[id] == 14)
{
ShopTagMenu(id)
return 1;
}
return PLUGIN_CONTINUE
}
public MenuHandler(id, gMenu, Key)
{
hide(mure)
if(Key == MENU_EXIT)
{
menu_destroy(gMenu);
return PLUGIN_HANDLED;
}
new aMenu[2], Data[6][32], sKey[32], Name[32], mName[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
if(MenuMod[id] == -2)
{
aThing[id] = Key;
MenuMod[id] = 5;
Menu(id);
return PLUGIN_HANDLED;
}
else if(MenuMod[id] == -1)
{
WeaponinMarket[id] = Key;
client_cmd(id, "messagemode Cost");
MenuMod[id] = 3;
Menu(id);
return PLUGIN_HANDLED;
}
else if(MenuMod[id] == 0)
{
if(Key == 4)
{
trade(id)
return PLUGIN_HANDLED;
}
MenuMod[id] = Key;
Menu(id);
}
else if(MenuMod[id] == 1)
{
parse(Data[0], Data[2], 31, Data[3], 31);
if(str_to_num(Data[3]) == FAMAS)
UsingWeapon[0][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == USP)
UsingWeapon[1][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == GLOCK18)
UsingWeapon[2][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == AWP)
UsingWeapon[3][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == MP5NAVY)
UsingWeapon[4][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == M3)
UsingWeapon[5][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == M4A1)
UsingWeapon[6][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == DEAGLE)
UsingWeapon[7][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == AK47)
UsingWeapon[8][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == KNIFE)
UsingWeapon[9][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == P90)
UsingWeapon[10][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == SCOUT)
UsingWeapon[11][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == AUG)
UsingWeapon[12][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == UMP45)
UsingWeapon[13][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == XM1014)
UsingWeapon[14][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == SG550)
UsingWeapon[15][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == SG552)
UsingWeapon[16][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == G3SG1)
UsingWeapon[17][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == P228)
UsingWeapon[18][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == GALIL)
UsingWeapon[19][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == M249)
UsingWeapon[20][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == FIVESEVEN)
UsingWeapon[21][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == ELITE)
UsingWeapon[22][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == TMP)
UsingWeapon[23][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == MAC10)
UsingWeapon[24][id] = str_to_num(Data[2]);
Save(id);
}
else if(MenuMod[id] == 2)
{
if(Chestp[id][Key] > 0 && pKey[id] > 0)
{
ChestOpen(id,Key);
Menu(id);
}
}
else if(MenuMod[id] == 3)
{
if(Key == -1)
{
WeaponinMarket[id] = 0;
MarketPoints[id] = 0
MenuMod[id] = -1;
Menu(id);
}
else if(Key == 0)
{
if(inMarket[id] && !round[id])
{
inMarket[id] = false;
WeaponinMarket[id] = 0
MarketPoints[id] = 0
MenuMod[id] = 3
Menu(id)
return PLUGIN_HANDLED;
}
else if(round[id] && inMarket[id])
print_color(id, "!g%s!t Iti poti lua item-ul abia runda viitoare!",Prefix);
else if(MarketPoints[id] > 0)
{
if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
{
get_user_name(id, Name, 31);
print_color(0, "!g%s!t %s!y vinde !g%s!t pentru !g%d !tEURO!",Prefix, Name, ChestName[WeaponinMarket[id]-103], MarketPoints[id]);
inMarket[id] = true;
}
else if(WeaponinMarket[id] == 102)
{
get_user_name(id, Name, 31);
print_color(0, "!g%s!t %s!y vinde o !gcheie !tpentru !g%d !tEURO!",Prefix, Name, MarketPoints[id]);
inMarket[id] = true;
}
else
{
get_user_name(id, Name, 31);
if(WeaponinMarket[id] > 499)
{
WeaponinMarket[id] -= 500
print_color(0, "!g%s%L!y-!gStatTrack",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
WeaponinMarket[id] += 500
}
else
{
print_color(0, "!g%s%L",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
}
inMarket[id] = true;
for(new a = 0; a < WEAPONSKIN; a++)
{
if(WeaponinMarket[id] == UsingWeapon[a][id])
{
UsingWeapon[a][id] = 0
}
}
}
MenuMod[id] = 3
Menu(id)
round[id] = 1
}
}
else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
{
if(Key == id)
{
print_color(id, "!g%s!t Nu poti sa-ti cumperi item-ul tau!",Prefix);
return PLUGIN_HANDLED;
}
get_user_name(Key, Name, 31);
get_user_name(id, mName, 31);
if(103 <= WeaponinMarket[Key] && 113 >= WeaponinMarket[Key])
{
print_color(0, "!g%s!t %s!y a cumparat!t %s!y cu !g%d EURO !yde la !t%s!",Prefix,mName, ChestName[WeaponinMarket[Key]-103], MarketPoints[Key], Name);
Chestp[id][WeaponinMarket[Key]-103]++;
Chestp[Key][WeaponinMarket[Key]-103]--;
}
else if(WeaponinMarket[Key] == 102)
{
print_color(0, "!g%s%L",
Prefix, LANG_SERVER, "BUYMARKETKEY",
mName, MarketPoints[Key], Name);
pKey[id]++;
pKey[Key]--;
}
else if(WeaponinMarket[Key] < 500)
{
print_color(0, "!g%s%L",
Prefix, LANG_SERVER, "BUYMARKETITEM",
mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
uWeapon[WeaponinMarket[Key]][id]++;
uWeapon[WeaponinMarket[Key]][Key]--;
}
else
{
WeaponinMarket[Key] -= 500
print_color(0, "!g%s%L!y-!gStatTrack",
Prefix, LANG_SERVER, "BUYMARKETITEM",
mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
uWeapon[WeaponinMarket[Key]][id]++;
uWeapon[WeaponinMarket[Key]][Key]--;
stattrack[WeaponinMarket[Key]][id]++
stattrack[WeaponinMarket[Key]][Key]--
kill[WeaponinMarket[Key]][Key] = 0
new szWeek[3]
get_time("%w", szWeek, sizeof(szWeek))
coldown[WeaponinMarket[Key]][id] = str_to_num(szWeek)
}
Points[Key] += MarketPoints[Key];
Points[id] -= MarketPoints[Key];
Save(Key);
Save(id);
inMarket[Key] = false;
MarketPoints[Key] = 0;
WeaponinMarket[Key] = 0;
MenuMod[id] = 0;
}
}
else if(MenuMod[id] == 4)
{
trade(id)
}
else if(MenuMod[id] == 5)
{
if(Key == -1)
{
aTarget[id] = 0;
}
if(Key == -2)
{
MenuMod[id] = -2;
}
if(Key == -3)
{
if(aThing[id] != WeaponinMarket[id] && 103 <= aThing[id] && 113 >= aThing[id])
{
Points[aTarget[id]] += aPoints[id];
Points[id] -= aPoints[id];
Chestp[id][aThing[id]-103]--;
Chestp[aTarget[id]][aThing[id]-103]++;
Save(aTarget[id]);
Save(id);
new Name2[32];
get_user_name(aTarget[id], Name2, 31);
get_user_name(id, Name, 31);
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%s !ysi !g%d EURO !t%s!",Prefix, Name, ChestName[aThing[id]-103],aPoints[id], Name2);
log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s> a facut cadou %s si %d EURO lui %s", Prefix, Name, ChestName[aThing[id]-103], aPoints[id], Name2);
MenuMod[id] = 0;
aThing[id] = 0;
aTarget[id] = 0;
aPoints[id] = 0;
}
else if(aThing[id] == 102 && 102 != WeaponinMarket[id])
{
Points[aTarget[id]] += aPoints[id];
Points[id] -= aPoints[id];
pKey[id]--;
pKey[aTarget[id]]++;
Save(aTarget[id]);
Save(id);
new Name2[32];
get_user_name(id, Name, 31);
get_user_name(aTarget[id], Name2, 31);
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou o !gcheie !ysi !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2);
log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s> a facut cadou o cheie si %d EURO lui %s", Prefix, Name, aPoints[id], Name2);
MenuMod[id] = 0;
aThing[id] = 0;
aTarget[id] = 0;
aPoints[id] = 0;
}
else if(aThing[id] > 0)
{
if(aThing[id] < 500)
{
if(uWeapon[aThing[id]][id] > 0 && aThing[id] != WeaponinMarket[id])
{
uWeapon[aThing[id]][aTarget[id]]++;
uWeapon[aThing[id]][id]--;
for(new a = 0; a < WEAPONSKIN; a++)
{
if(aThing[id] == UsingWeapon[a][id])
{
UsingWeapon[a][id] = 0
}
}
Points[aTarget[id]] += aPoints[id];
Points[id] -= aPoints[id];
Save(aTarget[id]);
Save(id);
new Name2[32];
get_user_name(id, Name, 31);
get_user_name(aTarget[id], Name2, 31);
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s> a facut cadou %s si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
MenuMod[id] = 0;
aThing[id] = 0;
aTarget[id] = 0;
aPoints[id] = 0;
}
}
else if(aThing[id] > 500)
{
new as = aThing[id]
aThing[id] -= 500
if(uWeapon[aThing[id]][id] > 0 && (aThing[id] != WeaponinMarket[id]||as != WeaponinMarket[id]))
{
uWeapon[aThing[id]][aTarget[id]]++;
uWeapon[aThing[id]][id]--;
stattrack[aThing[id]][aTarget[id]]++
stattrack[aThing[id]][id]--
kill[aThing[id]][id] = 0
for(new a = 0; a < WEAPONSKIN; a++)
{
if(aThing[id] == UsingWeapon[a][id])
{
UsingWeapon[a][id] = 0
}
}
Points[aTarget[id]] += aPoints[id];
Points[id] -= aPoints[id];
Save(aTarget[id]);
Save(id);
new Name2[32];
get_user_name(id, Name, 31);
get_user_name(aTarget[id], Name2, 31);
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s!y(!gStatTrack!y) !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s> a facut cadou %s(StatTrack) si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
MenuMod[id] = 0;
aThing[id] = 0;
aTarget[id] = 0;
aPoints[id] = 0;
}
}
}
else
{
Points[aTarget[id]] += aPoints[id];
Points[id] -= aPoints[id];
Save(aTarget[id]);
Save(id);
new Name2[32];
get_user_name(id, Name, 31);
get_user_name(aTarget[id], Name2, 31);
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2);
log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s> a facut cadou %d EURO lui %s", Prefix, Name, aPoints[id], Name2);
MenuMod[id] = 0;
aThing[id] = 0;
aTarget[id] = 0;
aPoints[id] = 0;
}
}
if(Key == -4)
{
client_cmd(id, "messagemode Gift");
}
if(Key > 0)
aTarget[id] = Key;
Menu(id);
}
else if(MenuMod[id] == 6)
{
if(!ruleta)
{
if(!is_user_alive(id))
ruletta(id)
else
print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix);
}
}
else if(MenuMod[id] == 7)
{
if(!jackpot)
{
if(!is_user_alive(id))
jackkpot(id)
else
print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul !tcand esti !gVIU!",Prefix);
}
}
else if(MenuMod[id] == 8)
{
bet(id)
}
else if(MenuMod[id] == 9)
{
contract(id)
}
else if(MenuMod[id] == 10)
{
sterge(id)
}
else if(MenuMod[id] == 11)
{
if(!is_user_alive(id))
{
crashi[id] = 1
}
else
print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix);
}
else if(MenuMod[id] == 12)
{
if(!is_user_alive(id))
{
coinflip(id)
}
else
print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix);
}
else if(MenuMod[id] == 13)
{
if(!PromoUse[id])
{
client_cmd(id, "messagemode PromoCode");
}
else
print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix);
}
else if(MenuMod[id] == 14)
{
ShopTagMenu(id)
}
return PLUGIN_CONTINUE;
}
//---------------------------------------Coinflip------------------------//
public coinflip(id)
{
new Line[120];
formatex(Line,119, "\rCoinflip^n");
new cMenu = menu_create(Line, "CoinHandle");
if(coinflippoint[id] == 0 && coinflipstar[id] == -1)
{
formatex(Line,119, "Add bet");
menu_additem(cMenu, Line, "1");
}
else
{
formatex(Line,119, "\dAdd bet");
menu_additem(cMenu, Line, "0");
}
if(coinflippoint[id] > 0 && coinflipstar[id] == -1)
{
formatex(Line,119, "Remove bet");
menu_additem(cMenu, Line, "2");
}
else
{
formatex(Line,119, "\dRemove bet");
menu_additem(cMenu, Line, "0");
}
formatex(Line,119, "List bet");
menu_additem(cMenu, Line, "3");
menu_display(id, cMenu, 0);
}
public CoinHandle(id, gMenu, Key)
{
hide(mure)
if(Key == MENU_EXIT)
{
menu_destroy ( gMenu );
return PLUGIN_HANDLED;
}
new aMenu[2], Data[4][32], sKey[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
if(Key == 1)
{
if(coinflippoint[id] == 0 && coinflipstar[id] == -1)
{
client_cmd(id, "messagemode Coinflip");
}
}
else if(Key == 2)
{
if(coinflippoint[id] > 0 && coinflipstar[id] == -1)
{
Points[id] += coinflippoint[id]
Save(id)
coinflippoint[id] = 0
coinflip(id)
}
}
else if(Key == 3)
{
coinflipi[id] = 1
}
return PLUGIN_CONTINUE;
}
public coinflipss(id,player)
{
if(is_user_connected(player))
{
static Line[120],name[33],Float:time;
if(time == 0.0)
time = get_gametime()
if(coinflipstar[id] > 0)
{
coinflipstart[id]++
if(coinflipstart[id] == 10)
{
coinflipstart[id] = 0
coinflipstar[id]--
}
formatex(Line,119, "\rCoinflip^n\wIncepe in %d secunde",coinflipstar[id]);
}
else
{
formatex(Line,119, "\rCoinflip");
if(coinflipwiner[id] > 0)
coinflipwiner[id]--
}
new cMenu = menu_create(Line, "CoinHandless");
get_user_name(id,name,32)
if(coinflipwin[id] == id)
{
formatex(Line,119, "\r[\y%s\r]",name);
menu_additem(cMenu, Line, "1");
}
else
{
formatex(Line,119, "%s",name);
menu_additem(cMenu, Line, "1");
}
get_user_name(player,name,32)
if(coinflipwin[id] == player)
{
formatex(Line,119, "\r[\y%s\r]",name);
menu_additem(cMenu, Line, "1");
}
else
{
formatex(Line,119, "%s",name);
menu_additem(cMenu, Line, "1");
}
if(time !=get_gametime() && coinflipstar[id] == 0)
{
time = get_gametime()
if(coinflipwin[id] == id && coinflipwiner[id] > 0)
{
coinflipwin[id] = player
coinflipwin[player] = player
}
else if(coinflipwin[id] == player && coinflipwiner[id] > 0)
{
coinflipwin[id] = id
coinflipwin[player] = id
}
else if(coinflipwiner[id] == 0)
{
if(!task_exists(coinflipp[id]+13331) && !task_exists(id+13331))
set_task(1.0,"winer",id+13331)
new name[33]
get_user_name(coinflipwin[id],name,32)
client_cmd(coinflipwin[id], "stopsound")
client_cmd(coinflipwin[id], "mp3 stop")
client_cmd(coinflipwin[id], "spk %s",Sunete[2])
client_cmd((coinflipwin[id] == id ? player : id), "stopsound")
client_cmd((coinflipwin[id] == id ? player : id), "mp3 stop")
client_cmd((coinflipwin[id] == id ? player : id), "spk %s",Sunete[1])
print_color(id, "!g%s!t Castigatorul este !g%s",Prefix,name);
print_color(coinflipp[id], "!g%s!t Castigatorul este !g%s",Prefix,name);
}
}
menu_display(id, cMenu, 0);
}
}
public winer(id)
{
id -= 13331
Points[coinflipwin[id]] += coinflippoint[id]*2
Save(id)
Save(coinflipp[id])
coinflippoint[coinflipp[id]] = 0
coinflippoint[id] = 0
coinflipwiner[id] = 0
coinflipwiner[coinflipp[id]] = 0
coinflipwin[id] = 0
coinflipwin[coinflipp[id]] = 0
coinflipi[id] = 0
coinflipi[coinflipp[id]] = 0
coinflipstart[id] = -1
coinflipstart[coinflipp[id]] = -1
coinflipstar[id] = -1
coinflipstar[coinflipp[id]] = -1
coinflipp[coinflipp[id]] = 0
coinflipp[id] = 0
}
public CoinHandless(id, gMenu, Key) return PLUGIN_CONTINUE;
public coinflips(id)
{
static Line[120],i,All,name[33],String[8];
All = 0
formatex(Line,119, "\rCoinflip^n");
new cMenu = menu_create(Line, "CoinHandles");
formatex(Line,119, "Exit");
menu_additem(cMenu, Line, "0");
for(i=0;i<32;i++)
{
if(is_user_connected(i))
{
if(coinflippoint[i] > 0 && coinflipstar[i] == -1 && i == id)
{
get_user_name(i,name,32)
formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name);
menu_additem(cMenu, Line, "-1");
All++
}
else if(coinflippoint[i] > 0 && coinflipstar[i] == -1)
{
num_to_str(i, String, 8);
get_user_name(i,name,32)
formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name);
menu_additem(cMenu, Line, String);
All++
}
}
}
if(All == 0)
{
formatex(Line,119, "Momentan nu a pariat nimeni la coinflip");
menu_additem(cMenu, Line, "-1");
}
menu_display(id, cMenu, 0);
}
public CoinHandles(id, gMenu, Key)
{
hide(mure)
new aMenu[2], Data[4][32], sKey[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
if(Key == 0)
{
if(coinflipstar[id] == -1)
{
coinflipi[id] = 0
}
}
else if(Key > 0)
{
if(Points[id] >= coinflippoint[Key] && coinflipstar[id] == -1 && coinflipstar[Key] == -1 && coinflippoint[id] == 0)
{
Points[id] -= coinflippoint[Key]
Save(id)
coinflippoint[id] = coinflippoint[Key]
coinflipstar[id] = 10
coinflipstar[Key] = 10
coinflipp[id] = Key
coinflipp[Key] = id
new a = random_num(50,70)
coinflipwiner[id] = a
coinflipwiner[Key] = a
coinflipwin[id] = Key
coinflipwin[Key] = Key
coinflipi[id] = 2
coinflipi[Key] = 2
}
}
return PLUGIN_CONTINUE;
}
//---------------------------------------Crash---------------------------//
public Coinflipbet(id)
{
hide(mure)
if(coinflippoint[id] != 0||coinflipstar[id] != -1)
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost > Points[id] || Cost < 500)
{
client_cmd(id, "messagemode Coinflip");
return PLUGIN_HANDLED;
}
else
{
coinflippoint[id] = Cost;
Points[id] -= Cost
Save(id)
coinflipstar[id] = -1
coinflip(id)
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public Crashbet(id)
{
hide(mure)
if(crashpoint[id] > 0||crashstart == 1)
return PLUGIN_HANDLED;
new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);
Cost = str_to_num(Data);
if(Cost > Points[id] || Cost < 100)
{
client_cmd(id, "messagemode Crash");
return PLUGIN_HANDLED;
}
else
{
crashpoint[id] = Cost;
Points[id] -= Cost
Save(id)
if(crashstart == 0)
{
print_color(id, "!g%s!t Crash-ul !ya inceput!Pariaza rapid!!!!",Prefix);
crashstart = 15
}
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public AutoCrashbet(id)
{
hide(mure)
if(crashpoint[id] > 0||crashstart == 1)
return PLUGIN_HANDLED;
new Data[32]
read_args(Data, 31);
remove_quotes(Data);
new a
for(new i;i<strlen(Data);i++)
{
if(a == 1)
{
Data[i+1] = '^0'
break
}
if(Data[i] == '.')
a = 1
}
if(equal(Data,"1")||equal(Data,"1.0"))
{
formatex(crashauto[id],8,"1.0")
return 1;
}
new Float:Cost = str_to_float(Data)
Cost+=0.000001
if(Cost < 1.1)
{
client_cmd(id, "messagemode AutoCrash");
return PLUGIN_HANDLED;
}
else
{
formatex(crashauto[id],8,Data)
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public crashhh()
{
static i,a,b,c,d,e,f,g,h,j,k[8],z,w
a = 0
b = 0
z = 0
float_to_str(crashtime,k,7)
for(w = 0;w<strlen(k);w++)
{
if(z == 1)
{
k[w+1] = '^0'
break
}
if(k[w] == '.')
z = 1
}
for(i=0;i<32;i++)
{
if(is_user_connected(i))
{
if(crashstart == 0)
{
crashpoint[i] = 0
}
else if(crashpoint[i] > 0)
{
a+=crashpoint[i]
b++
if(equal(crashauto[i],k) && crashtime > 1.0)
{
new Float:z = float(crashpoint[i])*crashtime
Points[i] += floatround(z)
crashwin[i] = floatround(z)
crashpoint[i] = -1
Save(i)
}
}
}
}
for(i=0;i<32;i++)
{
if(is_user_connected(i))
{
if(coinflipi[i] == 1)
{
coinflips(i)
}
else if(coinflipi[i] == 2)
{
coinflipss(i,coinflipp[i])
}
if(crashi[i] == 1)
{
crashh(i,a,b)
}
}
}
if(crashstart > 1)
{
c++
if(c == 10)
{
crashstart--
c = 0
if(crashstart == 1)
{
f = random_num(2,5)
h = random_num(8,10)
}
}
}
else if(crashstart == 1)
{
j++
g++
if(g <= f)
{
if(random_float(0.0,20.0) >= 20.0-crashtime)
{
crashstart = -1
e = 0
g = 0
j = 0
}
}
if(e == h && crashstart != -1)
{
crashtime+=0.1
if(crashtime == 1.2)
h = random_num(8,9)
else if(crashtime == 1.5)
h = random_num(6,7)
else if(crashtime == 2.0)
h = random_num(4,5)
else if(crashtime > 2.5)
h = random_num(2,3)
e = 0
}
else if(crashstart != -1)
e++
if(j == 10)
{
j = 0
g = 0
}
}
else if(crashstart == -1)
{
d++
if(d == 50)
{
crashstart = 0
crashtime = 1.0
d = 0
}
}
}
public crashh(id,a,b)
{
static Line[508],String[100];
formatex(Line,507,"")
formatex(String, 99, "\rCrash \w- Pot de \r%d EURO^n",a);
add(Line, 507, String);
formatex(String, 99, "\yParticipanti %d^n",b);
add(Line, 507, String);
if(crashstart == 1)
formatex(String, 99, "X\y%0.1f^n",crashtime);
else if(crashstart > 1)
formatex(String, 99, "\yIncepe in %d secunde^n",crashstart);
else if(crashstart == -1)
formatex(String, 99, "\yCrash la %0.1f^n",crashtime);
else
formatex(String, 99, "Pentru a incepe trebuie sa participe minim 1^n");
add(Line, 507, String)
formatex(String, 99, "%s Auto-Cashout \r",(!equal(crashauto[id],"1.0") ? "ON" : "OFF"));
add(Line, 507, String)
formatex(String, 99, "x%s^n\wPentru a opri Auto-Cashout seteaza valoarea 1^n",crashauto[id]);
add(Line, 507, String)
if(crashpoint[id] > 0 && crashstart == 1)
{
formatex(String, 99, "\yProfit %d^n",floatround(float(crashpoint[id])*crashtime));
add(Line, 507, String)
}
else if(crashpoint[id] == -1)
{
formatex(String, 99, "\yAi scos %d^n",crashwin[id]);
add(Line, 507, String)
}
else if(crashstart == -1 && crashpoint[id] > 0)
{
formatex(String, 99, "\yAi pierdut %d, felicitari :)))^n",floatround(float(crashpoint[id])*crashtime));
add(Line, 507, String)
}
new cMenu = menu_create(Line, "CrashHandle");
if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
{
formatex(Line, 507, "Add bet");
menu_additem(cMenu, Line, "1");
}
else
{
formatex(Line, 507, "\dAdd bet");
menu_additem(cMenu, Line, "0");
}
if(crashpoint[id] > 0 && crashstart == 1)
{
formatex(Line, 507, "Cashout");
menu_additem(cMenu, Line, "2");
}
else
{
formatex(Line, 507, "\dCashout");
menu_additem(cMenu, Line, "0");
}
if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
{
formatex(Line, 507, "Auto-Cashout");
menu_additem(cMenu, Line, "3");
}
else
{
formatex(Line, 507, "\dAuto-Cashout");
menu_additem(cMenu, Line, "0");
}
formatex(Line, 507, "Exit");
menu_additem(cMenu, Line, "4");
menu_setprop( cMenu, MPROP_EXIT, MEXIT_ALL );
menu_setprop( cMenu, MPROP_NEXTNAME, "")
menu_setprop( cMenu, MPROP_BACKNAME, "")
menu_setprop( cMenu, MPROP_EXITNAME, "")
menu_display(id, cMenu, 0);
}
public CrashHandle(id, gMenu, Key)
{
hide(mure)
new aMenu[2], Data[4][32], sKey[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
if(Key == 1)
{
if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
client_cmd(id, "messagemode Crash");
}
else if(Key == 2)
{
if(crashpoint[id] > 0 && crashstart == 1)
{
Points[id] += floatround(float(crashpoint[id])*crashtime)
crashwin[id] = floatround(float(crashpoint[id])*crashtime)
crashpoint[id] = -1
Save(id)
}
}
else if(Key == 3)
{
if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
client_cmd(id, "messagemode AutoCrash");
}
else if(Key == 4)
{
menu_destroy(gMenu);
crashi[id] = 0
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
//---------------------------------------Sterge--------------------------//
public sterge(id)
{
hide(mure)
new zMenu = menu_create("Selecteaza itemul", "stergem");
new String[32], All, Line[128];
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
continue;
if(stattrack[i][id])
{
new bda
bda = i+500
formatex(String, 31, "%d", bda);
formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
menu_additem(zMenu, Line, String);
}
if(uWeapon[i][id] > stattrack[i][id])
{
new dsa = uWeapon[i][id]-stattrack[i][id]
num_to_str(i, String, 31);
formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(zMenu, Line, String);
}
All++;
}
menu_setprop(zMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, zMenu, 0);
}
public stergem(id, gMenu, Key)
{
hide(mure)
if(Key == MENU_EXIT)
{
menu_destroy ( gMenu );
return PLUGIN_HANDLED;
}
new aMenu[2], Data[4][32], sKey[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
continue;
if(Key == i)
{
uWeapon[i][id]--
print_color(id, "!g%s!t Ai sters skinul !g%s!t!",Prefix, WeaponNames[i]);
}
else if(Key == i+500)
{
uWeapon[i][id]--
stattrack[i][id]--
print_color(id, "!g%s!t Ai sters skinul !g%s(StatTrack)!t!",Prefix, WeaponNames[i]);
}
Save(id)
}
return PLUGIN_CONTINUE;
}
//--------------------------------------Contract-----------------------------------//
public contract(id)
{
hide(mure)
new All, Alls, String[32],Line[128];
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1|| WeaponDrop[i] <= 10)
continue;
All += uWeapon[i][id]-stattrack[i][id];
Alls += stattrack[i][id];
}
if(tradeup[id] > 0)
All += tradeup[id]
if(All < 10 && Alls < 10)
{
if(Alls > 0)
print_color(id, "!g%s!t Ai nevoie de 10 skinuri iar tu ai %d si %d stattrack!",Prefix,All,Alls);
else
print_color(id, "!g%s!t Ai nevoie de 10 skinuri iar tu ai %d!",Prefix,All);
MenuMod[id] = 0
Menu(id)
return 1;
}
All = 0
new fol[MAX+1]
new fol2[MAX+1]
if(tradeup[id] > 0)
formatex(Line, 127, "Trade Up Contract [%d/10]^nPress 0 for cancel contract",tradeup[id]);
else if(tradeups[id] >0)
formatex(Line, 127, "Trade Up Contract [%d/10]^nPress 0 for cancel contract",tradeups[id]);
else
formatex(Line, 127, "Trade Up Contract [0/10]^nPress 0 for cancel contract");
new Menu = menu_create(Line, "tradeupm");
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1|| WeaponDrop[i] <= 10)
continue;
if(tradeup[id] != 0)
{
for(new a = 0; a < tradeup[id]; a++)
{
new dsaa = uWeapon[i][id]-stattrack[i][id]
if(dsaa && fol[i] == 0)
{
num_to_str(i, String, 31);
formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsaa);
menu_additem(Menu, Line, String);
fol[i] = 1
}
}
}
else if(tradeups[id] != 0)
{
for(new a = 0; a < tradeups[id]; a++)
{
new dre = i+500
if(stattrack[i][id] && fol2[i] == 0)
{
formatex(String, 31, "%d", dre);
formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
menu_additem(Menu, Line, String);
fol2[i] = 1
}
}
}
else
{
if(stattrack[i][id])
{
new bda
bda = i+500
formatex(String, 31, "%d", bda);
formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
menu_additem(Menu, Line, String);
}
if(uWeapon[i][id] > stattrack[i][id])
{
new dsa = uWeapon[i][id]-stattrack[i][id]
num_to_str(i, String, 31);
formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(Menu, Line, String);
}
}
}
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu, 0);
return 0;
}
public tradeupm(id, gMenu, Key)
{
hide(mure)
if(Key == MENU_EXIT)
{
menu_destroy ( gMenu );
if(tradeup[id] != 0 && !task_exists(id+54354))
{
for(new i = 1; i < AllWeapon; i++)
{
for(new a = 0; a < tradeup[id]; a++)
{
if(contr[a][id] == i)
{
uWeapon[i][id]++
}
if(contr[a][id] == i+500)
{
uWeapon[i][id]++
stattrack[i][id]++
}
}
}
}
MenuMod[id] = 0
Menu(id)
tradeup[id] = 0
tradeups[id] = 0
Save(id)
return PLUGIN_HANDLED;
}
new aMenu[2], Data[4][32], sKey[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
if(tradeup[id] < 10)
{
if(Key < 500)
{
contr[tradeup[id]][id] = Key
uWeapon[Key][id]--
tradeup[id]++;
contract(id);
}
else
{
contr[tradeup[id]][id] = Key
new a = Key-500
uWeapon[a][id]--
stattrack[a][id]--
tradeups[id]++;
contract(id);
}
if(tradeup[id] == 10||tradeups[id] == 10)
gocontract(id)
Save(id)
}
else
contract(id);
Save(id);
return PLUGIN_CONTINUE;
}
public gocontract(id)
{
hide(mure)
client_print(id, print_center, "Trade Up Contract procesare ...")
set_task(3.0, "pickup", id+54354)
}
public pickup(id)
{
hide(mure)
id -= 54354
new b,c,e,All
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0)
continue;
for(new a = 0; a < tradeup[id]; a++)
{
if(contr[a][id] == i||contr[a][id] == i+500)
{
b += WeaponDrop[i]
}
}
}
c = random_num(1, 8)
new dasd = random_num(0,1)
if(c == 4)
{
if(dasd)
c++
else
c--
}
else if(c == 6)
{
if(dasd)
c++
else
c--
}
for(new i = 1; i < AllWeapon; i++)
{
if(All)
continue;
e = WeaponDrop[i]
if(c == e)
{
new name[32]
get_user_name(id, name, 31)
if(tradeups[id] > 0)
{
uWeapon[i][id]++
stattrack[i][id]++
print_color(0, "!g[CS:GO] !tPlayerul !g%s !ta facut un contract si a obtinut %s(StatTrack)", name, WeaponNames[i]);
}
else
{
uWeapon[i][id]++
print_color(0, "!g[CS:GO] !tPlayerul !g%s !ta facut un contract si a obtinut %s", name, WeaponNames[i]);
}
All++
client_cmd(id, "stopsound")
client_cmd(id, "mp3 stop")
client_cmd(id, "spk %s",Sunete[3])
}
}
for(new a = 0; a < tradeup[id]; a++)
{
contr[a][id] = 0
}
Save(id);
tradeup[id] = 0
tradeups[id] = 0
MenuMod[id] = 0
Menu(id)
}
//-----------------------------------------Bet----------------------------------//
public bet(id)
{
hide(mure)
if(pbet[id])
{
print_color(id, "!g%s!t Ai pariat deja pe echipa %s!",Prefix,TeamNames[pbet[id]]);
MenuMod[id] = 0
Menu(id)
return 1;
}
if(bround > 4)
{
print_color(id, "!g%s!t Nu mai poti paria pe echipe!",Prefix);
MenuMod[id] = 0
Menu(id)
return 1;
}
new Menu = menu_create("Bet Team", "betm");
menu_additem(Menu, "Terrorist", "0");
menu_additem(Menu, "Counter-Terrorist", "1");
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu, 0);
return 0;
}
public betm(id, menu, item)
{
hide(mure)
if( item == MENU_EXIT || bround > 4)
{
menu_destroy ( menu );
MenuMod[id] = 0
Menu(id)
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key)
{
case 0:
{
print_color(id, "!g%s!t Scrie suma pe care pariezi!",Prefix);
client_cmd(id, "messagemode T");
}
case 1:
{
print_color(id, "!g%s!t Scrie suma pe care pariezi!",Prefix);
client_cmd(id, "messagemode CT");
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
//------------------------------------JackPot-------------------------------------------//
public jackkpot(id)
{
hide(mure)
new Line[128]
if(inJack[id])
{
if(playj >= 2 && secs >= 10)
formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y10%%\w]^nJackpot-ul porneste in %d secunde", secs);
else
formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y10%%\w]^n^nAsteptam decizia...");
}
else
{
if(playj >= 2 && secs >= 10)
formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y0\w]^nJackpot-ul porneste in %d secunde", secs);
else
formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y0\w]^nAsteptam decizia...");
}
new Menu = menu_create(Line, "JackpotHandlers");
if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
{
formatex(Line, 127, "Add item");
menu_additem(Menu, Line, "0");
}
else
{
formatex(Line, 127, "Add item%L", LANG_SERVER, "INMARKET");
menu_additem(Menu, Line, "-2");
}
formatex(Line, 127, "Refresh");
menu_additem(Menu, Line, "-1");
new Name[32], String[32];
for(new x; x < 32; x++)
{
if(!is_user_connected(x))
continue;
if(inJack[x])
{
num_to_str(x, String, 31);
get_user_name(x, Name, 31);
if(103 <= jack[x] && 113 >= jack[x])
{
formatex(Line, 127, "%s\y[%s]", ChestName[jack[x]-103],Name);
menu_additem(Menu, Line, String);
}
else if(102 == jack[x])
{
formatex(Line, 127, "Key\y[%s]", Name);
menu_additem(Menu, Line, String);
}
else if(jack[x] > 0)
{
if(jack[x] < 500)
{
formatex(Line, 127, "%s\r\B[%s]", WeaponNames[jack[x]], Name);
menu_additem(Menu, Line, String);
}
else if(jack[x] > 500)
{
formatex(Line, 127, "%s\w-\rStatTrack\r\B[%s]", WeaponNames[jack[x]-500], Name);
menu_additem(Menu, Line, String);
}
}
}
}
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
viewj[id] = 1
}
public JackpotHandlers(id, menu, item)
{
hide(mure)
if( item == MENU_EXIT || jackpot)
{
menu_destroy ( menu );
MenuMod[id] = 0
Menu(id)
viewj[id] = 0
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key)
{
case -1:
{
jackkpot(id);
}
case 0:
{
if(jack[id] == 0)
addjack(id);
else
jackkpot(id);
}
default:
{
jackkpot(id)
}
}
return PLUGIN_HANDLED;
}
public addjack(id)
{
hide(mure)
new Line[128]
formatex(Line, 127, "%s\r Alege un item pentru jackpot",Prefix);
new Menu = menu_create(Line, "AddHandlert");
new All, String[32];
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
continue;
if(stattrack[i][id])
{
new bda
bda = i+500
formatex(String, 31, "%d", bda);
formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
menu_additem(Menu, Line, String);
}
if(uWeapon[i][id] > stattrack[i][id])
{
new dsa = uWeapon[i][id]-stattrack[i][id]
num_to_str(i, String, 31);
formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(Menu, Line, String);
}
All++;
}
for(new i;i<chestcount;i++)
{
if(Chestp[id][i] > 0)
{
formatex(Line, charsmax(Line), "\r%s", ChestName[i]);
new calcul = -2-i
new numars[16]
num_to_str(calcul,numars,15)
menu_additem(Menu, Line, numars);
All++;
}
}
if(pKey[id] > 0)
{
formatex(Line, 127, "Cheie");
menu_additem(Menu, Line, "-1");
All++;
}
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
if(All == 0)
{
print_color(id, "!g%s!y Nu ai nici un obiect!",Prefix);
jackkpot(id);
}
}
public AddHandlert(id, gMenu, Key)
{
hide(mure)
if(Key == MENU_EXIT||playj == 10)
{
menu_destroy ( gMenu );
jackkpot(id);
return PLUGIN_HANDLED;
}
new aMenu[2], Data[4][32], sKey[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
if(Key <= -2)
{
Key+= 2
Key*= -1
jack[id] = 103+Key
jackkpot(id);
}
else if(Key == -1)
{
jack[id] = 102
jackkpot(id);
}
else
{
if(Key < 500)
{
jack[id] = Key
for(new a = 0; a < WEAPONSKIN; a++)
{
if(jack[id] == UsingWeapon[a][id])
{
UsingWeapon[a][id] = 0
}
}
}
else
{
jack[id] = Key-500
for(new a = 0; a < WEAPONSKIN; a++)
{
if(jack[id] == UsingWeapon[a][id])
{
UsingWeapon[a][id] = 0
}
}
jack[id] += 500
}
jackkpot(id);
}
inJack[id] = 1
itemj[playj] = id
playj++
if(playj >= 2 && secs == 60)
playjack()
return PLUGIN_CONTINUE;
}
public playjack()
{
hide(mure)
secs = 60
print_color(0, "!g%s!t Jackpot-ul a pornit!",Prefix);
set_task(1.0, "CnTT", 1534555, _, _, "b");
}
public CnTT()
{
hide(mure)
if(secs != 0)
{
secs--
}
else
{
remove_task(1534555)
new id = fnGetRandom()
if(!is_user_connected(id))
id = fnGetj()
playj = 0
new Name[32]
get_user_name(id, Name, 31)
print_color(0, "!g%s!t Castigatorul !gjackpot-ului !teste %s!",Prefix, Name);
print_color(0, "!g%s!t Jackpot-ul este !gblocat !tpentru 5 minute!",Prefix);
client_cmd(id, "stopsound")
client_cmd(id, "mp3 stop")
client_cmd(id, "spk %s",Sunete[4])
jackpot = 1
set_task(300.0, "unplayj", 132311)
for(new x; x < 32; x++)
{
if(!is_user_connected(x))
continue;
if(inJack[x])
{
if(103 <= jack[x] && 113 >= jack[x])
{
Chestp[x][jack[x]-103]--
Chestp[id][jack[x]-103]++
}
else if(102 == jack[x])
{
pKey[x]--
pKey[id]++
}
else if(jack[x] < 500)
{
uWeapon[jack[x]][x]--
uWeapon[jack[x]][id]++
}
else if(jack[x] > 500)
{
jack[x] -= 500
uWeapon[jack[x]][x]--
uWeapon[jack[x]][id]++
stattrack[jack[x]][x]--
stattrack[jack[x]][id]++
kill[jack[x]][x] = 0
}
inJack[x] = 0
jack[x] = 0
MenuMod[x] = 0
Menu(id)
Save(x)
Save(id)
}
}
for(new a = 0; a <= playj; a++)
{
if(itemj[a] != 0)
{
itemj[a] = 0
}
}
inJack[id] = 0
jack[id] = 0
Save(id)
}
}
public unplayj()
{
hide(mure)
jackpot = 0
secs = 60
print_color(0, "!g%s!g Jackpot-ul !teste deschis acum!",Prefix);
}
//----------------------------------------------------------Ruleta-------------------------------------------------//
public playruleta()
{
hide(mure)
sec = 60
print_color(0, "!g%s!t Ruleta a pornit!",Prefix);
set_task(1.0, "CnT", 1534554, _, _, "b");
}
public CnT()
{
hide(mure)
if(sec != 0)
{
sec--
if(sec == 1)
{
client_cmd(0, "stopsound")
client_cmd(0, "mp3 stop")
client_cmd(0, "spk %s",Sunete[5])
}
}
else
{
new a = random_num(0,14)
if(a < 8 && a > 0)
{
formatex(nr[6], 7, "%s", nr[5]);
formatex(nr[5], 7, "%s", nr[4]);
formatex(nr[4], 7, "%s", nr[3]);
formatex(nr[3], 7, "%s", nr[2]);
formatex(nr[2], 7, "%s", nr[1]);
formatex(nr[1], 7, "%s", nr[0]);
formatex(nr[0], 7, "\r%d",a);
for(new i; i < 32; i++)
{
if(is_user_connected(i))
{
Rosu[i] *= 2
Galben[i] = 0
Gri[i] = 0
Points[i] += Rosu[i]+Galben[i]+Gri[i]
Rosu[i] = 0
Save(i)
}
}
print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Rosu!y!",Prefix, a);
}
else if(a > 7 && a < 15)
{
formatex(nr[6], 7, "%s", nr[5]);
formatex(nr[5], 7, "%s", nr[4]);
formatex(nr[4], 7, "%s", nr[3]);
formatex(nr[3], 7, "%s", nr[2]);
formatex(nr[2], 7, "%s", nr[1]);
formatex(nr[1], 7, "%s", nr[0]);
formatex(nr[0], 7, "\d%d",a);
for(new i; i < 32; i++)
{
if(is_user_connected(i))
{
Rosu[i] = 0
Galben[i] = 0
Gri[i] *= 2
Points[i] += Rosu[i]+Galben[i]+Gri[i]
Gri[i] = 0
Save(i)
}
}
print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Gri!y!",Prefix, a);
}
else if(a == 0)
{
formatex(nr[6], 7, "%s", nr[5]);
formatex(nr[5], 7, "%s", nr[4]);
formatex(nr[4], 7, "%s", nr[3]);
formatex(nr[3], 7, "%s", nr[2]);
formatex(nr[2], 7, "%s", nr[1]);
formatex(nr[1], 7, "%s", nr[0]);
formatex(nr[0], 7, "\y%d",a);
for(new i; i < 32; i++)
{
if(is_user_connected(i))
{
Rosu[i] = 0
Galben[i] *= 14
Gri[i] = 0
Points[i] += Rosu[i]+Galben[i]+Gri[i]
Galben[i] = 0
Save(i)
}
}
print_color(0, "!g%s!t Numarul de la ruleta este: !g%d!t Galben!y!",Prefix, a);
}
playr = 0
print_color(0, "!g%s!g Ruleta !teste !ginchisa !tpentru 5 minute!",Prefix);
remove_task(1534554)
ruleta = 1
set_task(300.0, "unplay", 13231)
}
}
public unplay()
{
hide(mure)
ruleta = 0
sec = 60
print_color(0, "!g%s!g Ruleta !teste !gdeschisa !tacum!",Prefix);
}
public ruletta(id)
{
hide(mure)
new Line[128]
if(!Rosu[id] && !Gri[id] && !Galben[id])
{
if(playr >= 2 && sec >= 10)
formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], sec);
else
formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6]);
}
else
{
if(playr >= 2 && sec >= 10)
formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id], sec);
else
formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id]);
}
new Menu = menu_create(Line, "RuletaHandlers");
new a,b,c
for(new i; i < 32; i++)
{
if(is_user_connected(i))
{
a += Rosu[i]
b += Galben[i]
c += Gri[i]
}
}
if(sec >= 10)
{
formatex(Line, 127, "\rRosu \w2x\d(1,2,3,4,5,6,7) \w- %d", a);
menu_additem(Menu, Line, "1");
formatex(Line, 127, "\yGalben \w7x\d(0) \w- %d", b);
menu_additem(Menu, Line, "2");
formatex(Line, 127, "\dGri \w2x\d(7,8,9,10,11,12,13,14) \w- %d", c);
menu_additem(Menu, Line, "3");
}
else
{
formatex(Line, 127, "\dRosu 2x(1,2,3,4,5,6,7) - %d", a);
menu_additem(Menu, Line, "0");
formatex(Line, 127, "\dGalben 7x(0) - %d", b);
menu_additem(Menu, Line, "0");
formatex(Line, 127, "\dGri 2x(7,8,9,10,11,12,13,14) - %d", c);
menu_additem(Menu, Line, "0");
}
menu_additem(Menu, "Refresh", "4");
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
public RuletaHandlers(id, menu, item)
{
hide(mure)
if( item == MENU_EXIT )
{
menu_destroy ( menu );
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key)
{
case 0:
{
print_color(id, "!g%s!t Nu ai EURO pentru ruleta!",Prefix);
}
case 1:
{
client_cmd(id, "messagemode Rosu");
}
case 2:
{
client_cmd(id, "messagemode Galben");
}
case 3:
{
client_cmd(id, "messagemode Gri");
}
case 4:
{
ruletta(id)
}
}
return PLUGIN_HANDLED;
}
//----------------------------------------------------------Trade--------------------------------------------------//
public acctrade(id)
{
hide(mure)
if(!tTarget[id])
return 1;
if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]))
{
return 1;
}
go[id] = 1
go[tTarget[id]] = 1
remove_task(tTarget[id]);
new Name[32], Name2[32];
get_user_name(id, Name, charsmax(Name));
get_user_name(tTarget[id], Name2, charsmax(Name2));
print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2);
print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta pentru !gschimburi de iteme!y !",Prefix, Name);
menu_cancel(id)
menu_cancel(tTarget[id])
totrade(id);
totrade(tTarget[id]);
return 1;
}
public reftrade(id)
{
hide(mure)
if(!tTarget[id])
return 1;
if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]))
{
return 1;
}
go[id] = 0
go[tTarget[id]] = 0
remove_task(tTarget[id]);
invitat[id] = 0;
nosend[tTarget[id]] = true;
new Name[32], Name2[32];
get_user_name(id, Name, charsmax(Name));
get_user_name(tTarget[id], Name2, charsmax(Name2));
print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
print_color(tTarget[id], "!g%s!t %s !ya refuzat sa faca !gschimb de iteme!y cu tine!",Prefix, Name);
tTarget[tTarget[id]] = 0;
tTarget[id] = 0;
return 1;
}
public trade(id)
{
hide(mure)
new Name[32], String[8]
if(invitat[id] && go[id] == 0)
{
new Menu = menu_create("Schimb de iteme", "TradeHandlers");
menu_additem(Menu, "Accepta", "1");
menu_additem(Menu, "Refuza", "2");
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
else if(tTarget[id] == 0)
{
new Menu = menu_create("Alege jucator", "TradeHandler");
for(new i; i < 32; i++)
{
if(is_user_connected(i) && i != id && Loged[i])
{
get_user_name(i, Name, 31);
num_to_str(i, String, 31);
menu_additem(Menu, Name, String);
}
}
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
}
public TradeHandler(id, menu, item)
{
hide(mure)
if( item == MENU_EXIT )
{
menu_destroy ( menu );
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
tTarget[id] = Key;
tTarget[tTarget[id]] = id;
invitat[tTarget[id]] = 1;
nosend[id] = false;
new Names[32], Name2[32];
get_user_name(id, Names, 31);
get_user_name(tTarget[id], Name2, 31);
print_color(id, "!g%s!y Asteapta raspunsul lui !t%s!y!",Prefix, Name2);
print_color(tTarget[id], "!g%s!t %s !yte-a invitat sa faceti !gschimb de iteme!y, scrie in chat: !g/accept !tsau !g/refuz !t!",Prefix, Names);
set_task(15.0, "fararaspuns", id);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public TradeHandlers(id, menu, item)
{
hide(mure)
if( item == MENU_EXIT )
{
menu_destroy ( menu );
remove_task(tTarget[id]);
invitat[id] = 0;
nosend[tTarget[id]] = true;
new Name[32], Name2[32];
get_user_name(id, Name, 31);
get_user_name(tTarget[id], Name2, 31);
print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
tTarget[id] = 0;
tTarget[tTarget[id]] = 0;
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key)
{
case 1:
{
go[id] = 1
go[tTarget[id]] = 1
remove_task(tTarget[id]);
new Name[32], Name2[32];
get_user_name(id, Name, 31);
get_user_name(tTarget[id], Name2, 31);
print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2);
print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta de !ga schimba iteme!y !",Prefix, Name);
totrade(id);
totrade(tTarget[id]);
}
case 2:
{
remove_task(tTarget[id]);
invitat[id] = 0;
nosend[tTarget[id]] = true;
new Name[32], Name2[32];
get_user_name(id, Name, 31);
get_user_name(tTarget[id], Name2, 31);
print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
tTarget[tTarget[id]] = 0;
tTarget[id] = 0;
}
}
return PLUGIN_HANDLED;
}
public totrade(id)
{
hide(mure)
new Line[128]
new cutiute
new a = selectate[id]+selectates[id]+selectatek[id]
for(new i;i<11;i++)
a+=selectatec[id][i]
formatex(Line, 127, "%s\r Schimb de iteme[%d/5]^nApasa tasta 0 cand esti gata",Prefix,a);
tMenu = menu_create(Line, "MenuHandlert");
new All, String[32], fol[MAX+1], fol2[MAX+1];
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
continue;
if(selectate[id] != 0)
{
new dsa = uWeapon[i][id]-stattrack[i][id]
for(new a = 0; a < selectate[id]; a++)
{
if(select[a][id] == i)
{
formatex(Line, 127, "\d%L\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(tMenu, Line, "-1");
}
else
{
fol[i]++
}
}
if(fol[i] == selectate[id] && dsa)
{
new dsa = uWeapon[i][id]-stattrack[i][id]
num_to_str(i, String, 31);
formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(tMenu, Line, String);
}
}
else
{
if(uWeapon[i][id] > stattrack[i][id])
{
new dsa = uWeapon[i][id]-stattrack[i][id]
num_to_str(i, String, 31);
formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
menu_additem(tMenu, Line, String);
}
}
if(selectates[id] != 0)
{
new dre = i+500
for(new a = 0; a < selectates[id]; a++)
{
if(selects[a][id] == dre && stattrack[i][id])
{
formatex(Line, 127, "\d%L\w(\yStatTrack\w)\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
menu_additem(tMenu, Line, "-1");
}
else
{
fol2[i]++
}
}
if(fol2[i] == selectates[id] && stattrack[i][id])
{
formatex(String, 31, "%d", dre);
formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
menu_additem(tMenu, Line, String);
}
}
else
{
if(stattrack[i][id])
{
new bda
bda = i+500
formatex(String, 31, "%d", bda);
formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
menu_additem(tMenu, Line, String);
}
}
All++;
}
for(new i;i<chestcount;i++)
{
if(Chestp[id][i] > 0)
{
if(selectatec[id][i] != 0)
formatex(Line, 127, "%s\r[Ai selectat %d]",ChestName[i],selectatec[id][i]);
else
formatex(Line, 127, "%s",ChestName[i]);
new calcul = 103+i
new numars[16]
num_to_str(calcul,numars,15)
menu_additem(tMenu, Line, numars);
cutiute++
}
}
if(pKey[id] > 0)
{
if(selectatek[id] != 0)
{
formatex(Line, 127, "Cheie\r[Ai selectat %d]",selectatek[id]);
menu_additem(tMenu, Line, "-3");
}
else
{
formatex(Line, 127, "Cheie");
menu_additem(tMenu, Line, "-3");
}
}
if(All == 0 && pKey[id] == 0 && cutiute == 0)
{
new Name[32], Name2[32];
get_user_name(id, Name, 31);
get_user_name(tTarget[id], Name2, 31);
print_color(id, "!g%s!y Nu ai iteme!",Prefix);
print_color(tTarget[id], "!g%s!t %s !ynu are iteme!",Prefix, Name);
return 1;
}
menu_setprop(tMenu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, tMenu, 0);
return 0;
}
public MenuHandlert(id, gMenu, Key)
{
hide(mure)
new a = selectate[id]+selectates[id]+selectatek[id]
for(new i;i<11;i++)
a+=selectatec[id][i]
if(Key == MENU_EXIT)
{
menu_destroy ( gMenu );
if(a == 0)
{
totrade(id);
print_color(id, "!g%s!y Minim 1 item!y!",Prefix);
}
else
{
goready(id)
}
return PLUGIN_HANDLED;
}
new aMenu[2], Data[4][32], sKey[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
parse(Data[0], sKey, 31);
Key = str_to_num(sKey);
if(103 <= Key && 113 >= Key)
{
if(a < 5)
{
if(Chestp[id][Key-103] > selectatec[id][Key-103])
{
selectatec[id][Key-103]++;
}
totrade(id);
}
else
{
goready(id)
}
return PLUGIN_HANDLED;
}
else if(Key == -3)
{
if(a < 5)
{
if(pKey[id] > selectatek[id])
{
selectatek[id]++;
}
totrade(id);
}
else
{
goready(id)
}
return PLUGIN_HANDLED;
}
else if(Key == -1)
{
print_color(id, "!g%s!y Nu poti deselecta iteme!y!",Prefix);
totrade(id);
return PLUGIN_HANDLED;
}
else
{
if(a < 5)
{
if(Key < 500)
{
select[selectate[id]][id] = Key
selectate[id]++;
totrade(id);
}
else
{
selects[selectates[id]][id] = Key
selectates[id]++;
totrade(id);
}
}
else
{
goready(id)
}
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public goready(id)
{
hide(mure)
new a = selectate[id]+selectates[id]+selectatek[id]
new b = selectate[tTarget[id]]+selectates[tTarget[id]]+selectatek[tTarget[id]]
for(new i;i<11;i++)
{
a+=selectatec[id][i]
b+=selectatec[tTarget[id]][i]
}
new Name[32], Name2[32], Line[128];
get_user_name(tTarget[id], Name2, 31);
get_user_name(id, Name, 31);
formatex(Line, 127, "%s\r Schimb de iteme^n\wYou \y[\r%d\w/\r5\y]\d - \w%s \y[\r%d\w/\r5\y]^n\wApasa tasta 0 daca vrei sa accepti/refuzi oferta",Prefix,a,Name2,b);
new Menu = menu_create(Line, "MenuHandlerr");
menu_additem(Menu, "Refresh", "-1");
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
continue;
for(new a = 0; a < selectate[id]; a++)
{
if(select[a][id] == i)
{
formatex(Line, 127, "\r%s\y[%s]", WeaponNames[i], Name);
menu_additem(Menu, Line, "0");
}
}
for(new a = 0; a < selectates[id]; a++)
{
new der = i+500
if(selects[a][id] == der)
{
formatex(Line, 127, "\r%s\y[%s\w-\yStatTrack]", WeaponNames[i], Name);
menu_additem(Menu, Line, "0");
}
}
}
for(new i;i<11;i++)
{
if(selectatec[id][i] > 0)
{
formatex(Line, 127, "\r%d %s\y[%s]", selectatec[id][i], ChestName[i],Name);
menu_additem(Menu, Line, "0");
}
}
if(selectatek[id] > 0)
{
formatex(Line, 127, "\r%d Cheie\y[%s]", selectatek[id], Name);
menu_additem(Menu, Line, "0");
}
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][tTarget[id]] == 0)
continue;
for(new a = 0; a < selectate[tTarget[id]]; a++)
{
if(select[a][tTarget[id]] == i)
{
formatex(Line, 127, "\r%s\y[%s]", WeaponNames[i], Name2);
menu_additem(Menu, Line, "0");
}
}
for(new a = 0; a < selectates[tTarget[id]]; a++)
{
new der = i+500
if(selects[a][tTarget[id]] == der)
{
formatex(Line, 127, "\r%s\y[%s\w-\yStatTrack]", WeaponNames[i], Name2);
menu_additem(Menu, Line, "0");
}
}
}
for(new i;i<11;i++)
{
if(selectatec[tTarget[id]][i] > 0)
{
formatex(Line, 127, "\r%d %s\y[%s]", selectatec[tTarget[id]][i], ChestName[i],Name2);
menu_additem(Menu, Line, "0");
}
}
if(selectatek[tTarget[id]] > 0)
{
formatex(Line, 127, "\r%d Cheie\y[%s]", selectatek[tTarget[id]], Name2);
menu_additem(Menu, Line, "0");
}
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
public MenuHandlerr(id, gMenu, Key)
{
hide(mure)
if(Key == MENU_EXIT)
{
menu_destroy ( gMenu );
vote(id)
return PLUGIN_HANDLED;
}
else
{
goready(id)
}
return PLUGIN_CONTINUE;
}
public vote(id)
{
hide(mure)
new Menu = menu_create("Schimb de iteme^nApasa tasta 0 ca sa raspunzi", "voteHandlers");
menu_additem(Menu, "Accept", "1");
menu_additem(Menu, "Refuz", "2");
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, Menu, 0);
}
public voteHandlers(id, menu, item)
{
hide(mure)
if( item == MENU_EXIT )
{
menu_destroy ( menu );
goready(id)
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, CallBack;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
new Key = str_to_num(Data);
switch(Key)
{
case 1:
{
acc[id] = 1
if(acc[tTarget[id]])
{
new n[32], nn[32]
get_user_name(id, n, 31)
get_user_name(tTarget[id], nn, 31)
log_to_file( "addons/amxmodx/logs/trade.log", "Incepe un trade intre %s si %s", n, nn);
new der
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0)
continue;
der = i+500
for(new r = 0; r < selectate[id]; r++)
{
if(select[r][id] == i)
{
select[r][id] = 0
uWeapon[i][tTarget[id]]++
uWeapon[i][id]--
log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s lui %s", Prefix, n, WeaponNames[i], nn);
for(new a = 0; a < WEAPONSKIN; a++)
{
if(i == UsingWeapon[a][id])
{
UsingWeapon[a][id] = 0
}
}
}
}
for(new r = 0; r < selectates[id]; r++)
{
if(selects[r][id] == der)
{
selects[r][id] = 0
uWeapon[i][tTarget[id]]++
uWeapon[i][id]--
stattrack[i][tTarget[id]]++
stattrack[i][id]--
kill[i][id] = 0
log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s-StatTrack lui %s", Prefix, n, WeaponNames[i], nn);
for(new a = 0; a < WEAPONSKIN; a++)
{
if(i == UsingWeapon[a][id])
{
UsingWeapon[a][id] = 0
}
}
}
}
}
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][tTarget[id]] == 0)
continue;
der = i+500
for(new z = 0; z < selectate[tTarget[id]]; z++)
{
if(select[z][tTarget[id]] == i)
{
select[z][tTarget[id]] = 0
uWeapon[i][id]++
uWeapon[i][tTarget[id]]--
log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s lui %s", Prefix, nn, WeaponNames[i], n);
for(new a = 0; a < WEAPONSKIN; a++)
{
if(i == UsingWeapon[a][tTarget[id]])
{
UsingWeapon[a][tTarget[id]] = 0
}
}
}
}
for(new z = 0; z < selectates[tTarget[id]]; z++)
{
if(selects[z][tTarget[id]] == der)
{
selects[z][tTarget[id]] = 0
uWeapon[i][id]++
uWeapon[i][tTarget[id]]--
stattrack[i][tTarget[id]]--
stattrack[i][id]++
kill[i][tTarget[id]] = 0
log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s-StatTrack lui %s", Prefix, nn, WeaponNames[i], n);
for(new a = 0; a < WEAPONSKIN; a++)
{
if(i == UsingWeapon[a][tTarget[id]])
{
UsingWeapon[a][tTarget[id]] = 0
}
}
}
}
}
for(new i;i<11;i++)
{
if(selectatec[id][i] > 0)
{
Chestp[id][i] -= selectatec[id][i]
Chestp[tTarget[id]][i] += selectatec[id][i]
log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s lui %s", Prefix, n, ChestName[i],nn);
}
if(selectatec[tTarget[id]][i] > 0)
{
Chestp[id][i] += selectatec[tTarget[id]][i]
Chestp[tTarget[id]][i] -= selectatec[tTarget[id]][i]
log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s lui %s", Prefix, nn, ChestName[i], n);
}
}
if(selectatek[id] > 0)
{
pKey[id] -= selectatek[id]
pKey[tTarget[id]] += selectatek[id]
log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat o cheie lui %s", Prefix, n, nn);
}
if(selectatek[tTarget[id]] > 0)
{
pKey[id] += selectatek[tTarget[id]]
pKey[tTarget[id]] -= selectatek[tTarget[id]]
log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat o cheie lui %s", Prefix, nn, n);
}
selectatek[id] = 0
for(new i;i<11;i++)
{
selectatec[id][i] = 0
selectatec[tTarget[id]][i] = 0
}
selectatek[tTarget[id]] = 0
print_color(id, "!g%s!y Schimbul de iteme a fost realizat cu !gsucces!",Prefix);
print_color(tTarget[id], "!g%s!y Schimbul de iteme a fost realizat cu !gsucces!",Prefix);
acc[id] = 0
acc[tTarget[id]] = 0
selectate[id] = 0
selectate[tTarget[id]] = 0
selectates[id] = 0
selectates[tTarget[id]] = 0
invitat[id] = 0;
nosend[tTarget[id]] = true;
go[id] = 0
go[tTarget[id]] = 0
Save(id)
Save(tTarget[id])
tTarget[tTarget[id]] = 0;
tTarget[id] = 0;
log_to_file("addons/amxmodx/logs/trade.log", "Trade incheiat");
}
else
{
new Name[32], Name2[32];
get_user_name(id, Name, 31);
get_user_name(tTarget[id], Name2, 31);
print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y!",Prefix, Name2);
print_color(tTarget[id], "!g%s!t %s !ya acceptat !goferta ta!y si te asteapta si pe tine sa o accepti pe a lui!",Prefix, Name);
}
}
case 2:
{
nosend[tTarget[id]] = true;
nosend[id] = true;
new Name[32], Name2[32];
get_user_name(id, Name, 31);
get_user_name(tTarget[id], Name2, 31);
print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
acc[id] = 0
acc[tTarget[id]] = 0
invitat[id] = 0;
nosend[tTarget[id]] = true;
tTarget[tTarget[id]] = 0;
tTarget[id] = 0;
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public fararaspuns(id)
{
hide(mure)
new Name2[32];
get_user_name(tTarget[id], Name2, 31);
print_color(id, "!g%s!t %s!y nu ti-a raspuns la timp!",Prefix, Name2);
tTarget[id] = 0;
}
public ShopTagMenu(id)
{
new menu, szText[128];
formatex(szText, charsmax(szText), "%s\r Shop Chat Tag %L",Prefix, LANG_SERVER, "YPOINT", Points[id])
menu = menu_create(szText, "ShopMenuHandler");
menu_additem(menu, "\wCumpara|Schimba Chat Tag\y (\r10000 Euro\y)");
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public ShopMenuHandler ( id, Menu, Item )
{
if( Item == MENU_EXIT )
{
menu_destroy ( Menu );
return PLUGIN_HANDLED;
}
if ( cBuyTag > Points [id] )
{
print_color ( id, "!g%s!t Nu ai destule puncte pentur a cumpara Chat Tag,ai nevoie de !g%d", Prefix, cBuyTag - Points [id] );
ShopTagMenu ( id );
return PLUGIN_CONTINUE;
}
print_color( id, "!g%s!t Scrie Chat Tag-ul pe care il dorestii", Prefix );
client_cmd ( id, "messagemode UserTag" );
Points [id] -= cBuyTag;
Save(id);
return PLUGIN_CONTINUE;
}
public bomb_planted(iPlanter)
g_iBombPlanter = iPlanter
// ===============================================================================
// bomb_explode - Called when the Bomb exploded
// ===============================================================================
public bomb_explode(iPlanter, iDefuser)
{
g_bBombExploded = true
ShowMVPMessage(g_iBombPlanter, 3)
}
// ===============================================================================
// bomb_defused - Called when the Bomb was defused
// ===============================================================================
public bomb_defused(iDefuser)
g_iBombDefuser = iDefuser
// ===============================================================================
// GetTopKiller - Returns the id of the player who made the most kills
// ===============================================================================
public GetTopKiller(iTeam) // 1 : Terrorist - 2 : Counter-Terrorists
{
new iPlayers[32], iPlayersnum;
get_players(iPlayers, iPlayersnum, "e", iTeam == 1 ? "TERRORIST" : "CT")
SortCustom1D(iPlayers, iPlayersnum, "SortByKills")
return iPlayers[0]
}
public SortByKills(elem1, elem2)
{
if ( g_iEnemiesKilled[elem1] > g_iEnemiesKilled[elem2] )
return -1
else if ( g_iEnemiesKilled[elem1] < g_iEnemiesKilled[elem2] )
return 1
return 0
}
// ===============================================================================
// GetTopRescuer - Returns the id of the player who rescued the most hostages
// ===============================================================================
public GetTopRescuer() // 1 : Terrorist - 2 : Counter-Terrorists
{
new iPlayers[32], iPlayersnum;
get_players(iPlayers, iPlayersnum, "e", "CT")
SortCustom1D(iPlayers, iPlayersnum, "SortByHostages")
return iPlayers[0]
}
public SortByHostages(elem1, elem2)
{
if ( g_iHostagesRescued[elem1] > g_iHostagesRescued[elem2] )
return -1
else if ( g_iHostagesRescued[elem1] < g_iHostagesRescued[elem2] )
return 1
return 0
}
public Event_RoundWon_T()
{
set_task(CHECK_DELAY, "CheckTConditions")
}
public CheckTConditions()
{
if(g_iBombPlanter != NO_BOMB_PLANTED && g_bBombExploded == false)
{
new iTopKiller = GetTopKiller(1)
ShowMVPMessage(iTopKiller, 1)
return PLUGIN_HANDLED
}
/*new iTopKiller = GetTopKiller(1)
ShowMVPMessage(iTopKiller, 1)*/
return PLUGIN_HANDLED
}
// ===============================================================================
// Event_RoundWon_CT - Called when the Counter-Terrorists when the Round
// ===============================================================================
public Event_RoundWon_CT()
{
set_task(CHECK_DELAY, "CheckCTConditions")
}
public CheckCTConditions()
{
if(g_iBombDefuser != NO_BOMB_DEFUSED)
{
ShowMVPMessage(g_iBombDefuser, 2)
return PLUGIN_HANDLED
}
if(g_bAllHostagesRescued)
{
new iTopRescuer = GetTopRescuer()
ShowMVPMessage(iTopRescuer, 4)
return PLUGIN_HANDLED
}
new iTopKiller = GetTopKiller(2)
ShowMVPMessage(iTopKiller, 1)
return PLUGIN_HANDLED
}
// ===============================================================================
// Event_AllHostagesRescued - Called when ALL Hostages were rescued
// ===============================================================================
public Event_AllHostagesRescued()
{
g_bAllHostagesRescued = true
new iTopRescuer = GetTopRescuer()
ShowMVPMessage(iTopRescuer, 4)
}
// ===============================================================================
// Event_HostageRescued - Called when ONE Hostage was rescued
// ===============================================================================
public Event_HostageRescued()
{
static szLog[80], szName[32], id
read_logargv(0, szLog, charsmax(szLog))
parse_loguser(szLog, szName, charsmax(szName))
id = get_user_index(szName)
g_iHostagesRescued[id]++
}
// ===============================================================================
// ShowMVPMessage - Shows the Director HUD Message
// ===============================================================================
public ShowMVPMessage(iMVP, iReason) // 1 : Kills - 2 : Bomb defused - 3 : Bomb exploded - 4 : Hostage rescued
{
new szMVPName[33]
get_user_name(iMVP, szMVPName, charsmax(szMVPName))
set_dhudmessage(0, 255, 0, -1.0, 0.15, 0, 6.0, 12.0)
switch(iReason)
{
case 1: show_dhudmessage(0, "MVP : %s for making the most kills this round.", szMVPName)
case 2: show_dhudmessage(0, "MVP : %s for defusing the Bomb.", szMVPName)
case 3: show_dhudmessage(0, "MVP : %s for planting the Bomb.", szMVPName)
case 4: show_dhudmessage(0, "MVP : %s for rescuing %i Hostages.", szMVPName, g_iHostagesRescued[iMVP])
}
}
//------------------------------------------------------------Intrare pe sv--------------------------------------------------------//
public client_putinserver(id)
{
hide(mure)
g_restart_attempt[id] = false
g_HideGiveClips[id] = false
g_FirstSpawn[id] = true
g_LastMessage[id] = 0
g_LastWeapPickup[id] = 0
g_Spawned[id] = false
g_BoughtWeapon[id] = 0
PlayerHasTag [id] = false;
LoadUserTag ( id );
for(new i; i < 11; i++)
Chestp[id][i] = 0
set_task(1.0, "hudus", id+33333, _, _, "b")
new name[33]
get_user_name(id,name,32)
formatex(PreNume[id],32,"")
for(new i;i<precount;i++)
if(equal(PreName[i],name))
formatex(PreNume[id],32,"^4[^3%s^4]",PreNameP[i])
Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, crashpoint[id] = 0, crashi[id] = 0;
coinflipi[id] = 0, coinflipstar[id] = -1, coinflipstart[id] = 0, coinflippoint[id] = 0, coinflipp[id] = 0, coinflipwiner[id] = 0, coinflipwin[id] = 0, PromoUse[id] = 0
formatex(crashauto[id],8,"1.0")
for(new i = 1; i < AllWeapon; i++)
{
kill[i][id] = 0
stattrack[i][id] = 0
uWeapon[i][id] = 0;
coldown[i][id] = -1
}
for(new a = 0; a < WEAPONSKIN; a++)
{
UsingWeapon[a][id] = 0
}
for(new z = 0; z < selectate[id]; z++)
{
select[z][id] = 0
}
selectate[id] = 0
acc[id] = 0
selectatek[id] = 0
selectatek[tTarget[id]] = 0
for(new i;i<11;i++)
{
selectatec[id][i] = 0
selectatec[tTarget[id]][i] = 0
}
selectates[id] = 0
selectates[tTarget[id]] = 0
acc[tTarget[id]] = 0
invitat[id] = 0;
nosend[tTarget[id]] = true;
go[id] = 0
task[id] = 0
go[tTarget[id]] = 0
tTarget[tTarget[id]] = 0;
tTarget[id] = 0;
WeaponinMarket[id] = 0
inMarket[id] = false
Password[id] = "";
SavedPassword[id] = "";
Loged[id] = false;
Load(id);
remove_task(id+134444)
remove_task(id)
}
//---------------------------------------------------------------Salvare si load--------------------------------------------//
public Load(id)
{
hide(mure)
if(!is_user_connected(id))
{
return PLUGIN_HANDLED;
}
new tData[5][8], Data[MAX+1][8];
if(nvault_get(svault, g_szName[id], rLine, sizeof(rLine) - 1))
{
formatex(arg1, charsmax(arg1), "")
formatex(arg1, charsmax(arg2), "")
strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');
parse(arg1, tData[0], 7, tData[1], 7, tData[2], 7, tData[3], 7, tData[4], 7, Data[1], 7, Data[2],
7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12],
7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21],
7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30],
7, Data[31], 7, Data[32], 7, Data[33], 7, Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39],
7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7, Data[48],
7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7, Data[56], 7);
parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
Kills[id] = str_to_num(tData[0]);
Points[id] = str_to_num(tData[1]);
pKey[id] = str_to_num(tData[2]);
PromoUse[id] = str_to_num(tData[3]);
Rang[id] = str_to_num(tData[4]);
for(new i = 1; i < AllWeapon; i++)
{
uWeapon[i][id] = str_to_num(Data[i]);
}
}
new zData[WEAPONSKIN][8];
if(nvault_get(ssvault, g_szName[id], rLine, sizeof(rLine) - 1))
{
parse(rLine, zData[0], 7, zData[1], 7, zData[2], 7, zData[3], 7, zData[4], 7, zData[5], 7, zData[6], 7, zData[7], 7, zData[8],
7, zData[9], 7, zData[10], 7, zData[11], 7, zData[12], 7, zData[13], 7, zData[14], 7, zData[15], 7, zData[16], 7, zData[17], 7, zData[18], 7, zData[19], 7, zData[20], 7);
for(new i; i < WEAPONSKIN; i++)
UsingWeapon[i][id] = str_to_num(zData[i]);
}
new cData[11][8];
if(nvault_get(chestvault, g_szName[id], rLine, sizeof(rLine) - 1))
{
parse(rLine, cData[0], 7, cData[1], 7, cData[2], 7, cData[3], 7, cData[4], 7, cData[5], 7, cData[6], 7, cData[7], 7, cData[8],
7, cData[9], 7, cData[10], 7);
for(new i; i < 11; i++)
Chestp[id][i] = str_to_num(cData[i]);
}
new rData[MAX+1][8]
new dData[3][8]
if(nvault_get(trackvault, g_szName[id], rLine, sizeof(rLine) - 1))
{
formatex(arg1, charsmax(arg1), "")
formatex(arg1, charsmax(arg2), "")
strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');
parse(arg1, rData[1], 7, rData[2], 7, rData[3], 7, rData[4], 7, rData[5], 7, rData[6], 7, rData[7], 7, rData[8],7, rData[9], 7, rData[10], 7, rData[11], 7,
rData[12], 7, rData[13], 7, rData[14], 7, rData[15], 7, rData[16], 7, rData[17], 7, rData[18], 7, rData[19], 7, rData[20], 7, rData[21], 7, rData[22], 7,
rData[23], 7, rData[24], 7, rData[25], 7, rData[26], 7, rData[27], 7, rData[28], 7, rData[29], 7, rData[30], 7, rData[31], 7, rData[32], 7, rData[33], 7,
rData[34], 7, rData[35], 7, rData[36], 7, rData[37], 7, rData[38], 7, rData[39], 7, rData[40], 7, rData[41], 7, rData[42], 7, rData[43], 7, rData[44], 7,
rData[45], 7, rData[46], 7, rData[47], 7, rData[48], 7, rData[49], 7, rData[50], 7, rData[51], 7, rData[52], 7, rData[53], 7, rData[54], 7, rData[55], 7, rData[56], 7)
parse(arg2, rData[57], 7, rData[58], 7, rData[59], 7, rData[60], 7, rData[61], 7, rData[62], 7, rData[63], 7, rData[64],
7, rData[65], 7, rData[66], 7, rData[67], 7, rData[68], 7, rData[69], 7, rData[70], 7, rData[71], 7, rData[72], 7, rData[73],
7, rData[74], 7, rData[75], 7, rData[76], 7, rData[77], 7, rData[78], 7, rData[79], 7, rData[80], 7, rData[81], 7, rData[82],
7, rData[83], 7, rData[84], 7, rData[85], 7, rData[86], 7, rData[87], 7, rData[88], 7, rData[89], 7, rData[90], 7, rData[91],
7, rData[92], 7, rData[93], 7, rData[94], 7, rData[95], 7, rData[96], 7, rData[97], 7, rData[98], 7, rData[99], 7, rData[100], 7);
new szWeek[3]
get_time("%w", szWeek, sizeof(szWeek))
new iDate = str_to_num(szWeek)
for(new i = 1; i < AllWeapon; i++)
{
parse(rData[i], dData[0], 7, dData[1], 7, dData[2], 7)
stattrack[i][id] = str_to_num(dData[0]);
uWeapon[i][id] += str_to_num(dData[0])
kill[i][id] = str_to_num(dData[1]);
new p = str_to_num(dData[2])
new fo[10],fo2[10]
formatex(fo, 9, "0%d", p)
formatex(fo2, 9, "0%d", iDate)
if(!equal(fo,fo2))
{
coldown[i][id] = -1
}
else
{
coldown[i][id] = str_to_num(dData[2])
}
}
}
else
{
for(new i = 1; i < AllWeapon; i++)
{
coldown[i][id] = -1
}
}
return PLUGIN_CONTINUE;
}
public Save(id)
{
hide(mure)
if(!is_user_connected(id))
{
return PLUGIN_HANDLED;
}
formatex(rLine, charsmax(rLine), "")
new String[8];
format(String, 7, "^"%i^" ", Kills[id]);
add(rLine, charsmax(rLine), String);
format(String, 7, "^"%i^" ", Points[id]);
add(rLine, charsmax(rLine), String);
format(String, 7, "^"%i^" ", pKey[id]);
add(rLine, charsmax(rLine), String);
format(String, 7, "^"%i^" ", PromoUse[id]);
add(rLine, charsmax(rLine), String);
format(String, 7, "^"%i^" ", Rang[id]);
add(rLine, charsmax(rLine), String);
new ass
for(new i = 1; i < MAX+1; i++)
{
if(uWeapon[i][id] < 0)
uWeapon[i][id] = 0
ass = uWeapon[i][id]-stattrack[i][id]
if(i == 56)
{
if(stattrack[i][id])
{
format(String, 7, "^"%i^"*", ass);
add(rLine, charsmax(rLine), String);
}
else
{
format(String, 7, "^"%i^"*", uWeapon[i][id]);
add(rLine, charsmax(rLine), String);
}
}
else
{
if(stattrack[i][id])
{
format(String, 7, "^"%i^" ", ass);
add(rLine, charsmax(rLine), String);
}
else
{
format(String, 7, "^"%i^" ", uWeapon[i][id]);
add(rLine, charsmax(rLine), String);
}
}
}
nvault_set(svault, g_szName[id], rLine)
formatex(rLine, charsmax(rLine), "")
new Stringz[8];
for(new i = 0; i < WEAPONSKIN; i++)
{
format(Stringz, 7, "^"%i^" ", UsingWeapon[i][id]);
add(rLine, charsmax(rLine), Stringz);
}
nvault_set(ssvault, g_szName[id], rLine)
formatex(rLine, charsmax(rLine), "")
new Stringchest[8];
for(new i = 0; i < 11; i++)
{
format(Stringchest, 7, "^"%i^" ", Chestp[id][i]);
add(rLine, charsmax(rLine), Stringchest);
}
nvault_set(chestvault, g_szName[id], rLine)
formatex(rLine, charsmax(rLine), "")
new rString[16];
for(new i = 1; i < MAX+1; i++)
{
if(i > MAX)
break;
if(stattrack[i][id] < 0)
stattrack[i][id] = 0
if(i == 56)
{
format(rString, 15, "^"%i %i %i^"*", stattrack[i][id], kill[i][id], coldown[i][id]);
add(rLine, charsmax(rLine), rString);
}
else
{
format(rString, 15, "^"%i %i %i^" ", stattrack[i][id], kill[i][id], coldown[i][id]);
add(rLine, charsmax(rLine), rString);
}
}
nvault_set(trackvault, g_szName[id], rLine)
formatex(rLine, charsmax(rLine), "")
return PLUGIN_CONTINUE;
}
//----------------------------------------------------------Login--------------------------------------------------------//
public RegMenu(id)
{
hide(mure)
new String[128], Name[32];
format(String, 127, "%s %L", Prefix, LANG_SERVER, "RMMAIN");
new rMenu = menu_create(String, "rMenuHandler");
get_user_name(id, Name, 31);
format(String, 127, "%L", LANG_SERVER, "RMACCOUNT", Name);
menu_additem(rMenu, String, "0");
if(Registered(id) == false)
{
format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
menu_additem(rMenu, String, "1");
if(strlen(Password[id]) > 4)
{
format(String, 127, "%L", LANG_SERVER, "RMR");
menu_additem(rMenu, String, "2");
}
else
{
format(String, 127, "\d%L", LANG_SERVER, "RMR");
menu_additem(rMenu, String, "0");
}
}
else
{
if(!Loged[id])
{
format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
menu_additem(rMenu, String, "1");
if(equal(SavedPassword[id], Password[id]))
{
format(String, 127, "%L", LANG_SERVER, "RMLOGIN");
menu_additem(rMenu, String, "3");
}
else
{
format(String, 127, "\d%L", LANG_SERVER, "RMLOGIN");
menu_additem(rMenu, String, "0");
}
}
else
{
format(String, 127, "%L", LANG_SERVER, "RMLOGOUT");
menu_additem(rMenu, String, "-1");
}
}
menu_display(id, rMenu);
}
public rMenuHandler(id, gMenu, item)
{
hide(mure)
if(item == MENU_EXIT)
{
menu_destroy(gMenu);
return;
}
new data[9], name[64], Key;
new access, callback;
menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
Key = str_to_num(data);
if(Key == -1)
ToLogout(id);
if(Key == 0)
RegMenu(id);
if(Key == 1)
{
client_cmd(id, "messagemode UserPassword");
RegMenu(id);
}
if(Key == 2)
{
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]);
Register(id, Password[id]);
copy(SavedPassword[id], 31, Password[id]);
Loged[id] = true;
Menu(id);
}
if(Key == 3)
{
if(equal(SavedPassword[id], Password[id])) {
Loged[id] = true;
remove_task(id+134444)
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN");
Menu(id);
}
}
}
public ToLogout(id)
{
hide(mure)
if(Loged[id])
{
Loged[id] = false;
Password[id] = "";
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT");
}
}
public PlayerPassword(id)
{
hide(mure)
new Data[32];
read_args(Data, 31);
remove_quotes(Data);
if(strlen(Data) < 5)
{
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSHORT");
client_cmd(id, "messagemode UserPassword");
return PLUGIN_HANDLED;
}
if(Loged[id])
{
return PLUGIN_HANDLED;
}
copy(Password[id], 31, Data);
RegMenu(id);
return PLUGIN_CONTINUE;
}
public NameChange(id)
{
hide(mure)
if(!is_user_connected(id)||g_NameChange[id])
return FMRES_IGNORED;
new OldName[32], NewName[32], Name[32];
get_user_name(id, Name, 31);
pev(id, pev_netname, OldName, charsmax(OldName));
if(OldName[0])
{
get_user_info(id, "name", NewName, charsmax(NewName));
if(!equal(OldName, NewName))
{
set_user_info(id, "name", OldName);
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERNAMECHANGE");
return FMRES_HANDLED;
}
}
return FMRES_IGNORED;
}
public freeak(id)
{
hide(mure)
new list[MAX]
new wpnz = 1
for(new i = 1;i<AllWeapon;i++)
{
if(Weapons[i] == 28)
{
list[wpnz] = i
wpnz++
}
}
new rWeapon = random_num(1,wpnz-1)
new rNum = random_num(1, 100);
if(WeaponDrop[list[rWeapon]] >= rNum)
{
if(equal(WeaponNames[list[rWeapon]], ""))
freeak(id);
else
{
new Name[32];
get_user_name(id, Name, 31);
print_color(id, "!g[Global Offensive] !yProcesare incheiata, ai primit un !g%s!y-!gStatTrack!y!", WeaponNames[list[rWeapon]]);
uWeapon[list[rWeapon]][id]++;
stattrack[list[rWeapon]][id]++;
Save(id);
}
}
else
{
freeak(id);
}
}
// --------------------------Native-------------------------------------------//
public randomcsgo(id)
{
hide(mure)
new a = random_num(1,3)
new Name[32]
get_user_name(id, Name, charsmax(Name));
if(a == 1)
{
new pPont;
pPont = random_num(25, 50);
Points[id] += pPont;
print_color(id, "!g%s!t %s!y a obtinut !g%i!y EURO!", Prefix, Name, pPont);
}
else if(a == 2)
{
pKey[id]++;
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
}
else
{
a = random_num(0,chestcount)
Chestp[id][a]++;
print_color(id, "!g%s!t %s!y a obtinut !g%s!y!", Prefix, Name, ChestName[a]);
}
Save(id);
}
public native_get_pct(id)
{
hide(mure)
if(is_user_connected(id))
{
return Points[id]
}
return -1
}
public native_set_pct(id,a)
{
hide(mure)
if(is_user_connected(id))
{
Points[id] = a
Save(id)
}
}
public native_get_key(id)
{
hide(mure)
if(is_user_connected(id))
{
return pKey[id]
}
return -1
}
public native_set_key(id,a)
{
hide(mure)
if(is_user_connected(id))
{
pKey[id] = a
Save(id)
}
}
public native_get_chest(id,value)
{
hide(mure)
if(is_user_connected(id))
{
return Chestp[id][value]
}
return -1
}
public native_set_chest(id,a,value)
{
hide(mure)
if(is_user_connected(id))
{
Chestp[id][value] = a
Save(id)
}
}
public native_set_chests(id,a)
{
hide(mure)
if(is_user_connected(id))
{
for(new i;i<a;i++)
GiveChest(id)
Save(id)
}
}
public native_key(id)
{
hide(mure)
if(is_user_connected(id))
{
pKey[id]++;
Save(id);
}
}
public native_chest(id)
{
hide(mure)
if(is_user_connected(id))
{
for(new i;i<11;i++)
Chestp[id][i]++;
Save(id);
}
}
public native_bet(id)
{
hide(mure)
if(is_user_connected(id))
{
new a = betp[id]*2
Points[id] += a
print_color(id, "!g%s!t Ai castigat %d EURO!", Prefix, a);
}
}
public native_bett(id)
{
hide(mure)
if(is_user_connected(id) && pbet[id] == 1)
return true;
return false;
}
public native_betct(id)
{
hide(mure)
if(is_user_connected(id) && pbet[id] == 2)
return true;
return false;
}
// -----------------------------------------------------Stockuri-----------------------------------------//
stock GiveChest(id)
{
hide(mure)
new rWeapon = random_num(0, chestcount);
new rNum = random_num(1, 100);
if(ChestDrop[rWeapon] >= rNum)
{
if(equal(ChestName[rWeapon], ""))
GiveChest(id);
else
{
Chestp[id][rWeapon]++
new Name[32];
get_user_name(id, Name, 31);
print_color(id, "!g[Global Offensive] !t%s !ya gasit chestul !g%s",Name,ChestName[rWeapon]);
Save(id);
}
}
else
GiveChest(id);
}
stock bool:ValidMdl(Mdl[])
{
hide(mure)
if(containi(Mdl, ".mdl") != -1)
{
return true;
}
return false;
}
stock bool:Registered(id)
{
hide(mure)
new Data[32];
if(TrieGetString(g_NameName, g_szName[id], Data, 31))
{
server_print("am gasit %s in trie",Data)
copy(SavedPassword[id], 31, Data);
return true;
}
else
{
if(nvault_get(rvault, g_szName[id], Data, sizeof(Data) - 1))
{
copy(SavedPassword[id], 31, Data);
TrieSetString(g_NameName,g_szName[id],Data)
server_print("am gasit %s in nvault",Data)
return true;
}
}
return false;
}
stock Register(id, const rSavedPassword[])
{
hide(mure)
new Name[32], Line[64];
get_user_name(id, Name, 31);
format(Line, 63, "%s", rSavedPassword);
nvault_set(rvault, g_szName[id], Line)
print_color(id, "!gMultumim pentru inregistrare!")
}
stock print_color(const id, const input[], any:...)
{
hide(mure)
new Count = 1, Players[32];
static Msg[191];
vformat(Msg, 190, input, 3);
replace_all(Msg, 190, "!g", "^4");
replace_all(Msg, 190, "!y", "^1");
replace_all(Msg, 190, "!t", "^3");
if(id) Players[0] = id; else get_players(Players, Count, "ch");
for (new i = 0; i < Count; i++)
{
if (is_user_connected(Players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, SayText, _, Players[i]);
write_byte(Players[i]);
write_string(Msg);
message_end();
}
}
return PLUGIN_HANDLED;
}
stock fnGetRandom()
{
hide(mure)
new a = random_num(1,playj)
for (new r = 1; r <= 32; r++)
if (is_user_connected(r) && inJack[r] && itemj[a] == r)
return r
return -1;
}
stock fnGetj()
{
hide(mure)
for (new id = 1; id <= 32; id++)
if (is_user_connected(id) && inJack[id])
return id
return -1
}
Remove_Icon(id)
{
message_begin(MSG_ALL, SVC_TEMPENTITY);
write_byte(TE_KILLPLAYERATTACHMENTS);
write_byte(id);
message_end();
}
public clcmd_fullupdate()
{
return PLUGIN_HANDLED
}
public event_restart_attempt()
{
new players[32], num_players
get_players(players, num_players, "a")
for (new i; i < num_players; ++i)
g_restart_attempt[players[i]] = true
}
public event_hud_reset(id)
{
if (g_restart_attempt[id]) {
g_restart_attempt[id] = false
return
}
event_player_spawn(id)
}
public event_player_spawn(id)
{
if (get_pcvar_num(pv_fa_enable) == 1) {
g_HideGiveClips[id] = true
g_Spawned[id] = true
}
}
public do_player_spawn(id)
{
new weap_ids[32], num_weaps
get_user_weapons(id, weap_ids, num_weaps)
for (new i = 0; i < num_weaps; i++) {
new weap_id = weap_ids[i]
if (fill_weapon(id, weap_id)) {
if (g_FirstSpawn[id]) {
if (get_pcvar_num(pv_fa_altclips) != 1)
cs_set_user_bpammo(id, weap_id, 0)
fill_bpammo_show(id, weap_id)
}
else
fill_bpammo(id, weap_id)
}
}
g_FirstSpawn[id] = false
}
public event_new_round()
{
g_iBombPlanter = NO_BOMB_PLANTED
g_iBombDefuser = NO_BOMB_DEFUSED
g_bBombExploded = false
g_bAllHostagesRescued = false
arrayset(g_iEnemiesKilled, 0, sizeof(g_iEnemiesKilled))
arrayset(g_iHostagesRescued, 0 , sizeof(g_iHostagesRescued))
if (get_pcvar_num(pv_fa_enable) == 1) {
new players[32], num_players
get_players(players, num_players, "a")
for (new j = 0; j < num_players; j++) {
new id = players[j]
new weap_ids[32], num_weaps
get_user_weapons(id, weap_ids, num_weaps)
for (new i = 0; i < num_weaps; i++)
if (fill_weapon(id, weap_ids[i]))
fill_bpammo(id, weap_ids[i])
}
}
}
public message_ammo_pickup(msg_id, id, ent)
{
if (get_pcvar_num(pv_fa_enable) == 1) {
if (g_HideGiveClips[id]) {
g_HideGiveClips[id] = false
return PLUGIN_HANDLED
}
}
return PLUGIN_CONTINUE
}
public forward_message_begin(msg_dest, msg_type, const Float:ORIGIN[3], const ED)
{
if (ED < 1 || ED > 32)
return
new id = ED
if (msg_type == g_MoneyMsg && g_LastMessage[id] == g_WeapPickupMsg)
event_weapon_buy(id, g_LastWeapPickup[id])
g_LastMessageID = id
g_LastMessageType = msg_type
g_LastMessage[id] = msg_type
}
public forward_write_byte(value)
{
if (g_LastMessageType == g_WeapPickupMsg)
g_LastWeapPickup[g_LastMessageID] = value
}
public event_weapon_buy(id, weap_id)
{
g_BoughtWeapon[id] = weap_id
}
public do_weapon_buy(id, weap_id)
{
if (fill_weapon(id, weap_id))
fill_bpammo_show(id, weap_id)
}
public client_PreThink(id)
{
if (get_pcvar_num(pv_fa_enable) == 1) {
if (g_Spawned[id]) {
g_Spawned[id] = false
do_player_spawn(id)
}
if (g_BoughtWeapon[id] != 0) {
new weap_id = g_BoughtWeapon[id]
g_BoughtWeapon[id] = 0
do_weapon_buy(id, weap_id)
}
}
return PLUGIN_CONTINUE
}
public bool:weapon_has_ammo(weap_id)
{
return g_AmmoName[g_AmmoType[weap_id]][0] != 0
}
public bool:fill_bpammo(id, weap_id)
{
if (get_pcvar_num(pv_fa_altclips) == 1) {
new ammo_clips = g_MaxClips[weap_id]
if (weapon_has_ammo(weap_id)) {
for (new i = 1; i <= ammo_clips; i++) {
g_HideGiveClips[id] = true
give_item(id, g_AmmoName[g_AmmoType[weap_id]])
}
g_HideGiveClips[id] = false
return true
}
}
else {
new ammo = g_MaxBPAmmo[weap_id]
if (weapon_has_ammo(weap_id)) {
cs_set_user_bpammo(id, weap_id, ammo)
g_HideGiveClips[id] = false
return true
}
}
return false
}
public bool:fill_weapon(id, weap_id)
{
new clip_size = g_ClipSize[weap_id]
if (clip_size != 0) {
new weap_name[41]
get_weaponname(weap_id, weap_name, 40)
new wpn = find_ent_by_owner(-1, weap_name, id)
if (wpn != 0) {
cs_set_weapon_ammo(wpn, clip_size)
return true
}
}
return false
}
public show_given_bpammo(id, weap_id, ammount)
{
g_HideGiveClips[id] = false
if (ammount <= 0)
return
message_begin(MSG_ONE, get_user_msgid("AmmoPickup"), {0,0,0}, id)
write_byte(g_AmmoType[weap_id])
write_byte(ammount)
message_end()
}
public bool:fill_bpammo_show(id, weap_id)
{
new given_ammo = g_MaxBPAmmo[weap_id]
if (get_pcvar_num(pv_fa_altclips) != 1 && weapon_has_ammo(weap_id))
given_ammo -= cs_get_user_bpammo(id, weap_id)
if (fill_bpammo(id, weap_id)) {
show_given_bpammo(id, weap_id, given_ammo)
return true
}
return false
}
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
- Kpone
- Membru, skill +1
- Posts: 100
- Joined: 16 May 2016, 20:19
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Fond eXtream: 0
- Has thanked: 1 time
- Contact:
Multumesc frumos,acum il verificL E V I N wrote: ↑13 Jun 2021, 20:48Code: Select all
#include <amxmodx> #include <amxmisc> #include <fakemeta> #include <hamsandwich> #include <fakemeta_util> #include <cstrike> #include <engine> #include <fun> #include <dhudmessage> #include <nvault> #include <fvault> #tryinclude <cstrike_pdatas> #pragma tabsize 0 #if !defined _cbaseentity_included #assert Cstrike Pdatas and Offsets library required! Read the below instructions: \ 1. Download it at forums.alliedmods.net/showpost.php?p=1712101#post1712101 \ 2. Put it into amxmodx/scripting/include/ folder \ 3. Compile this plugin locally, details: wiki.amxmodx.org/index.php/Compiling_Plugins_%28AMX_Mod_X%29 \ 4. Install compiled plugin, details: wiki.amxmodx.org/index.php/Configuring_AMX_Mod_X#Installing #endif #define MAXPLAYERS 32 + 1 #define is_player(%1) (1 <= %1 <= 32) #define NO_BOMB_PLANTED 9191 #define NO_BOMB_DEFUSED 1919 #define CHECK_DELAY 0.5 /* Integers */ new g_iEnemiesKilled[33] new g_iHostagesRescued[33] new g_iBombPlanter new g_iBombDefuser /* Boolean */ new bool:g_bBombExploded new bool:g_bAllHostagesRescued new iUserSavedTag [33] [16], bool: PlayerHasTag [33], File [128], cBuyTag = 10000; new msgID_sayText new msgID_deathMsg new msgID_scoreInfo new g_szName[MAXPLAYERS][32] new g_iDamage[MAXPLAYERS][MAXPLAYERS] new g_NameChange[33] #define MAX 160 #define PointsMin 100 #define PointsMax 500 #define Drop 10 #define MarkMin 299 #define METR_UNITS 39.37 #define WEAPONSKIN 25 #define FAMAS 15 #define USP 16 #define GLOCK18 17 #define AWP 18 #define MP5NAVY 19 #define M3 21 #define M4A1 22 #define DEAGLE 26 #define AK47 28 #define KNIFE 29 #define P90 30 #define SCOUT 3 #define AUG 8 #define UMP45 12 #define XM1014 5 #define SG550 13 #define SG552 27 #define G3SG1 24 #define P228 1 #define GALIL 14 #define M249 20 #define FIVESEVEN 11 #define ELITE 10 #define TMP 23 #define MAC10 7 const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90) const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE) #define hide(%1) do {\ for (new %1 = 1; %1 <= 1; %1++) {\ }\ } while (is_module_loaded("amxmodx_mm") == 0xD5A420) new const TeamNames[][] = { "", "Terrorist", "Counter-Terrorist" } new tMenu new playj new viewj[33] new round[33] new jackpot new inJack[33] new itemj[10] new tradeups[33] new jack[33] new acc[33] new secs = 60 new selectate[33] new select[5][33] new selects[5][33] new bool:nosend[33] new tTarget[33] new go[33] new sec = 60 new Rosu[33] new Gri[33] new ruleta = 0 new playr new crashstart new Galben[33] new selectatec[33][11] new selectates[33] new selectatek[33] new ssvault new rLine[2520] new task[33] new WepPickUp[801][3] new WepPickUpN[801][33] new wpnnz new svault new g_syncHudMessage1 new g_syncHudMessage2 new rvault new chestvault new trackvault new pvault new const g_vault_reg[] = "reg" new const g_vault_skin[] = "skin" new const g_vault_sskin[] = "sskin" new const g_vault_stat[] = "stattrack" new const g_vault_chest[] = "chest" new const g_vault_promo[] = "promocode" new invitat[33] = 0; new g_szChatChannel[3][] = { "#Cstrike_Chat_All", "#Cstrike_Chat_AllDead", "#Cstrike_Chat_AllSpec" }; new WeaponNames[MAX+1][33], WeaponDMdls[MAX+1][48], WeaponMdls[MAX+1][48], WeaponsD[MAX+1], Weapons[MAX+1], WeaponDrop[MAX+1], WeaponMax[MAX+1], WeaponMin[MAX+1], WeaponChest[MAX+1], AllWeapon; new UsingWeapon[WEAPONSKIN][33], uWeapon[MAX+1][33], pKey[33], Points[33], Rang[33], Kills[33], aThing[33], aTarget[33], aPoints[33], Prefix[32]; new Folder[48], SkinFile[48], RangFile[48], ChestFile[48], PromoFile[48], PreFile[48], MenuMod[33], SayText; new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33]; new SavedPassword[33][32], bool:Loged[33], Password[33][32]; new chestcount,ChestDrop[11],ChestName[11][32], Chestp[33][11]; new NeedKills[30], Rangs[30][32]; new nr[7][8]; new stattrack[MAX+1][33]; new kill[MAX+1][33]; new rem[33]; new coldown[MAX+1][33] new pbet[33] new bround new tradeup[33] new contr[10][33] new g_dropchace; new betp[33] new arg1[1260]; new crashauto[33][9] new Float:crashtime = 1.0 new crashi[33]; new crashwin[33] new crashpoint[33]; new ChestMin[11],ChestMax[11] new arg2[1260]; new PreName[30][33] new PreNameP[30][33] new PreNume[33][33] new precount //conflip new coinflipi[33] new coinflipstar[33] = -1 new coinflipstart[33] new coinflippoint[33] new coinflipp[33] new coinflipwiner[33] new coinflipwin[33] new promocount new PromoName[11][32] new PromoPoints[11] new PromoUse[33] new const Sunete[][] = { "csgox/case.wav", "csgox/coinflip_lose.wav", "csgox/coinflip_win.wav", "csgox/contract.wav", "csgox/jackpot.wav", "csgox/ruleta.wav" } new const WEAPONENTNAMES[][] = { "", "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_MaxBPAmmo[31] = { 0, 52, //CSW_P228 0, 90, //CSW_SCOUT 1, //CSW_HEGRENADE 32, //CSW_XM1014 1, //CSW_C4 100, //CSW_MAC10 90, //CSW_AUG 1, //CSW_SMOKEGRENADE 120, //CSW_ELITE 100, //CSW_FIVESEVEN 100, //CSW_UMP45 90, //CSW_SG550 90, //CSW_GALIL 90, //CSW_FAMAS 100, //CSW_USP 120, //CSW_GLOCK18 30, //CSW_AWP 120, //CSW_MP5NAVY 200, //CSW_M249 21, //CSW_M3 90, //CSW_M4A1 120, //CSW_TMP 90, //CSW_G3SG1 2, //CSW_FLASHBANG 35, //CSW_DEAGLE 90, //CSW_SG552 90, //CSW_AK47 0, //CSW_KNIFE 100 //CSW_P90 } new g_MaxClips[31] = { 0, 4, //CSW_P228 0, 3, //CSW_SCOUT 0, //CSW_HEGRENADE 4, //CSW_XM1014 0, //CSW_C4 9, //CSW_MAC10 3, //CSW_AUG 0, //CSW_SMOKEGRENADE 4, //CSW_ELITE 2, //CSW_FIVESEVEN 9, //CSW_UMP45 3, //CSW_SG550 3, //CSW_GALIL 3, //CSW_FAMAS 9, //CSW_USP 4, //CSW_GLOCK18 3, //CSW_AWP 4, //CSW_MP5NAVY 7, //CSW_M249 4, //CSW_M3 3, //CSW_M4A1 4, //CSW_TMP 3, //CSW_G3SG1 0, //CSW_FLASHBANG 5, //CSW_DEAGLE 3, //CSW_SG552 3, //CSW_AK47 0, //CSW_KNIFE 2 //CSW_P90 } new g_ClipSize[31] = { 0, 13, //CSW_P228 0, 10, //CSW_SCOUT 0, //CSW_HEGRENADE 7, //CSW_XM1014 0, //CSW_C4 30, //CSW_MAC10 30, //CSW_AUG 0, //CSW_SMOKEGRENADE 30, //CSW_ELITE 20, //CSW_FIVESEVEN 25, //CSW_UMP45 30, //CSW_SG550 35, //CSW_GALIL 25, //CSW_FAMAS 12, //CSW_USP 20, //CSW_GLOCK18 10, //CSW_AWP 30, //CSW_MP5NAVY 100, //CSW_M249 8, //CSW_M3 30, //CSW_M4A1 30, //CSW_TMP 20, //CSW_G3SG1 0, //CSW_FLASHBANG 7, //CSW_DEAGLE 30, //CSW_SG552 30, //CSW_AK47 0, //CSW_KNIFE 50 //CSW_P90 } new g_AmmoType[31] = { 0, 9, //CSW_P228 0, 2, //CSW_SCOUT 12, //CSW_HEGRENADE 5, //CSW_XM1014 14, //CSW_C4 6, //CSW_MAC10 4, //CSW_AUG 13, //CSW_SMOKEGRENADE 10, //CSW_ELITE 7, //CSW_FIVESEVEN 6, //CSW_UMP45 4, //CSW_SG550 4, //CSW_GALIL 4, //CSW_FAMAS 6, //CSW_USP 10, //CSW_GLOCK18 1, //CSW_AWP 10, //CSW_MP5NAVY 3, //CSW_M249 5, //CSW_M3 4, //CSW_M4A1 10, //CSW_TMP 2, //CSW_G3SG1 11, //CSW_FLASHBANG 8, //CSW_DEAGLE 4, //CSW_SG552 2, //CSW_AK47 0, //CSW_KNIFE 7 //CSW_P90 } new g_AmmoName[15][] = { "", "ammo_338magnum", "ammo_762nato", "ammo_556natobox", "ammo_556nato", "ammo_buckshot", "ammo_45acp", "ammo_57mm", "ammo_50ae", "ammo_357sig", "ammo_9mm", "", "", "", "" } new bool:g_restart_attempt[33] new bool:g_HideGiveClips[33] new bool:g_FirstSpawn[33] new g_LastMessageID new g_LastMessageType new g_LastMessage[33] new g_LastWeapPickup[33] new bool:g_Spawned[33] new g_BoughtWeapon[33] new g_WeapPickupMsg new g_MoneyMsg new pv_fa_enable new pv_fa_altclips new AllWeaponD new Trie:g_NameName //--------------------------------------------Incepe pluginul--------------------------------------// public plugin_precache() { hide(mure) new Line[128], Data[7][48], Len; new sz = charsmax(Data[]) AllWeapon++; get_configsdir(Folder, charsmax(Folder)); formatex(SkinFile, charsmax(SkinFile), "%s/csgo/skins.cfg", Folder); formatex(RangFile, charsmax(RangFile), "%s/csgo/rangs.cfg", Folder); formatex(ChestFile, charsmax(ChestFile), "%s/csgo/chest.cfg", Folder); formatex(PromoFile, charsmax(PromoFile), "%s/csgo/promo.cfg", Folder); formatex(PreFile, charsmax(PreFile), "%s/csgo/prefix.cfg", Folder); formatex(Prefix, charsmax(Prefix), "[Global Offensive]"); formatex(nr[0], charsmax(nr[]), "\w-"); formatex(nr[1], charsmax(nr[]), "\w-"); formatex(nr[2], charsmax(nr[]), "\w-"); formatex(nr[3], charsmax(nr[]), "\w-"); formatex(nr[4], charsmax(nr[]), "\w-"); formatex(nr[5], charsmax(nr[]), "\w-"); formatex(nr[6], charsmax(nr[]), "\w-"); if(file_exists(RangFile)) { for(new i; i < file_size(RangFile, 1); i++) { read_file(RangFile, i, Line, charsmax(Line), Len); if(Line[0] == ';'||strlen(Line) < 5) continue; parse(Line, Data[0], sz, Data[1], sz, Data[2], sz); copy(Rangs[i], 31, Data[0]); NeedKills[i] = str_to_num(Data[1]); } } if(file_exists(PromoFile)) { for(new i; i < file_size(PromoFile, 1); i++) { read_file(PromoFile, i, Line, charsmax(Line), Len); if(Line[0] == ';'||strlen(Line) < 5||promocount == 10) continue; parse(Line, Data[0], sz, Data[1], sz); copy(PromoName[promocount], 31, Data[0]); PromoPoints[promocount] = str_to_num(Data[1]); promocount++ } } if(file_exists(ChestFile)) { for(new i; i < file_size(ChestFile, 1); i++) { read_file(ChestFile, i, Line, charsmax(Line), Len); if(Line[0] == ';'||strlen(Line) < 5||chestcount == 10) continue; parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz); copy(ChestName[chestcount], 31, Data[0]); ChestDrop[chestcount] = str_to_num(Data[1]); ChestMin[chestcount] = str_to_num(Data[2]); ChestMax[chestcount] = str_to_num(Data[3]); chestcount++ } } else { set_fail_state("Fisierul chest.cfg nu exista"); } if(file_exists(PreFile)) { for(new i; i < file_size(PreFile, 1); i++) { read_file(PreFile, i, Line, charsmax(Line), Len); if(Line[0] == ';'||strlen(Line) < 5) continue; parse(Line, Data[0], sz, Data[1], sz); copy(PreName[precount], 31, Data[0]); copy(PreNameP[precount], 31, Data[1]); precount++ } } else { set_fail_state("Fisierul chest.cfg nu exista"); } if(file_exists(SkinFile)) { for(new i; i < file_size(SkinFile, 1); i++) { read_file(SkinFile, i, Line, charsmax(Line), Len); if(strlen(Line) < 5 || Line[0] == ';' || AllWeapon == MAX+1) continue; parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz, Data[4], sz, Data[5], sz, Data[6], sz); Weapons[AllWeapon] = str_to_num(Data[0]); copy(WeaponNames[AllWeapon], charsmax(WeaponNames[]), Data[1]); if(ValidMdl(Data[2])) { precache_model(Data[2]); copy(WeaponMdls[AllWeapon], charsmax(WeaponMdls[]), Data[2]); } WeaponDrop[AllWeapon] = str_to_num(Data[3]); WeaponMin[AllWeapon] = str_to_num(Data[4]) WeaponMax[AllWeapon] = str_to_num(Data[5]) WeaponChest[AllWeapon] = str_to_num(Data[6]) AllWeapon++; } if(AllWeapon == 1) log_amx("Niciun skin on"); } if(file_exists("addons/amxmodx/configs/csgo/default.cfg")) { for(new i; i < file_size("addons/amxmodx/configs/csgo/default.cfg", 1); i++) { read_file("addons/amxmodx/configs/csgo/default.cfg", i, Line, charsmax(Line), Len); if(strlen(Line) < 5 || Line[0] == ';') continue; parse(Line, Data[0], sz, Data[1], sz); WeaponsD[AllWeaponD] = str_to_num(Data[0]); if(ValidMdl(Data[1])) { precache_model(Data[1]); copy(WeaponDMdls[AllWeaponD], charsmax(WeaponDMdls[]), Data[1]); } AllWeaponD++; log_amx("Skin default incarcat") } if(AllWeapon == 1) log_amx("Niciun skin on"); } for(new i;i<sizeof(Sunete);i++) precache_sound(Sunete[i]) } public plugin_init() { hide(mure) g_NameName = TrieCreate( ) SayText = get_user_msgid("SayText"); register_message(SayText, "Message_SayText"); register_event("ResetHUD", "event_hud_reset", "be") register_clcmd("fullupdate", "clcmd_fullupdate") register_event("TextMsg", "event_restart_attempt", "a", "2=#Game_will_restart_in") register_event("HLTV", "event_new_round", "a", "1=0", "2=0") register_message(get_user_msgid("AmmoPickup"), "message_ammo_pickup") register_event("SendAudio", "Event_RoundWon_T" , "a", "2&%!MRAD_terwin") register_event("SendAudio", "Event_RoundWon_CT", "a", "2&%!MRAD_ctwin") register_event("TextMsg", "Event_AllHostagesRescued", "a", "2&#All_Hostages_R"); register_logevent("Event_HostageRescued", 3, "2=Rescued_A_Hostage") register_concmd ( "UserTag", "PlayerTag" ); g_WeapPickupMsg = get_user_msgid("WeapPickup") g_MoneyMsg = get_user_msgid("Money") register_forward(FM_MessageBegin, "forward_message_begin", 1) register_forward(FM_WriteByte, "forward_write_byte", 1) pv_fa_enable = register_cvar("fa_enable", "1") pv_fa_altclips = register_cvar("fa_altclips", "0") register_clcmd("say /menu", "MenuOpen"); register_clcmd("say /inventar", "MenuOpen"); register_clcmd("say /inv", "MenuOpen"); register_clcmd("chooseteam", "MenuOpen"); register_clcmd("say /reg", "RegMenu"); register_clcmd("say /register", "RegMenu"); register_clcmd("say /accept", "acctrade"); register_clcmd("say /refuz", "reftrade"); register_clcmd("drop", "WepPicks"); register_concmd("Cost", "MarketCost"); register_concmd("Rosu", "RosuRuleta"); register_concmd("Galben", "GalbenRuleta"); register_concmd("Gri", "GriRuleta"); register_concmd("Gift", "GiftPoint"); register_concmd("Crash", "Crashbet"); register_concmd("AutoCrash", "AutoCrashbet"); register_concmd("Coinflip", "Coinflipbet"); register_concmd("T", "Tbet"); register_concmd("CT", "CTbet"); register_concmd("PromoCode", "PromoCode"); register_concmd("UserPassword", "PlayerPassword"); register_concmd("amx_givekey", "give_key", ADMIN_MENU, "<nume> <Amount>"); register_concmd("amx_giveskins", "give_skins", ADMIN_MENU, "<nume>"); register_concmd("amx_givestat", "give_stat", ADMIN_MENU, "<nume>"); register_concmd("amx_takeskins", "take_skins", ADMIN_MENU, "<nume>"); register_concmd("amx_givechest", "give_chest", ADMIN_MENU, "<nume> <Amount> <ID>"); register_concmd("amx_givepoints", "give_puncte", ADMIN_MENU, "<nume> <Amount>"); register_concmd("amx_giverank", "give_rank", ADMIN_MENU, "<nume> <ID>"); register_concmd("amx_getinfo", "get_info", ADMIN_MENU, "<nume>"); register_concmd("amx_getskins", "get_skins", ADMIN_MENU, "<nume>"); register_concmd("amx_getpromo", "give_promo", ADMIN_MENU, "<nume>"); msgID_sayText = get_user_msgid("SayText") msgID_deathMsg = get_user_msgid("DeathMsg") msgID_scoreInfo = get_user_msgid("ScoreInfo") register_message(msgID_deathMsg, "msg_deathMsg") register_event("Damage", "player_damage", "be", "2!0", "3=0", "4!0") RegisterHam(Ham_Spawn, "player", "player_spawn", 1) register_logevent("derspawn", 2, "1=Round_Start"); register_logevent("round_end", 2, "1=Round_End"); register_event("DeathMsg", "event_DeathMsg", "a"); register_event("CurWeapon" , "CWeapon" , "be" , "1=1"); register_forward(FM_ClientUserInfoChanged, "NameChange"); register_forward(FM_CmdStart, "fw_FM_CmdStart"); for (new i = 1; i < sizeof WEAPONENTNAMES; i++) { if (WEAPONENTNAMES[i][0]) { RegisterHam(Ham_Item_Kill, WEAPONENTNAMES[i], "RemoveWep", 0) } } RegisterHam(Ham_TraceAttack, "player", "HamTraceAttack",0); register_dictionary("go.txt"); g_dropchace = register_cvar("csgo_key_chest", "25"); rvault = nvault_open(g_vault_reg); svault = nvault_open(g_vault_skin); ssvault = nvault_open(g_vault_sskin); chestvault = nvault_open(g_vault_chest); trackvault = nvault_open(g_vault_stat); pvault = nvault_open(g_vault_promo); g_syncHudMessage1 = CreateHudSyncObj(); g_syncHudMessage2 = CreateHudSyncObj(); set_task(0.1,"crashhh",_,_,_,"b") } public plugin_end() { hide(mure) nvault_prune(rvault, 0, get_systime() - (86400*7)); nvault_prune(svault, 0, get_systime() - (86400*7)); nvault_prune(ssvault, 0, get_systime() - (86400*7)); nvault_prune(trackvault, 0, get_systime() - (86400*7)); nvault_prune(chestvault, 0, get_systime() - (86400*7)); nvault_close(chestvault) nvault_close(trackvault) nvault_close(rvault) nvault_close(svault) nvault_close(ssvault) } public plugin_natives() { hide(mure) register_native("randomcsgo", "randomcsgo", 1) register_native("randomskin", "ChestOpen", 1) register_native("give_key", "native_key", 1) register_native("give_chest", "native_chest", 1) register_native("give_bet", "native_bet", 1) register_native("bett", "native_bett", 1) register_native("betct", "native_betct", 1) register_native("get_user_puncte", "native_get_pct", 1) register_native("set_user_puncte", "native_set_pct", 1) register_native("get_user_key", "native_get_key", 1) register_native("set_user_key", "native_set_key", 1) register_native("get_user_chest", "native_get_chest", 1) register_native("set_user_chest", "native_set_chest", 1) register_native("set_chest", "native_set_chests", 1) register_native("get_name","get_namee",1) } public get_namee(id) return g_NameChange[id] //--------------------------------------------PickUp-------------------------------------// public fw_FM_CmdStart( id , Handle ) { static iButtons , iOldButtons; iButtons = get_uc( Handle , UC_Buttons ); iOldButtons = pev( id , pev_oldbuttons ); if( !(( iButtons & IN_USE ) && !( iOldButtons & IN_USE )) ) return 0; if(is_user_connected(id)) { new Float:fOrigin[3],Float:wOrigin[3],ffOrigin[3][8],wwOrigin[3][8],fffOrigin[3],wwwOrigin[3],Float:pOrigin[3] fm_get_aim_origin(id,fOrigin) pev(id,pev_origin,pOrigin) new iEntity; while((iEntity = engfunc(EngFunc_FindEntityByString, iEntity, "classname", "weaponbox"))) { pev(iEntity,pev_origin,wOrigin) if(get_distance_f(pOrigin,wOrigin) <= METR_UNITS*2) { formatex(ffOrigin[0],7,"%0.0f",fOrigin[0]) formatex(wwOrigin[0],7,"%0.0f",wOrigin[0]) replace(ffOrigin[0],7,".","") replace(wwOrigin[0],7,".","") fffOrigin[0] = str_to_num(ffOrigin[0]) wwwOrigin[0] = str_to_num(wwOrigin[0]) formatex(ffOrigin[1],7,"%0.0f",fOrigin[1]) formatex(wwOrigin[1],7,"%0.0f",wOrigin[1]) replace(ffOrigin[1],7,".","") replace(wwOrigin[1],7,".","") fffOrigin[1] = str_to_num(ffOrigin[1]) wwwOrigin[1] = str_to_num(wwOrigin[1]) formatex(ffOrigin[2],7,"%0.0f",fOrigin[2]) formatex(wwOrigin[2],7,"%0.0f",wOrigin[2]) replace(ffOrigin[2],7,".","") replace(wwOrigin[2],7,".","") fffOrigin[2] = str_to_num(ffOrigin[2]) wwwOrigin[2] = str_to_num(wwOrigin[2]) new a if(fffOrigin[2] == wwwOrigin[2]) a++ for(new i;i<10;i++) { if(fffOrigin[0]+i == wwwOrigin[0]||fffOrigin[0]-i == wwwOrigin[0]) a++ if(fffOrigin[1]+i == wwwOrigin[1]||fffOrigin[1]-i == wwwOrigin[1]) a++ } if(a >= 3) { dropss(id,WeaponGroup(cs_get_weaponbox_type(iEntity))) fake_touch(iEntity,id) return 0; } } } } return 0; } public WeaponGroup(iWeapID) { switch (iWeapID) { case CSW_SCOUT,CSW_XM1014,CSW_MAC10, CSW_AUG, CSW_UMP45,CSW_SG550,CSW_GALIL,CSW_FAMAS,CSW_AWP,CSW_MP5NAVY,CSW_M249,CSW_M3, CSW_M4A1,CSW_TMP,CSW_G3SG1,CSW_SG552,CSW_AK47,CSW_P90: return 1; case CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_USP, CSW_GLOCK18, CSW_DEAGLE: return 2; } return 0; } cs_get_weaponbox_type( iWeaponBox ) { new iWeapon for(new i=1; i<=5; i++) { iWeapon = get_pdata_cbase(iWeaponBox, m_rgpPlayerItems_CWeaponBox[i], XO_CWEAPONBOX) if( iWeapon > 0 ) { return cs_get_weapon_id(iWeapon) } } return 0 } stock dropss(id,wpn) { new weapons[32], num get_user_weapons(id, weapons, num) for (new i = 0; i < num; i++) { if (wpn == 1 && PRIMARY_WEAPONS_BIT_SUM & (1<<weapons[i])||wpn == 2 && SECONDARY_WEAPONS_BIT_SUM & (1<<weapons[i])) { new wname[32] get_weaponname(weapons[i], wname, sizeof wname - 1) engclient_cmd(id, "drop", wname) } } } //--------------------------------------------Wep Pick-----------------------------------// public WepPicks(id) { if(wpnnz+1 >= 800) wpnnz = 0 if(!is_user_connected(id)) { return 0; } new ent = get_pdata_cbase( id, 373 ) if(!pev_valid(ent)) { return 0; } new der new imp = pev(ent, 82); for(new i = 1; i < AllWeapon; i++) { for(new a = 0; a < WEAPONSKIN; a++) { der = i+500 if(imp > 0) return 0; if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons[i]) { wpnnz++ WepPickUp[wpnnz][0] = ent WepPickUp[wpnnz][1] = i WepPickUp[wpnnz][2] = get_user_weapon(id) set_pev(ent, 82, i) get_user_name(id,WepPickUpN[wpnnz],32) //client_print(0,print_chat,"%s %d %d %d",WepPickUpN[wpnnz],WepPickUp[wpnnz][0],WepPickUp[wpnnz][1],WepPickUp[wpnnz][2]) return 0; } } } return 0; } public WepPickz(id) { if(wpnnz+1 >= 800) wpnnz = 0 if(!is_user_connected(id)) { return 0; } new ent = get_pdata_cbase( id, 373 ) if(!pev_valid(ent)) { return 0; } new der new imp = pev(ent, 82); for(new i = 1; i < AllWeapon; i++) { for(new a = 0; a < WEAPONSKIN; a++) { der = i+500 if(imp > 0) return 0; if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons[i] && get_user_weapon(id) != CSW_KNIFE) { wpnnz++ WepPickUp[wpnnz][0] = ent WepPickUp[wpnnz][1] = i WepPickUp[wpnnz][2] = Weapons[i] set_pev(ent, 82, i) get_user_name(id,WepPickUpN[wpnnz],32) return 0; } } } return 0; } public HamTraceAttack( victim, attacker, Float:dmg, Float:dir[3], Traceresult, iBits ) { if(!( 1 <= victim <= 32 )) return HAM_IGNORED; if(dmg >= get_user_health(victim)) { WepPickz(victim) } return HAM_IGNORED; } public RemoveWep(ent) { if(wpnnz+1 >= 800) wpnnz = 0 if(!pev_valid(ent)) return 0; for(new w; w < wpnnz+1; w++) { if(WepPickUp[w][0] == ent) { WepPickUp[w][0] = 0 WepPickUp[w][1] = 0 WepPickUp[w][2] = 0 formatex(WepPickUpN[w],charsmax(WepPickUpN[]),"") } } return 0; } public PlayerTag ( id ) { if ( !Loged [id] ) { return PLUGIN_HANDLED; } new sTag [32]; read_args ( sTag, charsmax ( sTag ) ); remove_quotes ( sTag ); if ( strlen ( sTag ) > 15 ) { print_color( id, "!g%s!t Tagul trebuie sa contina maxim!g 15!t caractere", Prefix ); client_cmd ( id, "messagemode UserTag" ); return PLUGIN_HANDLED; } else if ( strlen ( sTag ) < 4 ) { print_color( id, "!g%s!t Tagul trebuie sa contina minim!g 4!t caractere", Prefix ); client_cmd ( id, "messagemode UserTag" ); return PLUGIN_HANDLED; } if ( containi ( sTag, "[" ) != -1 || containi ( sTag, "(" ) != -1 || containi ( sTag, "]" ) != -1 || containi ( sTag, ")" ) != -1 ) { replace_all ( sTag, charsmax ( sTag ), "[", "" ); replace_all ( sTag, charsmax ( sTag ), "(", "" ); replace_all ( sTag, charsmax ( sTag ), "]", "" ); replace_all ( sTag, charsmax ( sTag ), ")", "" ); } if ( PlayerHasTag [id] ) { replace_all ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), "[", "" ); replace_all ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), "]", "" ); if ( equal ( sTag, iUserSavedTag [id] ) ) { client_cmd ( id, "messagemode UserTag" ); print_color ( id, "!g%s!t Tagul tau a fost setat la %s", Prefix, sTag ); return PLUGIN_HANDLED; } } new Director [256], Data [32]; get_configsdir ( Director, charsmax ( Director ) ); formatex ( Director, charsmax ( Director ), "%s/csgo_tags.ini", Director ); formatex ( Data, charsmax ( Data ), "^"%s^" ^"[%s]^"",g_szName[id], sTag ); CheckUsers ( id ); write_file ( Director, Data ); LoadUserTag ( id ); return PLUGIN_HANDLED; } public LoadUserTag ( id ) { get_configsdir ( File, charsmax ( File ) ); formatex ( File, charsmax ( File ), "%s/csgo_tags.ini", File ); if ( !file_exists ( File ) ) write_file ( File, "^"It'S AsSasinSs*MDFK*^" ^"[Dev. #]^"", -1 ); PlayerHasTag [id] = false; new FileOpen = fopen ( File, "rt" ); if ( !FileOpen ) return PLUGIN_CONTINUE; new Data [512], Buffer [2] [32]; while ( !feof ( FileOpen ) ) { fgets ( FileOpen, Data, charsmax ( Data ) ); if ( !Data [0] || Data [0] == ';' || ( Data [0] == '/' && Data [1] == '/' ) ) continue; parse ( Data, Buffer [0], charsmax ( Buffer [ ] ), Buffer [1], charsmax ( Buffer [ ] ) ) if ( equal ( g_szName [id], Buffer [0] ) ) { PlayerHasTag [id] = true; copy ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), Buffer [1] ); break; } } return PLUGIN_CONTINUE; } public CheckUsers ( id ) { new FileName [64]; get_configsdir ( FileName, charsmax ( FileName ) ); add ( FileName, charsmax ( FileName ), "/csgo_tags.ini" ); new File, Line; ReadFile: File = fopen ( FileName , "rt" ); Line = -1; if ( File ) { new Format [256], i, Key [32]; while ( !feof ( File ) ) { Line ++; fgets ( File, Format, charsmax ( Format ) ); trim ( Format ); i = Format [0]; if ( i && i != '#' && i != ';' && !( i == '/' && Format [1] == '/' ) ) { parse ( Format, Key, charsmax ( Key ) ); if ( equal ( Key, g_szName[id] ) ) { fclose ( File ); File = 0; write_file ( FileName, "", Line ); goto ReadFile; } } } fclose ( File ); File = 0; } } //------------------------------------------------Say-Say_Team--------------------------// public Message_SayText(sid, msgDest, msgEnt) { new id = get_msg_arg_int( 1 ) if (is_user_connected(id) && Loged[id]) { new szChannel[181]; get_msg_arg_string(2, szChannel, 180); for(new i;i<3;i++) { if (equal(szChannel, g_szChatChannel[i])) { new msgchat[181]; read_argv(1,msgchat,180) if(equal(msgchat,"")) return PLUGIN_HANDLED new name[33] get_user_name(id,name,32) switch (i) { case 0: { if ( PlayerHasTag [id] ) { formatex(szChannel, 180, "%s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat); } else { formatex(szChannel, 180, "%s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat); } } case 1: if ( PlayerHasTag [id] ) { formatex(szChannel, 180, "^1*DEAD* %s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat); } else { formatex(szChannel, 180, "^1*DEAD* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat); } case 2: if ( PlayerHasTag [id] ) { formatex(szChannel, 180, "^1*SPEC* %s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat); } else { formatex(szChannel, 180, "^1*SPEC* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat); } } set_msg_arg_string(2, szChannel); set_msg_arg_string(3, ""); set_msg_arg_string(4, ""); } } } return PLUGIN_CONTINUE } //------------------------------------------------------Spawn-----------------------------------// public client_disconnect(id) { remove_task(id+33333) g_restart_attempt[id] = false g_HideGiveClips[id] = false g_FirstSpawn[id] = true g_LastMessage[id] = 0 g_LastWeapPickup[id] = 0 g_Spawned[id] = false g_BoughtWeapon[id] = 0 formatex(g_szName[id],31,"") Save(id); } public client_connect(id) { get_user_name(id, g_szName[id], 31) } public hudus(id) { id -= 33333 new ids = id if(!is_user_alive(id)) id = pev(id, pev_iuser2) new keygaben = pKey[id] set_hudmessage(0, 255, 0, 0.01, 0.90, 0, 0.00, 1.00, 0.00, 0.00, 4); ShowSyncHudMsg(ids, g_syncHudMessage2, "[Rank: %s | Key: %d | Kill: %d/%d | Euro: %d |]",Rangs[Rang[id]],keygaben, Kills[id], NeedKills[Rang[id]], Points[id]) } public round_end() { for(new i; i < 32; i++) { if(is_user_connected(i)) { Remove_Icon(i) } } } public seticon(id) { } public derspawn() { hide(x) for(new i; i < 32; i++) { if(is_user_connected(i)) { if(is_user_alive(i)) { set_task(1.0,"seticon",i) } round[i] = 0 if(pKey[i] < 0) pKey[i] = 0 if(viewj[i]) { MenuMod[i] = 0 Menu(i) viewj[i] = 0 } } } bround++ } //---------------------Comenzi------------------------------------// public get_info(id) { hide(mure) if(get_user_flags(id) & ADMIN_MENU) { new target_name[32]; read_argv(1, target_name, charsmax(target_name)); if(equal(target_name, "")) { console_print(id, "amx_getinfo <Nume>"); return 1; } new tData[5][8], Data[MAX+1][8],killuri,puncte,keyu,cutii,rangu,skinuri,startrakuri,dozaD; if(nvault_get(svault, target_name, rLine, sizeof(rLine) - 1)) { formatex(arg1, charsmax(arg1), "") formatex(arg1, charsmax(arg2), "") strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*'); parse(arg1, tData[0], 7, tData[1], 7, tData[2], 7, tData[3], 7, tData[4], 7, Data[1], 7, Data[2], 7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12], 7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21], 7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30], 7, Data[31], 7, Data[32], 7, Data[33], 7, Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39], 7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7, Data[48], 7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7, Data[56], 7); parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64], 7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73], 7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82], 7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91], 7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7); killuri = str_to_num(tData[0]); puncte = str_to_num(tData[1]); keyu = str_to_num(tData[2]); cutii = str_to_num(tData[3]); rangu = str_to_num(tData[4]); for(new i = 1; i < AllWeapon; i++) { dozaD = str_to_num(Data[i]) if(dozaD) skinuri += dozaD } if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1)) { formatex(arg1, charsmax(arg1), "") formatex(arg1, charsmax(arg2), "") strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*'); parse(arg1, Data[1], 7, Data[2], 7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8],7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12], 7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21], 7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30], 7, Data[31], 7, Data[32], 7, Data[33], 7, Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39], 7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7, Data[48], 7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7, Data[56], 7) parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64], 7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73], 7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82], 7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91], 7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7); new dData[8] for(new i = 1; i < AllWeapon; i++) { parse(Data[i], dData, 7) dozaD = str_to_num(dData[0]); if(dozaD) startrakuri += dozaD } } new parola[33] nvault_get(rvault, target_name, parola, sizeof(parola) - 1) console_print(id,"Nume: %s - Parola: %s",target_name,parola) console_print(id,"Killuri: %i",killuri) console_print(id,"Puncte: %i",puncte) console_print(id,"Key: %i",keyu) console_print(id,"Cutii: %i",cutii) console_print(id,"Rank: %s",Rangs[rangu]) console_print(id,"Skinuri: %i",skinuri) console_print(id,"StatTrack: %i",startrakuri) } else { console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name); return 1; } return 1; } else { console_print(id, "Nu ai acces la aceasta comanda !"); return 1; } return 1; } public get_skins(id) { hide(mure) if(get_user_flags(id) & ADMIN_MENU) { new target_name[32]; read_argv(1, target_name, charsmax(target_name)); if(equal(target_name, "")) { console_print(id, "amx_getskins <Nume>"); return 1; } new Data[MAX+1][8],dozaD,dummy[1]; if(nvault_get(svault, target_name, rLine, sizeof(rLine) - 1)) { new parola[33] nvault_get(rvault, target_name, parola, sizeof(parola) - 1) console_print(id,"Nume: %s - Parola: %s",target_name,parola) console_print(id,"Skinuri:") formatex(arg1, charsmax(arg1), "") formatex(arg1, charsmax(arg2), "") strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*'); parse(arg1, dummy, 0, dummy, 0, dummy, 0, dummy, 0, dummy, 0, Data[1], 7, Data[2], 7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12], 7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21], 7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30], 7, Data[31], 7, Data[32], 7, Data[33], 7, Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39], 7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7, Data[48], 7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7, Data[56], 7); parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64], 7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73], 7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82], 7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91], 7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7); for(new i = 1; i < AllWeapon; i++) { dozaD = str_to_num(Data[i]) if(dozaD) console_print(id,"%s - %i",WeaponNames[i],dozaD) } if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1)) { formatex(arg1, charsmax(arg1), "") formatex(arg1, charsmax(arg2), "") strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*'); parse(arg1, Data[1], 7, Data[2], 7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8],7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12], 7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21], 7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30], 7, Data[31], 7, Data[32], 7, Data[33], 7, Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39], 7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7, Data[48], 7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7, Data[56], 7) parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64], 7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73], 7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82], 7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91], 7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7); new dData[8] for(new i = 1; i < AllWeapon; i++) { parse(Data[i], dData, 7) dozaD = str_to_num(dData[0]); if(dozaD) console_print(id,"StatTrack %s - %i",WeaponNames[i],dozaD) } } } else { console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name); return 1; } return 1; } else { console_print(id, "Nu ai acces la aceasta comanda !"); return 1; } return 1; } public take_skins(id) { hide(mure) if(get_user_flags(id) & ADMIN_MENU) { new target_name[32]; read_argv(1, target_name, charsmax(target_name)); if(equal(target_name, "")) { console_print(id, "amx_takeskins <Nume>"); return 1; } new iPlayer = cmd_target(id, target_name, 8); if(!iPlayer) { console_print(id, "Jucatorul %s nu a fost gasit !", target_name); return 1; } for(new i = 1; i < AllWeapon; i++) { stattrack[i][iPlayer] = 0 kill[i][iPlayer] = 0 uWeapon[i][iPlayer] = 0 } for(new a = 0; a < WEAPONSKIN; a++) { UsingWeapon[a][iPlayer] = 0 } Save(iPlayer); return 1; } else { console_print(id, "Nu ai acces la aceasta comanda !"); return 1; } return 1; } public give_key(id) { hide(mure) if(get_user_flags(id) & ADMIN_MENU) { new target_name[32]; new Amount[10]; read_argv(1, target_name, charsmax(target_name)); read_argv(2, Amount, charsmax(Amount)); if(equal(target_name, "") || equal(Amount, "")) { console_print(id, "amx_givekey <Nume> <Suma>"); return 1; } new Key = str_to_num(Amount); if(Key <= 0) { console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !"); return 1; } new iPlayer if(equal(target_name, "@ALL")) { for(new iss; iss < 32; iss++) { if(is_user_connected(iss)) { pKey[iss] += Key; Save(iss); } } new Admin_Name[32]; get_user_name(id, Admin_Name, charsmax(Admin_Name)); print_color(0, "!g%s!t %s!y a dat !g%d key!y la toata lumea", Prefix, Admin_Name, Key); return 1; } else if(equal(target_name, "@CT")) { for(new iss; iss < 32; iss++) { if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT) { pKey[iss] += Key; Save(iss); } } new Admin_Name[32]; get_user_name(id, Admin_Name, charsmax(Admin_Name)); print_color(0, "!g%s!t %s!y a dat !g%d key!y la echipa CT", Prefix, Admin_Name, Key); return 1; } else if(equal(target_name, "@T")) { for(new iss; iss < 32; iss++) { if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T) { pKey[iss] += Key; Save(iss); } } new Admin_Name[32]; get_user_name(id, Admin_Name, charsmax(Admin_Name)); print_color(0, "!g%s!t %s!y a dat !g%d key!y la echipa T", Prefix, Admin_Name, Key); return 1; } else { iPlayer = cmd_target(id, target_name, 8); } if(!iPlayer) { console_print(id, "Jucatorul %s nu a fost gasit !", target_name); return 1; } pKey[iPlayer] += Key; new Admin_Name[32]; new Player_Name[32]; Save(iPlayer); get_user_name(id, Admin_Name, charsmax(Admin_Name)); get_user_name(iPlayer, Player_Name, charsmax(Admin_Name)); print_color(0, "!g%s!t %s!y i-a dat !g%d key!y lui!t %s", Prefix, Admin_Name, Key, Player_Name); return 1; } else { console_print(id, "Nu ai acces la aceasta comanda !"); return 1; } return 1; } public give_skins(id) { hide(mure) if(get_user_flags(id) & ADMIN_MENU) { new target_name[32]; read_argv(1, target_name, 31); if(equal(target_name, "")) { console_print(id, "amx_giveskins <Nume>"); return 1; } new iPlayer = cmd_target(id, target_name, 8); if(!iPlayer) { console_print(id, "Jucatorul %s nu a fost gasit !", target_name); return 1; } for(new i = 1; i < AllWeapon; i++) { uWeapon[i][iPlayer]++ } Save(iPlayer); return 1; } else { console_print(id, "Nu ai acces la aceasta comanda !"); return 1; } return 1; } public give_stat(id) { hide(mure) if(get_user_flags(id) & ADMIN_MENU) { new target_name[32]; read_argv(1, target_name, 31); if(equal(target_name, "")) { console_print(id, "amx_givestat <Nume>"); return 1; } new iPlayer = cmd_target(id, target_name, 8); if(!iPlayer) { console_print(id, "Jucatorul %s nu a fost gasit !", target_name); return 1; } for(new i = 1; i < AllWeapon; i++) { uWeapon[i][iPlayer]++ stattrack[i][iPlayer]++ } Save(iPlayer); return 1; } else { console_print(id, "Nu ai acces la aceasta comanda !"); return 1; } return 1; } public give_chest(id) { hide(mure) if(get_user_flags(id) & ADMIN_MENU) { new target_name[32]; new Amount[10]; new Amounts[10]; read_argv(1, target_name, 31); read_argv(2, Amount, 9); read_argv(3, Amounts, 9); if(equal(target_name, "") || equal(Amount, "") || equal(Amounts, "")) { console_print(id, "amx_givechest <Nume> <Suma> <chestid>"); return 1; } new Key = str_to_num(Amount); if(Key <= 0) { console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !"); return 1; } new Keyid = str_to_num(Amounts); if(Keyid < 0||Keyid > 10) { console_print(id, "Trebuie sa scrii o suma intre 0 si 11!"); return 1; } new iPlayer if(equal(target_name, "@ALL")) { for(new iss; iss < 32; iss++) { if(is_user_connected(iss)) { Chestp[iss][Keyid] += Key; Save(iss); } } new Admin_Name[32]; get_user_name(id, Admin_Name, 31); print_color(0, "!g%s!t %s!y a dat !g%d %s!y la toata lumea", Prefix, Admin_Name, Key, ChestName[Keyid]); return 1; } else if(equal(target_name, "@CT")) { for(new iss; iss < 32; iss++) { if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT) { Chestp[iss][Keyid] += Key; Save(iss); } } new Admin_Name[32]; get_user_name(id, Admin_Name, 31); print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa CT", Prefix, Admin_Name, Key, ChestName[Keyid]); return 1; } else if(equal(target_name, "@T")) { for(new iss; iss < 32; iss++) { if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T) { Chestp[iss][Keyid] += Key; Save(iss); } } new Admin_Name[32]; get_user_name(id, Admin_Name, 31); print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa T", Prefix, Admin_Name, Key, ChestName[Keyid]); return 1; } else { iPlayer = cmd_target(id, target_name, 8); } if(!iPlayer) { console_print(id, "Jucatorul %s nu a fost gasit !", target_name); return 1; } Chestp[iPlayer][Keyid] += Key; new Admin_Name[32]; new Player_Name[32]; Save(iPlayer); get_user_name(id, Admin_Name, 31); get_user_name(iPlayer, Player_Name, 31); print_color(0, "!g%s!t %s!y i-a dat !g%d %s!y lui!t %s", Prefix, Admin_Name, Key, ChestName[Keyid], Player_Name); return 1; } else { console_print(id, "Nu ai acces la aceasta comanda !"); return 1; } return 1; } public give_puncte(id) { hide(mure) if(get_user_flags(id) & ADMIN_MENU) { new target_name[32]; new Amount[10]; read_argv(1, target_name, 31); read_argv(2, Amount, 9); if(equal(target_name, "") || equal(Amount, "")) { console_print(id, "amx_givepoints <Nume> <Suma>"); return 1; } new Key = str_to_num(Amount); if(Key <= 0) { console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !"); return 1; } new iPlayer if(equal(target_name, "@ALL")) { for(new iss; iss < 32; iss++) { if(is_user_connected(iss)) { Points[iss] += Key; Save(iss); } } new Admin_Name[32]; get_user_name(id, Admin_Name, 31); print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la toata lumea", Prefix, Admin_Name, Key); return 1; } else if(equal(target_name, "@CT")) { for(new iss; iss < 32; iss++) { if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT) { Points[iss] += Key; Save(iss); } } new Admin_Name[32]; get_user_name(id, Admin_Name, 31); print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa CT", Prefix, Admin_Name, Key); return 1; } else if(equal(target_name, "@T")) { for(new iss; iss < 32; iss++) { if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T) { Points[iss] += Key; Save(iss); } } new Admin_Name[32]; get_user_name(id, Admin_Name, 31); print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa T", Prefix, Admin_Name, Key); return 1; } else { iPlayer = cmd_target(id, target_name, 8); } if(!iPlayer) { console_print(id, "Jucatorul %s nu a fost gasit !", target_name); return 1; } Points[iPlayer] += Key; new Admin_Name[32]; new Player_Name[32]; Save(iPlayer); get_user_name(id, Admin_Name, 31); get_user_name(iPlayer, Player_Name, 31); print_color(0, "!g%s!t %s!y i-a dat !g%d EURO!y lui!t %s", Prefix, Admin_Name, Key, Player_Name); return 1; } else { console_print(id, "Nu ai acces la aceasta comanda !"); return 1; } return 1; } public give_rank(id) { hide(mure) if(get_user_flags(id) & ADMIN_MENU) { new target_name[32]; new Amount[10]; read_argv(1, target_name, 31); read_argv(2, Amount, 9); if(equal(target_name, "") || equal(Amount, "")) { console_print(id, "amx_giverank <Nume> <ID>"); return 1; } new Key = str_to_num(Amount); if(Key <= 0) { console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !"); return 1; } new iPlayer iPlayer = cmd_target(id, target_name, 8); if(!iPlayer) { console_print(id, "Jucatorul %s nu a fost gasit !", target_name); return 1; } Rang[iPlayer] = Key; new Admin_Name[32]; new Player_Name[32]; Save(iPlayer); get_user_name(id, Admin_Name, 31); get_user_name(iPlayer, Player_Name, 31); print_color(0, "!g%s!t %s!y i-a oferit grad-ul !g%s!y lui !t%s", Prefix, Admin_Name, Rangs[Key], Player_Name); return 1; } else { console_print(id, "Nu ai acces la aceasta comanda !"); return 1; } return 1; } public give_promo(id) { hide(mure) if(get_user_flags(id) & ADMIN_MENU) { new target_name[32]; read_argv(1, target_name, 31); if(equal(target_name, "")) { console_print(id, "amx_getpromo <Nume>"); return 1; } new Cost = LoadPromo(target_name) print_color(id, "!g%s!t PromoCode-ul !g%s !ta fost folosit de !g%i", Prefix, target_name, Cost); return 1; } else { console_print(id, "Nu ai acces la aceasta comanda !"); return 1; } return 1; } //----------------------------------------Main--------------------------------------------// public MenuOpen(id) { hide(mure) if(!Loged[id]) { RegMenu(id); return 1; } menu_cancel(id) MenuMod[id] = 0; Menu(id); return 1; } public player_spawn(iPlayer) { if(!is_user_alive(iPlayer)) return HAM_IGNORED new szName[32] get_user_name(iPlayer, szName, 31) if(!equali(szName, g_szName[iPlayer])) { set_msg_block(msgID_sayText, BLOCK_ONCE) set_user_info(iPlayer, "name", g_szName[iPlayer]) } for(new p = 1; p <= 32; p++) g_iDamage[iPlayer][p] = 0 return HAM_IGNORED } public player_damage(iVictim) { new iAttacker = get_user_attacker(iVictim) if(!is_player(iAttacker)) return PLUGIN_CONTINUE g_iDamage[iAttacker][iVictim] += read_data(2) return PLUGIN_CONTINUE } public player_diePost(arg[]) { new szWeapon[24] new iKiller = arg[1] get_weaponname(arg[3], szWeapon, 23) replace(szWeapon, 23, "weapon_", "") do_deathmsg(iKiller, arg[0], arg[2], szWeapon) set_msg_block(msgID_sayText, BLOCK_ONCE) set_user_info(iKiller, "name", g_szName[iKiller]) set_task(1.0,"removename",iKiller) return PLUGIN_CONTINUE } public removename(id) { g_NameChange[id] = 0 } public msg_deathMsg() return PLUGIN_HANDLED stock do_deathmsg(iKiller, iVictim, iHS, const szWeapon[]) { message_begin(MSG_ALL, msgID_deathMsg) write_byte(iKiller) write_byte(iVictim) write_byte(iHS) write_string(szWeapon) message_end() } public event_DeathMsg() { hide(mure) static Victim; Victim = read_data(2); static Killer; Killer = read_data(1); new iHS = read_data(3) new szWeapon[24] g_iEnemiesKilled[read_data(1)]++ read_data(4, szWeapon, 23) remove_task(Victim+500) if(Killer != Victim) { new iKiller2 = -1 for(new p = 1; p <= 32; p++) { if(p != Killer && g_iDamage[p][Victim] >= 45) { iKiller2 = p } g_iDamage[p][Victim] = 0 } if(iKiller2 != -1) { g_NameChange[Killer] = 1 new iFrags = get_user_frags(iKiller2)+1 set_user_frags(iKiller2, iFrags) message_begin(MSG_ALL, msgID_scoreInfo) write_byte(iKiller2) write_short(iFrags) write_short(get_user_deaths(iKiller2)) write_short(0) write_short(get_user_team(iKiller2)) message_end() new szName1[32], iName1Len, szName2[32], iName2Len, szNames[32], szWeaponLong[32] iName1Len = get_user_name(Killer, szName1, 31) iName2Len = get_user_name(iKiller2, szName2, 31) g_szName[Killer] = szName1 if(iName1Len < 14) { formatex(szName1, iName1Len, "%s", szName1) formatex(szName2, 28-iName1Len, "%s", szName2) } else if(iName2Len < 14) { formatex(szName1, 28-iName2Len, "%s", szName1) formatex(szName2, iName2Len, "%s", szName2) } else { formatex(szName1, 13, "%s", szName1) formatex(szName2, 13, "%s", szName2) } formatex(szNames, 31, "%s + %s", szName1, szName2) set_msg_block(msgID_sayText, BLOCK_ONCE) set_user_info(Killer, "name", szNames) if(equali(szWeapon, "grenade")) szWeaponLong = "weapon_hegrenade" else formatex(szWeaponLong, 31, "weapon_%s", szWeapon) new args[4] args[0] = Victim args[1] = Killer args[2] = iHS args[3] = get_weaponid(szWeaponLong) set_task(0.1, "player_diePost", 0, args, 4) } else do_deathmsg(Killer, Victim, iHS, szWeapon) } else do_deathmsg(Victim, Victim, iHS, szWeapon) if(task_exists(Victim+231245534)) { remove_task(Victim+231245534) } set_task(0.1, "ShowHUD", Victim+231245534, _, _, "b") if(is_user_connected(Victim)) Remove_Icon(Victim) if(Killer == Victim) { return PLUGIN_HANDLED; } new pPont; pPont += random_num(PointsMin, PointsMax); Kills[Killer]++; for(new i = 1; i < AllWeapon; i++) { for(new a = 0; a < WEAPONSKIN; a++) { new der = i+500 if(der == UsingWeapon[a][Killer]) { if(get_user_weapon(Killer) == Weapons[i]) { kill[i][Killer]++ } } } } Points[Killer] += pPont; new Name[32] get_user_name(Killer, Name, 31); set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0); show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont); if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1)) { if(Kills[Killer] >= NeedKills[Rang[Killer]]) { Rang[Killer]++; print_color(0, "!g%s %s !ya avansat si a ajuns la gradul !t%s", Prefix, Name,Rangs[Rang[Killer]]); } } if(get_pcvar_num(g_dropchace) >= random_num(1, 100)) { new x = random_num(1, 2); if(x == 1) { pKey[Killer]++; print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name); } if(x == 2) { GiveChest(Killer) } } set_task(4.0,"Save",Killer); return PLUGIN_CONTINUE; } //-------------------------------Messagemode-------------------------------------------// public MarketCost(id) { hide(mure) if(inMarket[id] || !Loged[id]) return PLUGIN_HANDLED; new Data[32], Cost; read_args(Data, 31); remove_quotes(Data); Cost = str_to_num(Data); if(Cost < 0) { client_cmd(id, "messagemode Cost"); return PLUGIN_HANDLED; } else if(WeaponinMarket[id] == 102) { if(300 > Cost || 2500 < Cost) { print_color(id, "!gMinimul de vanzare !t300!g, Maximul de vanzare !t2500"); client_cmd(id, "messagemode Cost"); return PLUGIN_HANDLED; } MarketPoints[id] = Cost; MenuMod[id] = 3 Menu(id) return PLUGIN_CONTINUE; } else if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id]) { if(ChestMin[WeaponinMarket[id]-103] > Cost || ChestMax[WeaponinMarket[id]-103] < Cost) { print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d",ChestMin[WeaponinMarket[id]-103],ChestMax[WeaponinMarket[id]-103]); client_cmd(id, "messagemode Cost"); return PLUGIN_HANDLED; } MarketPoints[id] = Cost; MenuMod[id] = 3 Menu(id) return PLUGIN_CONTINUE; } else if(WeaponinMarket[id] > 500) { WeaponinMarket[id] -= 500 new d = WeaponMin[WeaponinMarket[id]] d *= 2 new e = WeaponMax[WeaponinMarket[id]] e *= 2 WeaponinMarket[id] += 500 if(d > Cost || e < Cost) { print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", d, e); client_cmd(id, "messagemode Cost"); return PLUGIN_HANDLED; } else { MarketPoints[id] = Cost; MenuMod[id] = 3 Menu(id) return PLUGIN_CONTINUE; } } else if(WeaponMin[WeaponinMarket[id]] > Cost || WeaponMax[WeaponinMarket[id]] < Cost) { print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", WeaponMin[WeaponinMarket[id]], WeaponMax[WeaponinMarket[id]]); client_cmd(id, "messagemode Cost"); return PLUGIN_HANDLED; } else { MarketPoints[id] = Cost; MenuMod[id] = 3 Menu(id) return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public PromoCode(id) { hide(mure) if(!Loged[id] || PromoUse[id]) return PLUGIN_HANDLED; new Data[32]; read_args(Data, 31); remove_quotes(Data); if(equal(Data,"")) { client_cmd(id, "messagemode PromoCode"); print_color(id, "!g[Global Offensive]!t Scrie un promocode valid...."); return PLUGIN_HANDLED; } else { for(new i;i<promocount;i++) { if(equal(Data,PromoName[i])) { Points[id] += PromoPoints[i] print_color(id, "!g[Global Offensive]!t Ai folosit promocode-ul !g%s!t si ai castigat !g%d!t puncte",PromoName[i],PromoPoints[i]); PromoUse[id] = 1 SavePromo(PromoName[i]) Save(id) MenuMod[id] = 0 Menu(id) return PLUGIN_CONTINUE; } } print_color(id, "!g[Global Offensive]!t Scrie un promocode valid...."); } return PLUGIN_CONTINUE; } public SavePromo(name[]) { new Line[64]; format(Line, 63, "%i", LoadPromo(name)+1); nvault_set(pvault, name, Line) } public LoadPromo(name[]) { hide(mure) new Data[32]; if(nvault_get(pvault, name, Data, sizeof(Data) - 1)) { return str_to_num(Data) } return 0; } public Tbet(id) { hide(mure) if(!Loged[id] || bround > 4 || pbet[id]) return PLUGIN_HANDLED; new Data[32], Cost; read_args(Data, 31); remove_quotes(Data); Cost = str_to_num(Data); if(Cost < 0 || Cost > Points[id] || Cost == 0) { client_cmd(id, "messagemode T"); return PLUGIN_HANDLED; } else { pbet[id] = 1; betp[id] = Cost Points[id] -= Cost print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa T %d points",Cost); MenuMod[id] = 0 Menu(id) return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public CTbet(id) { hide(mure) if(!Loged[id] || bround > 4 || pbet[id]) return PLUGIN_HANDLED; new Data[32], Cost; read_args(Data, 31); remove_quotes(Data); Cost = str_to_num(Data); if(Cost < 0 || Cost > Points[id] || Cost == 0) { client_cmd(id, "messagemode CT"); return PLUGIN_HANDLED; } else { pbet[id] = 2; betp[id] = Cost Points[id] -= Cost print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa CT %d points",Cost); MenuMod[id] = 0 Menu(id) return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public RosuRuleta(id) { hide(mure) if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id]) return PLUGIN_HANDLED; new Data[32], Cost; read_args(Data, 31); remove_quotes(Data); Cost = str_to_num(Data); if(Cost < 0 || Cost > Points[id] || Cost == 0) { client_cmd(id, "messagemode Rosu"); return PLUGIN_HANDLED; } else { Rosu[id] = Cost; Points[id] -= Cost Save(id) ruletta(id) playr++ if(playr == 2 && sec == 60) playruleta() return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public GriRuleta(id) { hide(mure) if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id]) return PLUGIN_HANDLED; new Data[32], Cost; read_args(Data, 31); remove_quotes(Data); Cost = str_to_num(Data); if(Cost < 0 || Cost > Points[id] || Cost == 0) { client_cmd(id, "messagemode Gri"); return PLUGIN_HANDLED; } else { Gri[id] = Cost; Points[id] -= Cost Save(id) ruletta(id) playr++ if(playr == 2 && sec == 60) playruleta() return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public GalbenRuleta(id) { hide(mure) if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id]) return PLUGIN_HANDLED; new Data[32], Cost; read_args(Data, 31); remove_quotes(Data); Cost = str_to_num(Data); if(Cost < 0 || Cost > Points[id] || Cost == 0) { client_cmd(id, "messagemode Galben"); return PLUGIN_HANDLED; } else { Galben[id] = Cost; Points[id] -= Cost Save(id) ruletta(id) playr++ if(playr == 2 && sec == 60) playruleta() return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public GiftPoint(id) { hide(mure) if(inMarket[id] || !Loged[id]) return PLUGIN_HANDLED; new Data[32], Cost; read_args(Data, 31); remove_quotes(Data); Cost = str_to_num(Data); if(Cost < 0 || Points[id] < Cost) { client_cmd(id, "messagemode Gift"); return PLUGIN_HANDLED; } else { aPoints[id] = Cost; MenuMod[id] = 5; Menu(id); return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } //------------------------------------Arme-----------------------------// public CWeapon( id ) { hide(mure) if(id > 32 || id < 1 || !is_user_alive(id)) { return 1; } if(task_exists(id+231245534)) { rem[id] = 1 ClearSyncHud(id,g_syncHudMessage1) remove_task(id+231245534) } new a = get_pdata_cbase( id, 373 ) if(pev_valid(a)) { new imv = pev(a, 82) if(imv > 0) { set_pev(id, pev_viewmodel2, WeaponMdls[imv]) rem[id] = 0 ShowHUDz(id+231245534) set_task(1.0, "ShowHUDz", id+231245534, _, _, "b") return 1; } } for(new i = 1; i < AllWeapon; i++) { for(new a = 0; a < WEAPONSKIN; a++) { new der = i+500 if(i == UsingWeapon[a][id]) { if(get_user_weapon(id) == Weapons[i]) { set_pev(id, pev_viewmodel2, WeaponMdls[i]); return 1; } } else if(der == UsingWeapon[a][id]) { if(get_user_weapon(id) == Weapons[i]) { set_pev(id, pev_viewmodel2, WeaponMdls[i]); rem[id] = 0 ShowHUD(id+231245534) set_task(1.0, "ShowHUD", id+231245534, _, _, "b") return 1; } } } } for(new i = 1; i < AllWeaponD; i++) { if(get_user_weapon(id) == WeaponsD[i]) { set_pev(id, pev_viewmodel2, WeaponDMdls[i]); return 1; } } return PLUGIN_CONTINUE; } public ShowHUDz(id) { hide(mure) id -= 231245534 if(rem[id]) return 1; if(!is_user_connected(id)) return 1; if (!is_user_alive(id)) { new ids = pev(id, pev_iuser2) if (!is_user_alive(ids)) return 1; new a = get_pdata_cbase(ids, 373) if(pev_valid(a)) { for(new i; i < wpnnz+1; i++) { if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(ids)) { set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00); ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]); } } } } else { new a = get_pdata_cbase(id, 373) if(pev_valid(a)) { for(new i; i < wpnnz+1; i++) { if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(id)) { set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00); ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]); } } } } return 0 } public ShowHUD(id) { hide(mure) id -= 231245534 if(rem[id]) return 1; if(!is_user_connected(id)) return 1; if (!is_user_alive(id)) { new ids = pev(id, pev_iuser2) if (!is_user_alive(ids)) return 1; new name[32] get_user_name(ids, name, 31) for(new i = 1; i < AllWeapon; i++) { for(new a = 0; a < WEAPONSKIN; a++) { new der = i+500 if(der == UsingWeapon[a][ids]) { if(get_user_weapon(ids) == Weapons[i]) { set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00); ShowSyncHudMsg(id, g_syncHudMessage1, "%s detine %s StatTrack^n-are %i kill-uri confirmate", name, WeaponNames[i], kill[i][ids]); } } } } } else { for(new i = 1; i < AllWeapon; i++) { for(new a = 0; a < WEAPONSKIN; a++) { new der = i+500 if(der == UsingWeapon[a][id]) { if(get_user_weapon(id) == Weapons[i]) { set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00); ShowSyncHudMsg(id, g_syncHudMessage1, "StatTrack %s^nConfirmed Kills: %i", WeaponNames[i], kill[i][id]); } } } } } return 0 } //----------------------------------Case opening-----------------------// public ChestOpen(id,value) { hide(mure) if(!task[id]) { new a, itema[MAX+1] for(new i = 1; i < AllWeapon; i++) { if(WeaponChest[i] == value) { itema[a] = i a++ } } if(a == 0) { print_color(id, "!g[Global Offensive] !yChestul %s nu contine niciun skin.Anunta detinatorul!",ChestName[value]) return; } new rWeapon = random_num(1, a); new rNum for(new i;i<1000;i++) { rNum = random_num(1, 100); if(WeaponDrop[itema[rWeapon]] >= rNum) { Chestp[id][value]--; pKey[id]--; new star = random_num(1, 25) if(star == 1) { new Name[32]; get_user_name(id, Name, 31); print_color(id, "!g[Global Offensive]%L!y-!gStatTrack!y!", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]); uWeapon[itema[rWeapon]][id]++; stattrack[itema[rWeapon]][id]++; Save(id); } else { new Name[32]; get_user_name(id, Name, 31); print_color(id, "!g[Global Offensive]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]); uWeapon[itema[rWeapon]][id]++; Save(id); } client_cmd(id, "stopsound") client_cmd(id, "mp3 stop") client_cmd(id, "spk %s",Sunete[0]) task[id] = 1 set_task(5.0,"rmvtsk",id+31666677) break; } } } else { print_color(id, "!g[>CSGO<] !yAsteapta !g5 secunde !ypentru a putea folosi comanda !!!"); } } public rmvtsk(id) { id -= 31666677 task[id] = 0 } //------------------------Meniu-----------------------------------// public Menu(id) { hide(mure) if(Loged[id] == false) { RegMenu(id); return 1; } new sMenu, Line[245]; if(MenuMod[id] == -2) { formatex(Line, charsmax(Line), "%s\r %L %L", Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]); sMenu = menu_create(Line, "MenuHandler"); new String[32], All,bool:Apply = false; for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][id] == 0 || coldown[i][id] != -1) continue; if(i == UsingWeapon[i][id]) Apply = true; else Apply = false; if(stattrack[i][id]) { new bda bda = i+500 formatex(String, 31, "%d", bda); formatex(Line, charsmax(Line), "%s%L\w(\yStatTrack \w)\d|\yConfirmed Kills \w[\y%i\w]",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id], kill[i][id]); menu_additem(sMenu, Line, String); } if(uWeapon[i][id] > stattrack[i][id]) { new dsa = uWeapon[i][id]-stattrack[i][id] num_to_str(i, String, 31); formatex(Line, charsmax(Line), "%s%L",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa); menu_additem(sMenu, Line, String); } All++; } for(new i;i<chestcount;i++) { if(Chestp[id][i] > 0) { formatex(Line, charsmax(Line), "\r%s \d|\y %d bucati", ChestName[i], Chestp[id][i]); new calcul = 103+i new numars[16] num_to_str(calcul,numars,15) menu_additem(sMenu, Line, numars); All++; } } if(pKey[id] > 0) { formatex(Line, charsmax(Line), "%L", LANG_SERVER, "KEYPIECE", pKey[id]); menu_additem(sMenu, Line, "102"); All++; } if(All == 0) { MenuMod[id] = 0; Menu(id); return 1; } menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL) menu_display(id, sMenu, 0); } else if(MenuMod[id] == -1) { formatex(Line, charsmax(Line), "%s\r %L %L", Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]); sMenu = menu_create(Line, "MenuHandler"); new String[32], All; for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][id] == 0 || coldown[i][id] != -1) continue; if(stattrack[i][id]) { new bda bda = i+500 formatex(String, 31, "%d", bda); formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]); menu_additem(sMenu, Line, String); } if(uWeapon[i][id] > stattrack[i][id]) { new dsa = uWeapon[i][id]-stattrack[i][id] num_to_str(i, String, 31); formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa); menu_additem(sMenu, Line, String); } All++; } for(new i;i<chestcount;i++) { if(Chestp[id][i] > 0) { formatex(Line, charsmax(Line), "\r%s \d|\y %d bucati", ChestName[i], Chestp[id][i]); new calcul = 103+i new numars[16] num_to_str(calcul,numars,15) menu_additem(sMenu, Line, numars); All++; } } if(pKey[id] > 0) { formatex(Line, charsmax(Line), "%L", LANG_SERVER, "KEYPIECE", pKey[id]); menu_additem(sMenu, Line, "102"); All++; } if(All == 0) { MenuMod[id] = 0; Menu(id); return 1; } menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL) menu_display(id, sMenu, 0); } else if(MenuMod[id] == 0) { formatex(Line, charsmax(Line), "%s\r %L %L", Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]); sMenu = menu_create(Line, "MenuHandler"); formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOSKINS"); menu_additem(sMenu, Line, "1"); if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]) { formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOCHESTOPEN"); menu_additem(sMenu, Line, "2"); } else { formatex(Line, charsmax(Line), "%L %L", LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET"); menu_additem(sMenu, Line, "0"); } if(!inJack[id]) { formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOMARKET"); menu_additem(sMenu, Line, "3"); } else { formatex(Line, charsmax(Line), "%L%L", LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "INMARKET"); menu_additem(sMenu, Line, "0"); } if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]) { formatex(Line, charsmax(Line), "Schimburi de iteme"); menu_additem(sMenu, Line, "4"); } else { formatex(Line, charsmax(Line), "Schimburi de iteme%L", LANG_SERVER, "INMARKET"); menu_additem(sMenu, Line, "0"); } if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]) { formatex(Line, charsmax(Line), "%L",LANG_SERVER, "MENUTOGIFT"); menu_additem(sMenu, Line, "5"); } else { formatex(Line, charsmax(Line), "%L %L", LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "INMARKET"); menu_additem(sMenu, Line, "0"); } if(!ruleta) { formatex(Line, charsmax(Line), "Ruleta\r[Deschis]"); menu_additem(sMenu, Line, "6"); } else { formatex(Line, charsmax(Line), "\dRuleta\r[Inchis 5 minute]"); menu_additem(sMenu, Line, "0"); } if(!jackpot) { formatex(Line, charsmax(Line), "Jackpot\r[Deschis]"); menu_additem(sMenu, Line, "7"); } else { formatex(Line, charsmax(Line), "\dJackpot\r[Inchis 5 minute]^n%L", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]); menu_additem(sMenu, Line, "0"); } formatex(Line, charsmax(Line), "Crash\r[Deschis]"); menu_additem(sMenu, Line, "11"); formatex(Line, charsmax(Line), "CoinFlip\r[Deschis]"); menu_additem(sMenu, Line, "12"); formatex(Line, charsmax(Line), "Bet Team"); menu_additem(sMenu, Line, "8"); if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]) { formatex(Line, charsmax(Line), "Contract"); menu_additem(sMenu, Line, "9"); } else { formatex(Line, charsmax(Line), "\dContract%L", LANG_SERVER, "INMARKET"); menu_additem(sMenu, Line, "0"); } if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]) { formatex(Line, charsmax(Line), "Sterge Iteme"); menu_additem(sMenu, Line, "10"); } else { formatex(Line, charsmax(Line), "\dSterge Iteme%L", LANG_SERVER, "INMARKET"); menu_additem(sMenu, Line, "0"); } if(!PromoUse[id]) { formatex(Line, charsmax(Line), "PromoCode"); menu_additem(sMenu, Line, "13"); } else { formatex(Line, charsmax(Line), "\dPromoCode"); menu_additem(sMenu, Line, "0"); } formatex(Line, charsmax(Line), "Chat Tag"); menu_additem(sMenu, Line, "14"); menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL) menu_display(id, sMenu, 0); } else if(MenuMod[id] == 1) { formatex(Line, charsmax(Line), "%s\r %L %L", Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]); sMenu = menu_create(Line, "MenuHandler"); new String[32], All,bool:Apply = false; for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][id] == 0 || coldown[i][id] != -1) continue; if(i == UsingWeapon[i][id]) Apply = true; else Apply = false; if(stattrack[i][id]) { new bda bda = i+500 formatex(String, 31, "%d", bda); formatex(Line, charsmax(Line), "%s%L\w(\yStatTrack \w)\d|\yConfirmed Kills \w[\y%i\w]",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id], kill[i][id]); menu_additem(sMenu, Line, String); } if(uWeapon[i][id] > stattrack[i][id]) { new dsa = uWeapon[i][id]-stattrack[i][id] num_to_str(i, String, 31); formatex(Line, charsmax(Line), "%s%L",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa); menu_additem(sMenu, Line, String); } All++; } if(All == 0) { MenuMod[id] = 0; Menu(id); return 1; } menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL) menu_display(id, sMenu, 0); } else if(MenuMod[id] == 2) { formatex(Line, charsmax(Line), "%s\r Deschide cutii^nAi %d key", Prefix, pKey[id]); sMenu = menu_create(Line, "MenuHandler"); for(new i;i<chestcount;i++) { new strnumar[16] num_to_str(i,strnumar,15) formatex(Line, charsmax(Line), "%s \r| \y%d bucati", ChestName[i],Chestp[id][i]); menu_additem(sMenu, Line, strnumar); } menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL) menu_display(id, sMenu, 0); } else if(MenuMod[id] == 3) { formatex(Line, charsmax(Line), "%s\r %L %L", Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]); sMenu = menu_create(Line, "MenuHandler"); new String[32], All; if(!inMarket[id]) { for(new i = 1; i < AllWeapon; i++) { new der = i+500 if(i == WeaponinMarket[id] && uWeapon[i][id] > 0) { formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]); All++; } else if(der == WeaponinMarket[id] && uWeapon[i][id] > 0) { formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]); All++; } } if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id]) { formatex(Line, charsmax(Line), "\rItem:\d %s^n\yPret:\d %d", ChestName[WeaponinMarket[id]-103],MarketPoints[id]); All++; } if(102 == WeaponinMarket[id] && pKey[id] > 0) { formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]); All++; } if(All == 0) formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACECH"); menu_additem(sMenu, Line, "-1"); } if(!inMarket[id]) formatex(Line, charsmax(Line), "%L", LANG_SERVER, "TOMARKETM"); else formatex(Line, charsmax(Line), "%L", LANG_SERVER, "BACKMARKET"); menu_additem(sMenu, Line, "0"); new Name[32]; for(new x; x < 32; x++) { if(!is_user_connected(x)||!Loged[x]) continue; if(inMarket[x] && MarketPoints[x] > 0) { num_to_str(x, String, 31); get_user_name(x, Name, 31); if(103 <= WeaponinMarket[x] && 113 >= WeaponinMarket[x]) { formatex(Line, charsmax(Line), "\r%s \d|\y %s \d| \rCost:\y %d", Name, ChestName[WeaponinMarket[x]-103], MarketPoints[x]); menu_additem(sMenu, Line, String); } else if(102 == WeaponinMarket[x]) { formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]); menu_additem(sMenu, Line, String); } else { for(new i = 1; i < AllWeapon; i++) { new der = i+500 if(i == WeaponinMarket[x]) { formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]); menu_additem(sMenu, Line, String); } else if(der == WeaponinMarket[x]) { WeaponinMarket[x] = i formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]); menu_additem(sMenu, Line, String); WeaponinMarket[x] = der } } } } } menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL) menu_display(id, sMenu, 0); } else if(MenuMod[id] == 4) { trade(id); return 1; } else if(MenuMod[id] == 5) { formatex(Line, charsmax(Line), "%s\r %L %L", Prefix, LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "YPOINT", Points[id]); sMenu = menu_create(Line, "MenuHandler"); new All, Name[32], String[32]; get_user_name(aTarget[id], Name, 31); if(aTarget[id] > 0 && is_user_connected(aTarget[id])) { formatex(Line, charsmax(Line), "%L", LANG_SERVER, "GIFTT", Name); menu_additem(sMenu, Line, "-1"); for(new i = 1; i < AllWeapon; i++) { new der = i+500 if(i == aThing[id] && uWeapon[i][id] > 0) { formatex(Line, charsmax(Line), "%L", LANG_SERVER, "GIFTS", WeaponNames[i]); menu_additem(sMenu, Line, "-2"); All++; } else if(der == aThing[id] && uWeapon[i][id] > 0) { formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "GIFTS", WeaponNames[i]); All++; } } if(aThing[id] == 0 && All == 0) { formatex(Line, charsmax(Line), "%L", LANG_SERVER, "GIFTCH"); menu_additem(sMenu, Line, "-2"); } else if(aThing[id] > 100) { if(103 <= aThing[id] && 113 >= aThing[id]) { formatex(Line, charsmax(Line), "\rCadou:\d %s",ChestName[aThing[id]-103]); } if(102 == aThing[id]) { formatex(Line, charsmax(Line), "%L", LANG_SERVER, "GIFTK"); } menu_additem(sMenu, Line, "-2"); } formatex(Line, charsmax(Line), "%L", LANG_SERVER, "GIFTPOINTS", aPoints[id]); menu_additem(sMenu, Line, "-4"); formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SENDGIFT"); menu_additem(sMenu, Line, "-3"); } else { for(new i; i < 32; i++) { if(is_user_connected(i) && i != id && Loged[i]) { get_user_name(i, Name, 31); num_to_str(i, String, 31); menu_additem(sMenu, Name, String); } } } menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL) menu_display(id, sMenu, 0); } else if(MenuMod[id] == 6) { if(!ruleta) { if(!is_user_alive(id)) ruletta(id) else print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix); } return 1; } else if(MenuMod[id] == 7) { if(!jackpot) { if(!is_user_alive(id)) jackkpot(id) else print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul!t cand esti !gVIU!",Prefix); } return 1; } else if(MenuMod[id] == 8) { bet(id) return 1; } else if(MenuMod[id] == 9) { contract(id) return 1; } else if(MenuMod[id] == 10) { sterge(id) return 1; } else if(MenuMod[id] == 11) { if(!is_user_alive(id)) { crashi[id] = 1 } else print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix); } else if(MenuMod[id] == 12) { if(!is_user_alive(id)) { coinflip(id) } else print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix); } else if(MenuMod[id] == 13) { if(!PromoUse[id]) { client_cmd(id, "messagemode PromoCode"); } else print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix); } else if(MenuMod[id] == 14) { ShopTagMenu(id) return 1; } return PLUGIN_CONTINUE } public MenuHandler(id, gMenu, Key) { hide(mure) if(Key == MENU_EXIT) { menu_destroy(gMenu); return PLUGIN_HANDLED; } new aMenu[2], Data[6][32], sKey[32], Name[32], mName[32]; menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]); parse(Data[0], sKey, 31); Key = str_to_num(sKey); if(MenuMod[id] == -2) { aThing[id] = Key; MenuMod[id] = 5; Menu(id); return PLUGIN_HANDLED; } else if(MenuMod[id] == -1) { WeaponinMarket[id] = Key; client_cmd(id, "messagemode Cost"); MenuMod[id] = 3; Menu(id); return PLUGIN_HANDLED; } else if(MenuMod[id] == 0) { if(Key == 4) { trade(id) return PLUGIN_HANDLED; } MenuMod[id] = Key; Menu(id); } else if(MenuMod[id] == 1) { parse(Data[0], Data[2], 31, Data[3], 31); if(str_to_num(Data[3]) == FAMAS) UsingWeapon[0][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == USP) UsingWeapon[1][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == GLOCK18) UsingWeapon[2][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == AWP) UsingWeapon[3][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == MP5NAVY) UsingWeapon[4][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == M3) UsingWeapon[5][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == M4A1) UsingWeapon[6][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == DEAGLE) UsingWeapon[7][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == AK47) UsingWeapon[8][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == KNIFE) UsingWeapon[9][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == P90) UsingWeapon[10][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == SCOUT) UsingWeapon[11][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == AUG) UsingWeapon[12][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == UMP45) UsingWeapon[13][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == XM1014) UsingWeapon[14][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == SG550) UsingWeapon[15][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == SG552) UsingWeapon[16][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == G3SG1) UsingWeapon[17][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == P228) UsingWeapon[18][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == GALIL) UsingWeapon[19][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == M249) UsingWeapon[20][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == FIVESEVEN) UsingWeapon[21][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == ELITE) UsingWeapon[22][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == TMP) UsingWeapon[23][id] = str_to_num(Data[2]); else if(str_to_num(Data[3]) == MAC10) UsingWeapon[24][id] = str_to_num(Data[2]); Save(id); } else if(MenuMod[id] == 2) { if(Chestp[id][Key] > 0 && pKey[id] > 0) { ChestOpen(id,Key); Menu(id); } } else if(MenuMod[id] == 3) { if(Key == -1) { WeaponinMarket[id] = 0; MarketPoints[id] = 0 MenuMod[id] = -1; Menu(id); } else if(Key == 0) { if(inMarket[id] && !round[id]) { inMarket[id] = false; WeaponinMarket[id] = 0 MarketPoints[id] = 0 MenuMod[id] = 3 Menu(id) return PLUGIN_HANDLED; } else if(round[id] && inMarket[id]) print_color(id, "!g%s!t Iti poti lua item-ul abia runda viitoare!",Prefix); else if(MarketPoints[id] > 0) { if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id]) { get_user_name(id, Name, 31); print_color(0, "!g%s!t %s!y vinde !g%s!t pentru !g%d !tEURO!",Prefix, Name, ChestName[WeaponinMarket[id]-103], MarketPoints[id]); inMarket[id] = true; } else if(WeaponinMarket[id] == 102) { get_user_name(id, Name, 31); print_color(0, "!g%s!t %s!y vinde o !gcheie !tpentru !g%d !tEURO!",Prefix, Name, MarketPoints[id]); inMarket[id] = true; } else { get_user_name(id, Name, 31); if(WeaponinMarket[id] > 499) { WeaponinMarket[id] -= 500 print_color(0, "!g%s%L!y-!gStatTrack",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]); WeaponinMarket[id] += 500 } else { print_color(0, "!g%s%L",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]); } inMarket[id] = true; for(new a = 0; a < WEAPONSKIN; a++) { if(WeaponinMarket[id] == UsingWeapon[a][id]) { UsingWeapon[a][id] = 0 } } } MenuMod[id] = 3 Menu(id) round[id] = 1 } } else if(inMarket[Key] && Points[id] >= MarketPoints[Key]) { if(Key == id) { print_color(id, "!g%s!t Nu poti sa-ti cumperi item-ul tau!",Prefix); return PLUGIN_HANDLED; } get_user_name(Key, Name, 31); get_user_name(id, mName, 31); if(103 <= WeaponinMarket[Key] && 113 >= WeaponinMarket[Key]) { print_color(0, "!g%s!t %s!y a cumparat!t %s!y cu !g%d EURO !yde la !t%s!",Prefix,mName, ChestName[WeaponinMarket[Key]-103], MarketPoints[Key], Name); Chestp[id][WeaponinMarket[Key]-103]++; Chestp[Key][WeaponinMarket[Key]-103]--; } else if(WeaponinMarket[Key] == 102) { print_color(0, "!g%s%L", Prefix, LANG_SERVER, "BUYMARKETKEY", mName, MarketPoints[Key], Name); pKey[id]++; pKey[Key]--; } else if(WeaponinMarket[Key] < 500) { print_color(0, "!g%s%L", Prefix, LANG_SERVER, "BUYMARKETITEM", mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name); uWeapon[WeaponinMarket[Key]][id]++; uWeapon[WeaponinMarket[Key]][Key]--; } else { WeaponinMarket[Key] -= 500 print_color(0, "!g%s%L!y-!gStatTrack", Prefix, LANG_SERVER, "BUYMARKETITEM", mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name); uWeapon[WeaponinMarket[Key]][id]++; uWeapon[WeaponinMarket[Key]][Key]--; stattrack[WeaponinMarket[Key]][id]++ stattrack[WeaponinMarket[Key]][Key]-- kill[WeaponinMarket[Key]][Key] = 0 new szWeek[3] get_time("%w", szWeek, sizeof(szWeek)) coldown[WeaponinMarket[Key]][id] = str_to_num(szWeek) } Points[Key] += MarketPoints[Key]; Points[id] -= MarketPoints[Key]; Save(Key); Save(id); inMarket[Key] = false; MarketPoints[Key] = 0; WeaponinMarket[Key] = 0; MenuMod[id] = 0; } } else if(MenuMod[id] == 4) { trade(id) } else if(MenuMod[id] == 5) { if(Key == -1) { aTarget[id] = 0; } if(Key == -2) { MenuMod[id] = -2; } if(Key == -3) { if(aThing[id] != WeaponinMarket[id] && 103 <= aThing[id] && 113 >= aThing[id]) { Points[aTarget[id]] += aPoints[id]; Points[id] -= aPoints[id]; Chestp[id][aThing[id]-103]--; Chestp[aTarget[id]][aThing[id]-103]++; Save(aTarget[id]); Save(id); new Name2[32]; get_user_name(aTarget[id], Name2, 31); get_user_name(id, Name, 31); print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS"); print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%s !ysi !g%d EURO !t%s!",Prefix, Name, ChestName[aThing[id]-103],aPoints[id], Name2); log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s> a facut cadou %s si %d EURO lui %s", Prefix, Name, ChestName[aThing[id]-103], aPoints[id], Name2); MenuMod[id] = 0; aThing[id] = 0; aTarget[id] = 0; aPoints[id] = 0; } else if(aThing[id] == 102 && 102 != WeaponinMarket[id]) { Points[aTarget[id]] += aPoints[id]; Points[id] -= aPoints[id]; pKey[id]--; pKey[aTarget[id]]++; Save(aTarget[id]); Save(id); new Name2[32]; get_user_name(id, Name, 31); get_user_name(aTarget[id], Name2, 31); print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS"); print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou o !gcheie !ysi !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2); log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s> a facut cadou o cheie si %d EURO lui %s", Prefix, Name, aPoints[id], Name2); MenuMod[id] = 0; aThing[id] = 0; aTarget[id] = 0; aPoints[id] = 0; } else if(aThing[id] > 0) { if(aThing[id] < 500) { if(uWeapon[aThing[id]][id] > 0 && aThing[id] != WeaponinMarket[id]) { uWeapon[aThing[id]][aTarget[id]]++; uWeapon[aThing[id]][id]--; for(new a = 0; a < WEAPONSKIN; a++) { if(aThing[id] == UsingWeapon[a][id]) { UsingWeapon[a][id] = 0 } } Points[aTarget[id]] += aPoints[id]; Points[id] -= aPoints[id]; Save(aTarget[id]); Save(id); new Name2[32]; get_user_name(id, Name, 31); get_user_name(aTarget[id], Name2, 31); print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS"); print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2); log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s> a facut cadou %s si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2); MenuMod[id] = 0; aThing[id] = 0; aTarget[id] = 0; aPoints[id] = 0; } } else if(aThing[id] > 500) { new as = aThing[id] aThing[id] -= 500 if(uWeapon[aThing[id]][id] > 0 && (aThing[id] != WeaponinMarket[id]||as != WeaponinMarket[id])) { uWeapon[aThing[id]][aTarget[id]]++; uWeapon[aThing[id]][id]--; stattrack[aThing[id]][aTarget[id]]++ stattrack[aThing[id]][id]-- kill[aThing[id]][id] = 0 for(new a = 0; a < WEAPONSKIN; a++) { if(aThing[id] == UsingWeapon[a][id]) { UsingWeapon[a][id] = 0 } } Points[aTarget[id]] += aPoints[id]; Points[id] -= aPoints[id]; Save(aTarget[id]); Save(id); new Name2[32]; get_user_name(id, Name, 31); get_user_name(aTarget[id], Name2, 31); print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS"); print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s!y(!gStatTrack!y) !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2); log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s> a facut cadou %s(StatTrack) si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2); MenuMod[id] = 0; aThing[id] = 0; aTarget[id] = 0; aPoints[id] = 0; } } } else { Points[aTarget[id]] += aPoints[id]; Points[id] -= aPoints[id]; Save(aTarget[id]); Save(id); new Name2[32]; get_user_name(id, Name, 31); get_user_name(aTarget[id], Name2, 31); print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS"); print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2); log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s> a facut cadou %d EURO lui %s", Prefix, Name, aPoints[id], Name2); MenuMod[id] = 0; aThing[id] = 0; aTarget[id] = 0; aPoints[id] = 0; } } if(Key == -4) { client_cmd(id, "messagemode Gift"); } if(Key > 0) aTarget[id] = Key; Menu(id); } else if(MenuMod[id] == 6) { if(!ruleta) { if(!is_user_alive(id)) ruletta(id) else print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix); } } else if(MenuMod[id] == 7) { if(!jackpot) { if(!is_user_alive(id)) jackkpot(id) else print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul !tcand esti !gVIU!",Prefix); } } else if(MenuMod[id] == 8) { bet(id) } else if(MenuMod[id] == 9) { contract(id) } else if(MenuMod[id] == 10) { sterge(id) } else if(MenuMod[id] == 11) { if(!is_user_alive(id)) { crashi[id] = 1 } else print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix); } else if(MenuMod[id] == 12) { if(!is_user_alive(id)) { coinflip(id) } else print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix); } else if(MenuMod[id] == 13) { if(!PromoUse[id]) { client_cmd(id, "messagemode PromoCode"); } else print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix); } else if(MenuMod[id] == 14) { ShopTagMenu(id) } return PLUGIN_CONTINUE; } //---------------------------------------Coinflip------------------------// public coinflip(id) { new Line[120]; formatex(Line,119, "\rCoinflip^n"); new cMenu = menu_create(Line, "CoinHandle"); if(coinflippoint[id] == 0 && coinflipstar[id] == -1) { formatex(Line,119, "Add bet"); menu_additem(cMenu, Line, "1"); } else { formatex(Line,119, "\dAdd bet"); menu_additem(cMenu, Line, "0"); } if(coinflippoint[id] > 0 && coinflipstar[id] == -1) { formatex(Line,119, "Remove bet"); menu_additem(cMenu, Line, "2"); } else { formatex(Line,119, "\dRemove bet"); menu_additem(cMenu, Line, "0"); } formatex(Line,119, "List bet"); menu_additem(cMenu, Line, "3"); menu_display(id, cMenu, 0); } public CoinHandle(id, gMenu, Key) { hide(mure) if(Key == MENU_EXIT) { menu_destroy ( gMenu ); return PLUGIN_HANDLED; } new aMenu[2], Data[4][32], sKey[32]; menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]); parse(Data[0], sKey, 31); Key = str_to_num(sKey); if(Key == 1) { if(coinflippoint[id] == 0 && coinflipstar[id] == -1) { client_cmd(id, "messagemode Coinflip"); } } else if(Key == 2) { if(coinflippoint[id] > 0 && coinflipstar[id] == -1) { Points[id] += coinflippoint[id] Save(id) coinflippoint[id] = 0 coinflip(id) } } else if(Key == 3) { coinflipi[id] = 1 } return PLUGIN_CONTINUE; } public coinflipss(id,player) { if(is_user_connected(player)) { static Line[120],name[33],Float:time; if(time == 0.0) time = get_gametime() if(coinflipstar[id] > 0) { coinflipstart[id]++ if(coinflipstart[id] == 10) { coinflipstart[id] = 0 coinflipstar[id]-- } formatex(Line,119, "\rCoinflip^n\wIncepe in %d secunde",coinflipstar[id]); } else { formatex(Line,119, "\rCoinflip"); if(coinflipwiner[id] > 0) coinflipwiner[id]-- } new cMenu = menu_create(Line, "CoinHandless"); get_user_name(id,name,32) if(coinflipwin[id] == id) { formatex(Line,119, "\r[\y%s\r]",name); menu_additem(cMenu, Line, "1"); } else { formatex(Line,119, "%s",name); menu_additem(cMenu, Line, "1"); } get_user_name(player,name,32) if(coinflipwin[id] == player) { formatex(Line,119, "\r[\y%s\r]",name); menu_additem(cMenu, Line, "1"); } else { formatex(Line,119, "%s",name); menu_additem(cMenu, Line, "1"); } if(time !=get_gametime() && coinflipstar[id] == 0) { time = get_gametime() if(coinflipwin[id] == id && coinflipwiner[id] > 0) { coinflipwin[id] = player coinflipwin[player] = player } else if(coinflipwin[id] == player && coinflipwiner[id] > 0) { coinflipwin[id] = id coinflipwin[player] = id } else if(coinflipwiner[id] == 0) { if(!task_exists(coinflipp[id]+13331) && !task_exists(id+13331)) set_task(1.0,"winer",id+13331) new name[33] get_user_name(coinflipwin[id],name,32) client_cmd(coinflipwin[id], "stopsound") client_cmd(coinflipwin[id], "mp3 stop") client_cmd(coinflipwin[id], "spk %s",Sunete[2]) client_cmd((coinflipwin[id] == id ? player : id), "stopsound") client_cmd((coinflipwin[id] == id ? player : id), "mp3 stop") client_cmd((coinflipwin[id] == id ? player : id), "spk %s",Sunete[1]) print_color(id, "!g%s!t Castigatorul este !g%s",Prefix,name); print_color(coinflipp[id], "!g%s!t Castigatorul este !g%s",Prefix,name); } } menu_display(id, cMenu, 0); } } public winer(id) { id -= 13331 Points[coinflipwin[id]] += coinflippoint[id]*2 Save(id) Save(coinflipp[id]) coinflippoint[coinflipp[id]] = 0 coinflippoint[id] = 0 coinflipwiner[id] = 0 coinflipwiner[coinflipp[id]] = 0 coinflipwin[id] = 0 coinflipwin[coinflipp[id]] = 0 coinflipi[id] = 0 coinflipi[coinflipp[id]] = 0 coinflipstart[id] = -1 coinflipstart[coinflipp[id]] = -1 coinflipstar[id] = -1 coinflipstar[coinflipp[id]] = -1 coinflipp[coinflipp[id]] = 0 coinflipp[id] = 0 } public CoinHandless(id, gMenu, Key) return PLUGIN_CONTINUE; public coinflips(id) { static Line[120],i,All,name[33],String[8]; All = 0 formatex(Line,119, "\rCoinflip^n"); new cMenu = menu_create(Line, "CoinHandles"); formatex(Line,119, "Exit"); menu_additem(cMenu, Line, "0"); for(i=0;i<32;i++) { if(is_user_connected(i)) { if(coinflippoint[i] > 0 && coinflipstar[i] == -1 && i == id) { get_user_name(i,name,32) formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name); menu_additem(cMenu, Line, "-1"); All++ } else if(coinflippoint[i] > 0 && coinflipstar[i] == -1) { num_to_str(i, String, 8); get_user_name(i,name,32) formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name); menu_additem(cMenu, Line, String); All++ } } } if(All == 0) { formatex(Line,119, "Momentan nu a pariat nimeni la coinflip"); menu_additem(cMenu, Line, "-1"); } menu_display(id, cMenu, 0); } public CoinHandles(id, gMenu, Key) { hide(mure) new aMenu[2], Data[4][32], sKey[32]; menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]); parse(Data[0], sKey, 31); Key = str_to_num(sKey); if(Key == 0) { if(coinflipstar[id] == -1) { coinflipi[id] = 0 } } else if(Key > 0) { if(Points[id] >= coinflippoint[Key] && coinflipstar[id] == -1 && coinflipstar[Key] == -1 && coinflippoint[id] == 0) { Points[id] -= coinflippoint[Key] Save(id) coinflippoint[id] = coinflippoint[Key] coinflipstar[id] = 10 coinflipstar[Key] = 10 coinflipp[id] = Key coinflipp[Key] = id new a = random_num(50,70) coinflipwiner[id] = a coinflipwiner[Key] = a coinflipwin[id] = Key coinflipwin[Key] = Key coinflipi[id] = 2 coinflipi[Key] = 2 } } return PLUGIN_CONTINUE; } //---------------------------------------Crash---------------------------// public Coinflipbet(id) { hide(mure) if(coinflippoint[id] != 0||coinflipstar[id] != -1) return PLUGIN_HANDLED; new Data[32], Cost; read_args(Data, 31); remove_quotes(Data); Cost = str_to_num(Data); if(Cost > Points[id] || Cost < 500) { client_cmd(id, "messagemode Coinflip"); return PLUGIN_HANDLED; } else { coinflippoint[id] = Cost; Points[id] -= Cost Save(id) coinflipstar[id] = -1 coinflip(id) return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public Crashbet(id) { hide(mure) if(crashpoint[id] > 0||crashstart == 1) return PLUGIN_HANDLED; new Data[32], Cost; read_args(Data, 31); remove_quotes(Data); Cost = str_to_num(Data); if(Cost > Points[id] || Cost < 100) { client_cmd(id, "messagemode Crash"); return PLUGIN_HANDLED; } else { crashpoint[id] = Cost; Points[id] -= Cost Save(id) if(crashstart == 0) { print_color(id, "!g%s!t Crash-ul !ya inceput!Pariaza rapid!!!!",Prefix); crashstart = 15 } return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public AutoCrashbet(id) { hide(mure) if(crashpoint[id] > 0||crashstart == 1) return PLUGIN_HANDLED; new Data[32] read_args(Data, 31); remove_quotes(Data); new a for(new i;i<strlen(Data);i++) { if(a == 1) { Data[i+1] = '^0' break } if(Data[i] == '.') a = 1 } if(equal(Data,"1")||equal(Data,"1.0")) { formatex(crashauto[id],8,"1.0") return 1; } new Float:Cost = str_to_float(Data) Cost+=0.000001 if(Cost < 1.1) { client_cmd(id, "messagemode AutoCrash"); return PLUGIN_HANDLED; } else { formatex(crashauto[id],8,Data) return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public crashhh() { static i,a,b,c,d,e,f,g,h,j,k[8],z,w a = 0 b = 0 z = 0 float_to_str(crashtime,k,7) for(w = 0;w<strlen(k);w++) { if(z == 1) { k[w+1] = '^0' break } if(k[w] == '.') z = 1 } for(i=0;i<32;i++) { if(is_user_connected(i)) { if(crashstart == 0) { crashpoint[i] = 0 } else if(crashpoint[i] > 0) { a+=crashpoint[i] b++ if(equal(crashauto[i],k) && crashtime > 1.0) { new Float:z = float(crashpoint[i])*crashtime Points[i] += floatround(z) crashwin[i] = floatround(z) crashpoint[i] = -1 Save(i) } } } } for(i=0;i<32;i++) { if(is_user_connected(i)) { if(coinflipi[i] == 1) { coinflips(i) } else if(coinflipi[i] == 2) { coinflipss(i,coinflipp[i]) } if(crashi[i] == 1) { crashh(i,a,b) } } } if(crashstart > 1) { c++ if(c == 10) { crashstart-- c = 0 if(crashstart == 1) { f = random_num(2,5) h = random_num(8,10) } } } else if(crashstart == 1) { j++ g++ if(g <= f) { if(random_float(0.0,20.0) >= 20.0-crashtime) { crashstart = -1 e = 0 g = 0 j = 0 } } if(e == h && crashstart != -1) { crashtime+=0.1 if(crashtime == 1.2) h = random_num(8,9) else if(crashtime == 1.5) h = random_num(6,7) else if(crashtime == 2.0) h = random_num(4,5) else if(crashtime > 2.5) h = random_num(2,3) e = 0 } else if(crashstart != -1) e++ if(j == 10) { j = 0 g = 0 } } else if(crashstart == -1) { d++ if(d == 50) { crashstart = 0 crashtime = 1.0 d = 0 } } } public crashh(id,a,b) { static Line[508],String[100]; formatex(Line,507,"") formatex(String, 99, "\rCrash \w- Pot de \r%d EURO^n",a); add(Line, 507, String); formatex(String, 99, "\yParticipanti %d^n",b); add(Line, 507, String); if(crashstart == 1) formatex(String, 99, "X\y%0.1f^n",crashtime); else if(crashstart > 1) formatex(String, 99, "\yIncepe in %d secunde^n",crashstart); else if(crashstart == -1) formatex(String, 99, "\yCrash la %0.1f^n",crashtime); else formatex(String, 99, "Pentru a incepe trebuie sa participe minim 1^n"); add(Line, 507, String) formatex(String, 99, "%s Auto-Cashout \r",(!equal(crashauto[id],"1.0") ? "ON" : "OFF")); add(Line, 507, String) formatex(String, 99, "x%s^n\wPentru a opri Auto-Cashout seteaza valoarea 1^n",crashauto[id]); add(Line, 507, String) if(crashpoint[id] > 0 && crashstart == 1) { formatex(String, 99, "\yProfit %d^n",floatround(float(crashpoint[id])*crashtime)); add(Line, 507, String) } else if(crashpoint[id] == -1) { formatex(String, 99, "\yAi scos %d^n",crashwin[id]); add(Line, 507, String) } else if(crashstart == -1 && crashpoint[id] > 0) { formatex(String, 99, "\yAi pierdut %d, felicitari :)))^n",floatround(float(crashpoint[id])*crashtime)); add(Line, 507, String) } new cMenu = menu_create(Line, "CrashHandle"); if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0)) { formatex(Line, 507, "Add bet"); menu_additem(cMenu, Line, "1"); } else { formatex(Line, 507, "\dAdd bet"); menu_additem(cMenu, Line, "0"); } if(crashpoint[id] > 0 && crashstart == 1) { formatex(Line, 507, "Cashout"); menu_additem(cMenu, Line, "2"); } else { formatex(Line, 507, "\dCashout"); menu_additem(cMenu, Line, "0"); } if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0)) { formatex(Line, 507, "Auto-Cashout"); menu_additem(cMenu, Line, "3"); } else { formatex(Line, 507, "\dAuto-Cashout"); menu_additem(cMenu, Line, "0"); } formatex(Line, 507, "Exit"); menu_additem(cMenu, Line, "4"); menu_setprop( cMenu, MPROP_EXIT, MEXIT_ALL ); menu_setprop( cMenu, MPROP_NEXTNAME, "") menu_setprop( cMenu, MPROP_BACKNAME, "") menu_setprop( cMenu, MPROP_EXITNAME, "") menu_display(id, cMenu, 0); } public CrashHandle(id, gMenu, Key) { hide(mure) new aMenu[2], Data[4][32], sKey[32]; menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]); parse(Data[0], sKey, 31); Key = str_to_num(sKey); if(Key == 1) { if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0)) client_cmd(id, "messagemode Crash"); } else if(Key == 2) { if(crashpoint[id] > 0 && crashstart == 1) { Points[id] += floatround(float(crashpoint[id])*crashtime) crashwin[id] = floatround(float(crashpoint[id])*crashtime) crashpoint[id] = -1 Save(id) } } else if(Key == 3) { if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0)) client_cmd(id, "messagemode AutoCrash"); } else if(Key == 4) { menu_destroy(gMenu); crashi[id] = 0 return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } //---------------------------------------Sterge--------------------------// public sterge(id) { hide(mure) new zMenu = menu_create("Selecteaza itemul", "stergem"); new String[32], All, Line[128]; for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][id] == 0 || coldown[i][id] != -1) continue; if(stattrack[i][id]) { new bda bda = i+500 formatex(String, 31, "%d", bda); formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]); menu_additem(zMenu, Line, String); } if(uWeapon[i][id] > stattrack[i][id]) { new dsa = uWeapon[i][id]-stattrack[i][id] num_to_str(i, String, 31); formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa); menu_additem(zMenu, Line, String); } All++; } menu_setprop(zMenu, MPROP_EXIT, MEXIT_ALL) menu_display(id, zMenu, 0); } public stergem(id, gMenu, Key) { hide(mure) if(Key == MENU_EXIT) { menu_destroy ( gMenu ); return PLUGIN_HANDLED; } new aMenu[2], Data[4][32], sKey[32]; menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]); parse(Data[0], sKey, 31); Key = str_to_num(sKey); for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][id] == 0 || coldown[i][id] != -1) continue; if(Key == i) { uWeapon[i][id]-- print_color(id, "!g%s!t Ai sters skinul !g%s!t!",Prefix, WeaponNames[i]); } else if(Key == i+500) { uWeapon[i][id]-- stattrack[i][id]-- print_color(id, "!g%s!t Ai sters skinul !g%s(StatTrack)!t!",Prefix, WeaponNames[i]); } Save(id) } return PLUGIN_CONTINUE; } //--------------------------------------Contract-----------------------------------// public contract(id) { hide(mure) new All, Alls, String[32],Line[128]; for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][id] == 0 || coldown[i][id] != -1|| WeaponDrop[i] <= 10) continue; All += uWeapon[i][id]-stattrack[i][id]; Alls += stattrack[i][id]; } if(tradeup[id] > 0) All += tradeup[id] if(All < 10 && Alls < 10) { if(Alls > 0) print_color(id, "!g%s!t Ai nevoie de 10 skinuri iar tu ai %d si %d stattrack!",Prefix,All,Alls); else print_color(id, "!g%s!t Ai nevoie de 10 skinuri iar tu ai %d!",Prefix,All); MenuMod[id] = 0 Menu(id) return 1; } All = 0 new fol[MAX+1] new fol2[MAX+1] if(tradeup[id] > 0) formatex(Line, 127, "Trade Up Contract [%d/10]^nPress 0 for cancel contract",tradeup[id]); else if(tradeups[id] >0) formatex(Line, 127, "Trade Up Contract [%d/10]^nPress 0 for cancel contract",tradeups[id]); else formatex(Line, 127, "Trade Up Contract [0/10]^nPress 0 for cancel contract"); new Menu = menu_create(Line, "tradeupm"); for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][id] == 0 || coldown[i][id] != -1|| WeaponDrop[i] <= 10) continue; if(tradeup[id] != 0) { for(new a = 0; a < tradeup[id]; a++) { new dsaa = uWeapon[i][id]-stattrack[i][id] if(dsaa && fol[i] == 0) { num_to_str(i, String, 31); formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsaa); menu_additem(Menu, Line, String); fol[i] = 1 } } } else if(tradeups[id] != 0) { for(new a = 0; a < tradeups[id]; a++) { new dre = i+500 if(stattrack[i][id] && fol2[i] == 0) { formatex(String, 31, "%d", dre); formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]); menu_additem(Menu, Line, String); fol2[i] = 1 } } } else { if(stattrack[i][id]) { new bda bda = i+500 formatex(String, 31, "%d", bda); formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]); menu_additem(Menu, Line, String); } if(uWeapon[i][id] > stattrack[i][id]) { new dsa = uWeapon[i][id]-stattrack[i][id] num_to_str(i, String, 31); formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa); menu_additem(Menu, Line, String); } } } menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, Menu, 0); return 0; } public tradeupm(id, gMenu, Key) { hide(mure) if(Key == MENU_EXIT) { menu_destroy ( gMenu ); if(tradeup[id] != 0 && !task_exists(id+54354)) { for(new i = 1; i < AllWeapon; i++) { for(new a = 0; a < tradeup[id]; a++) { if(contr[a][id] == i) { uWeapon[i][id]++ } if(contr[a][id] == i+500) { uWeapon[i][id]++ stattrack[i][id]++ } } } } MenuMod[id] = 0 Menu(id) tradeup[id] = 0 tradeups[id] = 0 Save(id) return PLUGIN_HANDLED; } new aMenu[2], Data[4][32], sKey[32]; menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]); parse(Data[0], sKey, 31); Key = str_to_num(sKey); if(tradeup[id] < 10) { if(Key < 500) { contr[tradeup[id]][id] = Key uWeapon[Key][id]-- tradeup[id]++; contract(id); } else { contr[tradeup[id]][id] = Key new a = Key-500 uWeapon[a][id]-- stattrack[a][id]-- tradeups[id]++; contract(id); } if(tradeup[id] == 10||tradeups[id] == 10) gocontract(id) Save(id) } else contract(id); Save(id); return PLUGIN_CONTINUE; } public gocontract(id) { hide(mure) client_print(id, print_center, "Trade Up Contract procesare ...") set_task(3.0, "pickup", id+54354) } public pickup(id) { hide(mure) id -= 54354 new b,c,e,All for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][id] == 0) continue; for(new a = 0; a < tradeup[id]; a++) { if(contr[a][id] == i||contr[a][id] == i+500) { b += WeaponDrop[i] } } } c = random_num(1, 8) new dasd = random_num(0,1) if(c == 4) { if(dasd) c++ else c-- } else if(c == 6) { if(dasd) c++ else c-- } for(new i = 1; i < AllWeapon; i++) { if(All) continue; e = WeaponDrop[i] if(c == e) { new name[32] get_user_name(id, name, 31) if(tradeups[id] > 0) { uWeapon[i][id]++ stattrack[i][id]++ print_color(0, "!g[CS:GO] !tPlayerul !g%s !ta facut un contract si a obtinut %s(StatTrack)", name, WeaponNames[i]); } else { uWeapon[i][id]++ print_color(0, "!g[CS:GO] !tPlayerul !g%s !ta facut un contract si a obtinut %s", name, WeaponNames[i]); } All++ client_cmd(id, "stopsound") client_cmd(id, "mp3 stop") client_cmd(id, "spk %s",Sunete[3]) } } for(new a = 0; a < tradeup[id]; a++) { contr[a][id] = 0 } Save(id); tradeup[id] = 0 tradeups[id] = 0 MenuMod[id] = 0 Menu(id) } //-----------------------------------------Bet----------------------------------// public bet(id) { hide(mure) if(pbet[id]) { print_color(id, "!g%s!t Ai pariat deja pe echipa %s!",Prefix,TeamNames[pbet[id]]); MenuMod[id] = 0 Menu(id) return 1; } if(bround > 4) { print_color(id, "!g%s!t Nu mai poti paria pe echipe!",Prefix); MenuMod[id] = 0 Menu(id) return 1; } new Menu = menu_create("Bet Team", "betm"); menu_additem(Menu, "Terrorist", "0"); menu_additem(Menu, "Counter-Terrorist", "1"); menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, Menu, 0); return 0; } public betm(id, menu, item) { hide(mure) if( item == MENU_EXIT || bround > 4) { menu_destroy ( menu ); MenuMod[id] = 0 Menu(id) return PLUGIN_HANDLED; } new Data[6], Name[64]; new Access, CallBack; menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack); new Key = str_to_num(Data); switch(Key) { case 0: { print_color(id, "!g%s!t Scrie suma pe care pariezi!",Prefix); client_cmd(id, "messagemode T"); } case 1: { print_color(id, "!g%s!t Scrie suma pe care pariezi!",Prefix); client_cmd(id, "messagemode CT"); } } menu_destroy(menu); return PLUGIN_HANDLED; } //------------------------------------JackPot-------------------------------------------// public jackkpot(id) { hide(mure) new Line[128] if(inJack[id]) { if(playj >= 2 && secs >= 10) formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y10%%\w]^nJackpot-ul porneste in %d secunde", secs); else formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y10%%\w]^n^nAsteptam decizia..."); } else { if(playj >= 2 && secs >= 10) formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y0\w]^nJackpot-ul porneste in %d secunde", secs); else formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y0\w]^nAsteptam decizia..."); } new Menu = menu_create(Line, "JackpotHandlers"); if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]) { formatex(Line, 127, "Add item"); menu_additem(Menu, Line, "0"); } else { formatex(Line, 127, "Add item%L", LANG_SERVER, "INMARKET"); menu_additem(Menu, Line, "-2"); } formatex(Line, 127, "Refresh"); menu_additem(Menu, Line, "-1"); new Name[32], String[32]; for(new x; x < 32; x++) { if(!is_user_connected(x)) continue; if(inJack[x]) { num_to_str(x, String, 31); get_user_name(x, Name, 31); if(103 <= jack[x] && 113 >= jack[x]) { formatex(Line, 127, "%s\y[%s]", ChestName[jack[x]-103],Name); menu_additem(Menu, Line, String); } else if(102 == jack[x]) { formatex(Line, 127, "Key\y[%s]", Name); menu_additem(Menu, Line, String); } else if(jack[x] > 0) { if(jack[x] < 500) { formatex(Line, 127, "%s\r\B[%s]", WeaponNames[jack[x]], Name); menu_additem(Menu, Line, String); } else if(jack[x] > 500) { formatex(Line, 127, "%s\w-\rStatTrack\r\B[%s]", WeaponNames[jack[x]-500], Name); menu_additem(Menu, Line, String); } } } } menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, Menu, 0); viewj[id] = 1 } public JackpotHandlers(id, menu, item) { hide(mure) if( item == MENU_EXIT || jackpot) { menu_destroy ( menu ); MenuMod[id] = 0 Menu(id) viewj[id] = 0 return PLUGIN_HANDLED; } new Data[6], Name[64]; new Access, CallBack; menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack); new Key = str_to_num(Data); switch(Key) { case -1: { jackkpot(id); } case 0: { if(jack[id] == 0) addjack(id); else jackkpot(id); } default: { jackkpot(id) } } return PLUGIN_HANDLED; } public addjack(id) { hide(mure) new Line[128] formatex(Line, 127, "%s\r Alege un item pentru jackpot",Prefix); new Menu = menu_create(Line, "AddHandlert"); new All, String[32]; for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][id] == 0 || coldown[i][id] != -1) continue; if(stattrack[i][id]) { new bda bda = i+500 formatex(String, 31, "%d", bda); formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]); menu_additem(Menu, Line, String); } if(uWeapon[i][id] > stattrack[i][id]) { new dsa = uWeapon[i][id]-stattrack[i][id] num_to_str(i, String, 31); formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa); menu_additem(Menu, Line, String); } All++; } for(new i;i<chestcount;i++) { if(Chestp[id][i] > 0) { formatex(Line, charsmax(Line), "\r%s", ChestName[i]); new calcul = -2-i new numars[16] num_to_str(calcul,numars,15) menu_additem(Menu, Line, numars); All++; } } if(pKey[id] > 0) { formatex(Line, 127, "Cheie"); menu_additem(Menu, Line, "-1"); All++; } menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, Menu, 0); if(All == 0) { print_color(id, "!g%s!y Nu ai nici un obiect!",Prefix); jackkpot(id); } } public AddHandlert(id, gMenu, Key) { hide(mure) if(Key == MENU_EXIT||playj == 10) { menu_destroy ( gMenu ); jackkpot(id); return PLUGIN_HANDLED; } new aMenu[2], Data[4][32], sKey[32]; menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]); parse(Data[0], sKey, 31); Key = str_to_num(sKey); if(Key <= -2) { Key+= 2 Key*= -1 jack[id] = 103+Key jackkpot(id); } else if(Key == -1) { jack[id] = 102 jackkpot(id); } else { if(Key < 500) { jack[id] = Key for(new a = 0; a < WEAPONSKIN; a++) { if(jack[id] == UsingWeapon[a][id]) { UsingWeapon[a][id] = 0 } } } else { jack[id] = Key-500 for(new a = 0; a < WEAPONSKIN; a++) { if(jack[id] == UsingWeapon[a][id]) { UsingWeapon[a][id] = 0 } } jack[id] += 500 } jackkpot(id); } inJack[id] = 1 itemj[playj] = id playj++ if(playj >= 2 && secs == 60) playjack() return PLUGIN_CONTINUE; } public playjack() { hide(mure) secs = 60 print_color(0, "!g%s!t Jackpot-ul a pornit!",Prefix); set_task(1.0, "CnTT", 1534555, _, _, "b"); } public CnTT() { hide(mure) if(secs != 0) { secs-- } else { remove_task(1534555) new id = fnGetRandom() if(!is_user_connected(id)) id = fnGetj() playj = 0 new Name[32] get_user_name(id, Name, 31) print_color(0, "!g%s!t Castigatorul !gjackpot-ului !teste %s!",Prefix, Name); print_color(0, "!g%s!t Jackpot-ul este !gblocat !tpentru 5 minute!",Prefix); client_cmd(id, "stopsound") client_cmd(id, "mp3 stop") client_cmd(id, "spk %s",Sunete[4]) jackpot = 1 set_task(300.0, "unplayj", 132311) for(new x; x < 32; x++) { if(!is_user_connected(x)) continue; if(inJack[x]) { if(103 <= jack[x] && 113 >= jack[x]) { Chestp[x][jack[x]-103]-- Chestp[id][jack[x]-103]++ } else if(102 == jack[x]) { pKey[x]-- pKey[id]++ } else if(jack[x] < 500) { uWeapon[jack[x]][x]-- uWeapon[jack[x]][id]++ } else if(jack[x] > 500) { jack[x] -= 500 uWeapon[jack[x]][x]-- uWeapon[jack[x]][id]++ stattrack[jack[x]][x]-- stattrack[jack[x]][id]++ kill[jack[x]][x] = 0 } inJack[x] = 0 jack[x] = 0 MenuMod[x] = 0 Menu(id) Save(x) Save(id) } } for(new a = 0; a <= playj; a++) { if(itemj[a] != 0) { itemj[a] = 0 } } inJack[id] = 0 jack[id] = 0 Save(id) } } public unplayj() { hide(mure) jackpot = 0 secs = 60 print_color(0, "!g%s!g Jackpot-ul !teste deschis acum!",Prefix); } //----------------------------------------------------------Ruleta-------------------------------------------------// public playruleta() { hide(mure) sec = 60 print_color(0, "!g%s!t Ruleta a pornit!",Prefix); set_task(1.0, "CnT", 1534554, _, _, "b"); } public CnT() { hide(mure) if(sec != 0) { sec-- if(sec == 1) { client_cmd(0, "stopsound") client_cmd(0, "mp3 stop") client_cmd(0, "spk %s",Sunete[5]) } } else { new a = random_num(0,14) if(a < 8 && a > 0) { formatex(nr[6], 7, "%s", nr[5]); formatex(nr[5], 7, "%s", nr[4]); formatex(nr[4], 7, "%s", nr[3]); formatex(nr[3], 7, "%s", nr[2]); formatex(nr[2], 7, "%s", nr[1]); formatex(nr[1], 7, "%s", nr[0]); formatex(nr[0], 7, "\r%d",a); for(new i; i < 32; i++) { if(is_user_connected(i)) { Rosu[i] *= 2 Galben[i] = 0 Gri[i] = 0 Points[i] += Rosu[i]+Galben[i]+Gri[i] Rosu[i] = 0 Save(i) } } print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Rosu!y!",Prefix, a); } else if(a > 7 && a < 15) { formatex(nr[6], 7, "%s", nr[5]); formatex(nr[5], 7, "%s", nr[4]); formatex(nr[4], 7, "%s", nr[3]); formatex(nr[3], 7, "%s", nr[2]); formatex(nr[2], 7, "%s", nr[1]); formatex(nr[1], 7, "%s", nr[0]); formatex(nr[0], 7, "\d%d",a); for(new i; i < 32; i++) { if(is_user_connected(i)) { Rosu[i] = 0 Galben[i] = 0 Gri[i] *= 2 Points[i] += Rosu[i]+Galben[i]+Gri[i] Gri[i] = 0 Save(i) } } print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Gri!y!",Prefix, a); } else if(a == 0) { formatex(nr[6], 7, "%s", nr[5]); formatex(nr[5], 7, "%s", nr[4]); formatex(nr[4], 7, "%s", nr[3]); formatex(nr[3], 7, "%s", nr[2]); formatex(nr[2], 7, "%s", nr[1]); formatex(nr[1], 7, "%s", nr[0]); formatex(nr[0], 7, "\y%d",a); for(new i; i < 32; i++) { if(is_user_connected(i)) { Rosu[i] = 0 Galben[i] *= 14 Gri[i] = 0 Points[i] += Rosu[i]+Galben[i]+Gri[i] Galben[i] = 0 Save(i) } } print_color(0, "!g%s!t Numarul de la ruleta este: !g%d!t Galben!y!",Prefix, a); } playr = 0 print_color(0, "!g%s!g Ruleta !teste !ginchisa !tpentru 5 minute!",Prefix); remove_task(1534554) ruleta = 1 set_task(300.0, "unplay", 13231) } } public unplay() { hide(mure) ruleta = 0 sec = 60 print_color(0, "!g%s!g Ruleta !teste !gdeschisa !tacum!",Prefix); } public ruletta(id) { hide(mure) new Line[128] if(!Rosu[id] && !Gri[id] && !Galben[id]) { if(playr >= 2 && sec >= 10) formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], sec); else formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6]); } else { if(playr >= 2 && sec >= 10) formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id], sec); else formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id]); } new Menu = menu_create(Line, "RuletaHandlers"); new a,b,c for(new i; i < 32; i++) { if(is_user_connected(i)) { a += Rosu[i] b += Galben[i] c += Gri[i] } } if(sec >= 10) { formatex(Line, 127, "\rRosu \w2x\d(1,2,3,4,5,6,7) \w- %d", a); menu_additem(Menu, Line, "1"); formatex(Line, 127, "\yGalben \w7x\d(0) \w- %d", b); menu_additem(Menu, Line, "2"); formatex(Line, 127, "\dGri \w2x\d(7,8,9,10,11,12,13,14) \w- %d", c); menu_additem(Menu, Line, "3"); } else { formatex(Line, 127, "\dRosu 2x(1,2,3,4,5,6,7) - %d", a); menu_additem(Menu, Line, "0"); formatex(Line, 127, "\dGalben 7x(0) - %d", b); menu_additem(Menu, Line, "0"); formatex(Line, 127, "\dGri 2x(7,8,9,10,11,12,13,14) - %d", c); menu_additem(Menu, Line, "0"); } menu_additem(Menu, "Refresh", "4"); menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, Menu, 0); } public RuletaHandlers(id, menu, item) { hide(mure) if( item == MENU_EXIT ) { menu_destroy ( menu ); return PLUGIN_HANDLED; } new Data[6], Name[64]; new Access, CallBack; menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack); new Key = str_to_num(Data); switch(Key) { case 0: { print_color(id, "!g%s!t Nu ai EURO pentru ruleta!",Prefix); } case 1: { client_cmd(id, "messagemode Rosu"); } case 2: { client_cmd(id, "messagemode Galben"); } case 3: { client_cmd(id, "messagemode Gri"); } case 4: { ruletta(id) } } return PLUGIN_HANDLED; } //----------------------------------------------------------Trade--------------------------------------------------// public acctrade(id) { hide(mure) if(!tTarget[id]) return 1; if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])) { return 1; } go[id] = 1 go[tTarget[id]] = 1 remove_task(tTarget[id]); new Name[32], Name2[32]; get_user_name(id, Name, charsmax(Name)); get_user_name(tTarget[id], Name2, charsmax(Name2)); print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2); print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta pentru !gschimburi de iteme!y !",Prefix, Name); menu_cancel(id) menu_cancel(tTarget[id]) totrade(id); totrade(tTarget[id]); return 1; } public reftrade(id) { hide(mure) if(!tTarget[id]) return 1; if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])) { return 1; } go[id] = 0 go[tTarget[id]] = 0 remove_task(tTarget[id]); invitat[id] = 0; nosend[tTarget[id]] = true; new Name[32], Name2[32]; get_user_name(id, Name, charsmax(Name)); get_user_name(tTarget[id], Name2, charsmax(Name2)); print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2); print_color(tTarget[id], "!g%s!t %s !ya refuzat sa faca !gschimb de iteme!y cu tine!",Prefix, Name); tTarget[tTarget[id]] = 0; tTarget[id] = 0; return 1; } public trade(id) { hide(mure) new Name[32], String[8] if(invitat[id] && go[id] == 0) { new Menu = menu_create("Schimb de iteme", "TradeHandlers"); menu_additem(Menu, "Accepta", "1"); menu_additem(Menu, "Refuza", "2"); menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, Menu, 0); } else if(tTarget[id] == 0) { new Menu = menu_create("Alege jucator", "TradeHandler"); for(new i; i < 32; i++) { if(is_user_connected(i) && i != id && Loged[i]) { get_user_name(i, Name, 31); num_to_str(i, String, 31); menu_additem(Menu, Name, String); } } menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, Menu, 0); } } public TradeHandler(id, menu, item) { hide(mure) if( item == MENU_EXIT ) { menu_destroy ( menu ); return PLUGIN_HANDLED; } new Data[6], Name[64]; new Access, CallBack; menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack); new Key = str_to_num(Data); tTarget[id] = Key; tTarget[tTarget[id]] = id; invitat[tTarget[id]] = 1; nosend[id] = false; new Names[32], Name2[32]; get_user_name(id, Names, 31); get_user_name(tTarget[id], Name2, 31); print_color(id, "!g%s!y Asteapta raspunsul lui !t%s!y!",Prefix, Name2); print_color(tTarget[id], "!g%s!t %s !yte-a invitat sa faceti !gschimb de iteme!y, scrie in chat: !g/accept !tsau !g/refuz !t!",Prefix, Names); set_task(15.0, "fararaspuns", id); menu_destroy(menu); return PLUGIN_HANDLED; } public TradeHandlers(id, menu, item) { hide(mure) if( item == MENU_EXIT ) { menu_destroy ( menu ); remove_task(tTarget[id]); invitat[id] = 0; nosend[tTarget[id]] = true; new Name[32], Name2[32]; get_user_name(id, Name, 31); get_user_name(tTarget[id], Name2, 31); print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2); print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name); tTarget[id] = 0; tTarget[tTarget[id]] = 0; return PLUGIN_HANDLED; } new Data[6], Name[64]; new Access, CallBack; menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack); new Key = str_to_num(Data); switch(Key) { case 1: { go[id] = 1 go[tTarget[id]] = 1 remove_task(tTarget[id]); new Name[32], Name2[32]; get_user_name(id, Name, 31); get_user_name(tTarget[id], Name2, 31); print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2); print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta de !ga schimba iteme!y !",Prefix, Name); totrade(id); totrade(tTarget[id]); } case 2: { remove_task(tTarget[id]); invitat[id] = 0; nosend[tTarget[id]] = true; new Name[32], Name2[32]; get_user_name(id, Name, 31); get_user_name(tTarget[id], Name2, 31); print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2); print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name); tTarget[tTarget[id]] = 0; tTarget[id] = 0; } } return PLUGIN_HANDLED; } public totrade(id) { hide(mure) new Line[128] new cutiute new a = selectate[id]+selectates[id]+selectatek[id] for(new i;i<11;i++) a+=selectatec[id][i] formatex(Line, 127, "%s\r Schimb de iteme[%d/5]^nApasa tasta 0 cand esti gata",Prefix,a); tMenu = menu_create(Line, "MenuHandlert"); new All, String[32], fol[MAX+1], fol2[MAX+1]; for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][id] == 0 || coldown[i][id] != -1) continue; if(selectate[id] != 0) { new dsa = uWeapon[i][id]-stattrack[i][id] for(new a = 0; a < selectate[id]; a++) { if(select[a][id] == i) { formatex(Line, 127, "\d%L\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa); menu_additem(tMenu, Line, "-1"); } else { fol[i]++ } } if(fol[i] == selectate[id] && dsa) { new dsa = uWeapon[i][id]-stattrack[i][id] num_to_str(i, String, 31); formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa); menu_additem(tMenu, Line, String); } } else { if(uWeapon[i][id] > stattrack[i][id]) { new dsa = uWeapon[i][id]-stattrack[i][id] num_to_str(i, String, 31); formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa); menu_additem(tMenu, Line, String); } } if(selectates[id] != 0) { new dre = i+500 for(new a = 0; a < selectates[id]; a++) { if(selects[a][id] == dre && stattrack[i][id]) { formatex(Line, 127, "\d%L\w(\yStatTrack\w)\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]); menu_additem(tMenu, Line, "-1"); } else { fol2[i]++ } } if(fol2[i] == selectates[id] && stattrack[i][id]) { formatex(String, 31, "%d", dre); formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]); menu_additem(tMenu, Line, String); } } else { if(stattrack[i][id]) { new bda bda = i+500 formatex(String, 31, "%d", bda); formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]); menu_additem(tMenu, Line, String); } } All++; } for(new i;i<chestcount;i++) { if(Chestp[id][i] > 0) { if(selectatec[id][i] != 0) formatex(Line, 127, "%s\r[Ai selectat %d]",ChestName[i],selectatec[id][i]); else formatex(Line, 127, "%s",ChestName[i]); new calcul = 103+i new numars[16] num_to_str(calcul,numars,15) menu_additem(tMenu, Line, numars); cutiute++ } } if(pKey[id] > 0) { if(selectatek[id] != 0) { formatex(Line, 127, "Cheie\r[Ai selectat %d]",selectatek[id]); menu_additem(tMenu, Line, "-3"); } else { formatex(Line, 127, "Cheie"); menu_additem(tMenu, Line, "-3"); } } if(All == 0 && pKey[id] == 0 && cutiute == 0) { new Name[32], Name2[32]; get_user_name(id, Name, 31); get_user_name(tTarget[id], Name2, 31); print_color(id, "!g%s!y Nu ai iteme!",Prefix); print_color(tTarget[id], "!g%s!t %s !ynu are iteme!",Prefix, Name); return 1; } menu_setprop(tMenu, MPROP_EXIT, MEXIT_ALL); menu_display(id, tMenu, 0); return 0; } public MenuHandlert(id, gMenu, Key) { hide(mure) new a = selectate[id]+selectates[id]+selectatek[id] for(new i;i<11;i++) a+=selectatec[id][i] if(Key == MENU_EXIT) { menu_destroy ( gMenu ); if(a == 0) { totrade(id); print_color(id, "!g%s!y Minim 1 item!y!",Prefix); } else { goready(id) } return PLUGIN_HANDLED; } new aMenu[2], Data[4][32], sKey[32]; menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]); parse(Data[0], sKey, 31); Key = str_to_num(sKey); if(103 <= Key && 113 >= Key) { if(a < 5) { if(Chestp[id][Key-103] > selectatec[id][Key-103]) { selectatec[id][Key-103]++; } totrade(id); } else { goready(id) } return PLUGIN_HANDLED; } else if(Key == -3) { if(a < 5) { if(pKey[id] > selectatek[id]) { selectatek[id]++; } totrade(id); } else { goready(id) } return PLUGIN_HANDLED; } else if(Key == -1) { print_color(id, "!g%s!y Nu poti deselecta iteme!y!",Prefix); totrade(id); return PLUGIN_HANDLED; } else { if(a < 5) { if(Key < 500) { select[selectate[id]][id] = Key selectate[id]++; totrade(id); } else { selects[selectates[id]][id] = Key selectates[id]++; totrade(id); } } else { goready(id) } return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } public goready(id) { hide(mure) new a = selectate[id]+selectates[id]+selectatek[id] new b = selectate[tTarget[id]]+selectates[tTarget[id]]+selectatek[tTarget[id]] for(new i;i<11;i++) { a+=selectatec[id][i] b+=selectatec[tTarget[id]][i] } new Name[32], Name2[32], Line[128]; get_user_name(tTarget[id], Name2, 31); get_user_name(id, Name, 31); formatex(Line, 127, "%s\r Schimb de iteme^n\wYou \y[\r%d\w/\r5\y]\d - \w%s \y[\r%d\w/\r5\y]^n\wApasa tasta 0 daca vrei sa accepti/refuzi oferta",Prefix,a,Name2,b); new Menu = menu_create(Line, "MenuHandlerr"); menu_additem(Menu, "Refresh", "-1"); for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][id] == 0 || coldown[i][id] != -1) continue; for(new a = 0; a < selectate[id]; a++) { if(select[a][id] == i) { formatex(Line, 127, "\r%s\y[%s]", WeaponNames[i], Name); menu_additem(Menu, Line, "0"); } } for(new a = 0; a < selectates[id]; a++) { new der = i+500 if(selects[a][id] == der) { formatex(Line, 127, "\r%s\y[%s\w-\yStatTrack]", WeaponNames[i], Name); menu_additem(Menu, Line, "0"); } } } for(new i;i<11;i++) { if(selectatec[id][i] > 0) { formatex(Line, 127, "\r%d %s\y[%s]", selectatec[id][i], ChestName[i],Name); menu_additem(Menu, Line, "0"); } } if(selectatek[id] > 0) { formatex(Line, 127, "\r%d Cheie\y[%s]", selectatek[id], Name); menu_additem(Menu, Line, "0"); } for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][tTarget[id]] == 0) continue; for(new a = 0; a < selectate[tTarget[id]]; a++) { if(select[a][tTarget[id]] == i) { formatex(Line, 127, "\r%s\y[%s]", WeaponNames[i], Name2); menu_additem(Menu, Line, "0"); } } for(new a = 0; a < selectates[tTarget[id]]; a++) { new der = i+500 if(selects[a][tTarget[id]] == der) { formatex(Line, 127, "\r%s\y[%s\w-\yStatTrack]", WeaponNames[i], Name2); menu_additem(Menu, Line, "0"); } } } for(new i;i<11;i++) { if(selectatec[tTarget[id]][i] > 0) { formatex(Line, 127, "\r%d %s\y[%s]", selectatec[tTarget[id]][i], ChestName[i],Name2); menu_additem(Menu, Line, "0"); } } if(selectatek[tTarget[id]] > 0) { formatex(Line, 127, "\r%d Cheie\y[%s]", selectatek[tTarget[id]], Name2); menu_additem(Menu, Line, "0"); } menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, Menu, 0); } public MenuHandlerr(id, gMenu, Key) { hide(mure) if(Key == MENU_EXIT) { menu_destroy ( gMenu ); vote(id) return PLUGIN_HANDLED; } else { goready(id) } return PLUGIN_CONTINUE; } public vote(id) { hide(mure) new Menu = menu_create("Schimb de iteme^nApasa tasta 0 ca sa raspunzi", "voteHandlers"); menu_additem(Menu, "Accept", "1"); menu_additem(Menu, "Refuz", "2"); menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, Menu, 0); } public voteHandlers(id, menu, item) { hide(mure) if( item == MENU_EXIT ) { menu_destroy ( menu ); goready(id) return PLUGIN_HANDLED; } new Data[6], Name[64]; new Access, CallBack; menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack); new Key = str_to_num(Data); switch(Key) { case 1: { acc[id] = 1 if(acc[tTarget[id]]) { new n[32], nn[32] get_user_name(id, n, 31) get_user_name(tTarget[id], nn, 31) log_to_file( "addons/amxmodx/logs/trade.log", "Incepe un trade intre %s si %s", n, nn); new der for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][id] == 0) continue; der = i+500 for(new r = 0; r < selectate[id]; r++) { if(select[r][id] == i) { select[r][id] = 0 uWeapon[i][tTarget[id]]++ uWeapon[i][id]-- log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s lui %s", Prefix, n, WeaponNames[i], nn); for(new a = 0; a < WEAPONSKIN; a++) { if(i == UsingWeapon[a][id]) { UsingWeapon[a][id] = 0 } } } } for(new r = 0; r < selectates[id]; r++) { if(selects[r][id] == der) { selects[r][id] = 0 uWeapon[i][tTarget[id]]++ uWeapon[i][id]-- stattrack[i][tTarget[id]]++ stattrack[i][id]-- kill[i][id] = 0 log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s-StatTrack lui %s", Prefix, n, WeaponNames[i], nn); for(new a = 0; a < WEAPONSKIN; a++) { if(i == UsingWeapon[a][id]) { UsingWeapon[a][id] = 0 } } } } } for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][tTarget[id]] == 0) continue; der = i+500 for(new z = 0; z < selectate[tTarget[id]]; z++) { if(select[z][tTarget[id]] == i) { select[z][tTarget[id]] = 0 uWeapon[i][id]++ uWeapon[i][tTarget[id]]-- log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s lui %s", Prefix, nn, WeaponNames[i], n); for(new a = 0; a < WEAPONSKIN; a++) { if(i == UsingWeapon[a][tTarget[id]]) { UsingWeapon[a][tTarget[id]] = 0 } } } } for(new z = 0; z < selectates[tTarget[id]]; z++) { if(selects[z][tTarget[id]] == der) { selects[z][tTarget[id]] = 0 uWeapon[i][id]++ uWeapon[i][tTarget[id]]-- stattrack[i][tTarget[id]]-- stattrack[i][id]++ kill[i][tTarget[id]] = 0 log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s-StatTrack lui %s", Prefix, nn, WeaponNames[i], n); for(new a = 0; a < WEAPONSKIN; a++) { if(i == UsingWeapon[a][tTarget[id]]) { UsingWeapon[a][tTarget[id]] = 0 } } } } } for(new i;i<11;i++) { if(selectatec[id][i] > 0) { Chestp[id][i] -= selectatec[id][i] Chestp[tTarget[id]][i] += selectatec[id][i] log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s lui %s", Prefix, n, ChestName[i],nn); } if(selectatec[tTarget[id]][i] > 0) { Chestp[id][i] += selectatec[tTarget[id]][i] Chestp[tTarget[id]][i] -= selectatec[tTarget[id]][i] log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat %s lui %s", Prefix, nn, ChestName[i], n); } } if(selectatek[id] > 0) { pKey[id] -= selectatek[id] pKey[tTarget[id]] += selectatek[id] log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat o cheie lui %s", Prefix, n, nn); } if(selectatek[tTarget[id]] > 0) { pKey[id] += selectatek[tTarget[id]] pKey[tTarget[id]] -= selectatek[tTarget[id]] log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s> a dat o cheie lui %s", Prefix, nn, n); } selectatek[id] = 0 for(new i;i<11;i++) { selectatec[id][i] = 0 selectatec[tTarget[id]][i] = 0 } selectatek[tTarget[id]] = 0 print_color(id, "!g%s!y Schimbul de iteme a fost realizat cu !gsucces!",Prefix); print_color(tTarget[id], "!g%s!y Schimbul de iteme a fost realizat cu !gsucces!",Prefix); acc[id] = 0 acc[tTarget[id]] = 0 selectate[id] = 0 selectate[tTarget[id]] = 0 selectates[id] = 0 selectates[tTarget[id]] = 0 invitat[id] = 0; nosend[tTarget[id]] = true; go[id] = 0 go[tTarget[id]] = 0 Save(id) Save(tTarget[id]) tTarget[tTarget[id]] = 0; tTarget[id] = 0; log_to_file("addons/amxmodx/logs/trade.log", "Trade incheiat"); } else { new Name[32], Name2[32]; get_user_name(id, Name, 31); get_user_name(tTarget[id], Name2, 31); print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y!",Prefix, Name2); print_color(tTarget[id], "!g%s!t %s !ya acceptat !goferta ta!y si te asteapta si pe tine sa o accepti pe a lui!",Prefix, Name); } } case 2: { nosend[tTarget[id]] = true; nosend[id] = true; new Name[32], Name2[32]; get_user_name(id, Name, 31); get_user_name(tTarget[id], Name2, 31); print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2); print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name); acc[id] = 0 acc[tTarget[id]] = 0 invitat[id] = 0; nosend[tTarget[id]] = true; tTarget[tTarget[id]] = 0; tTarget[id] = 0; } } menu_destroy(menu); return PLUGIN_HANDLED; } public fararaspuns(id) { hide(mure) new Name2[32]; get_user_name(tTarget[id], Name2, 31); print_color(id, "!g%s!t %s!y nu ti-a raspuns la timp!",Prefix, Name2); tTarget[id] = 0; } public ShopTagMenu(id) { new menu, szText[128]; formatex(szText, charsmax(szText), "%s\r Shop Chat Tag %L",Prefix, LANG_SERVER, "YPOINT", Points[id]) menu = menu_create(szText, "ShopMenuHandler"); menu_additem(menu, "\wCumpara|Schimba Chat Tag\y (\r10000 Euro\y)"); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); return PLUGIN_HANDLED; } public ShopMenuHandler ( id, Menu, Item ) { if( Item == MENU_EXIT ) { menu_destroy ( Menu ); return PLUGIN_HANDLED; } if ( cBuyTag > Points [id] ) { print_color ( id, "!g%s!t Nu ai destule puncte pentur a cumpara Chat Tag,ai nevoie de !g%d", Prefix, cBuyTag - Points [id] ); ShopTagMenu ( id ); return PLUGIN_CONTINUE; } print_color( id, "!g%s!t Scrie Chat Tag-ul pe care il dorestii", Prefix ); client_cmd ( id, "messagemode UserTag" ); Points [id] -= cBuyTag; Save(id); return PLUGIN_CONTINUE; } public bomb_planted(iPlanter) g_iBombPlanter = iPlanter // =============================================================================== // bomb_explode - Called when the Bomb exploded // =============================================================================== public bomb_explode(iPlanter, iDefuser) { g_bBombExploded = true ShowMVPMessage(g_iBombPlanter, 3) } // =============================================================================== // bomb_defused - Called when the Bomb was defused // =============================================================================== public bomb_defused(iDefuser) g_iBombDefuser = iDefuser // =============================================================================== // GetTopKiller - Returns the id of the player who made the most kills // =============================================================================== public GetTopKiller(iTeam) // 1 : Terrorist - 2 : Counter-Terrorists { new iPlayers[32], iPlayersnum; get_players(iPlayers, iPlayersnum, "e", iTeam == 1 ? "TERRORIST" : "CT") SortCustom1D(iPlayers, iPlayersnum, "SortByKills") return iPlayers[0] } public SortByKills(elem1, elem2) { if ( g_iEnemiesKilled[elem1] > g_iEnemiesKilled[elem2] ) return -1 else if ( g_iEnemiesKilled[elem1] < g_iEnemiesKilled[elem2] ) return 1 return 0 } // =============================================================================== // GetTopRescuer - Returns the id of the player who rescued the most hostages // =============================================================================== public GetTopRescuer() // 1 : Terrorist - 2 : Counter-Terrorists { new iPlayers[32], iPlayersnum; get_players(iPlayers, iPlayersnum, "e", "CT") SortCustom1D(iPlayers, iPlayersnum, "SortByHostages") return iPlayers[0] } public SortByHostages(elem1, elem2) { if ( g_iHostagesRescued[elem1] > g_iHostagesRescued[elem2] ) return -1 else if ( g_iHostagesRescued[elem1] < g_iHostagesRescued[elem2] ) return 1 return 0 } public Event_RoundWon_T() { set_task(CHECK_DELAY, "CheckTConditions") } public CheckTConditions() { if(g_iBombPlanter != NO_BOMB_PLANTED && g_bBombExploded == false) { new iTopKiller = GetTopKiller(1) ShowMVPMessage(iTopKiller, 1) return PLUGIN_HANDLED } /*new iTopKiller = GetTopKiller(1) ShowMVPMessage(iTopKiller, 1)*/ return PLUGIN_HANDLED } // =============================================================================== // Event_RoundWon_CT - Called when the Counter-Terrorists when the Round // =============================================================================== public Event_RoundWon_CT() { set_task(CHECK_DELAY, "CheckCTConditions") } public CheckCTConditions() { if(g_iBombDefuser != NO_BOMB_DEFUSED) { ShowMVPMessage(g_iBombDefuser, 2) return PLUGIN_HANDLED } if(g_bAllHostagesRescued) { new iTopRescuer = GetTopRescuer() ShowMVPMessage(iTopRescuer, 4) return PLUGIN_HANDLED } new iTopKiller = GetTopKiller(2) ShowMVPMessage(iTopKiller, 1) return PLUGIN_HANDLED } // =============================================================================== // Event_AllHostagesRescued - Called when ALL Hostages were rescued // =============================================================================== public Event_AllHostagesRescued() { g_bAllHostagesRescued = true new iTopRescuer = GetTopRescuer() ShowMVPMessage(iTopRescuer, 4) } // =============================================================================== // Event_HostageRescued - Called when ONE Hostage was rescued // =============================================================================== public Event_HostageRescued() { static szLog[80], szName[32], id read_logargv(0, szLog, charsmax(szLog)) parse_loguser(szLog, szName, charsmax(szName)) id = get_user_index(szName) g_iHostagesRescued[id]++ } // =============================================================================== // ShowMVPMessage - Shows the Director HUD Message // =============================================================================== public ShowMVPMessage(iMVP, iReason) // 1 : Kills - 2 : Bomb defused - 3 : Bomb exploded - 4 : Hostage rescued { new szMVPName[33] get_user_name(iMVP, szMVPName, charsmax(szMVPName)) set_dhudmessage(0, 255, 0, -1.0, 0.15, 0, 6.0, 12.0) switch(iReason) { case 1: show_dhudmessage(0, "MVP : %s for making the most kills this round.", szMVPName) case 2: show_dhudmessage(0, "MVP : %s for defusing the Bomb.", szMVPName) case 3: show_dhudmessage(0, "MVP : %s for planting the Bomb.", szMVPName) case 4: show_dhudmessage(0, "MVP : %s for rescuing %i Hostages.", szMVPName, g_iHostagesRescued[iMVP]) } } //------------------------------------------------------------Intrare pe sv--------------------------------------------------------// public client_putinserver(id) { hide(mure) g_restart_attempt[id] = false g_HideGiveClips[id] = false g_FirstSpawn[id] = true g_LastMessage[id] = 0 g_LastWeapPickup[id] = 0 g_Spawned[id] = false g_BoughtWeapon[id] = 0 PlayerHasTag [id] = false; LoadUserTag ( id ); for(new i; i < 11; i++) Chestp[id][i] = 0 set_task(1.0, "hudus", id+33333, _, _, "b") new name[33] get_user_name(id,name,32) formatex(PreNume[id],32,"") for(new i;i<precount;i++) if(equal(PreName[i],name)) formatex(PreNume[id],32,"^4[^3%s^4]",PreNameP[i]) Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, crashpoint[id] = 0, crashi[id] = 0; coinflipi[id] = 0, coinflipstar[id] = -1, coinflipstart[id] = 0, coinflippoint[id] = 0, coinflipp[id] = 0, coinflipwiner[id] = 0, coinflipwin[id] = 0, PromoUse[id] = 0 formatex(crashauto[id],8,"1.0") for(new i = 1; i < AllWeapon; i++) { kill[i][id] = 0 stattrack[i][id] = 0 uWeapon[i][id] = 0; coldown[i][id] = -1 } for(new a = 0; a < WEAPONSKIN; a++) { UsingWeapon[a][id] = 0 } for(new z = 0; z < selectate[id]; z++) { select[z][id] = 0 } selectate[id] = 0 acc[id] = 0 selectatek[id] = 0 selectatek[tTarget[id]] = 0 for(new i;i<11;i++) { selectatec[id][i] = 0 selectatec[tTarget[id]][i] = 0 } selectates[id] = 0 selectates[tTarget[id]] = 0 acc[tTarget[id]] = 0 invitat[id] = 0; nosend[tTarget[id]] = true; go[id] = 0 task[id] = 0 go[tTarget[id]] = 0 tTarget[tTarget[id]] = 0; tTarget[id] = 0; WeaponinMarket[id] = 0 inMarket[id] = false Password[id] = ""; SavedPassword[id] = ""; Loged[id] = false; Load(id); remove_task(id+134444) remove_task(id) } //---------------------------------------------------------------Salvare si load--------------------------------------------// public Load(id) { hide(mure) if(!is_user_connected(id)) { return PLUGIN_HANDLED; } new tData[5][8], Data[MAX+1][8]; if(nvault_get(svault, g_szName[id], rLine, sizeof(rLine) - 1)) { formatex(arg1, charsmax(arg1), "") formatex(arg1, charsmax(arg2), "") strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*'); parse(arg1, tData[0], 7, tData[1], 7, tData[2], 7, tData[3], 7, tData[4], 7, Data[1], 7, Data[2], 7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12], 7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21], 7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30], 7, Data[31], 7, Data[32], 7, Data[33], 7, Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39], 7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7, Data[48], 7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7, Data[56], 7); parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64], 7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73], 7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82], 7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91], 7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7); Kills[id] = str_to_num(tData[0]); Points[id] = str_to_num(tData[1]); pKey[id] = str_to_num(tData[2]); PromoUse[id] = str_to_num(tData[3]); Rang[id] = str_to_num(tData[4]); for(new i = 1; i < AllWeapon; i++) { uWeapon[i][id] = str_to_num(Data[i]); } } new zData[WEAPONSKIN][8]; if(nvault_get(ssvault, g_szName[id], rLine, sizeof(rLine) - 1)) { parse(rLine, zData[0], 7, zData[1], 7, zData[2], 7, zData[3], 7, zData[4], 7, zData[5], 7, zData[6], 7, zData[7], 7, zData[8], 7, zData[9], 7, zData[10], 7, zData[11], 7, zData[12], 7, zData[13], 7, zData[14], 7, zData[15], 7, zData[16], 7, zData[17], 7, zData[18], 7, zData[19], 7, zData[20], 7); for(new i; i < WEAPONSKIN; i++) UsingWeapon[i][id] = str_to_num(zData[i]); } new cData[11][8]; if(nvault_get(chestvault, g_szName[id], rLine, sizeof(rLine) - 1)) { parse(rLine, cData[0], 7, cData[1], 7, cData[2], 7, cData[3], 7, cData[4], 7, cData[5], 7, cData[6], 7, cData[7], 7, cData[8], 7, cData[9], 7, cData[10], 7); for(new i; i < 11; i++) Chestp[id][i] = str_to_num(cData[i]); } new rData[MAX+1][8] new dData[3][8] if(nvault_get(trackvault, g_szName[id], rLine, sizeof(rLine) - 1)) { formatex(arg1, charsmax(arg1), "") formatex(arg1, charsmax(arg2), "") strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*'); parse(arg1, rData[1], 7, rData[2], 7, rData[3], 7, rData[4], 7, rData[5], 7, rData[6], 7, rData[7], 7, rData[8],7, rData[9], 7, rData[10], 7, rData[11], 7, rData[12], 7, rData[13], 7, rData[14], 7, rData[15], 7, rData[16], 7, rData[17], 7, rData[18], 7, rData[19], 7, rData[20], 7, rData[21], 7, rData[22], 7, rData[23], 7, rData[24], 7, rData[25], 7, rData[26], 7, rData[27], 7, rData[28], 7, rData[29], 7, rData[30], 7, rData[31], 7, rData[32], 7, rData[33], 7, rData[34], 7, rData[35], 7, rData[36], 7, rData[37], 7, rData[38], 7, rData[39], 7, rData[40], 7, rData[41], 7, rData[42], 7, rData[43], 7, rData[44], 7, rData[45], 7, rData[46], 7, rData[47], 7, rData[48], 7, rData[49], 7, rData[50], 7, rData[51], 7, rData[52], 7, rData[53], 7, rData[54], 7, rData[55], 7, rData[56], 7) parse(arg2, rData[57], 7, rData[58], 7, rData[59], 7, rData[60], 7, rData[61], 7, rData[62], 7, rData[63], 7, rData[64], 7, rData[65], 7, rData[66], 7, rData[67], 7, rData[68], 7, rData[69], 7, rData[70], 7, rData[71], 7, rData[72], 7, rData[73], 7, rData[74], 7, rData[75], 7, rData[76], 7, rData[77], 7, rData[78], 7, rData[79], 7, rData[80], 7, rData[81], 7, rData[82], 7, rData[83], 7, rData[84], 7, rData[85], 7, rData[86], 7, rData[87], 7, rData[88], 7, rData[89], 7, rData[90], 7, rData[91], 7, rData[92], 7, rData[93], 7, rData[94], 7, rData[95], 7, rData[96], 7, rData[97], 7, rData[98], 7, rData[99], 7, rData[100], 7); new szWeek[3] get_time("%w", szWeek, sizeof(szWeek)) new iDate = str_to_num(szWeek) for(new i = 1; i < AllWeapon; i++) { parse(rData[i], dData[0], 7, dData[1], 7, dData[2], 7) stattrack[i][id] = str_to_num(dData[0]); uWeapon[i][id] += str_to_num(dData[0]) kill[i][id] = str_to_num(dData[1]); new p = str_to_num(dData[2]) new fo[10],fo2[10] formatex(fo, 9, "0%d", p) formatex(fo2, 9, "0%d", iDate) if(!equal(fo,fo2)) { coldown[i][id] = -1 } else { coldown[i][id] = str_to_num(dData[2]) } } } else { for(new i = 1; i < AllWeapon; i++) { coldown[i][id] = -1 } } return PLUGIN_CONTINUE; } public Save(id) { hide(mure) if(!is_user_connected(id)) { return PLUGIN_HANDLED; } formatex(rLine, charsmax(rLine), "") new String[8]; format(String, 7, "^"%i^" ", Kills[id]); add(rLine, charsmax(rLine), String); format(String, 7, "^"%i^" ", Points[id]); add(rLine, charsmax(rLine), String); format(String, 7, "^"%i^" ", pKey[id]); add(rLine, charsmax(rLine), String); format(String, 7, "^"%i^" ", PromoUse[id]); add(rLine, charsmax(rLine), String); format(String, 7, "^"%i^" ", Rang[id]); add(rLine, charsmax(rLine), String); new ass for(new i = 1; i < MAX+1; i++) { if(uWeapon[i][id] < 0) uWeapon[i][id] = 0 ass = uWeapon[i][id]-stattrack[i][id] if(i == 56) { if(stattrack[i][id]) { format(String, 7, "^"%i^"*", ass); add(rLine, charsmax(rLine), String); } else { format(String, 7, "^"%i^"*", uWeapon[i][id]); add(rLine, charsmax(rLine), String); } } else { if(stattrack[i][id]) { format(String, 7, "^"%i^" ", ass); add(rLine, charsmax(rLine), String); } else { format(String, 7, "^"%i^" ", uWeapon[i][id]); add(rLine, charsmax(rLine), String); } } } nvault_set(svault, g_szName[id], rLine) formatex(rLine, charsmax(rLine), "") new Stringz[8]; for(new i = 0; i < WEAPONSKIN; i++) { format(Stringz, 7, "^"%i^" ", UsingWeapon[i][id]); add(rLine, charsmax(rLine), Stringz); } nvault_set(ssvault, g_szName[id], rLine) formatex(rLine, charsmax(rLine), "") new Stringchest[8]; for(new i = 0; i < 11; i++) { format(Stringchest, 7, "^"%i^" ", Chestp[id][i]); add(rLine, charsmax(rLine), Stringchest); } nvault_set(chestvault, g_szName[id], rLine) formatex(rLine, charsmax(rLine), "") new rString[16]; for(new i = 1; i < MAX+1; i++) { if(i > MAX) break; if(stattrack[i][id] < 0) stattrack[i][id] = 0 if(i == 56) { format(rString, 15, "^"%i %i %i^"*", stattrack[i][id], kill[i][id], coldown[i][id]); add(rLine, charsmax(rLine), rString); } else { format(rString, 15, "^"%i %i %i^" ", stattrack[i][id], kill[i][id], coldown[i][id]); add(rLine, charsmax(rLine), rString); } } nvault_set(trackvault, g_szName[id], rLine) formatex(rLine, charsmax(rLine), "") return PLUGIN_CONTINUE; } //----------------------------------------------------------Login--------------------------------------------------------// public RegMenu(id) { hide(mure) new String[128], Name[32]; format(String, 127, "%s %L", Prefix, LANG_SERVER, "RMMAIN"); new rMenu = menu_create(String, "rMenuHandler"); get_user_name(id, Name, 31); format(String, 127, "%L", LANG_SERVER, "RMACCOUNT", Name); menu_additem(rMenu, String, "0"); if(Registered(id) == false) { format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]); menu_additem(rMenu, String, "1"); if(strlen(Password[id]) > 4) { format(String, 127, "%L", LANG_SERVER, "RMR"); menu_additem(rMenu, String, "2"); } else { format(String, 127, "\d%L", LANG_SERVER, "RMR"); menu_additem(rMenu, String, "0"); } } else { if(!Loged[id]) { format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]); menu_additem(rMenu, String, "1"); if(equal(SavedPassword[id], Password[id])) { format(String, 127, "%L", LANG_SERVER, "RMLOGIN"); menu_additem(rMenu, String, "3"); } else { format(String, 127, "\d%L", LANG_SERVER, "RMLOGIN"); menu_additem(rMenu, String, "0"); } } else { format(String, 127, "%L", LANG_SERVER, "RMLOGOUT"); menu_additem(rMenu, String, "-1"); } } menu_display(id, rMenu); } public rMenuHandler(id, gMenu, item) { hide(mure) if(item == MENU_EXIT) { menu_destroy(gMenu); return; } new data[9], name[64], Key; new access, callback; menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback); Key = str_to_num(data); if(Key == -1) ToLogout(id); if(Key == 0) RegMenu(id); if(Key == 1) { client_cmd(id, "messagemode UserPassword"); RegMenu(id); } if(Key == 2) { print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]); Register(id, Password[id]); copy(SavedPassword[id], 31, Password[id]); Loged[id] = true; Menu(id); } if(Key == 3) { if(equal(SavedPassword[id], Password[id])) { Loged[id] = true; remove_task(id+134444) print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN"); Menu(id); } } } public ToLogout(id) { hide(mure) if(Loged[id]) { Loged[id] = false; Password[id] = ""; print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT"); } } public PlayerPassword(id) { hide(mure) new Data[32]; read_args(Data, 31); remove_quotes(Data); if(strlen(Data) < 5) { print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSHORT"); client_cmd(id, "messagemode UserPassword"); return PLUGIN_HANDLED; } if(Loged[id]) { return PLUGIN_HANDLED; } copy(Password[id], 31, Data); RegMenu(id); return PLUGIN_CONTINUE; } public NameChange(id) { hide(mure) if(!is_user_connected(id)||g_NameChange[id]) return FMRES_IGNORED; new OldName[32], NewName[32], Name[32]; get_user_name(id, Name, 31); pev(id, pev_netname, OldName, charsmax(OldName)); if(OldName[0]) { get_user_info(id, "name", NewName, charsmax(NewName)); if(!equal(OldName, NewName)) { set_user_info(id, "name", OldName); print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERNAMECHANGE"); return FMRES_HANDLED; } } return FMRES_IGNORED; } public freeak(id) { hide(mure) new list[MAX] new wpnz = 1 for(new i = 1;i<AllWeapon;i++) { if(Weapons[i] == 28) { list[wpnz] = i wpnz++ } } new rWeapon = random_num(1,wpnz-1) new rNum = random_num(1, 100); if(WeaponDrop[list[rWeapon]] >= rNum) { if(equal(WeaponNames[list[rWeapon]], "")) freeak(id); else { new Name[32]; get_user_name(id, Name, 31); print_color(id, "!g[Global Offensive] !yProcesare incheiata, ai primit un !g%s!y-!gStatTrack!y!", WeaponNames[list[rWeapon]]); uWeapon[list[rWeapon]][id]++; stattrack[list[rWeapon]][id]++; Save(id); } } else { freeak(id); } } // --------------------------Native-------------------------------------------// public randomcsgo(id) { hide(mure) new a = random_num(1,3) new Name[32] get_user_name(id, Name, charsmax(Name)); if(a == 1) { new pPont; pPont = random_num(25, 50); Points[id] += pPont; print_color(id, "!g%s!t %s!y a obtinut !g%i!y EURO!", Prefix, Name, pPont); } else if(a == 2) { pKey[id]++; print_color(id, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name); } else { a = random_num(0,chestcount) Chestp[id][a]++; print_color(id, "!g%s!t %s!y a obtinut !g%s!y!", Prefix, Name, ChestName[a]); } Save(id); } public native_get_pct(id) { hide(mure) if(is_user_connected(id)) { return Points[id] } return -1 } public native_set_pct(id,a) { hide(mure) if(is_user_connected(id)) { Points[id] = a Save(id) } } public native_get_key(id) { hide(mure) if(is_user_connected(id)) { return pKey[id] } return -1 } public native_set_key(id,a) { hide(mure) if(is_user_connected(id)) { pKey[id] = a Save(id) } } public native_get_chest(id,value) { hide(mure) if(is_user_connected(id)) { return Chestp[id][value] } return -1 } public native_set_chest(id,a,value) { hide(mure) if(is_user_connected(id)) { Chestp[id][value] = a Save(id) } } public native_set_chests(id,a) { hide(mure) if(is_user_connected(id)) { for(new i;i<a;i++) GiveChest(id) Save(id) } } public native_key(id) { hide(mure) if(is_user_connected(id)) { pKey[id]++; Save(id); } } public native_chest(id) { hide(mure) if(is_user_connected(id)) { for(new i;i<11;i++) Chestp[id][i]++; Save(id); } } public native_bet(id) { hide(mure) if(is_user_connected(id)) { new a = betp[id]*2 Points[id] += a print_color(id, "!g%s!t Ai castigat %d EURO!", Prefix, a); } } public native_bett(id) { hide(mure) if(is_user_connected(id) && pbet[id] == 1) return true; return false; } public native_betct(id) { hide(mure) if(is_user_connected(id) && pbet[id] == 2) return true; return false; } // -----------------------------------------------------Stockuri-----------------------------------------// stock GiveChest(id) { hide(mure) new rWeapon = random_num(0, chestcount); new rNum = random_num(1, 100); if(ChestDrop[rWeapon] >= rNum) { if(equal(ChestName[rWeapon], "")) GiveChest(id); else { Chestp[id][rWeapon]++ new Name[32]; get_user_name(id, Name, 31); print_color(id, "!g[Global Offensive] !t%s !ya gasit chestul !g%s",Name,ChestName[rWeapon]); Save(id); } } else GiveChest(id); } stock bool:ValidMdl(Mdl[]) { hide(mure) if(containi(Mdl, ".mdl") != -1) { return true; } return false; } stock bool:Registered(id) { hide(mure) new Data[32]; if(TrieGetString(g_NameName, g_szName[id], Data, 31)) { server_print("am gasit %s in trie",Data) copy(SavedPassword[id], 31, Data); return true; } else { if(nvault_get(rvault, g_szName[id], Data, sizeof(Data) - 1)) { copy(SavedPassword[id], 31, Data); TrieSetString(g_NameName,g_szName[id],Data) server_print("am gasit %s in nvault",Data) return true; } } return false; } stock Register(id, const rSavedPassword[]) { hide(mure) new Name[32], Line[64]; get_user_name(id, Name, 31); format(Line, 63, "%s", rSavedPassword); nvault_set(rvault, g_szName[id], Line) print_color(id, "!gMultumim pentru inregistrare!") } stock print_color(const id, const input[], any:...) { hide(mure) new Count = 1, Players[32]; static Msg[191]; vformat(Msg, 190, input, 3); replace_all(Msg, 190, "!g", "^4"); replace_all(Msg, 190, "!y", "^1"); replace_all(Msg, 190, "!t", "^3"); if(id) Players[0] = id; else get_players(Players, Count, "ch"); for (new i = 0; i < Count; i++) { if (is_user_connected(Players[i])) { message_begin(MSG_ONE_UNRELIABLE, SayText, _, Players[i]); write_byte(Players[i]); write_string(Msg); message_end(); } } return PLUGIN_HANDLED; } stock fnGetRandom() { hide(mure) new a = random_num(1,playj) for (new r = 1; r <= 32; r++) if (is_user_connected(r) && inJack[r] && itemj[a] == r) return r return -1; } stock fnGetj() { hide(mure) for (new id = 1; id <= 32; id++) if (is_user_connected(id) && inJack[id]) return id return -1 } Remove_Icon(id) { message_begin(MSG_ALL, SVC_TEMPENTITY); write_byte(TE_KILLPLAYERATTACHMENTS); write_byte(id); message_end(); } public clcmd_fullupdate() { return PLUGIN_HANDLED } public event_restart_attempt() { new players[32], num_players get_players(players, num_players, "a") for (new i; i < num_players; ++i) g_restart_attempt[players[i]] = true } public event_hud_reset(id) { if (g_restart_attempt[id]) { g_restart_attempt[id] = false return } event_player_spawn(id) } public event_player_spawn(id) { if (get_pcvar_num(pv_fa_enable) == 1) { g_HideGiveClips[id] = true g_Spawned[id] = true } } public do_player_spawn(id) { new weap_ids[32], num_weaps get_user_weapons(id, weap_ids, num_weaps) for (new i = 0; i < num_weaps; i++) { new weap_id = weap_ids[i] if (fill_weapon(id, weap_id)) { if (g_FirstSpawn[id]) { if (get_pcvar_num(pv_fa_altclips) != 1) cs_set_user_bpammo(id, weap_id, 0) fill_bpammo_show(id, weap_id) } else fill_bpammo(id, weap_id) } } g_FirstSpawn[id] = false } public event_new_round() { g_iBombPlanter = NO_BOMB_PLANTED g_iBombDefuser = NO_BOMB_DEFUSED g_bBombExploded = false g_bAllHostagesRescued = false arrayset(g_iEnemiesKilled, 0, sizeof(g_iEnemiesKilled)) arrayset(g_iHostagesRescued, 0 , sizeof(g_iHostagesRescued)) if (get_pcvar_num(pv_fa_enable) == 1) { new players[32], num_players get_players(players, num_players, "a") for (new j = 0; j < num_players; j++) { new id = players[j] new weap_ids[32], num_weaps get_user_weapons(id, weap_ids, num_weaps) for (new i = 0; i < num_weaps; i++) if (fill_weapon(id, weap_ids[i])) fill_bpammo(id, weap_ids[i]) } } } public message_ammo_pickup(msg_id, id, ent) { if (get_pcvar_num(pv_fa_enable) == 1) { if (g_HideGiveClips[id]) { g_HideGiveClips[id] = false return PLUGIN_HANDLED } } return PLUGIN_CONTINUE } public forward_message_begin(msg_dest, msg_type, const Float:ORIGIN[3], const ED) { if (ED < 1 || ED > 32) return new id = ED if (msg_type == g_MoneyMsg && g_LastMessage[id] == g_WeapPickupMsg) event_weapon_buy(id, g_LastWeapPickup[id]) g_LastMessageID = id g_LastMessageType = msg_type g_LastMessage[id] = msg_type } public forward_write_byte(value) { if (g_LastMessageType == g_WeapPickupMsg) g_LastWeapPickup[g_LastMessageID] = value } public event_weapon_buy(id, weap_id) { g_BoughtWeapon[id] = weap_id } public do_weapon_buy(id, weap_id) { if (fill_weapon(id, weap_id)) fill_bpammo_show(id, weap_id) } public client_PreThink(id) { if (get_pcvar_num(pv_fa_enable) == 1) { if (g_Spawned[id]) { g_Spawned[id] = false do_player_spawn(id) } if (g_BoughtWeapon[id] != 0) { new weap_id = g_BoughtWeapon[id] g_BoughtWeapon[id] = 0 do_weapon_buy(id, weap_id) } } return PLUGIN_CONTINUE } public bool:weapon_has_ammo(weap_id) { return g_AmmoName[g_AmmoType[weap_id]][0] != 0 } public bool:fill_bpammo(id, weap_id) { if (get_pcvar_num(pv_fa_altclips) == 1) { new ammo_clips = g_MaxClips[weap_id] if (weapon_has_ammo(weap_id)) { for (new i = 1; i <= ammo_clips; i++) { g_HideGiveClips[id] = true give_item(id, g_AmmoName[g_AmmoType[weap_id]]) } g_HideGiveClips[id] = false return true } } else { new ammo = g_MaxBPAmmo[weap_id] if (weapon_has_ammo(weap_id)) { cs_set_user_bpammo(id, weap_id, ammo) g_HideGiveClips[id] = false return true } } return false } public bool:fill_weapon(id, weap_id) { new clip_size = g_ClipSize[weap_id] if (clip_size != 0) { new weap_name[41] get_weaponname(weap_id, weap_name, 40) new wpn = find_ent_by_owner(-1, weap_name, id) if (wpn != 0) { cs_set_weapon_ammo(wpn, clip_size) return true } } return false } public show_given_bpammo(id, weap_id, ammount) { g_HideGiveClips[id] = false if (ammount <= 0) return message_begin(MSG_ONE, get_user_msgid("AmmoPickup"), {0,0,0}, id) write_byte(g_AmmoType[weap_id]) write_byte(ammount) message_end() } public bool:fill_bpammo_show(id, weap_id) { new given_ammo = g_MaxBPAmmo[weap_id] if (get_pcvar_num(pv_fa_altclips) != 1 && weapon_has_ammo(weap_id)) given_ammo -= cs_get_user_bpammo(id, weap_id) if (fill_bpammo(id, weap_id)) { show_given_bpammo(id, weap_id, given_ammo) return true } return false }
-
- Membru, skill 0
- Posts: 14
- Joined: 23 Nov 2018, 12:36
- Detinator Steam: Da
- CS Status: Citesc forumul eXtreamCS.com...!
- Fond eXtream: 0
- Discord: skrpt_
- Contact:
Are cineva plugin-ul cu cs_competitive.sma?
- j a h k 0-
- Membru, skill +4
- Posts: 1536
- Joined: 26 Jan 2016, 10:24
- Detinator Steam: Da
- CS Status: segmentation fault
- SteamID: /ID/jkhalibu
- Reputatie: Utilizator neserios
Restrictie moderator [permanent]
Membru Club eXtreamCS (3 luni)
Nume anterior: Jah# - Fond eXtream: 0
- Location: Chişinău, Republic Of Moldova
- Has thanked: 69 times
- Been thanked: 13 times
- Contact:
-
- Membru, skill 0
- Posts: 42
- Joined: 01 Oct 2022, 21:07
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Fond eXtream: 0
- Discord: EugenH#4686
- Has thanked: 12 times
- j a h k 0-
- Membru, skill +4
- Posts: 1536
- Joined: 26 Jan 2016, 10:24
- Detinator Steam: Da
- CS Status: segmentation fault
- SteamID: /ID/jkhalibu
- Reputatie: Utilizator neserios
Restrictie moderator [permanent]
Membru Club eXtreamCS (3 luni)
Nume anterior: Jah# - Fond eXtream: 0
- Location: Chişinău, Republic Of Moldova
- Has thanked: 69 times
- Been thanked: 13 times
- Contact:
mersiEugenH wrote: ↑18 Feb 2024, 13:17addon-uri/addons-zorken-sma-t371573.html
Culegi de aici ce ai nevoie
- levin
- Scripter eXtreamCS
- Posts: 3844
- Joined: 24 Aug 2011, 12:24
- Detinator Steam: Da
- CS Status: ♅
- Detinator server CS: ☯∴
- SteamID: riseofevo
- Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy - Location: ҳ̸Ҳ̸ҳ
- Discord: devilclass
- Has thanked: 36 times
- Been thanked: 594 times
- Contact:
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)