AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   CurWeapon Problem (https://forums.alliedmods.net/showthread.php?t=296372)

Str4x3D1x 04-19-2017 08:25

CurWeapon Problem
 
Hello!

I have knife mod, and when changing model the really next round it will return model to default.

My problem is that i have knives_free, knives_VIP, knives_admin, knives_tron and knives_zixon in my code.

Each one of them have certain amount of knife models. So if i set under CurWeapon
knives_free then other (knives_admin and other) will still be bugged. I have no idea how to make them all under CurWeapon... :s
Help ?

If you haven't understand, here is more explained example:

knives_free
knives_VIP
knives_admin
knives_tron
knives_zixon

PHP Code:

new const knives_free[][]
{
"Knife 1"//Example ofc
"Knife 2"
}
new const 
knives_VIP[][]
{
"Knife Vip 1",
"Knife Vip 2"
}
new const 
knives_admin[][]
{
"Knife Admin 1",
"Knife Admin 2"
}
new const 
knives_tron[][]
{
"Knife Tron 1",
"Knife Tron 2"
}
new const 
knives_zixon[][]
{
"Knife Zixon 1",
"Knife Zixon 2"


Adding this to plugin_init
PHP Code:

register_event("CurWeapon""CurWeapon""be""1=1")
And 
this after

public CurWeapon(id)
{
if!(
is_user_alive(id))
{
return 
PLUGIN_CONTINUE
}
else
{
new 
weapon read_data (2)
switch(
weapon)
{
case 
CSW_KNIFE:
Set_Model//Now this is the problem, i can put only knives_free here, or any other but it makes other knives_zixon and all the others unavailable for CurWeapon and only knives_free (or what i put to curweapon) will work...This is what is my problem, anyone?
}
}
return 
PLUGIN_CONTINUE


Made new thread as someone told me to.

sirerick 04-19-2017 08:28

Re: CurWeapon Problem
 
Knifes are all restricted by flags?

Str4x3D1x 04-19-2017 08:32

Re: CurWeapon Problem
 
No.
Knives free (as names say) is for all players.
Wait, let me introduce you to a plugin a little bit.
Typing /knife will show up menu. Now it is not like many knife mods where you just type /knife and you pick knife you like if you have required level. This code is a little bit "advanced" (oh God, the cringe). Typing /knife displays:
1) Free Knives
2) VIP Knives
3) Admin Knives
4) Zixon Knives
5) Tron Knives

Free knives = no flags (z for normals users i guess)
VIP Knives = ADMIN_BAN (Currently, will change it as soon as i find good VIP plugin and set custom flag)
Admin Knives = ADMIN_BAN
Zixon Knives = ADMIN_BAN
Tron Knives = ADMIN_BAN (All of them will have custom flags, ADMIN_BAN is here for test).

So when you have required flag, you can access the thing you want to take. And if you wonder, any other knives (except free) require no EXP.

edon1337 04-19-2017 08:38

Re: CurWeapon Problem
 
Use Ham_Item_Deploy to change models.

Str4x3D1x 04-19-2017 08:44

Re: CurWeapon Problem
 
Ah..you got me.
Now i have no idea what is that for, i am trying to find that function in amxmodx api but looks harder than i thought...Help ?

EDIT: I don't think you understood. I can change model, but models go back to default after spawn or map change.

sirerick 04-19-2017 09:10

Re: CurWeapon Problem
 
test..

PHP Code:

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "Knife Menu"
#define VERSION "1.0"
#define AUTHOR "SirErick"

new g_knifes[33]

enum _:model_weapons
{
    
V_KNIFE_FREE_1,
    
V_KNIFE_FREE_2,
    
V_KNIFE_VIP_1,
    
V_KNIFE_VIP_2,
    
V_KNIFE_ADMIN_1,
    
V_KNIFE_ADMIN_2,
    
V_KNIFE_TRON_1,
    
V_KNIFE_TRON_2,
    
V_KNIFE_ZIXON_1,
    
V_KNIFE_ZIXON_2
}
enum _:models_weapons_new 
{
    
V_WEAPONS[50]
}

new const 
new_weapons[model_weapons][models_weapons_new] = 

    
"models/you_folder_model/v_knife_1.mdl"
    
"models/you_folder_model/v_knife_2.mdl"
    
"models/you_folder_model/v_knife_3.mdl"
    
"models/you_folder_model/v_knife_4.mdl"
    
"models/you_folder_model/v_knife_5.mdl"
    
"models/you_folder_model/v_knife_6.mdl"
    
"models/you_folder_model/v_knife_7.mdl"
    
"models/you_folder_model/v_knife_8.mdl",
    
"models/you_folder_model/v_knife_9.mdl"
    
"models/you_folder_model/v_knife_10.mdl"

public 
plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
RegisterHam(Ham_Item_Deploy"weapon_knife""fw_Item_Deploy_Post"1)
    
register_clcmd("say /knife""knife_menu")
}
public 
plugin_precache()
{
    for(new 
0;sizeof new_weapons;i++) 
    {     
        
precache_model(new_weapons[i][V_WEAPONS]);
    }
}
public 
client_putinserver(id)
{
    
g_knifes[id] = 0
}
public 
knife_menu(id

    if (!
is_user_connected(id))
        return 
PLUGIN_HANDLED 
    
    
new Menu menu_create("\yKnife Menu""show_menu_knife")
    
menu_additem(Menu"\wFree Knives"            "1"0)
    
menu_additem(Menu"\wVIP Knives"            "2"ADMIN_BAN)
    
menu_additem(Menu"\wAdmin Knives"            "3"ADMIN_BAN)
    
menu_additem(Menu"\wZixon Knives"            "4"ADMIN_BAN)
    
menu_additem(Menu"\wTron Knives Knives"            "5"ADMIN_BAN)
    
    
menu_setprop(Menu,MPROP_EXITNAME,"Exit")
    
menu_setprop(MenuMPROP_EXITMEXIT_ALL
    
    
menu_display(idMenu0)
    return 
PLUGIN_HANDLED 

public 
show_menu_knife(idmenuitem
{
    if (!
is_user_connected(id))
        return 
PLUGIN_HANDLED 
    
    
if(item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    switch(
item)
    {
        case 
0:
        {
            
sub_menu_knife_free(id)
        }
        case 
1:
        {
            
sub_menu_knife_vip(id)
        }
        case 
2:
        {
            
sub_menu_knife_admin(id)
        }
        case 
3:
        {
            
sub_menu_knife_Zixon(id)
        }
        case 
4:
        {
            
sub_menu_knife_Tron(id)
        }
    }
    return 
PLUGIN_HANDLED;
}
public 
sub_menu_knife_free(id)

    if (!
is_user_connected(id))
        return 
PLUGIN_HANDLED 
    
    
new Menu menu_create("\yFree Knifes""handle_knife_free")
    
menu_additem(Menu"\wKnife 1"            "1"0)
    
menu_additem(Menu"\wKnife 2"            "2"0)
    
    
menu_setprop(Menu,MPROP_EXITNAME,"Exit")
    
menu_setprop(MenuMPROP_EXITMEXIT_ALL
    
    
menu_display(idMenu0)
    return 
PLUGIN_HANDLED 

public 
handle_knife_free(idmenuitem
{
    if (!
is_user_connected(id))
        return 
PLUGIN_HANDLED 
    
    
if(item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    switch(
item)
    {
        case 
0:
        {
            
g_knifes[id] = 1
        
}
        case 
1:
        {
            
g_knifes[id] = 2
        
}
    }
    return 
PLUGIN_HANDLED;
}
public 
sub_menu_knife_vip(id)

    if (!
is_user_connected(id))
        return 
PLUGIN_HANDLED 
    
    
new Menu menu_create("\yVip Knifes""handle_knife_vip")
    
menu_additem(Menu"\wKnife 1"            "1"0)
    
menu_additem(Menu"\wKnife 2"            "2"0)
    
    
menu_setprop(Menu,MPROP_EXITNAME,"Exit")
    
menu_setprop(MenuMPROP_EXITMEXIT_ALL
    
    
menu_display(idMenu0)
    return 
PLUGIN_HANDLED 

public 
handle_knife_vip(idmenuitem
{
    if (!
is_user_connected(id))
        return 
PLUGIN_HANDLED 
    
    
if(item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    switch(
item)
    {
        case 
0:
        {
            
g_knifes[id] = 3
        
}
        case 
1:
        {
            
g_knifes[id] = 4
        
}
    }
    return 
PLUGIN_HANDLED;
}
public 
sub_menu_knife_admin(id)

    if (!
is_user_connected(id))
        return 
PLUGIN_HANDLED 
    
    
new Menu menu_create("\yAdmin Knifes""handle_knife_admin")
    
menu_additem(Menu"\wKnife 1"            "1"0)
    
menu_additem(Menu"\wKnife 2"            "2"0)
    
    
menu_setprop(Menu,MPROP_EXITNAME,"Exit")
    
menu_setprop(MenuMPROP_EXITMEXIT_ALL
    
    
menu_display(idMenu0)
    return 
PLUGIN_HANDLED 

public 
handle_knife_admin(idmenuitem
{
    if (!
is_user_connected(id))
        return 
PLUGIN_HANDLED 
    
    
if(item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    switch(
item)
    {
        case 
0:
        {
            
g_knifes[id] = 5
        
}
        case 
1:
        {
            
g_knifes[id] = 6
        
}
    }
    return 
PLUGIN_HANDLED;
}
public 
sub_menu_knife_Zixon(id)

    if (!
is_user_connected(id))
        return 
PLUGIN_HANDLED 
    
    
new Menu menu_create("\yZixon Knifes""handle_knife_Zixon")
    
menu_additem(Menu"\wKnife 1"            "1"0)
    
menu_additem(Menu"\wKnife 2"            "2"0)
    
    
menu_setprop(Menu,MPROP_EXITNAME,"Exit")
    
menu_setprop(MenuMPROP_EXITMEXIT_ALL
    
    
menu_display(idMenu0)
    return 
PLUGIN_HANDLED 

public 
handle_knife_Zixon(idmenuitem
{
    if (!
is_user_connected(id))
        return 
PLUGIN_HANDLED  
    
    
if(item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    switch(
item)
    {
        case 
0:
        {
            
g_knifes[id] = 7
        
}
        case 
1:
        {
            
g_knifes[id] = 8
        
}
    }
    return 
PLUGIN_HANDLED;
}
public 
sub_menu_knife_Tron(id)

    if (!
is_user_connected(id))
        return 
PLUGIN_HANDLED 
    
    
new Menu menu_create("\yTron Knifes""handle_knife_Tron")
    
menu_additem(Menu"\wKnife 1"            "1"0)
    
menu_additem(Menu"\wKnife 2"            "2"0)
    
    
menu_setprop(Menu,MPROP_EXITNAME,"Exit")
    
menu_setprop(MenuMPROP_EXITMEXIT_ALL
    
    
menu_display(idMenu0)
    return 
PLUGIN_HANDLED 

public 
handle_knife_Tron(idmenuitem
{
    if (!
is_user_connected(id))
        return 
PLUGIN_HANDLED 
    
    
if(item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    switch(
item)
    {
        case 
0:
        {
            
g_knifes[id] = 9
        
}
        case 
1:
        {
            
g_knifes[id] = 10
        
}
    }
    return 
PLUGIN_HANDLED;
}
public 
fw_Item_Deploy_Post(weapon_ent)
{
    new 
owner get_pdata_cbase(weapon_ent414);
    if (!
pev_valid(owner))
        return;
    
    switch (
g_knifes[owner])
    {
        case 
1:
        {
            
set_pev(ownerpev_viewmodel2new_weapons[V_KNIFE_FREE_1][V_WEAPONS])
        }
        case 
2:
        {
            
set_pev(ownerpev_viewmodel2new_weapons[V_KNIFE_FREE_2][V_WEAPONS])
        }
        case 
3:
        {
            
set_pev(ownerpev_viewmodel2new_weapons[V_KNIFE_VIP_1][V_WEAPONS])
        }
        case 
4:
        {
            
set_pev(ownerpev_viewmodel2new_weapons[V_KNIFE_VIP_2][V_WEAPONS])
        }
        case 
5:
        {
            
set_pev(ownerpev_viewmodel2new_weapons[V_KNIFE_ADMIN_1][V_WEAPONS])
        }
        case 
6:
        {
            
set_pev(ownerpev_viewmodel2new_weapons[V_KNIFE_ADMIN_2][V_WEAPONS])
        }
        case 
7:
        {
            
set_pev(ownerpev_viewmodel2new_weapons[V_KNIFE_TRON_1][V_WEAPONS])
        }
        case 
8:
        {
            
set_pev(ownerpev_viewmodel2new_weapons[V_KNIFE_TRON_2][V_WEAPONS])
        }
        case 
9:
        {
            
set_pev(ownerpev_viewmodel2new_weapons[V_KNIFE_ZIXON_1][V_WEAPONS])
        }
        case 
10:
        {
            
set_pev(ownerpev_viewmodel2new_weapons[V_KNIFE_ZIXON_2][V_WEAPONS])
        }
    }



Str4x3D1x 04-19-2017 09:28

Re: CurWeapon Problem
 
Sirerick, i PM'ed you

sirerick 04-19-2017 09:39

Re: CurWeapon Problem
 
I gave you an example as you must, I have to go to work.

Str4x3D1x 04-19-2017 09:53

Re: CurWeapon Problem
 
This is not going so well, it is changing code so much and i can't understand it completely...
Can someone fix this, i will PM the full code

sirerick 04-19-2017 14:25

Re: CurWeapon Problem
 
Respect to change. it is not a big thing. If you knew the basics, it's just what I know. You would know how to do it Otherwise. Go to the Suggestions / Requests section.


All times are GMT -4. The time now is 17:51.

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