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 :
Код за потвърждение: Избери целия код
#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 bool: HaveFirstKf[33], HaveSecondKf[33], HaveTheirdKf[33], HaveFourthKf[33], HaveDanyK[33];
new g_pPrefix;
public plugin_init() {
register_plugin(g_PLUGIN, g_VERSION, g_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(id, pev_viewmodel2, FirstKnife)
}
if(get_user_weapon(id) == CSW_KNIFE) {
if(HaveSecondKf[id])
set_pev(id, pev_viewmodel2, SecondKnife)
}
if(get_user_weapon(id) == CSW_KNIFE) {
if(HaveTheirdKf[id])
set_pev(id, pev_viewmodel2, TheirdKnife)
}
if(get_user_weapon(id) == CSW_KNIFE) {
if(HaveFourthKf[id])
set_pev(id, pev_viewmodel2, FourthKnife)
}
if(get_user_weapon(id) == CSW_KNIFE) {
if(HaveDanyK[id])
set_pev(id, pev_viewmodel2, DanyKnife)
}
}
}
public DanyKnifeSK(id) {
new name[33];
get_user_name(id, name, 32);
HaveDanyK[id] = true;
EVENT_CurWeapon(id)
give_item(id, "weapon_knife");
//Chat
CC_SendMessage(id, "%s &x03Here is your knife &x04%s &x01Enjoy !", g_pPrefix, name);
}
public Suit(id)
{
if(!is_user_alive(id))
return
new menu = menu_create("\w[\yFURIEN.NPOWERED.RO\w] \rCHOOSE YOUR KNIFE SKIN !", "SettingsKnife")
menu_additem( menu, "\rKnife Skin \w[\yLUMINE\w]", "1");
menu_additem( menu, "\rKnife Skin \w[\ySLAUGHTER\w]", "2");
menu_additem( menu, "\rKnife Skin \w[\yDEIDARA\w]", "3");
menu_additem( menu, "\rKnife Skin \w[\yMANTIS\w]", "4");
menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
menu_display( id, menu, 0 );
}
public SettingsKnife(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED;
}
new data[6], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,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;
}