AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Suggestions / Requests (https://forums.alliedmods.net/forumdisplay.php?f=12)
-   -   [Help] Need Some Changes in plugin (https://forums.alliedmods.net/showthread.php?t=339338)

counterstrike1.6 09-02-2022 10:32

[Help] Need Some Changes in plugin
 
2 Attachment(s)
Hi All have gunmenu plugin need some changes in it [There are some cvars and function are in Dunno Vip Menu] need to add it into my plugin [Gunmenu] and i dont want to add admin_level in this because my plugin is for all users that can buy vip guns

PHP Code:

       mpd register_cvar("money_per_damage","3")
    
mkb register_cvar("money_kill_bonus","200")
    
mhb register_cvar("money_hs_bonus","500")
    
health_add register_cvar("amx_vip_hp""15")
    
health_hs_add register_cvar("amx_vip_hp_hs""30")
    
health_max register_cvar("amx_vip_max_hp""100")
    
register_event("Damage","Damage","b")
    
register_event("DeathMsg","death_msg","a"

My Code: GUNMenu

counterstrike1.6 09-03-2022 13:04

Re: [Help] Need Some Changes in plugin
 
One Day Past [Bump] !!!

counterstrike1.6 09-10-2022 10:19

Re: [Help] Need Some Changes in plugin
 
Bump !!!

Uzviseni Bog 09-10-2022 13:33

Re: [Help] Need Some Changes in plugin
 
add to vip plugin
PHP Code:

#define ADMIN_LEVEL_H ADMIN_ALL 


counterstrike1.6 09-11-2022 07:04

Re: [Help] Need Some Changes in plugin
 
Quote:

Originally Posted by Uzviseni Bog (Post 2788491)
add to vip plugin
PHP Code:

#define ADMIN_LEVEL_H ADMIN_ALL 


Got Error in this Plugin !!!

PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>

#pragma semicolon 1
#pragma tabsize 4

#define PLUGIN                 "Gun Menu"
#define VERSION             "1.0"
#define AUTHOR                 "begin"
#define PREFIX_CHAT            "^4[AMXX]"
#define TASK_DESTROY_MENU     2981724

enum E_CVARS
{
CVAR_MONEY_PER_DAMAGE,
CVAR_MONEY_KILL_BOUNS,
CVAR_MONEY_HS_BOUNS,
CVAR_VIP_HP,
CVAR_VIP_HP_HS,
CVAR_VIP_MAX_HP,
CVAR_GIVE_HE,
CVAR_GIVE_FB,
CVAR_GIVE_SG,
CVAR_MENU_ACTIVE,
CVAR_MENU_M4A1,
CVAR_MENU_AK47,
CVAR_MENU_AWP,
CVAR_MENU_VIP,
CVAR_VIP_ROUND,
}

enum E_WEAPONS
{
WPN_M4A1,
WPN_AK47,
WPN_AWP,
WPN_DEAGLE,
}

enum E_WEAPON_DETAIL
{
DETAIL_NAME[32],
DETAIL_ITEM[32],
DETAIL_CLASS,
DETAIL_AMMO,
}

new 
g_CVarString    [E_CVARS][][] =
{
{
"gmenu_money_per_damage",        "3",    "num"},
{
"money_kill_bonus",            "200",    "num"},
{
"money_hs_bonus",            "500",    "num"},
{
"amx_vip_hp",                "15",    "num"},
{
"amx_vip_hp_hs",            "30",    "num"},
{
"amx_vip_max_hp",            "100",    "num"},
{
"gmenu_vip_he_cancel",            "1",    "num"},    
{
"gmenu_vip_flash_cancel",        "1",    "num"},    
{
"gmenu_vip_smoke_cancel",        "0",    "num"},    
{
"gmenu_active",             "1",    "num"},    
{
"gmenu_cancel_m4a1",            "0",    "num"},    
{
"gmenu_cancel_ak47",            "1",    "num"},
{
"gmenu_cancel_awp",            "1",    "num"},
{
"gmenu_cancel_vip",            "15",    "num"},
{
"gmenu_vip_available_round",        "3",    "num"},
};
new 
g_cvarPointer    [E_CVARS];
new 
g_cvars            [E_CVARS];
new 
g_menu_callback;
new 
g_round;
new 
g_c4            [MAX_PLAYERS 1];
new 
g_menuid        [MAX_PLAYERS 1];
new 
nHp_add;
new 
nKiller;
new 
nHp_max;
new 
nKiller_hp;
new 
g_MsgSync;
#if defined DAMAGE_RECIEVED
new g_MsgSync2;
#endif

new const WEAPON_LIST[E_WEAPONS][E_WEAPON_DETAIL] = 
{
{
"M4A1",    "weapon_m4a1",         CSW_M4A1,    90},
{
"AK47",    "weapon_ak47",         CSW_AK47,    90},
{
"AWP",     "weapon_awp",         CSW_AWP,    30},
{
"DEAGLE",    "weapon_deagle",     CSW_DEAGLE,    35},
};

public 
plugin_init() 
{
register_plugin(PLUGINVERSIONAUTHOR);

// Register Cvar pointers.
register_cvars();

register_logevent("logevent_round_start"2"1=Round_Start");
register_event("TextMsg""Event_Round_Restart""a""2=#Game_Commencing""2=#Game_will_restart_in");
register_event("Damage","Damage","b");
register_event("DeathMsg","death_msg","a");
register_event("DeathMsg""hook_death""a""1>0");
register_event("Damage""on_damage""b""2!0""3=0""4!0");
#if defined DAMAGE_RECIEVED
g_MsgSync2 CreateHudSyncObj()
#endif    

g_menu_callback menu_makecallback("MenuCancel");
}

// ====================================================
//  Register Cvars.
// ====================================================
register_cvars()
{
for(new 
E_CVARS:CVAR_GIVE_HEE_CVARSi++)
{
g_cvarPointer[i] = create_cvar(g_CVarString[i][0], g_CVarString[i][1]);
if (
equali(g_CVarString[i][2], "num"))
bind_pcvar_num(g_cvarPointer[i], g_cvars[i]);
else if(
equali(g_CVarString[i][2], "float"))
bind_pcvar_float(g_cvarPointer[i], Float:g_cvars[i]);

hook_cvar_change(g_cvarPointer[i], "cvar_change_callback");
}
}

// ====================================================
//  Callback cvar change.
// ====================================================
public cvar_change_callback(pcvar, const old_value[], const new_value[])
{
for(new 
E_CVARS:CVAR_GIVE_HEE_CVARSi++)
{
if (
g_cvarPointer[i] == pcvar)
{
if (
equali(g_CVarString[i][2], "num"))
g_cvars[i] = str_to_num(new_value);
else if (
equali(g_CVarString[i][2], "float"))
    
g_cvars[i] = _:str_to_float(new_value);
}
}
}

public 
Event_Round_Restart()
{
g_round 0;
}

public 
logevent_round_start()
{
g_round++;

new 
players[32], pnum;
get_players(playerspnum"ac");

for(new 
0iplayerpnumi++)
{
iplayer players[i];

if (!
is_user_alive(iplayer)) 
    continue;
    
    
give_defaultset(iplayer);
    
    if (
g_cvars[CVAR_MENU_ACTIVE])
    {
        if (
g_round    <= g_cvars[CVAR_VIP_ROUND])
            
client_print_color(iplayerprint_team_default"%s^3 Menu will be available in^4 %i^3 Round",PREFIX_CHAT,(g_cvars[CVAR_VIP_ROUND] + 1)-g_round);
            else
                
OpenMenu(iplayer);
            } else {
            
client_print_color(iplayerprint_team_default"%s^3 Menu Not Actived^1 [^4Contact Admins^1]",PREFIX_CHAT);
        }
    }
    return 
PLUGIN_HANDLED;


public 
OpenMenu(id)
{
    
g_menuid[id] = menu_create("Free VIP Guns""OpenMenu_Handler");
    
    
menu_additem(g_menuid[id], "Get M4A1 + Deagle",    "0",_,g_menu_callback);
    
menu_additem(g_menuid[id], "Get AK47 + Deagle",    "1",_,g_menu_callback);
    
menu_additem(g_menuid[id], "Get AWP  + Deagle",    "2",_,g_menu_callback);
    
menu_setprop(g_menuid[id], MPROP_EXITMEXIT_ALL);
    
    
menu_display(idg_menuid[id], 0g_cvars[CVAR_MENU_VIP]);
    
    
client_print_color(idprint_team_default"%s^3 Please Choose Your^4 VIP Gun^3, Menu Will Closed in^4 %i^3 Seconds",PREFIX_CHATg_cvars[CVAR_MENU_VIP]);
    
    
client_print (id,print_chat,"Test: M4A1=%i, AK47=%i, AWP=%i",g_cvars[CVAR_MENU_M4A1], g_cvars[CVAR_MENU_AK47], g_cvars[CVAR_MENU_AWP]);
    
    
set_task(float(g_cvars[CVAR_MENU_VIP]),"Destroy_Menu",id+TASK_DESTROY_MENU);
}

public 
Destroy_Menu(taskid)
{
    new 
id taskid TASK_DESTROY_MENU;
    
show_menu(id,0,"^n",1);
}

public 
MenuCancel(idmenuitem)
{
    new 
szData[6], szName[64], accesscallback;
    
menu_item_getinfo(menuitemaccessszDatacharsmax(szData), szNamecharsmax(szName), callback);
    switch(
item)
    {
        case 
0:
            return 
g_cvars[CVAR_MENU_M4A1] ? ITEM_ENABLED ITEM_DISABLED;
        case 
1:
            return 
g_cvars[CVAR_MENU_AK47] ? ITEM_ENABLED ITEM_DISABLED;
        case 
2:
            return 
g_cvars[CVAR_MENU_AWP] ? ITEM_ENABLED ITEM_DISABLED;
    }
    return 
ITEM_ENABLED;
}

public 
OpenMenu_Handler(idmenuitem)
{
    if(
item == MENU_EXIT || !is_user_alive(id) || item == MENU_TIMEOUT)
    {
        return 
PLUGIN_HANDLED;
    }
    
select_weapon(id,E_WEAPONS:item);
    
menu_destroy(menu);    
    return 
PLUGIN_HANDLED;
}

public 
select_weapon(idE_WEAPONS:class)
{
    if (
WPN_M4A1 <= class <= WPN_DEAGLE)
    {
        if (
user_has_weapon(idCSW_C4))
            
g_c4[id] = true;
        else
            
g_c4[id] = false;
        
        
strip_user_weapons(id);
        
give_defaultset(id);
        
        
give_weaponset(id, class);
        
give_weaponset(idWPN_DEAGLE);
        
        
give_c4_or_defusekit(id);
        
        
client_print_color(id,print_team_default,"%s^3 You Got Free^4 %s^3 and^4 Deagle",PREFIX_CHAT,  WEAPON_LIST[class][DETAIL_NAME]);
    }
}

//
// Give Default Set.
//
give_defaultset(id)
{
give_item(id"weapon_knife");
give_item(id"item_assaultsuit");

if (
g_cvars[CVAR_GIVE_HE])
    
give_item(id"weapon_hegrenade");    
    
    if (
g_cvars[CVAR_GIVE_FB])
    {
        for(new 
02i++)
        {
            
give_item(id"weapon_flashbang");
        }
    }
    if (
g_cvars[CVAR_GIVE_SG])
        
give_item(id"weapon_smokegrenade");
}

//
// Give Weapons.
//
give_weaponset(idE_WEAPONS:weapon)
{
give_item(idWEAPON_LIST[weapon][DETAIL_ITEM]);
cs_set_user_bpammo(idWEAPON_LIST[weapon][DETAIL_CLASS], WEAPON_LIST[weapon][DETAIL_AMMO]);
}

//
// Give C4 or Defuse Kit.
//
give_c4_or_defusekit(id)
{
new 
CsTeams:team cs_get_user_team(id);
if (
team == CS_TEAM_CT)
cs_set_user_defuse(id1);
else if(
team == CS_TEAM_T)
    if (
g_c4[id])
        
give_item(id"weapon_c4");
}

public 
death_msg()
{
    if(
read_data(1)<=get_maxplayers() && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) +g_cvars[CVAR_MONEY_KILL_BOUNS] - 300);
}

public 
Damage(id)
{
    new 
weaponhitpoint;
    new 
attacker get_user_attacker(id,weapon,hitpoint);
    if(
attacker<= get_maxplayers() && is_user_alive(attacker) && (attacker!=id))
    {
        new 
money read_data(2) *g_cvars[CVAR_MONEY_PER_DAMAGE];
        if(
hitpoint==1money +=g_cvars[CVAR_MONEY_HS_BOUNS];
        
cs_set_user_money(attacker,cs_get_user_money(attacker) + money);
    }
}


public 
on_damage(id)
{
    new 
attacker get_user_attacker(id);
    
    
#if defined DAMAGE_RECIEVED
    // id should be connected if this message is sent, but lets check anyway
    
if ( is_user_connected(id) && is_user_connected(attacker) )
    {
        new 
damage read_data(2);
        
        
set_hudmessage(255000.450.5020.14.00.10.1, -1);
        
ShowSyncHudMsg(idg_MsgSync2"%i^n"damage);
        
#else
        
if ( is_user_connected(attacker))
        {
            new 
damage read_data(2);
            
#endif
            
set_hudmessage(0100200, -1.00.5520.14.00.020.02, -1);
            
ShowSyncHudMsg(attackerg_MsgSync"%i^n"damage);
        }
    }

    public 
hook_death()
    {
        
// Killer id
        
nKiller read_data(1);
        
        if ( (
read_data(3) == 1) && (read_data(5) == 0) )
        {
            
nHp_add g_cvars[CVAR_VIP_HP_HS];
        }
        else
            
nHp_add g_cvars[CVAR_VIP_HP];
        
nHp_max g_cvars[CVAR_VIP_MAX_HP];
        
// Updating Killer HP
        
if(!(get_user_flags(nKiller) & ADMIN_LEVEL_H))
            return;
        
        
nKiller_hp get_user_health(nKiller);
        
nKiller_hp += nHp_add;
        
// Maximum HP check
        
if (nKiller_hp nHp_maxnKiller_hp nHp_max;
        
set_user_health(nKillernKiller_hp);
        
// Hud message "Healed +15/+30 hp"
        
set_hudmessage(02550, -1.00.1501.01.00.10.1, -1);
        
show_hudmessage(nKiller"Healed +%d hp"nHp_add);
        
// Screen fading
        
message_begin(MSG_ONEget_user_msgid("ScreenFade"), {0,0,0}, nKiller);
        
write_short(1<<10);
        
write_short(1<<10);
        
write_short(0x0000);
        
write_byte(0);
        
write_byte(0);
        
write_byte(200);
        
write_byte(75);
        
message_end();
        
    } 

Error Msg From Logs

PHP Code:

L 09/07/2022 15:41:38HudSyncObject -1 is invalid
L 09
/07/2022 15:41:38: [AMXXDisplaying debug trace (plugin "gunmenu.amxx"version "1.0")
L 09/07/2022 15:41:38: [AMXXRun time error 10native error (native "ShowSyncHudMsg")
L 09/07/2022 15:41:38: [AMXX]    [0gunmenu.sma::on_damage (line 331)
L 09/07/2022 15:41:40HudSyncObject -1 is invalid
L 09
/07/2022 15:41:40: [AMXXDisplaying debug trace (plugin "gunmenu.amxx"version "1.0")
L 09/07/2022 15:41:40: [AMXXRun time error 10native error (native "ShowSyncHudMsg")
L 09/07/2022 15:41:40: [AMXX]    [0gunmenu.sma::on_damage (line 331


DruGzOG 09-11-2022 18:12

Re: [Help] Need Some Changes in plugin
 
https://forums.alliedmods.net/misc.php?do=showrules

Quote:

Do not "bump" your threads. Bumping is posting simply to make the thread higher in the forum sort order.


All times are GMT -4. The time now is 00:20.

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