Raised This Month: $ Target: $400
 0% 

Menu Multi Plugin


  
 
 
Thread Tools Display Modes
Author Message
AirShot
Veteran Member
Join Date: Sep 2009
Location: Belgium
Old 03-20-2010 , 12:42   Menu Multi Plugin
#1

Bonjour, je voudrais qu'on m'explique comment créer un menu qui peux interagir avec d'autre plugins, faire appels à d'autre plugins je m'explique :

Par exemple ici mon menu pour mon serveur surf :

Surf Menu:
1. Enable | Disable Speedometer
2. Rock The Round
3. Respawn Chance
4. Open Shop Menu
5. Open Radio Menu
6. Country Menu
7. Open How to Surf Help

ici par exemple le joueur appuie 1 et ça a le même effet que s'il écrivais /speed avec ce plugin : http://forums.alliedmods.net/showthread.php?p=702520 ca apelle la fonction :
PHP Code:
public toogleSpeed(id)
{
    
plrSpeed[id] = plrSpeed[id] ? false true
    
return PLUGIN_HANDLED

Je voudrais pareil avec ces les autres plugins
Rock The Round (même effet que si le jouais écrivais rtr)
Respawn Chance (meme effet que si le joueur écrivais /reviveme)
Shop Menu
Radio
Country Menu
Show Motd

comment faire s'il vous plait?
__________________

Last edited by AirShot; 03-20-2010 at 14:46.
AirShot is offline
Fr33m@n
Veteran Member
Join Date: May 2008
Location: France Marne
Old 03-20-2010 , 14:49   Re: Menu Multi Plugin
#2

tu auras besoin de :

http://www.amxmodx.org/funcwiki.php?go=func&id=230

puis peut être des commandes sur les cvars pour changer les cvar qui actives désactives les plugins.
Fr33m@n is offline
AirShot
Veteran Member
Join Date: Sep 2009
Location: Belgium
Old 03-20-2010 , 15:07   Re: Menu Multi Plugin
#3

Ok, merci comme ça donc?
PHP Code:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Surf Menu"
#define VERSION "1.0"
#define AUTHOR "Airshot"


public plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_clcmd("say menu""Surfmenu")
    
register_clcmd("say_team menu""Surfmenu")
    
register_clcmd("say /menu""Surfmenu")
    
register_clcmd("say_team /menu""Surfmenu")
}
public 
Surfmenu(id)
{
    
menu menu_create ("Surf Menu:""surf_menu")
    
formatexmenuTextcharsmax(menuText), "Enable / Disable Speedometer")
    
menu_additem(menumenuText"1")
    
menu_setprop(menuMPROP_EXITNAME"Exit")
    
menu_setprop(menuMPROP_EXITMEXIT_ALL)
}
public 
surf_menu(idmenuitem)
{
    if (
item == MENU_EXIT) return PLUGIN_HANDLED
    
new key str_to_num(info)
    
    switch(
key)
    {
        case 
1:
        {
            
client_cmd(id"say /speed")
        }
    }

__________________

Last edited by AirShot; 03-20-2010 at 15:23. Reason: OOOOPS
AirShot is offline
Fr33m@n
Veteran Member
Join Date: May 2008
Location: France Marne
Old 03-20-2010 , 15:26   Re: Menu Multi Plugin
#4

bah oui.

mais verifie dans ton plugins des vitesse si il y a autre chose que des register_clcmd("say blabla", "fn_blabla")

exemple si il y a quelquechose comme ça
register_clcmd("blabla", "fn_blabla")

dans ce cas dans ton menu tu peut utiliser
client_cmd(id, "blabla")

EDIT : JE croi quil manque des truc dans ton menu.

Last edited by Fr33m@n; 03-20-2010 at 15:32.
Fr33m@n is offline
Old 03-20-2010, 17:58
Fr33m@n
This message has been deleted by Fr33m@n.
AirShot
Veteran Member
Join Date: Sep 2009
Location: Belgium
Old 03-20-2010 , 17:10   Re: Menu Multi Plugin
#6

Il manque quoi?

edit ah peut-être ça?^^
PHP Code:
menu_display(idmenu
__________________

Last edited by AirShot; 03-20-2010 at 17:17.
AirShot is offline
Fr33m@n
Veteran Member
Join Date: May 2008
Location: France Marne
Old 03-20-2010 , 17:50   Re: Menu Multi Plugin
#7

new key = str_to_num(info)
Ok la tu transforme le string info en num mais info moi je connais pas là. Tu le sors d'où ? ^^
Puis ya d'autre truc qui vont pas bref.


PHP Code:
#include <amxmodx>
 
#define PLUGIN "Surf Menu"
#define VERSION "1.0"
#define AUTHOR "Airshot"
 
 
public plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_clcmd("say menu""Surfmenu")
    
register_clcmd("say /menu""Surfmenu")
    
register_clcmd("say_team menu""Surfmenu")
    
register_clcmd("say_team /menu""Surfmenu")
}
public 
Surfmenu(id)
{
    new 
menu menu_create ("Surf Menu:""surf_menu")
    
menu_additem(menu"Enable / Disable Speedometer""1")
 
    
menu_setprop(menuMPROP_EXITNAME"Exit")
    
menu_setprop(menuMPROP_EXITMEXIT_ALL)
 
    
menu_display(idmenu)
}
public 
surf_menu(idmenuitem)
{
    if (
item == MENU_EXIT) return PLUGIN_HANDLED
 
    
// Obtenir l'info de l'item
    
new info[3]
    new 
accesscallback
    menu_item_getinfo
(menuitemaccessinfo2__callback)
 
    new 
key str_to_num(info)
 
    switch(
key)
    {
        case 
1:
        {
            
client_cmd(id"say /speed")
        }
    }
    return 
PLUGIN_HANDLED


Last edited by Fr33m@n; 03-20-2010 at 18:05.
Fr33m@n is offline
Old 03-21-2010, 10:39
AirShot
This message has been deleted by AirShot. Reason: trouvé tout seul
AirShot
Veteran Member
Join Date: Sep 2009
Location: Belgium
Old 03-21-2010 , 12:45   Re: Menu Multi Plugin
#9

Merci freeman, ça fonctionne mais j'ai essayer d'ajouter un message qui s'affiche au joueurs 8 secondes après que le joueur aie chosir une équipe mais le message ne s'affiche pas.
Voici mon code :
PHP Code:
#include <amxmodx>

#define PLUGIN "Surf Menu"
#define VERSION "1.0"
#define AUTHOR "Airshot"

#define WELCOME_MSG 8.0


public plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_clcmd("say menu""Surfmenu")
    
register_clcmd("say /menu""Surfmenu")
    
register_clcmd("say_team menu""Surfmenu")
    
register_clcmd("say_team /menu""Surfmenu")
}

public 
client_putinserver(id)
{
    
set_task WELCOME_MSG"WelcomeMessage")
}
public 
WelcomeMessage(id)
{
    new 
welcome[18]
    
get_user_name(idwelcome17
    
print_color(idid0"!g[Always in Mind]!y Welcome to the server!t %s !g! !y Type!t /menu!y to open Surf Menu." welcome)
    return 
PLUGIN_CONTINUE
}

public 
Surfmenu(id)
{
    new 
menu menu_create ("\y Always in Mind \w Surf Menu:""surf_menu")
    
menu_additem(menu"Server Info""1")
    
menu_additem(menu"Surf Help""2")
    
menu_additem(menu"Enable / Disable Speedometer""3")
    
menu_additem(menu"Country menu""4")
    
menu_additem(menu"Surf shop""5")
    
menu_additem(menu"Chance to Respawn""6")
    
menu_additem(menu"Rock the round""7")
    
menu_additem(menu"Connect to HideNSeek server""8")
    
    
menu_setprop(menuMPROP_EXITNAME"Exit")
    
menu_setprop(menuMPROP_EXITMEXIT_ALL)
    
    
menu_display(idmenu)
}
public 
surf_menu(idmenuitem)
{
    if (
item == MENU_EXIT) return PLUGIN_HANDLED
    
    
// Obtenir l'info de l'item
    
new info[3]
    new 
accesscallback
    menu_item_getinfo
(menuitemaccessinfo2__callback)
    
    new 
key str_to_num(info)
    
    switch(
key)
    {
        case 
1:
        {
            
client_cmd(id"say /info")
            return 
PLUGIN_HANDLED
        
}
        case 
2:
        {
            
client_cmd(id"say /help")
            return 
PLUGIN_HANDLED
        
}
        
        case 
3:
        {
            
client_cmd(id"/speed")
            return 
PLUGIN_HANDLED
        
}
        
        case 
4:
        {
            
client_cmd(id"country")
            return 
PLUGIN_HANDLED
        
}
        case 
5:
        {
            
client_cmd(id"shop_menu")
            return 
PLUGIN_HANDLED
        
}
        case 
6:
        {
            
client_cmd(id"reviveme")
            return 
PLUGIN_HANDLED
        
}
        case 
7:
        {
            
client_cmd(id"say rtr")
            return 
PLUGIN_HANDLED
        
}
        case 
8:
        {
            
client_cmd(id";Connect 81.93.244.226:40000")
            return 
PLUGIN_HANDLED
        
}
    }
    return 
PLUGIN_HANDLED
}  

///////////////////////////
///     ColorChat    ///
///////////////////////////    
public print_color(idcidcolor, const message[], any:...)
{
    new 
msg[192]
    
vformat(msgcharsmax(msg), message5)
    
    
replace_all(msgcharsmax(msg), "!g""^x04")
    
replace_all(msgcharsmax(msg), "!n""^x01")
    
replace_all(msgcharsmax(msg), "!t""^x03")
    new 
param
    
if (!cid) return
    else 
param cid
    
new team[32]
    
get_user_team(paramteam31)
    switch (
color)
    {
        case 
0msg_teaminfo(paramteam)
            case 
1msg_teaminfo(param"TERRORIST")
            case 
2msg_teaminfo(param"CT")
            case 
3msg_teaminfo(param"SPECTATOR")
        }
    if (
idmsg_saytext(idparammsg)
    else 
msg_saytext(0parammsg)
    if (
color != 0msg_teaminfo(paramteam)
}
msg_saytext(idcidmsg[])
{
message_begin(id?MSG_ONE:MSG_ALLget_user_msgid("SayText"), {0,0,0}, id)
write_byte(cid)
write_string(msg)
message_end()
}
msg_teaminfo(idteam[])
{
message_begin(MSG_ONEget_user_msgid("TeamInfo"), {0,0,0}, id)
write_byte(id)
write_string(team)
message_end()
}  
/////////////////////////// 
print_color sert à mettre des couleurs dans mon message.
__________________

Last edited by AirShot; 03-21-2010 at 12:47.
AirShot is offline
Fr33m@n
Veteran Member
Join Date: May 2008
Location: France Marne
Old 03-21-2010 , 13:49   Re: Menu Multi Plugin
#10

Ok d'acord si tu utilise une task mais...
Si j'etait le plugins je serai bien emmerder car je ne sais pas à qui l'envoyer.
Fr33m@n 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 00:54.


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