Raised This Month: $ Target: $400
 0% 

Open menu with command


Post New Thread Reply   
 
Thread Tools Display Modes
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
siriusmd99
Veteran Member
Join Date: Oct 2013
Location: Republic of Moldova
Old 08-23-2015 , 05:27   Re: Open menu with command
Reply With Quote #2

Use set task to show one later?
siriusmd99 is offline
pafch0
New Member
Join Date: Apr 2013
Old 08-25-2015 , 17:00   Re: Open menu with command
Reply With Quote #3

Can you explain a little better? I made it clear that im not good in Pawn.
pafch0 is offline
wickedd
Veteran Member
Join Date: Nov 2009
Old 08-25-2015 , 17:59   Re: Open menu with command
Reply With Quote #4

Add this to your plugin
PHP Code:
register_clcmd"say /vipmenu""show_vip_menu" ); 
then edit the code below

PHP Code:
public SpawnedEventPreVip(id){
    
g_speed[id]=false;
    
skoki[id]=-1;
    
set_user_rendering(idkRenderFxGlowShell02550kRenderNormal25);
    
show_vip_menu(id); /*DELETE OR COMMENT OUT THIS LINE*/

That should be all you need to do.

P.S. Looking at that code hurt my eyes.
__________________
Just buy the fucking game!!!!
I hate No-Steamers and lazy ass people.
wickedd is offline
Reply


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


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