Senior Member
Join Date: Jan 2011
Location: Behind you!
|
11-07-2011
, 16:47
Weapon Chance (w. menu for specific edits!)
|
#1
|
Hey guys.. Since i've lost the feeling for coding, i decided to take a 'break' for some months, or maybe forever.. It've been fun viewing all of your discussions and answer your questions. If you need some of the plugins I have just add me at steam [Name: nexzpek], i wont publish them here but their all free..
Here is something i HOPE some1 with codingskills will continue.. So i hope you like it as far as I've made!
~ Best Regards, HBXander..
PHP Code:
#include < amxmodx > #include < cstrike > #include < hamsandwich > #include < colorchat > #include < amxmisc >
#define PLUGIN "Weapon Chance Menu" #define prefix "^4[Weapon Chance Menu]" #define VERSION "1.4" #define AUTHOR "HBxander"
enum _:Items { Deagle, FiveSeven, Awp, Health, Armor, Scout, FiveSeven2, FiveSeven3 }
new const AmountName [ Items ] [ ] = { " Bullets", " Bullets", " Bullets", " HP", " AP", " Bullets", " Bullets", " Bullets" }
new const ItemNames [ Items ] [ ] = { "Deagle", "FiveSeven", "AWP", "HP", "AP", "Scout", "FiveSeven", "FiveSeven" }
new const ItemDefAmount [ Items ] = { 1, 1, 1, 50, 100, 0, 2, 3 }
new const ItemDefChance [ Items ] = { 2, 10, 1, 10, 25, 10, 5, 2 }
new const ItemMaxChance [ ] = "100" new const ItemMaxDelay [ ] = "20" new const ItemMaxAmount [ ] = "100"
new iItemChance [ Items ] new iItemAmount [ Items ]
new bool: gAdmin [ 33 ] new bool: gWeaponOff [ Items ]
new Float: Delay
new ITEMRemember new ITEMRemember2
public plugin_init ( ) { RegisterHam ( Ham_Spawn, "player", "CmdSpawn" ) register_clcmd ( "DelayInSeconds", "CmdDelayChange_handle" ) register_clcmd ( "ChanceInPercentage", "CmdChanceChange_handle" ) register_clcmd ( "Amount", "CmdAmountChange_handle" ) }
public CmdSpawn ( iPlayer ) { set_task ( Float: Delay, "CmdCheckChance", iPlayer ) }
public client_putinserver ( iPlayer ) { for ( new i = 0; i < Items; i++ ) { if ( iItemChance [ i ] != ItemDefChance [ i ] ) { iItemChance [ i ] = ItemDefChance [ i ] } if ( iItemAmount [ i ] != ItemDefAmount [ i ] ) { iItemAmount [ i ] = ItemDefAmount [ i ] } } gAdmin [ iPlayer ] = bool: access ( iPlayer, ADMIN_MENU ) }
public MainMenu ( iPlayer ) { if ( !gAdmin [ iPlayer ] ) { ColorChat ( iPlayer, GREY, "%s Sorry, but you have to be^4 admin^3 to use this menu!", prefix ) return PLUGIN_HANDLED } new menu = menu_create ( "\rSpawn Chance Admin Menu", "MainMenu_handle" ) new DelayShow [ 100 ] formatex ( DelayShow, charsmax ( DelayShow ), "\dChange Delay (Current:\y %i\d)", Delay ) menu_additem ( menu, DelayShow, "1", 0 ) menu_additem ( menu, "\dItems On/Off", "2", 0 ) menu_additem ( menu, "\dItems Chance", "3", 0 ) menu_additem ( menu, "\dItems Amount", "4", 0 ) menu_setprop ( menu, MPROP_EXITNAME, "Close" ) menu_display ( iPlayer, menu, 0 ) return PLUGIN_HANDLED }
public MainMenu_handle ( iPlayer, menu, item ) { if ( item == MENU_EXIT ) { menu_destroy ( menu ) return PLUGIN_HANDLED } new data [ 6 ] new callback, access menu_item_getinfo ( menu, item, access, data, charsmax ( data ), _, _, callback ) new key = str_to_num ( data ) switch ( key ) { case 1: { ChangeDelay ( iPlayer ) } case 2: { OnOffMenu ( iPlayer ) } case 3: { ChanceMenu ( iPlayer ) } case 4: { AmountMenu ( iPlayer ) } } return PLUGIN_HANDLED }
public ChangeDelay ( iPlayer ) { if ( !gAdmin [ iPlayer ] ) return PLUGIN_HANDLED ColorChat ( iPlayer, GREY, "%s Type the amount of delay (IN SECONDS!)", prefix ) client_cmd ( iPlayer, "messagemode DelayInSeconds" ) return PLUGIN_HANDLED }
public CmdChangeDelay_handle ( iPlayer ) { new arg [ 5 ] read_argv ( 1, arg, charsmax ( arg ) ) if ( !strlen ( arg ) ) { ColorChat ( iPlayer, GREY, "%s You need to type a value !", prefix ) client_cmd ( iPlayer, "messagemode DelayInSeconds" ) return PLUGIN_HANDLED } new iValue = str_to_num ( arg ) if ( iValue <= 0 ) { ColorChat ( iPlayer, GREY, "%s You need to type a value bigger than^4 0^3 !", prefix ) client_cmd ( iPlayer, "messagemode DelayInSeconds" ) return PLUGIN_HANDLED } else if ( iValue > str_to_num ( ItemMaxDelay ) ) { ColorChat ( iPlayer, GREY, "%s Max delay in seconds:^4 %i^3 !", prefix, ItemMaxDelay ) client_cmd ( iPlayer, "messagemode DelayInSeconds" ) return PLUGIN_HANDLED } Delay == iValue ColorChat ( iPlayer, GREY, "%s Delay changed to:^4 %i^3 for this map !", prefix, iValue ) return PLUGIN_HANDLED }
public OnOffMenu ( iPlayer ) { if ( !gAdmin [ iPlayer ] ) return PLUGIN_HANDLED new menu = menu_create ( "\rOn/Off Menu", "OnOffMenu_handle" ) new key [ 3 ], ItemShow [ 190 ] for ( new i = 0; i < Items; i++ ) { num_to_str ( Items, key, charsmax ( key ) ) if ( gWeaponOff [ i ] ) { formatex ( ItemShow, sizeof ( ItemShow ) - 1, "\y%s: On", ItemNames [ i ] ) } else { formatex ( ItemShow, sizeof ( ItemShow ) - 1, "\d%s: Off", ItemNames [ i ] ) } } menu_additem ( menu, ItemShow, key ) menu_setprop ( menu, MPROP_EXITNAME, "Back" ) menu_display ( iPlayer, menu, 0 ) return PLUGIN_HANDLED }
public OnOffMenu_handle ( iPlayer, menu, item ) { if ( item == MENU_EXIT ) { menu_destroy ( menu ) return PLUGIN_HANDLED } new data [ 6 ] new callback, access menu_item_getinfo ( menu, item, access, data, charsmax ( data ), _, _, callback ) new i = str_to_num ( data ) if ( gWeaponOff [ i ] ) { gWeaponOff [ i ] = false ColorChat ( iPlayer, GREY, "%s You changed^4 %s^3 to: Off", prefix, ItemNames [ i ] ) OnOffMenu ( iPlayer ) } else { gWeaponOff [ i ] = true ColorChat ( iPlayer, GREY, "%s You changed^4 %s^3 to: On", prefix, ItemNames [ i ] ) OnOffMenu ( iPlayer ) } //SaveSettings return PLUGIN_HANDLED }
public ChanceMenu ( iPlayer ) { if ( !gAdmin [ iPlayer ] ) return PLUGIN_HANDLED new menu = menu_create ( "\rChance Menu", "ChanceMenu_handle" ) new percentage [ ] = "%s" new key [ 3 ], ItemShow [ 190 ] for ( new i = 0; i < Items; i++ ) { num_to_str ( Items, key, charsmax ( key ) ) if ( !gWeaponOff [ i ] ) { formatex ( ItemShow, charsmax ( ItemShow ), "\d%s (%i%s)", ItemNames [ i ], iItemChance [ i ], percentage ) } else { formatex ( ItemShow, charsmax ( ItemShow ), "\y%s (%i%s)", ItemNames [ i ], iItemChance [ i ], percentage ) } } menu_additem ( menu, ItemShow, key ) menu_setprop ( menu, MPROP_EXITNAME, "Back" ) menu_display ( iPlayer, menu, 0 ) return PLUGIN_HANDLED }
public ChanceMenu_handle ( iPlayer, menu, item ) { if ( item == MENU_EXIT ) { menu_destroy ( menu ) return PLUGIN_HANDLED } new data [ 6 ] new callback, access menu_item_getinfo ( menu, item, access, data, charsmax ( data ), _, _, callback ) new i = str_to_num ( data ) ITEMRemember = i if ( !gWeaponOff [ i ] ) { ColorChat ( iPlayer, GREY, "%s This item is currently^4 Disabled^3 !", prefix ) ChanceMenu ( iPlayer ) return PLUGIN_HANDLED } else { ColorChat ( iPlayer, GREY, "%s Type the new^4 Chance^3 between^4 1^3 and^4 100^3 !", prefix ) client_cmd ( iPlayer, "messagemode ChanceInPercentage" ) } return PLUGIN_HANDLED }
public CmdChanceChange_handle ( iPlayer ) { new arg [ 5 ] read_argv ( 1, arg, charsmax ( arg ) ) if ( !strlen ( arg ) ) { ColorChat ( iPlayer, GREY, "%s You need to type a value !", prefix ) client_cmd ( iPlayer, "messagemode ChanceInPercentage" ) return PLUGIN_HANDLED } new iValue = str_to_num ( arg ) if ( iValue <= 0 ) { ColorChat ( iPlayer, GREY, "%s Disable the weapon in^4 On/Off Menu^3 not here !", prefix ) client_cmd ( iPlayer, "messagemode ChanceInPercentage" ) return PLUGIN_HANDLED } else if ( iValue > str_to_num ( ItemMaxChance ) ) { ColorChat ( iPlayer, GREY, "%s Only use numbers between^4 1^3 and^4 %i^3 !", prefix, ItemMaxChance ) client_cmd ( iPlayer, "messagemode ChanceInPercentage" ) return PLUGIN_HANDLED } new i = ITEMRemember if ( !gWeaponOff [ i ] ) return PLUGIN_HANDLED iItemChance [ i ] = iValue ColorChat ( iPlayer, GREY, "%s You changed^4 %s^3 chance to:^4 %i^3 !", prefix, ItemNames [ i ], iValue ) return PLUGIN_HANDLED }
public AmountMenu ( iPlayer ) { if ( !gAdmin [ iPlayer ] ) return PLUGIN_HANDLED new menu = menu_create ( "\rAmount Menu", "AmountMenu_handle" ) new key [ 3 ], ItemShow [ 190 ] for ( new i = 0; i < Items; i++ ) { num_to_str ( Items, key, charsmax ( key ) ) if ( !gWeaponOff [ i ] ) { formatex ( ItemShow, charsmax ( ItemShow ), "\d%s (%i%s)", ItemNames [ i ], iItemAmount [ i ], AmountName [ i ] ) } else { formatex ( ItemShow, charsmax ( ItemShow ), "\y%s (%i%s)", ItemNames [ i ], iItemAmount [ i ], AmountName [ i ] ) } } menu_additem ( menu, ItemShow, key ) menu_setprop ( menu, MPROP_EXITNAME, "Back" ) menu_display ( iPlayer, menu, 0 ) return PLUGIN_HANDLED }
public AmountMenu_handle ( iPlayer, menu, item ) { if ( item == MENU_EXIT ) { menu_destroy ( menu ) return PLUGIN_HANDLED } new data [ 6 ] new callback, access menu_item_getinfo ( menu, item, access, data, charsmax ( data ), _, _, callback ) new i = str_to_num ( data ) ITEMRemember2 = i if ( !gWeaponOff [ i ] ) { ColorChat ( iPlayer, GREY, "%s This item is currently^4 Disabled^3 !", prefix ) ChanceMenu ( iPlayer ) return PLUGIN_HANDLED } else { ColorChat ( iPlayer, GREY, "%s Type the new^4 Amount^3 between^4 1^3 and^4 100^3 !", prefix ) client_cmd ( iPlayer, "messagemode Amount" ) } return PLUGIN_HANDLED }
public CmdAmountChange_handle ( iPlayer ) { new arg [ 5 ] read_argv ( 1, arg, charsmax ( arg ) ) if ( !strlen ( arg ) ) { ColorChat ( iPlayer, GREY, "%s You need to type a value !", prefix ) client_cmd ( iPlayer, "messagemode Amount" ) return PLUGIN_HANDLED } new iValue = str_to_num ( arg ) if ( iValue <= 0 ) { ColorChat ( iPlayer, GREY, "%s Disable the weapon in^4 On/Off Menu^3 not here !", prefix ) client_cmd ( iPlayer, "messagemode Amount" ) return PLUGIN_HANDLED } else if ( iValue > str_to_num ( ItemMaxAmount ) ) { ColorChat ( iPlayer, GREY, "%s Only use numbers between^4 1^3 and^4 %i^3 !", prefix, ItemMaxAmount ) client_cmd ( iPlayer, "messagemode Amount" ) return PLUGIN_HANDLED } new i = ITEMRemember2 if ( !gWeaponOff [ i ] ) return PLUGIN_HANDLED iItemAmount [ i ] = iValue ColorChat ( iPlayer, GREY, "%s You changed^4 %s^3 amount to:^4 %i^3 !", prefix, ItemNames [ i ], iValue ) return PLUGIN_HANDLED }
It should work, i havent tested yet, i just made it some hours ago so i wonder if its working or not.. Remember its with ColorChat, not ChatColor yet. :-)
See Ya All Later!
__________________
Selling:
- PointMod for Hide And Seek - $20
- Private BlockMaker with Weapon Block And More - $50
- Achievements ( FFA GamePlay ) - $25
PM Me about Private Work!
Last edited by HBxander; 11-07-2011 at 16:47.
|
|