tu nu ai bani sa mananci si platesti 6k pe deep web, interesant :))Megatron wrote: ↑28 Apr 2020, 20:07imi asum warnul
Adddons de KA'KAT se crede mare scripter si zorken puli mele un copil de 11 ani care imi s.... p..... de . g... i.....t asta mare IQ ai sa editezi un plugin si sa furi source code de la rusi si sa ceri ajutor acolo sa iti fac ei si dupaia te pui autor copile iti dau doua palete de iti sar remakurile din casa
zorken ai noroc ca suntem in carantina ca daca stiam unde stai cautam pe dark web assasin sa vina dupa tine cineva sa imi dea IP-ul lui un moderator PM il platesc doar sa primesc IP lui cel real ca ori cum il prind intro buna zi....
si restul care il copieaza sau il editeaza sunteti niste copy paste ieftine
MAI lasati oameniii cu cs:go rekakurile voastre ca inebunitii lumea sunt atatea topic-uri MILIARDE cu cs:go remake si toate sunt la fel doar skin-urile sunt
schimbate si adaugate ceva in plus sau baza modificata si gata te dai mare CREATOR si te crezi autor
CSGO KAKA mai lasati csgo-urile remake cand aud de ele imi vine sa fomit
Mai bine ma joc addonsuri cu zombie cso si zombie escape de cat cs:go rekaka
P.S NUBO
RAMNE ADEVARATUL CREATOR AL ACESTUI ADDONS EL DETIN TOT CE ESTE ORIGINAL IN EL VOI SUNTETI DOAR O COPIE IEFTINA CARE COPIATI VALOREA ADEVARATA SI EDITATI
Nu va mai puneti addons cs:go remake by ...... mai bine addons cs:go remake by nubo edited by zorken asa suna mai bine :)) copiii
Addons Global Offensive zorken+idei(Barlap+self-hate)
Descarcari de addons-uri si discutii despre acestea.
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
- 1aurwtf
- Utilizator neserios (tepar)
- Posts: 25
- Joined: 18 Dec 2019, 05:12
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Reputatie: Utilizator neserios (tepar)
- Fond eXtream: 0
- Has thanked: 1 time
Nu ma cauta pentru cacaturi ce tin de jocuri.
Pentru chestii serioase, pm.
Pentru chestii serioase, pm.
-
- Utilizator neserios
- Posts: 847
- Joined: 02 Nov 2014, 18:21
- Detinator Steam: Da
- CS Status: Citesc forumul eXtreamCS.com...!
- Reputatie: Fost Scripter eXtreamCS
Utilizator neserios - Fond eXtream: 0
- Location: Constanta
- Has thanked: 40 times
- Been thanked: 30 times
incet, incet, incep sa cred ca acest megatron are probleme grave la cap1aurwtf wrote: ↑15 Jul 2020, 14:05tu nu ai bani sa mananci si platesti 6k pe deep web, interesant :))Megatron wrote: ↑28 Apr 2020, 20:07imi asum warnul
Adddons de KA'KAT se crede mare scripter si zorken puli mele un copil de 11 ani care imi s.... p..... de . g... i.....t asta mare IQ ai sa editezi un plugin si sa furi source code de la rusi si sa ceri ajutor acolo sa iti fac ei si dupaia te pui autor copile iti dau doua palete de iti sar remakurile din casa
zorken ai noroc ca suntem in carantina ca daca stiam unde stai cautam pe dark web assasin sa vina dupa tine cineva sa imi dea IP-ul lui un moderator PM il platesc doar sa primesc IP lui cel real ca ori cum il prind intro buna zi....
si restul care il copieaza sau il editeaza sunteti niste copy paste ieftine
MAI lasati oameniii cu cs:go rekakurile voastre ca inebunitii lumea sunt atatea topic-uri MILIARDE cu cs:go remake si toate sunt la fel doar skin-urile sunt
schimbate si adaugate ceva in plus sau baza modificata si gata te dai mare CREATOR si te crezi autor
CSGO KAKA mai lasati csgo-urile remake cand aud de ele imi vine sa fomit
Mai bine ma joc addonsuri cu zombie cso si zombie escape de cat cs:go rekaka
P.S NUBO
RAMNE ADEVARATUL CREATOR AL ACESTUI ADDONS EL DETIN TOT CE ESTE ORIGINAL IN EL VOI SUNTETI DOAR O COPIE IEFTINA CARE COPIATI VALOREA ADEVARATA SI EDITATI
Nu va mai puneti addons cs:go remake by ...... mai bine addons cs:go remake by nubo edited by zorken asa suna mai bine :)) copiii
https://discord.gg/VABVdhXMrK ZM CSO server in working..
-
- Fost administrator
- Posts: 13709
- Joined: 09 Oct 2010, 12:39
- Detinator Steam: Da
- CS Status: In grajd!
- SteamID: kalulord
- Reputatie: Fost Administrator
Fost membru Club eXtreamCS (6 luni)
Nume anterior: Terra - Location: Romania, Ploiesti
- Has thanked: 328 times
- Been thanked: 646 times
- Contact:
Are contul Jucator acuma, ca si parere personala desi nu imi place sa imi dau cu parerea aiurea tind sa cred ca acest copil are probleme de sanatate la cap(depresie, schizofrenie etc).Sunt multe persoane ca el cu acces la internet si scriu ce le debiteaza mintea dandu ne impresia ca scriu la misto pe cand adevarul este mai crunt, nu as vrea sa fiu in locul lui dar are nevoie de o internare si sunt sigur ca are tratament ambulatoriu fiind in grija parintilor.Nu imi place sa ma iau de el sau sa ii dau ban ca totusi este si el un copil care are aceleasi drepturi, totusi in asemenea cazuri trebuiesc luate masuri si eliminata problema!
- Jucator
- Membru, skill +1
- Posts: 283
- Joined: 15 Jul 2017, 21:38
- Detinator Steam: Da
- Fond eXtream: 0
- Location: PornHUB
- Has thanked: 36 times
- Been thanked: 13 times
- Contact:
You here centeredThe Kalu wrote: ↑16 Jul 2020, 15:49Are contul Jucator acuma, ca si parere personala desi nu imi place sa imi dau cu parerea aiurea tind sa cred ca acest copil are probleme de sanatate la cap(depresie, schizofrenie etc).Sunt multe persoane ca el cu acces la internet si scriu ce le debiteaza mintea dandu ne impresia ca scriu la misto pe cand adevarul este mai crunt, nu as vrea sa fiu in locul lui dar are nevoie de o internare si sunt sigur ca are tratament ambulatoriu fiind in grija parintilor.Nu imi place sa ma iau de el sau sa ii dau ban ca totusi este si el un copil care are aceleasi drepturi, totusi in asemenea cazuri trebuiesc luate masuri si eliminata problema!
Numele meu
Unde stau +ss
- | Afiseaza codul
MILSUGI?ai luat țeapă
- 1aurwtf
- Utilizator neserios (tepar)
- Posts: 25
- Joined: 18 Dec 2019, 05:12
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Reputatie: Utilizator neserios (tepar)
- Fond eXtream: 0
- Has thanked: 1 time
=)))))))))))))))))))))))))))))))))))))) numele tau e Gheorghe si cu asta am spus tot =]]]]]]]]]]]]]]]]
Nu ma cauta pentru cacaturi ce tin de jocuri.
Pentru chestii serioase, pm.
Pentru chestii serioase, pm.
-
- Membru, skill 0
- Posts: 45
- Joined: 25 Aug 2017, 17:14
- Detinator Steam: Da
- CS Status: GO.ERAZER.RO
- Detinator server CS: GO.ERAZER.RO
- SteamID: STEAM_0:1:443307992
- Fond eXtream: 0
- Location: Giurgiu
- Been thanked: 1 time
- Contact:
Nu apare rang-ul actual + kill-uriile necesare in meniu
Daca omori raman neschimbate kill-urile de la Need Kill, iar la unii le da 50, altii 100, altii 1050
Am pus exact ca modelul de l-a pus Capy mai sus la skin-uri si nu se deschid cuferele, spune ca nu exista skin-uri
Vreo rezolvare?
Daca omori raman neschimbate kill-urile de la Need Kill, iar la unii le da 50, altii 100, altii 1050
Am pus exact ca modelul de l-a pus Capy mai sus la skin-uri si nu se deschid cuferele, spune ca nu exista skin-uri
Vreo rezolvare?
FORUM: WWW.ERAZER.RO
DNS: CSGO.ERAZER.RO
IP + PORT: 89.44.246.29:27015
DNS: CSGO.ERAZER.RO
IP + PORT: 89.44.246.29:27015
-
- Membru, skill +1
- Posts: 349
- Joined: 26 Jan 2020, 18:52
- Detinator Steam: Da
- CS Status: 0x416469
- SteamID: shadowsadi120
- Fond eXtream: 0
- Has thanked: 14 times
- Been thanked: 50 times
Salut, incearca acest mod, poate o sa-ti placa: post2800796.htmlAdrianJrr wrote: ↑02 Dec 2020, 17:00Nu apare rang-ul actual + kill-uriile necesare in meniu
Daca omori raman neschimbate kill-urile de la Need Kill, iar la unii le da 50, altii 100, altii 1050
Am pus exact ca modelul de l-a pus Capy mai sus la skin-uri si nu se deschid cuferele, spune ca nu exista skin-uri
Vreo rezolvare?
-
- Membru, skill 0
- Posts: 45
- Joined: 25 Aug 2017, 17:14
- Detinator Steam: Da
- CS Status: GO.ERAZER.RO
- Detinator server CS: GO.ERAZER.RO
- SteamID: STEAM_0:1:443307992
- Fond eXtream: 0
- Location: Giurgiu
- Been thanked: 1 time
- Contact:
Capy o rezolvare te rog? :)Shadows Adi wrote: ↑03 Dec 2020, 08:16Salut, incearca acest mod, poate o sa-ti placa: post2800796.htmlAdrianJrr wrote: ↑02 Dec 2020, 17:00Nu apare rang-ul actual + kill-uriile necesare in meniu
Daca omori raman neschimbate kill-urile de la Need Kill, iar la unii le da 50, altii 100, altii 1050
Am pus exact ca modelul de l-a pus Capy mai sus la skin-uri si nu se deschid cuferele, spune ca nu exista skin-uri
Vreo rezolvare?
FORUM: WWW.ERAZER.RO
DNS: CSGO.ERAZER.RO
IP + PORT: 89.44.246.29:27015
DNS: CSGO.ERAZER.RO
IP + PORT: 89.44.246.29:27015
- Capy Trifoi
- Membru, skill 0
- Posts: 61
- Joined: 23 Apr 2020, 07:43
- Detinator Steam: Da
- CS Status: On
- Detinator server CS: RESPAWN.CS-GAME.RO
- SteamID: capymuncasitalent
- Fond eXtream: 0
- Has thanked: 5 times
- Been thanked: 5 times
NU SUNT 100% SIGUR CA ESTE CORECT CE-TI SCRIU AICI PENTRU CA NU AM MAI LUCRAT CU ACEST MOD DE CAND L-AM POSTATAdrianJrr wrote: ↑04 Dec 2020, 21:05Capy o rezolvare te rog? :)Shadows Adi wrote: ↑03 Dec 2020, 08:16Salut, incearca acest mod, poate o sa-ti placa: post2800796.htmlAdrianJrr wrote: ↑02 Dec 2020, 17:00Nu apare rang-ul actual + kill-uriile necesare in meniu
Daca omori raman neschimbate kill-urile de la Need Kill, iar la unii le da 50, altii 100, altii 1050
Am pus exact ca modelul de l-a pus Capy mai sus la skin-uri si nu se deschid cuferele, spune ca nu exista skin-uri
Vreo rezolvare?
Problema cu meniu se rezolva la restart de server
Functia de need kill din cate mai tin minte nu merge sau are alt id
Iar la skin-uri ai adaugat si modelele?
-
- Membru, skill 0
- Posts: 59
- Joined: 03 May 2020, 13:12
- Detinator Steam: Da
- CS Status: Citesc forumul eXtreamCS.com...!
- Detinator server CS: CSO.DARKCS.RO
- Fond eXtream: 0
- Has thanked: 7 times
- Been thanked: 1 time
Edit am revenit cu o sursa cu Chat Tag :D
2.
2.
- | Afiseaza codul
#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 }
B3ta_Fir3 wrote: ↑05 Mar 2021, 17:32Uita-ti aici o sursa buna pentru voi pentru acest mod
Problema rezolvata cu need kills tot ce trebuie restu depinde de voi :)
1. Mai jos aveti sursa.
- | Afiseaza codul
#include <amxmodx> #include <amxmisc> #include <fakemeta> #include <hamsandwich> #include <fakemeta_util> #include <cstrike> #include <engine> #include <fun> #include <dhudmessage> #include <nvault> #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 new const PLUGIN[] = "Global Offensive"; new const VERSION[] = "1.9"; new const AUTHOR[] = "zorken"; #define MAXPLAYERS 32 + 1 #define is_player(%1) (1 <= %1 <= 32) 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 100 #define PointsMin 1 #define PointsMax 5 #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), "[CSGO Remake]"); 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( ) register_plugin(PLUGIN, VERSION, AUTHOR); 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") 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 /m", "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 /addons", "Zorkenas"); 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"); register_cvar(PLUGIN, VERSION, FCVAR_SERVER); 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") set_task(67.3, "Message", 7217, _, _, "b"); set_task(240.0, "Messages", 72127, _, _, "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 Zorkenas(id) { new menu = menu_create("Id contacte zorken","HandleZorke") menu_additem(menu,"zorken # steam","") menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id,menu,0) return 1; } public HandleZorke() return; 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; } //------------------------------------------------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,"/reyck")) return PLUGIN_HANDLED new name[33] get_user_name(id,name,32) switch (i) { case 0: { 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: { 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: { 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,"") } 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 | Euro: %d]",Rangs[Rang[id]],keygaben, 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 Message() { hide(mure) print_color(0, "!g%s Te joci !t%s !y%s !tcreat special pentru comunitatea lacs", Prefix, PLUGIN, VERSION, AUTHOR); } public Messages() { hide(mure) print_color(0, "!g%s !tVrei si tu un addons csgo? Scrie /addons !", Prefix); } 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] 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[CSGO Remake]!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[CSGO Remake]!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[CSGO Remake]!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[CSGO Remake]!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[CSGO Remake]!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[CSGO Remake] !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[CSGO Remake]%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[CSGO Remake]%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; 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] == -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"); } 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; for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][id] == 0) continue; if(stattrack[i][id]) { new der = i+500 formatex(String, 31, "%d %d", der, Weapons[i]); 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]) { formatex(String, 31, "%d %d", i, Weapons[i]); formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]-stattrack[i][id]); 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); } 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); } 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[CSGO Remake] !tPlayerul !g%s !ta facut un contract si a obtinut %s(StatTrack)", name, WeaponNames[i]); } else { uWeapon[i][id]++ print_color(0, "!g[CSGO Remake] !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; } //------------------------------------------------------------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 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[CSGO Remake] !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[CSGO Remake] !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() { 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 }
- 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:
B3ta_Fir3 wrote: ↑05 Mar 2021, 17:35Edit am revenit cu o sursa cu Chat Tag :D
2.
- | Afiseaza codul
#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 }
Nu se compileaza aceasta sursa din pacate...ma poate ajuta cineva va rog?B3ta_Fir3 wrote: ↑05 Mar 2021, 17:32Uita-ti aici o sursa buna pentru voi pentru acest mod
Problema rezolvata cu need kills tot ce trebuie restu depinde de voi :)
1. Mai jos aveti sursa.
- | Afiseaza codul
#include <amxmodx> #include <amxmisc> #include <fakemeta> #include <hamsandwich> #include <fakemeta_util> #include <cstrike> #include <engine> #include <fun> #include <dhudmessage> #include <nvault> #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 new const PLUGIN[] = "Global Offensive"; new const VERSION[] = "1.9"; new const AUTHOR[] = "zorken"; #define MAXPLAYERS 32 + 1 #define is_player(%1) (1 <= %1 <= 32) 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 100 #define PointsMin 1 #define PointsMax 5 #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), "[CSGO Remake]"); 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( ) register_plugin(PLUGIN, VERSION, AUTHOR); 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") 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 /m", "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 /addons", "Zorkenas"); 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"); register_cvar(PLUGIN, VERSION, FCVAR_SERVER); 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") set_task(67.3, "Message", 7217, _, _, "b"); set_task(240.0, "Messages", 72127, _, _, "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 Zorkenas(id) { new menu = menu_create("Id contacte zorken","HandleZorke") menu_additem(menu,"zorken # steam","") menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id,menu,0) return 1; } public HandleZorke() return; 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; } //------------------------------------------------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,"/reyck")) return PLUGIN_HANDLED new name[33] get_user_name(id,name,32) switch (i) { case 0: { 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: { 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: { 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,"") } 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 | Euro: %d]",Rangs[Rang[id]],keygaben, 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 Message() { hide(mure) print_color(0, "!g%s Te joci !t%s !y%s !tcreat special pentru comunitatea lacs", Prefix, PLUGIN, VERSION, AUTHOR); } public Messages() { hide(mure) print_color(0, "!g%s !tVrei si tu un addons csgo? Scrie /addons !", Prefix); } 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] 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[CSGO Remake]!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[CSGO Remake]!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[CSGO Remake]!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[CSGO Remake]!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[CSGO Remake]!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[CSGO Remake] !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[CSGO Remake]%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[CSGO Remake]%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; 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] == -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"); } 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; for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][id] == 0) continue; if(stattrack[i][id]) { new der = i+500 formatex(String, 31, "%d %d", der, Weapons[i]); 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]) { formatex(String, 31, "%d %d", i, Weapons[i]); formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]-stattrack[i][id]); 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); } 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); } 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[CSGO Remake] !tPlayerul !g%s !ta facut un contract si a obtinut %s(StatTrack)", name, WeaponNames[i]); } else { uWeapon[i][id]++ print_color(0, "!g[CSGO Remake] !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; } //------------------------------------------------------------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 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[CSGO Remake] !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[CSGO Remake] !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() { 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 }
Scuzati dublu post dar ma refer la sursa cu tag chat
- 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:
Kpone wrote: ↑10 Jun 2021, 08:28B3ta_Fir3 wrote: ↑05 Mar 2021, 17:35Edit am revenit cu o sursa cu Chat Tag :D
2.
- | Afiseaza codul
#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 }
Nu se compileaza aceasta sursa din pacate...ma poate ajuta cineva va rog?B3ta_Fir3 wrote: ↑05 Mar 2021, 17:32Uita-ti aici o sursa buna pentru voi pentru acest mod
Problema rezolvata cu need kills tot ce trebuie restu depinde de voi :)
1. Mai jos aveti sursa.
- | Afiseaza codul
#include <amxmodx> #include <amxmisc> #include <fakemeta> #include <hamsandwich> #include <fakemeta_util> #include <cstrike> #include <engine> #include <fun> #include <dhudmessage> #include <nvault> #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 new const PLUGIN[] = "Global Offensive"; new const VERSION[] = "1.9"; new const AUTHOR[] = "zorken"; #define MAXPLAYERS 32 + 1 #define is_player(%1) (1 <= %1 <= 32) 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 100 #define PointsMin 1 #define PointsMax 5 #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), "[CSGO Remake]"); 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( ) register_plugin(PLUGIN, VERSION, AUTHOR); 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") 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 /m", "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 /addons", "Zorkenas"); 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"); register_cvar(PLUGIN, VERSION, FCVAR_SERVER); 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") set_task(67.3, "Message", 7217, _, _, "b"); set_task(240.0, "Messages", 72127, _, _, "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 Zorkenas(id) { new menu = menu_create("Id contacte zorken","HandleZorke") menu_additem(menu,"zorken # steam","") menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id,menu,0) return 1; } public HandleZorke() return; 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; } //------------------------------------------------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,"/reyck")) return PLUGIN_HANDLED new name[33] get_user_name(id,name,32) switch (i) { case 0: { 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: { 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: { 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,"") } 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 | Euro: %d]",Rangs[Rang[id]],keygaben, 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 Message() { hide(mure) print_color(0, "!g%s Te joci !t%s !y%s !tcreat special pentru comunitatea lacs", Prefix, PLUGIN, VERSION, AUTHOR); } public Messages() { hide(mure) print_color(0, "!g%s !tVrei si tu un addons csgo? Scrie /addons !", Prefix); } 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] 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[CSGO Remake]!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[CSGO Remake]!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[CSGO Remake]!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[CSGO Remake]!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[CSGO Remake]!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[CSGO Remake] !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[CSGO Remake]%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[CSGO Remake]%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; 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] == -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"); } 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; for(new i = 1; i < AllWeapon; i++) { if(uWeapon[i][id] == 0) continue; if(stattrack[i][id]) { new der = i+500 formatex(String, 31, "%d %d", der, Weapons[i]); 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]) { formatex(String, 31, "%d %d", i, Weapons[i]); formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]-stattrack[i][id]); 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); } 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); } 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[CSGO Remake] !tPlayerul !g%s !ta facut un contract si a obtinut %s(StatTrack)", name, WeaponNames[i]); } else { uWeapon[i][id]++ print_color(0, "!g[CSGO Remake] !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; } //------------------------------------------------------------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 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[CSGO Remake] !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[CSGO Remake] !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() { 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 }
Scuzati dublu post dar ma refer la sursa cu tag chat
UP!
Jump to
- eXtream - Forum
- ↳ Steam
- ↳ Forum
- ↳ WebDesign
- ↳ Incepatori
- ↳ Cos de reciclare
- ↳ Discutii generale
- ↳ Anunturi
- ↳ Security zone
- ↳ Filme si seriale
- ↳ Reclamatii
- ↳ Entertainment
- ↳ Distractie
- ↳ Clubul eXtreamCS - Intra si tu ! [noi oportunitati]
- eXtream - Counter-Strike 2
- ↳ Counter-Strike 2
- eXtream - Counter-Strike 1.6
- ↳ Diverse
- ↳ Filme gaming
- ↳ Meciuri
- ↳ Tutoriale
- ↳ Tutoriale
- ↳ Cereri
- ↳ Discutii generale
- ↳ Probleme la servere dedicate de Counter-Strike
- ↳ Cereri admin / slot
- ↳ Probleme in jocul Counter-Strike
- ↳ Pluginuri
- ↳ Pluginuri eXtream
- ↳ Cereri
- ↳ AdminMod
- ↳ AmxModX
- ↳ Resurse
- ↳ Moduri
- ↳ Addon-uri
- ↳ Kit-uri
- ↳ Harti
- ↳ Diverse
- ↳ Cereri
- ↳ Servere
- ↳ Programarea CS-ului
- ↳ Scripting
- ↳ Modificari pluginuri
- ↳ CStrike
- ↳ Cereri
- eXtream - Echipa
- ↳ Productia eXtream
- ↳ Harti eXtream
- ↳ CS.eXtreamCS.com - Server oficial eXtreamCS
- ↳ Zona administrativă
- ↳ Cereri acces
- ↳ Cereri unban
- ↳ Reclamații
- ↳ Admin zone
- ↳ CS2.eXtreamCS.com - Server official eXtreamCS
- ↳ XMAS.eXtreamCS.com
- ↳ Cereri admin
- ↳ Cereri unban
- ↳ Reclamatii / Sugestii
- ↳ eXtreamCS #PubMasters
- eXtream - Counter Strike Global Offensive
- ↳ Diverse
- ↳ Meciuri
- ↳ Tutoriale
- ↳ Probleme la servere dedicate de Counter-Strike: Global Offensive
- ↳ Probleme in jocul Counter-Strike: Global Offensive
- ↳ Pluginuri
- ↳ Cereri
- ↳ Resurse
- ↳ Addons-uri
- ↳ Hărți
- ↳ Diverse
- ↳ Servere
- eXtream - Counter-Strike Source
- ↳ Tutoriale
- ↳ Pluginuri
- ↳ Servere
- ↳ Resurse
- ↳ Harti
- ↳ Moduri
- ↳ Diverse
- ↳ Classic » CS
- ↳ Anunțuri administrative
- ↳ Cereri admin/slot
- ↳ Cereri unban
- ↳ Reclamații
- ↳ Banlist
- ↳ Admins Only
- ↳ Discord