Raised This Month: $ Target: $400
 0% 

[Script] Knife Menu


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Yusochan
Member
Join Date: Sep 2021
Location: Algeria
Old 10-31-2021 , 11:17   [Script] Knife Menu
Reply With Quote #1

Hello !

I would like to add a limit. you can choose a knife once per round and the knife will come back to default and after that they will be able to choose a knife.

The code :

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <reapi>
#include <fun>
#include <cromchat>
#include <fakemeta>

new g_PLUGIN[] = "Knife Menu"g_VERSION[] = "1.0"g_AUTHOR[] = "L.O.F.I";

new 
FirstKnife[] = "models/frknife/v_firstknife.mdl"SecondKnife[] = "models/frknife/v_secondknife.mdl"TheirdKnife[] = "models/frknife/v_theirdknife.mdl"FourthKnife[] = "models/frknife/v_fourthknife.mdl"DanyKnife[] = "models/frknife/v_danyk.mdl";
new 
boolHaveFirstKf[33], HaveSecondKf[33], HaveTheirdKf[33], HaveFourthKf[33], HaveDanyK[33];

new 
g_pPrefix;

public 
plugin_init() {
    
register_plugin(g_PLUGINg_VERSIONg_AUTHOR);

    
CC_SetPrefix("&x01[&x04FURIEN.NPOWERED.RO&x01]");

    
register_clcmd("say /mknife""Suit");
    
register_clcmd("say_team /mknife""Suit");
    
register_clcmd("say /danyk""DanyKnifeSK");
    
    
register_event("CurWeapon""EVENT_CurWeapon""be""1=1")
}

public 
plugin_precache() {
    
precache_model(FirstKnife);
    
precache_model(SecondKnife);
    
precache_model(TheirdKnife);
    
precache_model(FourthKnife);
    
precache_model(DanyKnife);
}

public 
client_connect(id) {
    
HaveFirstKf[id] = false;
    
HaveSecondKf[id] = false;
    
HaveTheirdKf[id] = false;
    
HaveFourthKf[id] = false;
    
HaveDanyK[id] = false;
    
}

public 
client_disconnect(id) {
    
HaveFirstKf[id] = false;
    
HaveSecondKf[id] = false;
    
HaveTheirdKf[id] = false;
    
HaveFourthKf[id] = false;
    
HaveDanyK[id] = false;
}
public 
client_putinserver(id) {
    
HaveFirstKf[id] = false;
    
HaveSecondKf[id] = false;
    
HaveTheirdKf[id] = false;
    
HaveFourthKf[id] = false;
    
HaveDanyK[id] = false;
}

public 
EVENT_CurWeapon(id) {
    if(
is_user_connected(id)) {
        if(
get_user_weapon(id) == CSW_KNIFE) {
            if(
HaveFirstKf[id]) 
            
set_pev(idpev_viewmodel2FirstKnife)
        }
        if(
get_user_weapon(id) == CSW_KNIFE) {
            if(
HaveSecondKf[id]) 
            
set_pev(idpev_viewmodel2SecondKnife)
        }
        if(
get_user_weapon(id) == CSW_KNIFE) {
            if(
HaveTheirdKf[id]) 
            
set_pev(idpev_viewmodel2TheirdKnife)
        }
        if(
get_user_weapon(id) == CSW_KNIFE) {
            if(
HaveFourthKf[id]) 
            
set_pev(idpev_viewmodel2FourthKnife)
        }
        if(
get_user_weapon(id) == CSW_KNIFE) {
            if(
HaveDanyK[id]) 
            
set_pev(idpev_viewmodel2DanyKnife)
        }
    }
}

public 
DanyKnifeSK(id) {
    new 
name[33];
    
get_user_name(idname32);

    
HaveDanyK[id] = true;
    
EVENT_CurWeapon(id)
    
give_item(id"weapon_knife");
    
//Chat
    
CC_SendMessage(id"%s &x03Here is your knife &x04%s &x01Enjoy !"g_pPrefixname);
}


public 
Suit(id)  
{
    if(!
is_user_alive(id))
    return
    
    new 
menu menu_create("\w[\yFURIEN.NPOWERED.RO\w] \rCHOOSE YOUR KNIFE SKIN !""SettingsKnife")
    
    
menu_additemmenu"\rKnife Skin \w[\yLUMINE\w]""1");  
    
menu_additemmenu"\rKnife Skin \w[\ySLAUGHTER\w]""2");
    
menu_additemmenu"\rKnife Skin \w[\yDEIDARA\w]""3");  
    
menu_additemmenu"\rKnife Skin \w[\yMANTIS\w]""4");

    
menu_setpropmenuMPROP_EXITMEXIT_ALL );   
    
menu_displayidmenu);
}

public 
SettingsKnife(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);
    
    if(!
is_user_alive(id))
    return 
PLUGIN_HANDLED
        
    
switch(key)
    {
        case 
1
        {
            
strip_user_weapons(id);
            
HaveFirstKf[id] = true
            
EVENT_CurWeapon(id)
            
rg_give_item(id"weapon_knife");
            
//Chat
            
CC_SendMessage(id"%s &x03You choosed the &x04LUMINE !"g_pPrefix);
        }
        
        case 
2
        {
            
strip_user_weapons(id);
            
HaveSecondKf[id] = true
            
EVENT_CurWeapon(id)
            
rg_give_item(id"weapon_knife");
            
//Chat
            
CC_SendMessage(id"%s &x03You choosed the &x04SLAUGHTER !"g_pPrefix);
        }
        
        case 
3
        {
            
strip_user_weapons(id);
            
HaveTheirdKf[id] = true
            
EVENT_CurWeapon(id)
            
rg_give_item(id"weapon_knife");
            
//Chat
            
CC_SendMessage(id"%s &x03You choosed the &x04DEIDARA !"g_pPrefix);
        }
        
        case 
4
        {
            
strip_user_weapons(id);
            
HaveFourthKf[id] = true
            
EVENT_CurWeapon(id)
            
rg_give_item(id"weapon_knife");
            
//Chat
            
CC_SendMessage(id"%s &x03You choosed the &x04MANTIS !"g_pPrefix);
        }
    }
    return 
PLUGIN_HANDLED;

__________________
<b>IP : <font color=Red>93.115.53.168:27017</font></b>
<b>Founder : <font color=Cyan>YusoChan-</font></b>
Yusochan is offline
Napoleon_be
Veteran Member
Join Date: Jul 2011
Location: Belgium
Old 10-31-2021 , 12:11   Re: [Script] Knife Menu
Reply With Quote #2

U only need one boolean for that. Set it to true whenever someone has choosen a knife and set it back to false when a new round is called / player spawns again.

To clean up your code, u could use 1 array to hold all your modelpaths. To precache them, simply use a loop.

PHP Code:
new const szModel[] = {
    
"models/frknife/v_firstknife.mdl",
    
"models/frknife/v_secondknife.mdl"
}; 
PHP Code:
public plugin_precache() {
    for(new 
isizeof(szModel); i++) {
        
precache_model(szModel[i]);
    }

__________________

Last edited by Napoleon_be; 10-31-2021 at 13:01.
Napoleon_be is offline
Send a message via Skype™ to Napoleon_be
Yusochan
Member
Join Date: Sep 2021
Location: Algeria
Old 10-31-2021 , 19:04   Re: [Script] Knife Menu
Reply With Quote #3

Thank you so much ! i didn't know this one. really !
__________________
<b>IP : <font color=Red>93.115.53.168:27017</font></b>
<b>Founder : <font color=Cyan>YusoChan-</font></b>
Yusochan 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 07:19.


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