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

DeathRun Menu:Добавить проверку

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

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

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

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

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

DeathRun Menu:Добавить проверку

Сообщение LouisJump » 02 окт 2017, 21:45

Привет всем ребята :-)
Как добавить проверку Например Во время дуеля в меню сервере проверка 1.Дуель(Идет Дуель) а когда умер (Вы мертвы) как сделать так помогите ребята )
Исходный код
Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <dhudmessage>
#include <fifayer_system>
#include <color_print>



#pragma tabsize 0


#define FL_ONGROUND    (1<<9)

new mode[32]

new 
spec[33][33]
new 
onoff[33]
new 
rueng[33]
new 
speed[33]
new 
cam[33]
new 
bhop_id[33]
new 
bhop_menu[33]
new 
chat[33]
new 
onoffz[33]


new 
lang[33] = 0

native set_hide_players
(id,type)
native get_hide_players(id)

public 
plugin_init()
{
    
register_plugin("StreetTMMenu","1.0","Danjkeee");
    
register_clcmd("player_menu""go_menu");
    
register_clcmd("menu","go_menu");
    
register_clcmd("say /menu","go_menu");
    
register_clcmd("say /ermoff","ermoff");
    
register_clcmd("say /ermon","ermon");
    
register_clcmd("chooseteam","go_menu");
    
register_clcmd("say /lang","lang_1");
    
register_clcmd("say /bhop","bhop_1");
    
register_clcmd("say_team /ermoff","ermoff");
    
register_clcmd("say_team /ermon","ermon");
    
register_clcmd("say_team /lang","lang_1");
    
register_dictionary("EndRoundMusicByPraVitelb.txt");
}


public 
plugin_natives()
{
    
register_library"fifayer_system" );
    
register_native"get_speed""_get_speed");
    
register_native"get_spec""_get_spec");
    
register_native"get_chat""_get_chat");
}

public 
_get_speed(id
{
    return 
speedid ];
}

public 
_get_spec(id
{
    return 
specid ];
}

public 
_get_chat(id
{
    return 
chatid ];
}


public 
ermoff(id)
{
onoff[id] = 1
}
public 
ermon(id)
{
onoff[id] = 0
}

public 
lang_1(id)
{
if(
lang[id] < 1)
{
rueng[id] = 1
lang
[id]++
}
else
{
rueng[id] = 0
lang
[id] = 0
}
}

public 
bhop_1(id)
{
if(
get_bhop(id) ==  1)
{
if(
bhop_id[id] < 1)
{
bhop_id[id]++
bhop_menu[id] = 1
}
else
{
bhop_menu[id] = 0
bhop_id
[id] = 0
}
}
}

/* public client_authorized(id)
{
    client_cmd(id, "bind ^"F3^" ^"player_menu^"")
} */

public func_menu(idmenukey)
{
  if(
key == MENU_EXIT)
  {
      
menu_destroy(menu)
    return 
PLUGIN_HANDLED
  
}
  new 
accssclbckdata[6], name[64], itm
  menu_item_getinfo
(menukeyaccssdata5name63clbck)
  
itm str_to_num(data)
  switch(
itm)
  {
 case 
1:
{
get_cvar_string("deathrun_mode"mode31);
if(
equal(mode"DUEL"))
{
go_menu(id
}
else
{
client_cmd(id,"buyequip"
}
}
case 
2:
{
client_cmd(id,"lifemenu")
}
case 
3:
{
client_cmd(id"moneymenu")
}
case 
4:
{
client_cmd(id"say /dd")
}
case 
5:
{
client_cmd(id"say /mute")
}
case 
6:
{
get_cvar_string("deathrun_mode"mode31);
if(
equali(mode,"FREE") || equali(mode,"DUEL") || !is_user_alive(id) || get_user_team(id) != 2
{
go_menu(id
}
else
{
client_cmd(id,"say /knife"
}
}
case 
7:
{
go_setting(id)
}
case 
8:
{
transfermenu(id)
}
case 
9:
{
go_info(id)
}

case 
0menu_destroy(menu)
  }
  return 
PLUGIN_HANDLED
}

public 
go_menu(id
{
    new 
menu
    menu 
menu_create("^n^n^n\yИгровое меню","func_menu");
get_cvar_string("deathrun_mode"mode31);
if(
equal(mode"DUEL"))
 {
     
menu_additemmenu,"\dМагазин \d(\rИдет Дуель...\d)""1"0)
 }
else
{
    
menu_additemmenu,"\wМагазин""1"0)
}
    
menu_additemmenu,"\wМеню жизней^n""2"0)
    
menu_additemmenu,"\wПередать деньги""3"0)
    
menu_additemmenu,"\wДуель""4"0)
    
menu_additemmenu,"\wЗаткнуть игрока""5"0)
    if(
equali(mode,"FREE") || equali(mode,"DUEL") || !is_user_alive(id) || get_user_team(id) != 2
      {
     
menu_additemmenu,"\dБезумные ножи \y:D \d(\rНедоступно\d)^n""6"0)
      }
      else
    {
    
menu_additemmenu,"\wБезумные ножи \y:D^n""6"0)
     }
    
menu_additemmenu,"\wНастройки""7"0)
    
menu_additemmenu,"\wУслуги/Акции""8"0)
    
    
menu_additemmenu,"Меню привилегий^n""9"0)
    
    
menu_additemmenu,"\wВыход""0"0)
    
menu_setprop(menuMPROP_PERPAGE0)
    
menu_setprop(menuMPROP_NUMBER_COLOR"\y")

menu_display(idmenu)
return 
PLUGIN_HANDLED
}


public 
transfermenu(id)
{
    new 
menu
    menu 
menu_create("Платные Услуги/Акции","transfermenus");
    
menu_additemmenu,"VIP Привилегий""1"0)
    
menu_additemmenu,"Админ Привилегий""2"0)
    
menu_additemmenu,"Персональный костюм""3"0)
    
menu_additemmenu,"Префикс в чат""4"0)
    
menu_additemmenu,"Премиум Привилегий""5"0)
    
    
menu_setprop(menuMPROP_NUMBER_COLOR"\y")
    
menu_setprop(menuMPROP_EXITNAME"Выход")
    
menu_display(idmenu)
    
return 
PLUGIN_HANDLED
}

public 
transfermenus(id,menu,item)
{
    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)
    new 
name[32]
    
get_user_name(idname31)    

    switch(
key)
    {

    case 
1:
    {
    
transfermenu(id)
    }
    
    case 
2:
    {
    
transfermenu(id)
    }
   case 
3:
    {
    
transfermenu(id)
    }
    case 
4:
    {
    
transfermenu(id)
    }
     case 
5:
    {
    
transfermenu(id)
    } 
  }
  return 
PLUGIN_HANDLED
}

public 
go_setting(id)
{
    
    new 
menu
    menu 
menu_create("\d[\yDeathRun\d] \dНастройки:","go_settings");
    
    
if(!
rueng[id])
{
    
menu_additemmenu,"\wЯзык чата \rРусский""1"0)
}
else
{
    
menu_additemmenu,"\wЯзык чата \yАнглийский""1"0)
}

if(
get_bhop(id) ==  1)
{
if(!
bhop_menu[id])
{
    
menu_additemmenu,"\wРаспрыжка \d[\yВкл.\d]""2"0)
}
else
{
    
menu_additemmenu,"\wРаспрыжка \d[\rВыкл.\d]""2"0)
}
}
else
{
    
menu_additemmenu,"\dРаспрыжка \d[\rРежим еще не выбран.\d]""2"0)
}

if(!
speed[id])
{
    
menu_additemmenu,"\wСпидометр \d[\rВыкл\d]""3"0)
}
else
{
    
menu_additemmenu,"\wСпидометр \d[\yВкл.\d]""3"0)
}

if(!
onoff[id])
{
    
menu_additemmenu,"\wНаблюдатели \d[\rВыкл.\d]""4"0)
}
else
{
    
menu_additemmenu,"\wНаблюдатели \d[\yВкл.\d]""4"0)
}

if(!
cam[id])
{
    
menu_additemmenu,"\wВид от 3-его лица \d[\rВыкл.\d]""5"0)
}
else
{
    
menu_additemmenu,"\wВид от 3-его лица \d[\yВкл.\d]""5"0)
}

if(!
onoffz[id])
{
    
menu_additemmenu,"\wМодели игроков \d[\rВыкл.\d]""6"0)
}
else
{
    
menu_additemmenu,"\wМодели игроков \d[\yВкл.\d]""6"0)
}
menu_additemmenu,"\wОбнулить счет""7"0)

menu_setprop(menuMPROP_NUMBER_COLOR"\y")
menu_setprop(menuMPROP_EXITNAME"Выход")
     
menu_display(idmenu)
    

    return 
PLUGIN_HANDLED
}

public 
go_settings(id,menu,item)
{
    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)
    new 
name[32]
    
get_user_name(idname31)    

    switch(
key)
    {

case 
1:
{
if(
rueng[id])
{
client_cmd(id,"say /eng")
rueng[id] = 0
}
else
{
client_cmd(id,"say /rus")
rueng[id] = 1
}
go_setting(id)
}

case 
2:
{
if(
get_bhop(id) ==  1)
{
if(
bhop_menu[id])
{
bhop_menu[id] = 0
client_cmd
(id,"say /bhop")
go_setting(id)
}
else
{
bhop_menu[id] = 1
client_cmd
(id,"say /bhop")
go_setting(id)
}
}
else
{
go_setting(id)
}
}

case 
3:
{
if(
speed[id])
{
client_cmd(id,"say /speed")
speed[id] = 0
}
else
{
client_cmd(id,"say /speed")
speed[id] = 1
}
go_setting(id)
}

case 
4:
    {
if(
onoff[id])
{
client_cmd(id,"cmd_speclist")
onoff[id] = 0
}
else
{
client_cmd(id,"cmd_speclist")
onoff[id] = 1
}
go_setting(id)
}

case 
5:
    {
if(
cam[id])
{
client_cmd(id,"say /cam")
cam[id] = 0
}
else
{
client_cmd(id,"say /cam")
cam[id] = 1
}
go_setting(id)
}   
case 
6:
    {
if(
onoffz[id])
{
set_hide_players(id,get_hide_players(id) ? 1)
onoffz[id] = 0
}
else
{
set_hide_players(id,get_hide_players(id) ? 1)
onoffz[id] = 1
}
go_setting(id)
}
case 
7:
{
set_user_frags(id0)
cs_set_user_deaths(id0)    
client_print(id,print_center,"Вы обнулили свой счет!"LANG_PLAYER"RS"
     }
    
//case 0: menu_destroy(menu)
  
}
  return 
PLUGIN_HANDLED
}

        public 
reset_score(id)
        {
                
cs_set_user_deaths(id0)
                
set_user_frags(id0)

        }
        
        public 
go_info(id)
{
    new 
menu
    menu 
menu_create("^n^n^n\wПривилегия [\yСкайп rustam_server\w]^nМеню привилегий^n","go_infos");
    
get_cvar_string("deathrun_mode"mode31);
if(
equal(mode"DUEL"))
 {
     
menu_additemmenu,"\dВип меню \r(\dНедоступно\r)""1"0)
 }
else
{
    
menu_additemmenu,"\wВип меню""1"0)
}
    
get_cvar_string("deathrun_mode"mode31);
if(
equal(mode"DUEL"))
 {
     
menu_additemmenu,"\dАдмин меню \r(\dНедоступно\r)""2"0)
 }
else
{
    
menu_additemmenu,"\wАдмин меню""2"0)
}
get_cvar_string("deathrun_mode"mode31);
if(
equal(mode"DUEL"))
 {
     
menu_additemmenu,"\dПремиум меню \r(\dНедоступно\r)""3"0)
 }
else
{
    
menu_additemmenu,"\wПремиум меню""3"0)
}
get_cvar_string("deathrun_mode"mode31);
if(
equal(mode"DUEL"))
 {
     
menu_additemmenu,"\dМодератор меню \r(\dНедоступно\r)^n""4"0)
 }
else
{
    
menu_additemmenu,"\wМодератор меню^n""4"0)
}

    
menu_setprop(menuMPROP_NUMBER_COLOR"\y")
    
menu_setprop(menuMPROP_EXITNAME"Выход")
    
menu_display(idmenu)
}

public 
go_infos(id,menu,item)
{
    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)
    new 
name[32]
    
get_user_name(idname31)

    switch(
key)
    {
case 
1:
{
get_cvar_string("deathrun_mode"mode31);
if(
equal(mode"DUEL"))
{
go_menu(id
}
else
{
client_cmd(id,"vipmenu")
}
}
case 
2:
{
get_cvar_string("deathrun_mode"mode31);
if(
equal(mode"DUEL"))
{
go_menu(id
}
else
{
client_cmd(id,"adminmenu")
}
}
case 
3:
{
get_cvar_string("deathrun_mode"mode31);
if(
equal(mode"DUEL"))
{
go_menu(id
}
else
{
client_cmd(id,"premiummenu")
}
}
case 
4:
{
get_cvar_string("deathrun_mode"mode31);
if(
equal(mode"DUEL"))
{
go_menu(id
}
else
{
client_cmd(id,"amx_adminmenu")
}
}

    
//case 0: menu_destroy(menu)
  
}
  return 
PLUGIN_HANDLED;
}
     
Аватара пользователя
LouisJump
 
Сообщения: 79
Зарегистрирован: 13 июл 2014, 13:00
Благодарил (а): 24 раз.
Поблагодарили: 3 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6

Re: DeathRun Menu:Добавить проверку

Сообщение NEoMASTERR » 02 окт 2017, 21:58

- постройте мне ракету, вот картинка

Аватара пользователя
NEoMASTERR
 
Сообщения: 832
Зарегистрирован: 05 янв 2015, 16:38
Благодарил (а): 43 раз.
Поблагодарили: 188 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: DeathRun Menu:Добавить проверку

Сообщение LouisJump » 02 окт 2017, 22:26

NEoMASTERR писал(а):- постройте мне ракету, вот картинка


Классная шутейчка брат :thumbs_up
Аватара пользователя
LouisJump
 
Сообщения: 79
Зарегистрирован: 13 июл 2014, 13:00
Благодарил (а): 24 раз.
Поблагодарили: 3 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6

Re: DeathRun Menu:Добавить проверку

Сообщение NEoMASTERR » 02 окт 2017, 22:38

Проверка условия делается через if

Как пользоваться if и остальными основными функциями вы можете найти здесь:
Вы должны зарегистрироваться, чтобы видеть ссылки. ... _Scripting
Вы должны зарегистрироваться, чтобы видеть ссылки. ... cripts.htm
Вы должны зарегистрироваться, чтобы видеть ссылки.

И это не шутка, ваше сообщение так и выглядит

Ваш скрипт криво отформатирован, смотреть его больно.
В этом скрипте я не вижу дуэлей, полагаю они у вас в другом плагине

1. Да и есть у вас эта проверка
Код: Выделить всё
if(equal(mode, "DUEL"))

2. Вы должны зарегистрироваться, чтобы видеть ссылки.

Следующий!
Аватара пользователя
NEoMASTERR
 
Сообщения: 832
Зарегистрирован: 05 янв 2015, 16:38
Благодарил (а): 43 раз.
Поблагодарили: 188 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6


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

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

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