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

Vip: Ограничение в использовании по раундам  [Решено]

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

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

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

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

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

Vip: Ограничение в использовании по раундам

Сообщение Zloy-DED » 24 сен 2017, 12:43

Здравствуйте , немного вспомнил как да что пишется ) тут сделал легенькую випку но не могу вспомнить,
и на форуме найти пытался нечего не нашел ((( может плохо искал извиняюсь заранее

Как сделать ограничение на использование определенных пунктов раз в 2 раунда это пункт взять AWP
и как сделать випку с 4 раунда

Исходник:
Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <engine>

#define PLUGIN "Vip"
#define VERSION "0.1"
#define AUTHOR "Zloy-DED"

public plugin_init() 
{
    register_clcmd( "say /vipabcs", "VIPMenu" ); 
    register_clcmd
( "say vipabcs", "VIPMenu" ); 
}


public ResetHUD(id)
{
    set_task(0.5, "VIPTAB", id + 6910)
}

public VIPMenu( id ) 
{
if(
get_user_flags(id) & ADMIN_LEVEL_H)
{
   new vip_menu = menu_create( "\yВип меню^n \r[1 Уровень]^n\dBy Zloy-DED", "menu_handler" ); 
   menu_additem
( vip_menu, "Взять \r[\dAK47\r+\dDEAGLE\r]", "1", 0 );
   menu_additem( vip_menu, "Взять \r[\dM4A1\r+\dDEAGLE\r]", "2", 0 );
   menu_additem( vip_menu, "Взять \r[\dAWP\r+\dDEAGLE\r]", "3", 0 );
   menu_additem( vip_menu, "Воскреснуть", "4", 0 );
   menu_additem( vip_menu, "Взять 16000", "5", 0 );

menu_setprop( vip_menu, MPROP_EXIT, MEXIT_ALL ); 
menu_display
( id, vip_menu, 0 ); 
}
else 
  
{
    client_print(id, print_chat, "[ABCS-SERVERA.TK]  куда ты лезеш ты не вип!!!") 
  
}
}

public Spawn_player(id)
{
  if(is_user_alive(id) && is_user_connected(id))
  {
    set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderNormal,0)
    set_view( id, 0 )
    cs_set_user_armor(id, 0, CS_ARMOR_NONE)
    set_user_maxspeed(id, 250.0)
    set_user_gravity( id, 1.0 )
    set_user_health( id, 100 )
    set_user_noclip(id, 0)
    set_user_godmode(id, 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:
{
strip_user_weapons (id);
give_item(id, "weapon_ak47");
give_item(id, "weapon_deagle");
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"item_assaultsuit")    
}
case 2:
{
strip_user_weapons (id);
give_item( id, "weapon_m4a1" );
give_item(id, "weapon_deagle");
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"item_assaultsuit")    
}
case 3:
{
strip_user_weapons (id);
give_item(id, "weapon_awp");
give_item(id, "weapon_deagle");
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"item_assaultsuit")    
}
case 4:
{
spawn(id)
}
case 5:
{
cs_set_user_money(id,16000)
}
}
 
menu_destroy
( menu ); 
return PLUGIN_HANDLED
; 
} 

public VIPTAB
(TaskID)
{
    new id = TaskID - 6910
    
    if 
(is_user_admin(id))
    {
        message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
        write_byte(id)
        write_byte(4)
        message_end()
        give_item(id,"weapon_hegrenade")
        give_item(id,"weapon_flashbang")
        give_item(id,"weapon_flashbang")
        give_item(id,"weapon_smokegrenade")
        give_item(id,"item_assaultsuit")    
    
}
    
    return PLUGIN_HANDLED
}
Аватара пользователя
Zloy-DED
 
Сообщения: 256
Зарегистрирован: 30 мар 2013, 12:31
Благодарил (а): 33 раз.
Поблагодарили: 33 раз.
Языки программирования: Counter-Strike 1.6

Re: Vip: Ограничение в использовании по раундам

Сообщение Lethargy » 24 сен 2017, 21:33

Lawful evil ]:->

Были бы в языке pawn объекты, было бы круто. Почему нет объектов в павне?
Аватара пользователя
Lethargy
 
Сообщения: 179
Зарегистрирован: 12 мар 2017, 17:25
Благодарил (а): 34 раз.
Поблагодарили: 15 раз.
Языки программирования: За 3-4 часа любой язык

Re: Vip: Ограничение в использовании по раундам

Сообщение Zloy-DED » 24 сен 2017, 21:43

Lethargy писал(а):Сегодня задавали такой вопрос.
Вы должны зарегистрироваться, чтобы видеть ссылки.

понимаю что задавали , но в том исходнике понять не могу что да как там )
извиняюсь за свою глупость
Аватара пользователя
Zloy-DED
 
Сообщения: 256
Зарегистрирован: 30 мар 2013, 12:31
Благодарил (а): 33 раз.
Поблагодарили: 33 раз.
Языки программирования: Counter-Strike 1.6

Re: Vip: Ограничение в использовании по раундам

Сообщение Lethargy » 24 сен 2017, 21:54

Я могу рассказать как это можно реализовать, но код тебе придется писать самому, я не очень умею в павн.

Или подождать когда придут умные люди и запилят тебе всё ;)
Lawful evil ]:->

Были бы в языке pawn объекты, было бы круто. Почему нет объектов в павне?
Аватара пользователя
Lethargy
 
Сообщения: 179
Зарегистрирован: 12 мар 2017, 17:25
Благодарил (а): 34 раз.
Поблагодарили: 15 раз.
Языки программирования: За 3-4 часа любой язык

Re: Vip: Ограничение в использовании по раундам

Сообщение Zloy-DED » 25 сен 2017, 03:22

Lethargy писал(а):Я могу рассказать как это можно реализовать, но код тебе придется писать самому, я не очень умею в павн.

Или подождать когда придут умные люди и запилят тебе всё ;)

ну если можно расскажи пожалуйста я то сам все сделаю
Аватара пользователя
Zloy-DED
 
Сообщения: 256
Зарегистрирован: 30 мар 2013, 12:31
Благодарил (а): 33 раз.
Поблагодарили: 33 раз.
Языки программирования: Counter-Strike 1.6

Re: Vip: Ограничение в использовании по раундам

Сообщение Lethargy » 25 сен 2017, 16:08

Вопрос открыт или уже все?
Lawful evil ]:->

Были бы в языке pawn объекты, было бы круто. Почему нет объектов в павне?
Аватара пользователя
Lethargy
 
Сообщения: 179
Зарегистрирован: 12 мар 2017, 17:25
Благодарил (а): 34 раз.
Поблагодарили: 15 раз.
Языки программирования: За 3-4 часа любой язык

Re: Vip: Ограничение в использовании по раундам

Сообщение Zloy-DED » 25 сен 2017, 16:12

Lethargy писал(а):Вопрос открыт или уже все?

вопрос по добовлению уже зарыт только сейчас не пойму мне почему-то вечно пишет как не зайду в вип меню что сейчас раунд 0 что не так

Исходник:
Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <engine>

#define PLUGIN "Vip System By abcs-servera.tk"
#define VERSION "0.1"
#define AUTHOR "Zloy-DED"

new g_F_counter[33] = 0
new g_RoundCount

public 
plugin_init() 
{
    
register_clcmd"vipabcs""VIPMenu" );
    
    
register_event("ResetHUD""ResetHUD""be")
    
register_event("ResetHUD""resetModel""b")
    
register_event("HLTV""Event_RoundStart""a""1=0""2=0");
    
register_logevent("Event_GameCommencing"2"1=Game_Commencing");
}

public 
Event_RoundStart()
{
    
g_RoundCount++;


public 
Event_GameCommencing()
{
    
g_RoundCount 0
}

public 
ResetHUD(id)
{
    
set_task(0.5"VIPTAB"id 6910)
}

public 
plugin_precache() {
        
precache_model("models/player/vip_ct_abcs/vip_ct_abcs.mdl")
        
precache_model("models/player/vip_te_abcs/vip_te_abcs.mdl")

        return 
PLUGIN_CONTINUE
}

public 
VIPMenuid 
{
if(
get_user_flags(id) & ADMIN_LEVEL_H)
{
   new 
vip_menu menu_create"\yВип меню^n \r[1 Уровень]^n\dBy Zloy-DED""menu_handler" ); 
   
menu_additemvip_menu"Взять \r[\dAK47\r+\dDEAGLE\r]""1");
   
menu_additemvip_menu"Взять \r[\dM4A1\r+\dDEAGLE\r]""2");
   
menu_additemvip_menu"Взять \r[\dAWP\r+\dDEAGLE\r]""3");
   
menu_additemvip_menu"Воскреснуть""4");
   
menu_additemvip_menu"Взять 16000$ ""5");

menu_setpropvip_menuMPROP_EXITMEXIT_ALL ); 
menu_displayidvip_menu); 
}
else 
  {
    
ChatColor(id,"!g[!tABCS-SERVERA.TK!g]  !tкуда ты лезеш ты не вип!!!"
  }
}

public 
Spawn_player(id)
{
  if(
is_user_alive(id) && is_user_connected(id))
  {
    
set_user_rendering(idkRenderFxGlowShell000kRenderNormal,0)
    
set_viewid)
    
cs_set_user_armor(id0CS_ARMOR_NONE)
    
set_user_maxspeed(id250.0)
    
set_user_gravityid1.0 )
    
set_user_healthid100 )
    
set_user_noclip(id0)
    
set_user_godmode(id0)
   }
}

public 
menu_handleridmenuitem 
{
   if( 
item == MENU_EXIT 
    {
      
menu_destroymenu ); 
      return 
PLUGIN_HANDLED
    } 
    new 
data[6], iName[64]; 
    new 
accesscallback;  
    
menu_item_getinfomenuitemaccessdata,5iName63callback ); 
    new 
key str_to_numdata );
  switch( 
key 
{
case 
1:
{
            if(
g_RoundCount 2)
            {
                
ChatColor(id,"!g[!tABCS-SERVERA.TK!g] !yСейчас %d раунд, получение AK47 доступно только с 2 раунда"g_RoundCount);
                return 
PLUGIN_HANDLED;
            }  
strip_user_weapons (id);
give_item(id"weapon_ak47");
give_item(id"weapon_deagle");
give_item(id"weapon_knife");
cs_set_user_bpammo(idCSW_AK4790)
cs_set_user_bpammo(idCSW_DEAGLE35)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"item_assaultsuit")    
}
case 
2:
{
            if(
g_RoundCount 2)
            {
                
ChatColor(id,"!g[!tABCS-SERVERA.TK!g] Сейчас %d раунд, получение M4A1 доступно только с 2 раунда"g_RoundCount);
                return 
PLUGIN_HANDLED;
            }  
strip_user_weapons (id);
give_itemid"weapon_m4a1" );
give_item(id"weapon_deagle");
give_item(id"weapon_knife");
cs_set_user_bpammo(idCSW_M4A190)
cs_set_user_bpammo(idCSW_DEAGLE35)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"item_assaultsuit")    
}
case 
3:
{
            if(
g_RoundCount 3)
            {
                
ChatColor(id,"!g[!tABCS-SERVERA.TK!g] Сейчас %d раунд, получение AWP доступно только с 3 раунда"g_RoundCount);
                return 
PLUGIN_HANDLED;
            }  
strip_user_weapons (id);
give_item(id"weapon_awp");
give_item(id"weapon_deagle");
give_item(id"weapon_knife");
cs_set_user_bpammo(idCSW_AWP30)
cs_set_user_bpammo(idCSW_DEAGLE35)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"item_assaultsuit")    
}
case 
4:
{
            if(
g_RoundCount 5)
            {
                
ChatColor(id,"!g[!tABCS-SERVERA.TK!g] !yСейчас !t %d !y раунд, Воскрешение доступно только с !g 5 !y раунда"g_RoundCount);
                return 
PLUGIN_HANDLED;
            }  
spawn(id)
}
case 
5:
{
cs_set_user_money(id,16000)
}

menu_destroymenu ); 
return 
PLUGIN_HANDLED


public 
VIPTAB(TaskID)
{
    new 
id TaskID 6910
    
    
if (is_user_admin(id))
    {
        
message_begin(MSG_ALLget_user_msgid("ScoreAttrib"))
        
write_byte(id)
        
write_byte(4)
        
message_end()
        
give_item(id,"weapon_hegrenade")
        
give_item(id,"weapon_flashbang")
        
give_item(id,"weapon_flashbang")
        
give_item(id,"weapon_smokegrenade")
        
give_item(id,"item_assaultsuit")    
    }
    
    return 
PLUGIN_HANDLED
}

public 
resetModel_vip(idlevelcid) {
        if (
get_user_flags(id) & ADMIN_LEVEL_H) {
                new 
CsTeams:userTeam cs_get_user_team(id)
                if (
userTeam == CS_TEAM_T) {
                        
cs_set_user_model(id"vip_te_abcs")
                }
                else if(
userTeam == CS_TEAM_CT) {
                        
cs_set_user_model(id"vip_ct_abcs")
                }
                else {
                        
cs_reset_user_model(id)
                }
        }

        return 
PLUGIN_CONTINUE
}


stock ChatColor(const id, const input[], any:...) {
    new 
count 1players[32]
    static 
msg[191]
    
vformat(msg190input3)
    
replace_all(msg190"!g""^4"// Green Color
    
replace_all(msg190"!y""^1"// Default Color
    
replace_all(msg190"!t""^3"// Team Color
    
if (idplayers[0] = id; else get_players(playerscount"ch"); {
        for (new 
0counti++) {
            if (
is_user_connected(players[i])) {
                
message_begin(MSG_ONEget_user_msgid("SayText"), _players[i])
                
write_byte(players[i]);
                
write_string(msg);
                
message_end();
            }
        }
    }
Аватара пользователя
Zloy-DED
 
Сообщения: 256
Зарегистрирован: 30 мар 2013, 12:31
Благодарил (а): 33 раз.
Поблагодарили: 33 раз.
Языки программирования: Counter-Strike 1.6

Re: Vip: Ограничение в использовании по раундам

Сообщение Lethargy » 25 сен 2017, 17:56

Zloy-DED писал(а):
Код: Выделить всё

public Event_GameCommencing
()
{
    g_RoundCount = 0
}

А что это за функция? Попробуй тогда ее удалить, может из-за нее.
Lawful evil ]:->

Были бы в языке pawn объекты, было бы круто. Почему нет объектов в павне?
Аватара пользователя
Lethargy
 
Сообщения: 179
Зарегистрирован: 12 мар 2017, 17:25
Благодарил (а): 34 раз.
Поблагодарили: 15 раз.
Языки программирования: За 3-4 часа любой язык

Re: Vip: Ограничение в использовании по раундам

Сообщение артист666 » 25 сен 2017, 18:46

Это рестарт раунда.
Можно воткнуть туда вывод сообщения, посмотреть, может каждый раунд вызывается...
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Re: Vip: Ограничение в использовании по раундам

Сообщение Zloy-DED » 26 сен 2017, 07:16

артист666 писал(а):Это рестарт раунда.
Можно воткнуть туда вывод сообщения, посмотреть, может каждый раунд вызывается...

каждый раунд не вызывается , просто как я понял с начала нового раунда в переменную не записывается число только почему понять не могу

проверку сделал через сообщение
Аватара пользователя
Zloy-DED
 
Сообщения: 256
Зарегистрирован: 30 мар 2013, 12:31
Благодарил (а): 33 раз.
Поблагодарили: 33 раз.
Языки программирования: Counter-Strike 1.6

След.

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

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

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