Raised This Month: $ Target: $400
 0% 

Last Choosen Weapon Menu


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Blizzard_87
Veteran Member
Join Date: Oct 2012
Old 05-13-2013 , 02:50   Re: Last Choosen Weapon Menu
Reply With Quote #1

Quote:
Originally Posted by Unkolix View Post
You can see how I did it:
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fun>
#include <cstrike>

#define PLUGIN "CSDM Gun Menu"
#define VERSION "1.0"
#define AUTHOR "Unkolix"

new HasDgl[33], HasUsp[33], HasAWP[33], HasAK47[33], HasM4A1[33], ShowMenu[33] = true;

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("say .guns""WeaponMenuOn")
    
    
RegisterHam(Ham_Spawn"player""fwHamPlayerSpawnPost"1);
}

public 
fwHamPlayerSpawnPost(id)
{
    if(
is_user_alive(id)) 
    {
        if(
ShowMenu[id])
        {
            
weapons(id)
        }
        else
        {
            
GiveLastWeapons(id)
            
set_task(2.0"WriteGuns"id)
        }
    }
}

public 
WriteGuns(id)
{
    
client_print(idprint_chat"Noredamas vel matyti apsilimo meniu, rasyk .guns")
}

public 
WeaponMenuOn(id)
{
    
ShowMenu[id] = true;
}

public 
weapons(id) {
    new 
menu menu_create("Apsilimo Meniu:""weaponsrod");
    
    
menu_additem(menu"Ginklai""1"0);
    
menu_additem(menu"Paskutinis pasirinkimas""2"0);
    
menu_additem(menu"2 + Nerodyti Sito Meniu""3"0);
    
    
menu_setprop(menuMPROP_EXITNAME"Iseiti.")
    
menu_setprop(menuMPROP_EXITMEXIT_ALL);
    
menu_display(idmenu0);
}

public 
weaponsrod(idmenuitem)
{
    if( 
item == MENU_EXIT )
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], szName[64];
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccessdata,charsmax(data), szName,charsmax(szName), callback);
    new 
key str_to_num(data);
    switch(
key)
    {
    case 
1: {                                  
            
weapons2(id)
        }
    case 
2: {     
            
GiveLastWeapons(id)
        }
    case 
3: {
            
ShowMenu[id] = false;
            
GiveLastWeapons(id)
        }
    }
    
menu_destroy(menu);
    return 
PLUGIN_CONTINUE
}

public 
GiveLastWeapons(id)
{
    
strip_user_weapons(id)
    
give_item(id"weapon_knife")
    
give_item(id"item_assaultsuit");
    
give_item(id"weapon_hegrenade");
    
give_item(id"weapon_flashbang");
    
give_item(id"weapon_flashbang");
    
give_item(id"weapon_smokegrenade");
    
    if(
HasUsp[id])
    {
        
give_item(id"weapon_usp");
        
cs_set_user_bpammo(idCSW_USP100);
    }
    else if(
HasDgl[id])
    {
        
give_item(id"weapon_deagle");
        
cs_set_user_bpammo(idCSW_DEAGLE35);
    }
    
    if(
HasM4A1[id])
    {
        
give_item(id"weapon_m4a1");
        
cs_set_user_bpammo(idCSW_M4A190);
    }
    else if(
HasAK47[id])
    {
        
give_item(id"weapon_ak47");
        
cs_set_user_bpammo(idCSW_AK4790);
    }
    else if(
HasAWP[id])
    {
        
give_item(id"weapon_awp");
        
cs_set_user_bpammo(idCSW_AWP30);
    }
}

public 
weapons2(id) {
    new 
menu menu_create("Apsilimo Ginklu Meniu 1/2:""weapons2rod");
    
    
menu_additem(menu"Desert Eagle""1"0);
    
menu_additem(menu"USP""2"0);
    
    
menu_setprop(menuMPROP_EXITNAME"Iseiti.")
    
menu_setprop(menuMPROP_EXITMEXIT_ALL);
    
menu_display(idmenu0);
}

public 
weapons2rod(idmenuitem)
{
    if( 
item == MENU_EXIT )
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], szName[64];
    new 
accesscallback;
    
HasDgl[id] = false;
    
HasUsp[id] = false;
    
menu_item_getinfo(menuitemaccessdata,charsmax(data), szName,charsmax(szName), callback);
    new 
key str_to_num(data);
    switch(
key)
    {
    case 
1: {                                  
            
HasDgl[id] = true;
        }
    case 
2: {     
            
HasUsp[id] = true;
        }
    }
    
GiveLastWeapons(id)
    
weapons3(id)
    
menu_destroy(menu);
    return 
PLUGIN_CONTINUE
}

public 
weapons3(id) {
    new 
menu menu_create("Apsilimo Ginklu Meniu 2/2:""weaponsrod3");
    
    
menu_additem(menu"M4A1""1"0);
    
menu_additem(menu"AK47""2"0);
    
menu_additem(menu"AWP""3"0);
    
    
menu_setprop(menuMPROP_EXITNAME"Iseiti.")
    
menu_setprop(menuMPROP_EXITMEXIT_ALL);
    
menu_display(idmenu0);
}

public 
weaponsrod3(idmenuitem)
{
    if( 
item == MENU_EXIT )
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    new 
data[6], szName[64];
    new 
accesscallback;
    
HasM4A1[id] = false;
    
HasAK47[id] = false;
    
HasAWP[id] = false;
    
menu_item_getinfo(menuitemaccessdata,charsmax(data), szName,charsmax(szName), callback);
    
    new 
key str_to_num(data);
    switch(
key)
    {
    case 
1: {
            
HasM4A1[id] = true;
        }
    case 
2: {     
            
HasAK47[id] = true;
        }
    case 
3: {
            
HasAWP[id] = true;
        }
    }
    
GiveLastWeapons(id)
    
menu_destroy(menu);
    return 
PLUGIN_CONTINUE

But I believe it's a poor way
this could be optimised alot. maybe even by half.

EDIT:

check this plugin out. https://forums.alliedmods.net/showpo...39&postcount=6

it shows you better way to do weapons menu with remember last choice.
__________________

Last edited by Blizzard_87; 05-13-2013 at 03:42.
Blizzard_87 is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 16:21.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode