Русское сообщество по скриптингу

Помогите с меню.

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Помогите с меню.

Сообщение 4e/l » 18 янв 2011, 14:38

Как сделать доступ к этому меню только для СТ.
Вот исходник:

Код: Выделить всё
// Includes
#include <amxmodx>
// If you want to Enable Colour Remove // on the colorchat
// #include <colorchat>
#include <fun>
#include <hamsandwich>

// Defines
#define VERSION "2.0"


// Plugins Stuff
public plugin_init() {
   register_plugin("Grenade Request", VERSION, "Shuttle_Wave")
   
   RegisterHam(Ham_Spawn, "player", "Player_Spawn_Post", 1)
   
   register_clcmd( "say /gr","NadeMenu");
   register_clcmd( "say_team /gr","NadeMenu");
}

public NadeMenu(id)
{
   new menu = menu_create("\rMenu grenade!", "menu_handler");
   
   menu_additem(menu, "\wFIRE", "1", 0);
   menu_additem(menu, "\wFROST", "2", 0);
   menu_additem(menu, "\wFLARE", "3", 0);
   
   menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
   
   menu_display(id, menu, 0);   
}

public menu_handler(id, menu, item)
{
   if( item == MENU_EXIT )
   {
      menu_destroy(menu);
      return PLUGIN_HANDLED;   
   }
   
   new data[6], iName[64];
   new access, callback;
   
   menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
   
   new key = str_to_num(data);
   
   switch(key)
   {
      case 1:
      {
         // ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] You have ^x04fire grenade^x01");
         client_print(id, print_chat, "You have fire grenade");
         give_item( id, "weapon_hegrenade" );
         menu_destroy(menu);
         return PLUGIN_HANDLED
   }
      case 2:
      {
         // ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] You have ^x04frost grenade^x01");
         client_print(id, print_chat, "You have frost grenade");
         give_item( id, "weapon_flashbang" );
                        give_item( id, "weapon_flashbang" );
         menu_destroy(menu);
         return PLUGIN_HANDLED
   }
      case 3:
      {
         // ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] You have ^x04flare grenade^x01");
         client_print(id, print_chat, "You have flare grenade");
         give_item( id, "weapon_smokegrenade" );
         menu_destroy(menu);
         return PLUGIN_HANDLED
   }
}
   
   menu_destroy(menu);
   return PLUGIN_HANDLED
}

public Player_Spawn_Post(id)
{
   // ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] For a choice grenade write ^x04/gr^x01");
   client_print(id, print_chat, "For a choice grenade write /gr");
   return PLUGIN_HANDLED
}
/* Shuttle_Waves-Nots - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }

*/
Аватара пользователя
4e/l
 
Сообщения: 59
Зарегистрирован: 09 янв 2011, 13:59
Благодарил (а): 10 раз.
Поблагодарили: 3 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Помогите с меню.

Сообщение Format » 18 янв 2011, 15:05

[pawn]// Includes
#include <amxmodx>
// If you want to Enable Colour Remove // on the colorchat
// #include <colorchat>
#include <fun>
#include <hamsandwich>

// Defines
#define VERSION "2.0"


// Plugins Stuff
public plugin_init() {
   
register_plugin("Grenade Request"VERSION"Shuttle_Wave")
   
   
RegisterHam(Ham_Spawn"player""Player_Spawn_Post"1)
   
   
register_clcmd"say /gr","NadeMenu");
   
register_clcmd"say_team /gr","NadeMenu");
}

public 
NadeMenu(id)
{
   if (
cs_get_user_team(id) == CS_TEAM_CT)
   {
   new 
menu menu_create("\rMenu grenade!""menu_handler");
   
   
menu_additem(menu"\wFIRE""1"0);
   
menu_additem(menu"\wFROST""2"0);
   
menu_additem(menu"\wFLARE""3"0);
   
   
menu_setprop(menuMPROP_EXITMEXIT_ALL);
   
   
menu_display(idmenu0);   
}

public 
menu_handler(idmenuitem)
{
   if( 
item == MENU_EXIT )
   {
      
menu_destroy(menu);
      return 
PLUGIN_HANDLED;   
   }
   
   new 
data[6], iName[64];
   new 
accesscallback;
   
   
menu_item_getinfo(menuitemaccessdata,5iName63callback);
   
   new 
key str_to_num(data);
   
   switch(
key)
   {
      case 
1:
      {
         
// ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] You have ^x04fire grenade^x01");
         
client_print(idprint_chat"You have fire grenade");
         
give_itemid"weapon_hegrenade" );
         
menu_destroy(menu);
         return 
PLUGIN_HANDLED
   
}
      case 
2:
      {
         
// ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] You have ^x04frost grenade^x01");
         
client_print(idprint_chat"You have frost grenade");
         
give_itemid"weapon_flashbang" );
                        
give_itemid"weapon_flashbang" );
         
menu_destroy(menu);
         return 
PLUGIN_HANDLED
   
}
      case 
3:
      {
         
// ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] You have ^x04flare grenade^x01");
         
client_print(idprint_chat"You have flare grenade");
         
give_itemid"weapon_smokegrenade" );
         
menu_destroy(menu);
         return 
PLUGIN_HANDLED
   
}
}
   
   
menu_destroy(menu);
   return 
PLUGIN_HANDLED
}

public 
Player_Spawn_Post(id)
{
   
// ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] For a choice grenade write ^x04/gr^x01");
   
client_print(idprint_chat"For a choice grenade write /gr");
   return 
PLUGIN_HANDLED
}
/* Shuttle_Waves-Nots - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
[/pawn]
Аватара пользователя
Format
 
Сообщения: 94
Зарегистрирован: 20 авг 2010, 14:03
Благодарил (а): 9 раз.
Поблагодарили: 14 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Помогите с меню.

Сообщение 4e/l » 18 янв 2011, 15:55

Мда вылезло 5 ошибок и не могу понять как исправить.
Аватара пользователя
4e/l
 
Сообщения: 59
Зарегистрирован: 09 янв 2011, 13:59
Благодарил (а): 10 раз.
Поблагодарили: 3 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Помогите с меню.

Сообщение Format » 18 янв 2011, 16:03

[pawn]// Includes
#include <amxmodx>
// If you want to Enable Colour Remove // on the colorchat
// #include <colorchat>
#include <fun>
#include <hamsandwich>
#include <cstrike>

// Defines
#define VERSION "2.0"


// Plugins Stuff
public plugin_init() {
   
register_plugin("Grenade Request"VERSION"Shuttle_Wave")
   
   
RegisterHam(Ham_Spawn"player""Player_Spawn_Post"1)
   
   
register_clcmd"say /gr","NadeMenu");
   
register_clcmd"say_team /gr","NadeMenu");
}

public 
NadeMenu(id)
{
   if (
cs_get_user_team(id) == CS_TEAM_CT)
   {
   new 
menu menu_create("\rMenu grenade!""menu_handler");
   
   
menu_additem(menu"\wFIRE""1"0);
   
menu_additem(menu"\wFROST""2"0);
   
menu_additem(menu"\wFLARE""3"0);
   
   
menu_setprop(menuMPROP_EXITMEXIT_ALL);
   
   
menu_display(idmenu0); 
   }  
}

public 
menu_handler(idmenuitem)
{
   if( 
item == MENU_EXIT )
   {
      
menu_destroy(menu);
      return 
PLUGIN_HANDLED;   
   }
   
   new 
data[6], iName[64];
   new 
accesscallback;
   
   
menu_item_getinfo(menuitemaccessdata,5iName63callback);
   
   new 
key str_to_num(data);
   
   switch(
key)
   {
      case 
1:
      {
         
// ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] You have ^x04fire grenade^x01");
         
client_print(idprint_chat"You have fire grenade");
         
give_itemid"weapon_hegrenade" );
         
menu_destroy(menu);
         return 
PLUGIN_HANDLED
   
}
      case 
2:
      {
         
// ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] You have ^x04frost grenade^x01");
         
client_print(idprint_chat"You have frost grenade");
         
give_itemid"weapon_flashbang" );
                        
give_itemid"weapon_flashbang" );
         
menu_destroy(menu);
         return 
PLUGIN_HANDLED
   
}
      case 
3:
      {
         
// ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] You have ^x04flare grenade^x01");
         
client_print(idprint_chat"You have flare grenade");
         
give_itemid"weapon_smokegrenade" );
         
menu_destroy(menu);
         return 
PLUGIN_HANDLED
   
}
}
   
   
menu_destroy(menu);
   return 
PLUGIN_HANDLED
}
 
[/pawn]


Сорри. Cstrike модуль забыл поставить :-[ 8-)
Аватара пользователя
Format
 
Сообщения: 94
Зарегистрирован: 20 авг 2010, 14:03
Благодарил (а): 9 раз.
Поблагодарили: 14 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Помогите с меню.

Сообщение 4e/l » 18 янв 2011, 16:20

Что тут подскажи.
Вот весь исходник:

[pawn]/* 
    
    ------------------------------
    Copyrights 2009© , Shuttle_Wave
    ------------------------------
    
    Grenade Request Menu coded by Shuttle_Wave. Waves Extreme Gaming Network.
    Bugs or issues contact Shuttle_Wave. [email protected] or via PM.
    
    
    
    --------
    CREDITS
    --------
    
    Emp` ; For his new AMXX Menu System.
    Shadow_Wave ; Testing
    
    
    ---------
    Contacts
    ---------
    
    Shuttle_Wave ; [email protected] or via PM

*/


// Includes
#include <amxmodx>
// If you want to Enable Colour Remove // on the colorchat
// #include <colorchat>
#include <fun>
#include <hamsandwich>
#include <cstrike>

// Defines
#define VERSION "2.0"


// Plugins Stuff
public plugin_init() {
    register_plugin("Grenade Request", VERSION, "Shuttle_Wave")
    
    RegisterHam
(Ham_Spawn, "player", "Player_Spawn_Post", 1)
    
    register_clcmd
( "say /gr","NadeMenu");
    register_clcmd( "say_team /gr","NadeMenu");
}

public NadeMenu(id)
{
    if (cs_get_user_team(id) == CS_TEAM_CT)
       {
    new menu = menu_create("\rMenu grenade!", "menu_handler");
    
    menu_additem
(menu, "\wFIRE", "1", 0);
    menu_additem(menu, "\wFROST", "2", 0);
    menu_additem(menu, "\wFLARE", "3", 0);
    
    menu_setprop
(menu, MPROP_EXIT, MEXIT_ALL);
    
    menu_display
(id, menu, 0);    
}

    public menu_handler(id, menu, item)
    {
    if( item == MENU_EXIT )
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;    
    
}
    
    new data
[6], iName[64];
    new access, callback;
    
    menu_item_getinfo
(menu, item, access, data,5, iName, 63, callback);
    
    new key 
= str_to_num(data);
    
    switch
(key)
    {
        case 1:
        {
            // ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] You have ^x04fire grenade^x01");
            client_print(id, print_chat, "You have fire grenade");
            give_item( id, "weapon_hegrenade" );
            menu_destroy(menu);
            return PLUGIN_HANDLED
    
}
        case 2:
        {
            // ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] You have ^x04frost grenade^x01");
            client_print(id, print_chat, "You have frost grenade");
            give_item( id, "weapon_flashbang" );
                        give_item( id, "weapon_flashbang" );
            menu_destroy(menu);
            return PLUGIN_HANDLED
    
}
        case 3:
        {
            // ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] You have ^x04flare grenade^x01");
            client_print(id, print_chat, "You have flare grenade");
            give_item( id, "weapon_smokegrenade" );
            menu_destroy(menu);
            return PLUGIN_HANDLED
    
}
}
    
    menu_destroy
(menu);
    return PLUGIN_HANDLED
}

public Player_Spawn_Post(id)
{
    // ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] For a choice grenade write ^x04/gr^x01");
    client_print(id, print_chat, "For a choice grenade write /gr");
    return PLUGIN_HANDLED
}
/* Shuttle_Waves-Nots - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
 [/pawn]
Аватара пользователя
4e/l
 
Сообщения: 59
Зарегистрирован: 09 янв 2011, 13:59
Благодарил (а): 10 раз.
Поблагодарили: 3 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Помогите с меню.

Сообщение Poma 007 » 18 янв 2011, 16:33

[pawn]// Includes
#include <amxmodx>
// If you want to Enable Colour Remove // on the colorchat
// #include <colorchat>
#include <fun>
#include <hamsandwich>
#include <cstrike>

// Defines
#define VERSION "2.0"


// Plugins Stuff
public plugin_init() {
   
register_plugin("Grenade Request"VERSION"Shuttle_Wave")
   
   
RegisterHam(Ham_Spawn"player""Player_Spawn_Post"1)
   
   
register_clcmd"say /gr","NadeMenu");
   
register_clcmd"say_team /gr","NadeMenu");
}

public 
NadeMenu(id)
{
   if (
cs_get_user_team(id) == CS_TEAM_CT)
   {
   new 
menu menu_create("\rMenu grenade!""menu_handler");
   
   
menu_additem(menu"\wFIRE""1"0);
   
menu_additem(menu"\wFROST""2"0);
   
menu_additem(menu"\wFLARE""3"0);
   
   
menu_setprop(menuMPROP_EXITMEXIT_ALL);
   
   
menu_display(idmenu0); 
   }  
}

public 
menu_handler(idmenuitem)
{
   if( 
item == MENU_EXIT )
   {
      
menu_destroy(menu);
      return 
PLUGIN_HANDLED;   
   }
   
   new 
data[6], iName[64];
   new 
accesscallback;
   
   
menu_item_getinfo(menuitemaccessdata,5iName63callback);
   
   new 
key str_to_num(data);
   
   switch(
key)
   {
      case 
1:
      {
         
// ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] You have ^x04fire grenade^x01");
         
client_print(idprint_chat"You have fire grenade");
         
give_itemid"weapon_hegrenade" );
         
menu_destroy(menu);
         return 
PLUGIN_HANDLED
   
}
      case 
2:
      {
         
// ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] You have ^x04frost grenade^x01");
         
client_print(idprint_chat"You have frost grenade");
         
give_itemid"weapon_flashbang" );
                        
give_itemid"weapon_flashbang" );
         
menu_destroy(menu);
         return 
PLUGIN_HANDLED
   
}
      case 
3:
      {
         
// ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] You have ^x04flare grenade^x01");
         
client_print(idprint_chat"You have flare grenade");
         
give_itemid"weapon_smokegrenade" );
         
menu_destroy(menu);
         return 
PLUGIN_HANDLED
   
}
}
   
   
menu_destroy(menu);
   return 
PLUGIN_HANDLED
}
public 
Player_Spawn_Post(id)
{
    
// ColorChat(0,NORMAL,"[ ^x04Grenade Request^x01 ] For a choice grenade write ^x04/gr^x01");
    
client_print(idprint_chat"For a choice grenade write /gr");
    return 
PLUGIN_HANDLED
}
/* Shuttle_Waves-Nots - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/ 
  
[/pawn]
Аватара пользователя
Poma 007
 
Сообщения: 59
Зарегистрирован: 24 апр 2010, 20:01
Благодарил (а): 5 раз.
Поблагодарили: 1 раз.
Языки программирования: Counter-Strike 1.6
php

Re: Помогите с меню.

Сообщение 4e/l » 18 янв 2011, 16:38

Poma 007 а что ты там сделал??
Аватара пользователя
4e/l
 
Сообщения: 59
Зарегистрирован: 09 янв 2011, 13:59
Благодарил (а): 10 раз.
Поблагодарили: 3 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Помогите с меню.

Сообщение Poma 007 » 18 янв 2011, 16:39

4e/l, так ты попросил его полностью? я вот и дописал 3 строчки :-D
Аватара пользователя
Poma 007
 
Сообщения: 59
Зарегистрирован: 24 апр 2010, 20:01
Благодарил (а): 5 раз.
Поблагодарили: 1 раз.
Языки программирования: Counter-Strike 1.6
php


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20