Raised This Month: $ Target: $400
 0% 

Open menu with command


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
pafch0
New Member
Join Date: Apr 2013
Old 08-23-2015 , 03:28   Open menu with command
Reply With Quote #1

Hey guys, im very limited at my skills for Pawn , i use it mostly to do basic edits.

So.. my problem is this. I used a generator from a polish website to generate a VIP Plugin. Problem is that im running a CSDM server and the vipmenu creates a conflict with the CSDM weapon menu. VIP menu pops up first and second comes the weapon menu.

So i came up with the idea to ask if you guys could help me make the plugin open the vipmenu with a command, something like /vm or /vipmenu.

The generator in question is this: VIP Generator

Thank you very much in advance!

PHP Code:
#include <amxmodx>
#include <colorchat>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

#define DMG_HE (1<<24)
#define IsPlayer(%1) (1<=%1<=maxPlayers)

forward amxbans_admin_connect(id);

new Array:
g_ArrayCsArmorType:armortypebool:g_FreezeTimebool:g_Vip[33], bool:g_speed[33],
g_HudmsgioidmaxPlayersmenumenu_callback_handler,
skoki[33], weapon_id;

new const 
clips[]={013, -01017030301302025303525122010301008303020273030050};
new const 
g_Langcmd[][]={"say /vips","say_team /vips","say /vipy","say_team /vipy"};

public 
plugin_init(){
    
register_plugin("VIP Ultimate""12.3.0.2""benio101 & speedkill");
    
RegisterHam(get_player_resetmaxspeed_func(), "player""fw_Player_ResetMaxSpeed"1);
    
register_logevent("logevent_round_start"2"1=Round_Start");
    
register_event("HLTV""event_new_round""a""1=0""2=0");
    
RegisterHam(Ham_Spawn"player""SpawnedEventPre"1);
    
register_logevent("RoundEnd"2"1=Round_End");
    
register_forward(FM_CmdStart"CmdStartPre");
    
RegisterHam(Ham_TakeDamage"player""takeDamage"0);
    
register_event("DeathMsg""DeathMsg""a");
    
register_message(get_user_msgid("ScoreAttrib"), "VipStatus");
    
g_Array=ArrayCreate(64,32);
    for(new 
i;i<sizeof g_Langcmd;i++){
        
register_clcmd(g_Langcmd[i], "ShowVips");
    }
    
register_clcmd("say /vip""ShowMotd");
    
set_task(30.0"ShowAdv",.flags "b");
    
g_Hudmsg=CreateHudSyncObj();
    
register_event("Damage""damage""b""2!0""3=0""4!0");
    
register_event("Damage""Damage_Wyrzucenie""b""2!=0");
}
public 
client_authorized(id){
    if(
get_user_flags(id) & 524288 == 524288){
        
client_authorized_vip(id);
    }
}
public 
client_authorized_vip(id){
    
g_Vip[id]=true;
    new 
g_Name[64];
    
get_user_name(id,g_Name,charsmax(g_Name));
    
    new 
g_Size ArraySize(g_Array);
    new 
szName[64];
    
    for(new 
0g_Sizei++){
        
ArrayGetString(g_ArrayiszNamecharsmax(szName));
        
        if(
equal(g_NameszName)){
            return 
0;
        }
    }
    
ArrayPushString(g_Array,g_Name);
    
set_hudmessage(241902200.250.206.06.0);
    
ShowSyncHudMsg(0g_Hudmsg"Vip %s vlezna v servera",g_Name);
    
    return 
PLUGIN_CONTINUE;
}
public 
client_disconnect(id){
    if(
g_Vip[id]){
        
client_disconnect_vip(id);
    }
}
public 
client_disconnect_vip(id){
    
g_Vip[id]=false;
    
g_speed[id]=false;
    new 
Name[64];
    
get_user_name(id,Name,charsmax(Name));
    
    new 
g_Size ArraySize(g_Array);
    new 
g_Name[64];
    
    for(new 
0g_Sizei++){
        
ArrayGetString(g_Arrayig_Namecharsmax(g_Name));
        
        if(
equal(g_Name,Name)){
            
ArrayDeleteItem(g_Array,i);
            break;
        }
    }
}
Ham:get_player_resetmaxspeed_func(){
    
#if defined Ham_CS_Player_ResetMaxSpeed
    
return IsHamValid(Ham_CS_Player_ResetMaxSpeed)?Ham_CS_Player_ResetMaxSpeed:Ham_Item_PreFrame;
    
#else
    
return Ham_Item_PreFrame;
    
#endif
}
public 
fw_Player_ResetMaxSpeed(id){
    if(
g_Vip[id]){
        if(
is_user_alive(id)){
            
fw_Player_ResetMaxSpeedVip(id);
        }
    }
}
public 
logevent_round_start(){
    
g_FreezeTime=false;
}
public 
event_new_round(){
    
g_FreezeTime=true;
}
public 
SpawnedEventPre(id){
    if(
g_Vip[id]){
        if(
is_user_alive(id)){
            
SpawnedEventPreVip(id);
        }
    }
}
public 
plugin_cfg(){
    
maxPlayers=get_maxplayers();
}
public 
SpawnedEventPreVip(id){
    
g_speed[id]=false;
    
skoki[id]=-1;
    
set_user_rendering(idkRenderFxGlowShell02550kRenderNormal25);
    
show_vip_menu(id);
}
public 
RoundEnd(){
    for(new 
i=1i<=maxPlayers; ++i){
        
g_speed[i]=false;
        if(
is_user_alive(i)){
            
fw_Player_ResetMaxSpeedVip(i);
        }
    }
    for(new 
i=1i<=maxPlayers; ++i){
        
skoki[i]=-1;
    }
    for(new 
i=1i<=maxPlayers; ++i){
        if(
is_user_alive(i)){
            
set_user_rendering(ikRenderFxNone255255255kRenderNormal16);
        }
    }
    for(new 
1<= maxPlayersi++){
        if(
is_user_alive(i) && g_Vip[i]){
            
cs_set_user_money(i,cs_get_user_money(i) + 500);
        }
    }
}
public 
menu_1_handler(id){
    
g_speed[id]=true;
    
set_user_maxspeed(id,get_user_maxspeed(id) + 350);
}
public 
fw_Player_ResetMaxSpeedVip(id){
    if(!
g_FreezeTime){
        if(
g_speed[id]){
            
set_user_maxspeed(id,get_user_maxspeed(id) + 350);
        }
    }
}
public 
CmdStartPre(iduc_handle){
    if(
g_Vip[id]){
        if(
is_user_alive(id)){
            
CmdStartPreVip(iduc_handle);
        }
    }
}
public 
CmdStartPreVip(iduc_handle){
    new 
flags pev(idpev_flags);
    if((
get_uc(uc_handleUC_Buttons) & IN_JUMP) && !(flags FL_ONGROUND) && !(pev(idpev_oldbuttons) & IN_JUMP) && skoki[id]>0){
        --
skoki[id];
        new 
Float:velocity[3];
        
pev(idpev_velocity,velocity);
        
velocity[2] = random_float(265.0,285.0);
        
set_pev(id,pev_velocity,velocity);
    } else if(
flags FL_ONGROUND && skoki[id]!=-1){
        
skoki[id] = 2;
    }
}
public 
menu_2_handler(id){
    
skoki[id]=2;
}
public 
menu_3_handler(id){
    
set_user_rendering(idkRenderFxNone0,0,0kRenderTransAlpha150);
}
public 
menu_4_handler(id){
    
set_user_health(idget_user_health(id)+50);
    
cs_set_user_armor(idmin(cs_get_user_armor(id,armortype)+10050), CS_ARMOR_VESTHELM);
}
public 
menu_6_handler(id){
    
cs_set_user_money(idcs_get_user_money(id)+20001);
}
public 
menu_5_handler(id){
    new 
fbnum=(user_has_weapon(id,CSW_FLASHBANG)?cs_get_user_bpammo(id,CSW_FLASHBANG):0);
    
give_item(id"weapon_flashbang");
    ++
fbnum;
    
cs_set_user_bpammo(idCSW_FLASHBANG2);
    
give_item(id"weapon_awp");
    
give_item(id"ammo_338magnum");
    
weapon_id=find_ent_by_owner(-1"weapon_awp"id);
    if(
weapon_id)cs_set_weapon_ammo(weapon_id10);
    
cs_set_user_bpammo(idCSW_AWP30);
    
give_item(id"weapon_g3sg1");
    
give_item(id"ammo_9mm");
    
weapon_id=find_ent_by_owner(-1"weapon_g3sg1"id);
    if(
weapon_id)cs_set_weapon_ammo(weapon_id30);
    
cs_set_user_bpammo(idCSW_G3SG190);
    
give_item(id"weapon_sg550");
    
give_item(id"ammo_556nato");
    
weapon_id=find_ent_by_owner(-1"weapon_sg550"id);
    if(
weapon_id)cs_set_weapon_ammo(weapon_id30);
    
cs_set_user_bpammo(idCSW_SG55090);
}
public 
takeDamage(thisidinflictoridattackerFloat:damagedamagebits){
    if(((
IsPlayer(idattacker) && is_user_connected(idattacker) && g_Vip[idattacker] && (ioid=idattacker)) ||
    (
ioid=pev(idinflictorpev_owner) && IsPlayer(ioid) && is_user_connected(ioid) && g_Vip[ioid]))){
        if(
random(20)<1){
            
damage*=(100+20)/100;
        }
        if(
damagebits DMG_HE){
            if(
random(60)<1){
                
damage*=(100+30)/100;
            }
        }
        if(
damagebits DMG_BULLET){
            if(
get_user_weapon(ioid)==CSW_USP){
                if(
get_user_team(ioid)==2){
                    
damage*=(100+10)/100;
                }
            }
            if(
get_user_weapon(ioid)==CSW_DEAGLE){
                
damage*=(100+15)/100;
            }
            if(
get_user_weapon(ioid)==CSW_AK47){
                
damage*=(100+10)/100;
            }
            if(
get_user_weapon(ioid)==CSW_M4A1){
                
damage*=(100+10)/100;
            }
        }
    }
    
    
SetHamParamFloat(4damage);
    return 
HAM_HANDLED;
}
public 
DeathMsg(){
    new 
killer=read_data(1);
    new 
victim=read_data(2);
    
    if(
is_user_alive(killer) && g_Vip[killer] && get_user_team(killer) != get_user_team(victim)){
        
DeathMsgVip(killer,victim,read_data(3));
    }
}
public 
DeathMsgVip(kid,vid,hs){
    
set_user_health(kidmin(get_user_health(kid)+(hs?40:20),300));
    
cs_set_user_money(kidcs_get_user_money(kid)+(hs?300:100));
    
recharge(kid);
}
public 
recharge(id){
    new 
wid=get_user_weapon(id);
    if(
wid){
        new 
weaponname[32], weid;
        
get_weaponname(widweaponname31);
        
weid=find_ent_by_owner(-1weaponnameid);
        if(
weid){
            
cs_set_weapon_ammo(weidclips[wid]);
        }
    }
}
public 
show_vip_menu(id){
    
menu=menu_create("\rMenu VIPa","menu_handler");
    
menu_callback_handler=menu_makecallback("menu_callback");
    new 
bool:active=falsenum=-1;
    
menu_additem(menu,"\wSkorost","",0,menu_callback_handler);
    if(
menu_callback(idmenu, ++num)==ITEM_ENABLED){
        
active=true;
    }
    
menu_additem(menu,"\wMulti Jump","",0,menu_callback_handler);
    if(
menu_callback(idmenu, ++num)==ITEM_ENABLED){
        
active=true;
    }
    
menu_additem(menu,"\wNevidimost","",0,menu_callback_handler);
    if(
menu_callback(idmenu, ++num)==ITEM_ENABLED){
        
active=true;
    }
    
menu_additem(menu,"\wExtra HP/Armor","",0,menu_callback_handler);
    if(
menu_callback(idmenu, ++num)==ITEM_ENABLED){
        
active=true;
    }
    
menu_additem(menu,"\wAWP/G3SG1/SG550","",0,menu_callback_handler);
    if(
menu_callback(idmenu, ++num)==ITEM_ENABLED){
        
active=true;
    }
    
menu_additem(menu,"\wExtra $$$","",0,menu_callback_handler);
    if(
menu_callback(idmenu, ++num)==ITEM_ENABLED){
        
active=true;
    }
    if(
active){
        
menu_setprop(menu,MPROP_EXITNAME,"Exit");
        
menu_setprop(menu,MPROP_TITLE,"\yVIP Menu");
        
menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
        
menu_display(idmenu);
    } else {
        
menu_destroy(menu);
    }
}
public 
menu_callback(idmenuitem){
    if(
is_user_alive(id)){
        if(
item==0){
            return 
ITEM_ENABLED;
        }
        if(
item==1){
            return 
ITEM_ENABLED;
        }
        if(
item==2){
            return 
ITEM_ENABLED;
        }
        if(
item==3){
            return 
ITEM_ENABLED;
        }
        if(
item==4){
            return 
ITEM_ENABLED;
        }
        if(
item==5){
            return 
ITEM_ENABLED;
        }
    }
    return 
ITEM_DISABLED;
}
public 
menu_handler(idmenuitem){
    if(
is_user_alive(id)){
        if(
item==0){
            
menu_1_handler(id);
        }
        if(
item==1){
            
menu_2_handler(id);
        }
        if(
item==2){
            
menu_3_handler(id);
        }
        if(
item==3){
            
menu_4_handler(id);
        }
        if(
item==4){
            
menu_5_handler(id);
        }
        if(
item==5){
            
menu_6_handler(id);
        }
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}
public 
VipStatus(){
    new 
id=get_msg_arg_int(1);
    if(
is_user_alive(id) && g_Vip[id]){
        
set_msg_arg_int(2ARG_BYTEget_msg_arg_int(2)|4);
    }
}
public 
ShowVips(id){
    new 
g_Name[64],g_Message[192];
    
    new 
g_Size=ArraySize(g_Array);
    
    for(new 
0g_Sizei++){
        
ArrayGetString(g_Arrayig_Namecharsmax(g_Name));
        
        
add(g_Messagecharsmax(g_Message), g_Name);
        
        if(
== g_Size 1){
            
add(g_Messagecharsmax(g_Message), ".");
        }
        else{
            
add(g_Messagecharsmax(g_Message), ", ");
        }
    }
    
ColorChat(id,GREEN,"^x03Vipy ^x04na ^x03serwerze: ^x04%s"g_Message);
    return 
PLUGIN_CONTINUE;
}
public 
client_infochanged(id){
    if(
g_Vip[id]){
        new 
szName[64];
        
get_user_info(id,"name",szName,charsmax(szName));
        
        new 
Name[64];
        
get_user_name(id,Name,charsmax(Name));
        
        if(!
equal(szName,Name)){
            
ArrayPushString(g_Array,szName);
            
            new 
g_Size=ArraySize(g_Array);
            new 
g_Name[64];
            for(new 
0g_Sizei++){
                
ArrayGetString(g_Arrayig_Namecharsmax(g_Name));
                
                if(
equal(g_Name,Name)){
                    
ArrayDeleteItem(g_Array,i);
                    break;
                }
            }
        }
    }
}
public 
plugin_end(){
    
ArrayDestroy(g_Array);
}
public 
ShowMotd(id){
    
show_motd(id"vip.txt""Informacje o vipie");
}
public 
ShowAdv(){
    
ColorChat(0NORMAL"[VIP]^x04 Iskash li da razberesh kakvo ima VIP? Napishi /vip v chata!");
}
public 
damage(id){
    new 
attacker=get_user_attacker(id);
    new 
damage=read_data(2);
    
    if(
g_Vip[id]){
        
set_hudmessage(255000.450.5020.14.00.10.1, -1);
        
ShowSyncHudMsg(idg_Hudmsg"%i^n"damage);
    }
    if(
is_user_connected(attacker) && g_Vip[attacker]){
        
set_hudmessage(0100200, -1.00.5520.14.00.020.02, -1);
        
ShowSyncHudMsg(attackerg_Hudmsg"%i^n"damage);
    }
}
public 
Damage_Wyrzucenie(vid){
    new 
aid=get_user_attacker(vid);
    if(
is_user_connected(aid) && is_user_alive(vid) && g_Vip[aid] && get_user_team(aid)!=get_user_team(vid) && random(100)<5){
        
Damage_Wyrzucenie_Vip(aidvid);
    }
}
public 
Damage_Wyrzucenie_Vip(aidvid){
    
client_cmd(vid"drop");
}
public 
amxbans_admin_connect(id){
    
client_authorized(id);

pafch0 is offline
 



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 22:13.


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