SHOW:
|
|
- or go back to the newest paste.
| 1 | /* | |
| 2 | - | #include <fun> |
| 2 | + | **** Update 06/02/2013 **** |
| 3 | I'm won't update this plugin any more. | |
| 4 | - | #include <cstrike> |
| 4 | + | No license for this plugin/ |
| 5 | Free for All plugin - You can do what you want | |
| 6 | - | public plugin_init() {
|
| 6 | + | |
| 7 | - | |
| 7 | + | Note: No support for this plugin! |
| 8 | - | RegisterHam( Ham_Spawn, "player", "PlayerSpawn", 1 ) |
| 8 | + | Don't contact with me about this plugin!!! |
| 9 | This plugin is fully bugged and not working! | |
| 10 | - | public PlayerSpawn(client) {
|
| 10 | + | */ |
| 11 | - | strip_user_weapons(client); |
| 11 | + | |
| 12 | - | give_item(client, "weapon_knife"); |
| 12 | + | |
| 13 | - | if (is_user_alive(client) && cs_get_user_team(client) == CS_TEAM_CT) {
|
| 13 | + | #include <fakemeta> |
| 14 | - | new g_WeaponMenu = menu_create("\r[ \yGuard's Weapon Menu \r]", "WeaponMenu_Handler");
|
| 14 | + | |
| 15 | - | menu_additem(g_WeaponMenu, "\yM4A1", "1", 0); |
| 15 | + | |
| 16 | - | menu_additem(g_WeaponMenu, "\yAK47", "2", 0); |
| 16 | + | #define OFFSET_AWM_AMMO 377 |
| 17 | - | menu_additem(g_WeaponMenu, "\yMP5", "3", 0); |
| 17 | + | #define OFFSET_SCOUT_AMMO 378 |
| 18 | - | menu_additem(g_WeaponMenu, "\yGalil", "4", 0); |
| 18 | + | #define OFFSET_PARA_AMMO 379 |
| 19 | - | menu_additem(g_WeaponMenu, "\yFamas", "5", 0); |
| 19 | + | #define OFFSET_FAMAS_AMMO 380 |
| 20 | - | menu_additem(g_WeaponMenu, "\yAwp", "6", 0); |
| 20 | + | #define OFFSET_M3_AMMO 381 |
| 21 | - | menu_additem(g_WeaponMenu, "\yScout", "7", 0); |
| 21 | + | #define OFFSET_USP_AMMO 382 |
| 22 | - | menu_additem(g_WeaponMenu, "\yShutGun\r[\yM3\r]", "8", 0); |
| 22 | + | #define OFFSET_FIVESEVEN_AMMO 383 |
| 23 | - | |
| 23 | + | #define OFFSET_DEAGLE_AMMO 384 |
| 24 | - | menu_setprop(g_WeaponMenu, MPROP_EXIT, MEXIT_ALL); |
| 24 | + | #define OFFSET_P228_AMMO 385 |
| 25 | - | menu_display(client, g_WeaponMenu, 0); |
| 25 | + | #define OFFSET_GLOCK_AMMO 386 |
| 26 | - | } |
| 26 | + | #define OFFSET_FLASH_AMMO 387 |
| 27 | - | return PLUGIN_HANDLED; |
| 27 | + | #define OFFSET_HE_AMMO 388 |
| 28 | #define OFFSET_SMOKE_AMMO 389 | |
| 29 | #define OFFSET_C4_AMMO 390 | |
| 30 | - | public WeaponMenu_Handler(client, g_WeaponMenu, item) {
|
| 30 | + | |
| 31 | - | if (item == MENU_EXIT) {
|
| 31 | + | #define MAX_WEAPONS 8 |
| 32 | - | menu_destroy(g_WeaponMenu); |
| 32 | + | |
| 33 | - | return PLUGIN_HANDLED; |
| 33 | + | #define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1)) |
| 34 | - | } |
| 34 | + | |
| 35 | - | |
| 35 | + | enum _:Teams{
|
| 36 | - | new data[6], iName[64]; |
| 36 | + | FM_TEAM_UNASSIGNED, |
| 37 | - | new access, callback; |
| 37 | + | FM_TEAM_T, |
| 38 | - | menu_item_getinfo(g_WeaponMenu, item, access, data, 5, iName, 63, callback); |
| 38 | + | FM_TEAM_CT, |
| 39 | - | |
| 39 | + | FM_TEAM_SPECTATOR |
| 40 | - | new WeaponChoose = str_to_num(data); |
| 40 | + | }; |
| 41 | - | switch(WeaponChoose) {
|
| 41 | + | |
| 42 | - | case 1: |
| 42 | + | new const g_Weaponsnames [MAX_WEAPONS] [] = {
|
| 43 | - | {
|
| 43 | + | "M4A1", |
| 44 | - | give_item(client, "weapon_m4a1"); |
| 44 | + | "AK47", |
| 45 | - | cs_set_user_bpammo(client, CSW_M4A1, 9999); |
| 45 | + | "MP5", |
| 46 | - | } |
| 46 | + | "Galil", |
| 47 | - | case 2: |
| 47 | + | "Famas", |
| 48 | - | {
|
| 48 | + | "Awp", |
| 49 | - | give_item(client, "weapon_ak47"); |
| 49 | + | "Scout", |
| 50 | - | cs_set_user_bpammo(client, CSW_AK47, 9999); |
| 50 | + | "ShutGun [M3]" |
| 51 | - | } |
| 51 | + | }; |
| 52 | - | case 3: |
| 52 | + | |
| 53 | - | {
|
| 53 | + | new const g_Weapons_code [MAX_WEAPONS] [] = {
|
| 54 | - | give_item(client, "weapon_mp5navy"); |
| 54 | + | "weapon_m4a1", |
| 55 | - | cs_set_user_bpammo(client, CSW_MP5NAVY, 9999); |
| 55 | + | "weapon_ak47", |
| 56 | - | } |
| 56 | + | "weapon_mp5", |
| 57 | - | case 4: |
| 57 | + | "weapon_galil", |
| 58 | - | {
|
| 58 | + | "weapon_famas", |
| 59 | - | give_item(client, "weapon_galil"); |
| 59 | + | "weapon_awp", |
| 60 | - | cs_set_user_bpammo(client, CSW_GALIL, 9999); |
| 60 | + | "weapon_scout", |
| 61 | - | } |
| 61 | + | "weapon_m3" |
| 62 | - | case 5: |
| 62 | + | }; |
| 63 | - | {
|
| 63 | + | |
| 64 | - | give_item(client, "weapon_famas"); |
| 64 | + | new const g_Weapons_code2 [MAX_WEAPONS] [] = {
|
| 65 | - | cs_set_user_bpammo(client, CSW_FAMAS, 9999); |
| 65 | + | CSW_M4A1, |
| 66 | - | } |
| 66 | + | CSW_AK47, |
| 67 | - | case 6: |
| 67 | + | CSW_MP5NAVY, |
| 68 | - | {
|
| 68 | + | CSW_GALIL, |
| 69 | - | give_item(client, "weapon_awp"); |
| 69 | + | CSW_FAMAS, |
| 70 | - | cs_set_user_bpammo(client, CSW_AWP, 9999); |
| 70 | + | CSW_AWP, |
| 71 | - | } |
| 71 | + | CSW_SCOUT, |
| 72 | - | case 7: |
| 72 | + | CSW_M3 |
| 73 | - | {
|
| 73 | + | }; |
| 74 | - | give_item(client, "weapon_scout"); |
| 74 | + | |
| 75 | - | cs_set_user_bpammo(client, CSW_SCOUT, 9999); |
| 75 | + | new g_weapon_choose[33]; |
| 76 | - | } |
| 76 | + | |
| 77 | - | case 8: |
| 77 | + | public plugin_init(){
|
| 78 | - | {
|
| 78 | + | register_plugin("Guard Weapon Menu","0.0.1","");
|
| 79 | - | give_item(client, "weapon_m3"); |
| 79 | + | RegisterHam(Ham_Spawn,"player","PlayerSpawn",1); |
| 80 | - | cs_set_user_bpammo(client, CSW_M3, 9999); |
| 80 | + | |
| 81 | - | } |
| 81 | + | |
| 82 | - | } |
| 82 | + | public client_putinserver(client) g_weapon_choose[client] = 0; |
| 83 | - | give_item(client, "weapon_deagle"); |
| 83 | + | public client_disconnect(client) g_weapon_choose[client] = 0; |
| 84 | - | give_item(client, "weapon_hegrenade"); |
| 84 | + | |
| 85 | - | give_item(client, "weapon_flashbang"); |
| 85 | + | public PlayerSpawn(client){
|
| 86 | - | give_item(client, "weapon_smokegrenade"); |
| 86 | + | if (!is_user_connected(client) || !is_user_alive(client)) |
| 87 | - | cs_set_user_bpammo(client, CSW_DEAGLE, 9999); |
| 87 | + | return; |
| 88 | - | cs_set_user_bpammo(client, CSW_HEGRENADE, 1); |
| 88 | + | |
| 89 | - | cs_set_user_bpammo(client, CSW_FLASHBANG, 2); |
| 89 | + | fm_strip_user_weapons(client); |
| 90 | - | cs_set_user_bpammo(client, CSW_SMOKEGRENADE, 4); |
| 90 | + | fm_give_item(client, "weapon_knife"); |
| 91 | - | return PLUGIN_HANDLED; |
| 91 | + | |
| 92 | - | } |
| 92 | + | if (fm_get_user_team(client) == FM_TEAM_CT) |
| 93 | - | /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE |
| 93 | + | GuardMenu(client); |
| 94 | - | *{\\ rtf1\\ fbidis\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ ltrpar\\ lang1037\\ f0\\ fs16 \n\\ par }
|
| 94 | + | |
| 95 | - | */ |
| 95 | + | |
| 96 | public GuardMenu(client){
| |
| 97 | new Guard = menu_create("\r[ \yGuard's Weapon Menu \r]", "GuardMenu_Handler");
| |
| 98 | new weapon[64]; | |
| 99 | ||
| 100 | formatex(weapon,63,"Weapon: \d[\y%s\d]",g_Weaponsnames[g_weapon_choose[client]]); | |
| 101 | menu_additem(Guard,weapon); | |
| 102 | ||
| 103 | menu_additem(Guard,"Choose Weapon!"); | |
| 104 | ||
| 105 | menu_setprop(Guard,MPROP_EXIT,MEXIT_NEVER); | |
| 106 | menu_display(client,Guard); | |
| 107 | } | |
| 108 | ||
| 109 | public GuardMenu_Handler(client,Guard,item){
| |
| 110 | switch(item) | |
| 111 | {
| |
| 112 | case MENU_EXIT: menu_destroy(Guard); | |
| 113 | case 0: | |
| 114 | {
| |
| 115 | if (g_weapon_choose[client] = MAX_WEAPONS - 1) | |
| 116 | g_weapon_choose[client] = -1; | |
| 117 | ||
| 118 | g_weapon_choose[client]++; | |
| 119 | GuardMenu(client); | |
| 120 | } | |
| 121 | ||
| 122 | case 1: | |
| 123 | {
| |
| 124 | fm_give_item(client,g_Weapons_code[g_weapon_choose[client]]); | |
| 125 | fm_set_user_bpammo(client,str_to_num(g_Weapons_code2[g_weapon_choose[client]]),9999); | |
| 126 | ||
| 127 | fm_give_item(client, "weapon_deagle"); | |
| 128 | fm_give_item(client, "weapon_hegrenade"); | |
| 129 | fm_give_item(client, "weapon_flashbang"); | |
| 130 | fm_give_item(client, "weapon_smokegrenade"); | |
| 131 | fm_set_user_bpammo(client, CSW_DEAGLE, 9999); | |
| 132 | fm_set_user_bpammo(client, CSW_HEGRENADE, 1); | |
| 133 | fm_set_user_bpammo(client, CSW_FLASHBANG, 2); | |
| 134 | fm_set_user_bpammo(client, CSW_SMOKEGRENADE, 4); | |
| 135 | } | |
| 136 | } | |
| 137 | ||
| 138 | menu_destroy(Guard); | |
| 139 | } | |
| 140 | ||
| 141 | stock fm_set_user_bpammo(index, weapon, amount) | |
| 142 | {
| |
| 143 | new offset; | |
| 144 | ||
| 145 | switch(weapon) | |
| 146 | {
| |
| 147 | case CSW_AWP: offset = OFFSET_AWM_AMMO; | |
| 148 | case CSW_SCOUT,CSW_AK47,CSW_G3SG1: offset = OFFSET_SCOUT_AMMO; | |
| 149 | case CSW_M249: offset = OFFSET_PARA_AMMO; | |
| 150 | case CSW_M4A1,CSW_FAMAS,CSW_AUG,CSW_SG550,CSW_GALI,CSW_SG552: offset = OFFSET_FAMAS_AMMO; | |
| 151 | case CSW_M3,CSW_XM1014: offset = OFFSET_M3_AMMO; | |
| 152 | case CSW_USP,CSW_UMP45,CSW_MAC10: offset = OFFSET_USP_AMMO; | |
| 153 | case CSW_FIVESEVEN,CSW_P90: offset = OFFSET_FIVESEVEN_AMMO; | |
| 154 | case CSW_DEAGLE: offset = OFFSET_DEAGLE_AMMO; | |
| 155 | case CSW_P228: offset = OFFSET_P228_AMMO; | |
| 156 | case CSW_GLOCK18,CSW_MP5NAVY,CSW_TMP,CSW_ELITE: offset = OFFSET_GLOCK_AMMO; | |
| 157 | case CSW_FLASHBANG: offset = OFFSET_FLASH_AMMO; | |
| 158 | case CSW_HEGRENADE: offset = OFFSET_HE_AMMO; | |
| 159 | case CSW_SMOKEGRENADE: offset = OFFSET_SMOKE_AMMO; | |
| 160 | case CSW_C4: offset = OFFSET_C4_AMMO; | |
| 161 | ||
| 162 | default:{
| |
| 163 | new invalidMsg[20 + 7]; | |
| 164 | formatex(invalidMsg,20 + 6,"Invalid weapon id %d",weapon); | |
| 165 | set_fail_state(invalidMsg); | |
| 166 | ||
| 167 | return 0; | |
| 168 | } | |
| 169 | } | |
| 170 | ||
| 171 | set_pdata_int(index,offset,amount); | |
| 172 | ||
| 173 | return 1; | |
| 174 | } | |
| 175 | ||
| 176 | stock fm_give_item(index, const item[]) {
| |
| 177 | if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10)) | |
| 178 | return 0; | |
| 179 | ||
| 180 | new ent = fm_create_entity(item); | |
| 181 | if (!pev_valid(ent)) | |
| 182 | return 0; | |
| 183 | ||
| 184 | new Float:origin[3]; | |
| 185 | pev(index, pev_origin, origin); | |
| 186 | set_pev(ent, pev_origin, origin); | |
| 187 | set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN); | |
| 188 | dllfunc(DLLFunc_Spawn, ent); | |
| 189 | ||
| 190 | new save = pev(ent, pev_solid); | |
| 191 | dllfunc(DLLFunc_Touch, ent, index); | |
| 192 | if (pev(ent, pev_solid) != save) | |
| 193 | return ent; | |
| 194 | ||
| 195 | engfunc(EngFunc_RemoveEntity, ent); | |
| 196 | ||
| 197 | return -1; | |
| 198 | } | |
| 199 | ||
| 200 | stock fm_strip_user_weapons(index) {
| |
| 201 | new ent = fm_create_entity("player_weaponstrip");
| |
| 202 | if (!pev_valid(ent)) | |
| 203 | return 0; | |
| 204 | ||
| 205 | dllfunc(DLLFunc_Spawn, ent); | |
| 206 | dllfunc(DLLFunc_Use, ent, index); | |
| 207 | engfunc(EngFunc_RemoveEntity, ent); | |
| 208 | ||
| 209 | return 1; | |
| 210 | } | |
| 211 | ||
| 212 | stock fm_get_user_team(index) | |
| 213 | return get_pdata_int(index,114); |