Raised This Month: $ Target: $400
 0% 

[Help] Need Some Changes in plugin


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
counterstrike1.6
Member
Join Date: Oct 2020
Old 09-11-2022 , 07:04   Re: [Help] Need Some Changes in plugin
Reply With Quote #5

Quote:
Originally Posted by Uzviseni Bog View Post
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

Last edited by counterstrike1.6; 09-11-2022 at 07:10.
counterstrike1.6 is offline
 


Thread Tools
Display Modes

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 00:20.


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