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

блокировать покупку оружия

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

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

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

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

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

блокировать покупку оружия

Сообщение nemec21 » 28 мар 2017, 02:03

Подскажите пожалуйста. как заблокировать покупку оружия всем если оружие отобрано у всех?

Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <fun>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "N.E.M.E.C.[BLR]" 

static const BLOCK_COMMAND[][] = 
{
    
"buy"
    
"buyammo1"
    
"buyammo2"
    
"buyequip"
    
"cl_autobuy"
    
"cl_rebuy"
    
"cl_setautobuy"
    
"cl_setrebuy"
}
                                           
public 
plugin_init() {                  
    
register_plugin(PLUGINVERSIONAUTHOR
    
    
register_clcmd("say qwe""test")
    
    for ( new 
bsizeof(BLOCK_COMMAND); b++){
        
register_clcmd BLOCK_COMMAND[b], "block_buy" )
    }
}                 
                                   
public 
test(id){   
    
set_task(5.0"ofni"id
}

public 
ofni(id){    
    for(new 
i33i++){
        if(
is_user_connected(i)){
            
strip_user_weapons(i)
            
give_item (i"weapon_knife")
        }                           
    }

                                    
public 
block_buy(){
    
//  code ?????????????
Аватара пользователя
nemec21
 
Сообщения: 799
Зарегистрирован: 07 фев 2016, 17:08
Откуда: Беларусь
Благодарил (а): 212 раз.
Поблагодарили: 44 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6

Re: блокировать покупку оружия

Сообщение Lethargy » 28 мар 2017, 08:57

Lawful evil ]:->

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

Re: блокировать покупку оружия

Сообщение NEoMASTERR » 28 мар 2017, 10:15

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

Re: блокировать покупку оружия

Сообщение nemec21 » 28 мар 2017, 17:44

NEoMASTERR, подскажи где ошибка
Код: Выделить всё
public block_buy(){              
    for
(new u; u < 33; u++){
        if(is_user_connected(u) && g_garfif[u] == true) 
            return PLUGIN_HANDLED
    
}
}


Добавлено спустя 2 минуты 1 секунду:
Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <fun>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "N.E.M.E.C.[BLR]"

new bool:g_garfif[33] = false

static const BLOCK_COMMAND[][] = 
{
    
"buy"
    
"buyammo1"
    
"buyammo2"
    
"buyequip"
    
"cl_autobuy"
    
"cl_rebuy"
    
"cl_setautobuy"
    
"cl_setrebuy"
}
                                           
public 
plugin_init() {                  
    
register_plugin(PLUGINVERSIONAUTHOR
    
    
register_clcmd("say qwe""test")
    
    for ( new 
bsizeof(BLOCK_COMMAND); b++){
        
register_clcmd BLOCK_COMMAND[b], "block_buy" )
    }
}                                                                                
                                   
public 
test(id){   
    
set_task(5.0"ofni"id
}

public 
ofni(id){                             
    for(new 
i33i++){
        if(
is_user_connected(i)){
            
strip_user_weapons(i)
            
give_item (i"weapon_knife"
            
g_garfif[i] = true
        
}                           
    }
}                                                        
                                    
public 
block_buy(){              
    for(new 
u33u++){
        if(
is_user_connected(u) && g_garfif[u] == true
            return 
PLUGIN_HANDLED
    
}
Аватара пользователя
nemec21
 
Сообщения: 799
Зарегистрирован: 07 фев 2016, 17:08
Откуда: Беларусь
Благодарил (а): 212 раз.
Поблагодарили: 44 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6

Re: блокировать покупку оружия

Сообщение NEoMASTERR » 28 мар 2017, 17:54

Ошибка в том что если я напишу в консоль glock то я куплю его. Из лёгких путей это удалить байзону, либо махинации с ней проводить чтобы "включать/выключать". Еще проще это использовать форвард плагина на который я дал ссылку.

Добавлено спустя 2 минуты 17 секунд:
Код: Выделить всё
public block_buy(id)
{
    if (
g_garfif[id]) return PLUGIN_HANDLED
    
return PLUGIN_CONTINUE
}  
Аватара пользователя
NEoMASTERR
 
Сообщения: 832
Зарегистрирован: 05 янв 2015, 16:38
Благодарил (а): 43 раз.
Поблагодарили: 188 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: блокировать покупку оружия

Сообщение nemec21 » 28 мар 2017, 17:57

Код: Выделить всё
client_buy < player index > < item type >

Returns : PLUGIN_CONTINUE , PLUGIN_HANDLED


Добавлено спустя 39 секунд:
NEoMASTERR, а почему индекс id?
и при твоем условии закрывает покупку, когда переменной не присвоено true
Аватара пользователя
nemec21
 
Сообщения: 799
Зарегистрирован: 07 фев 2016, 17:08
Откуда: Беларусь
Благодарил (а): 212 раз.
Поблагодарили: 44 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6

Re: блокировать покупку оружия

Сообщение NEoMASTERR » 28 мар 2017, 18:02

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

Re: блокировать покупку оружия

Сообщение nemec21 » 28 мар 2017, 18:38

NEoMASTERR, блокируется только покупка гранат, брони и так далее, а оружие не блокируется.
Может не в списке блокируемых команд?

Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <hamsandwich>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "N.E.M.E.C.[BLR]" 
                                                                        
new bool
:g_garfif[33] = false

static const BLOCK_COMMAND
[][] = {"buy", "buyammo1", "buyammo2", "buyequip", "cl_autobuy", "cl_rebuy", "cl_setautobuy", "cl_setrebuy"}
                                                                                                        
public plugin_init
() {                  
    register_plugin
(PLUGIN, VERSION, AUTHOR) 
    
    register_clcmd
("say qwe", "test")   
    RegisterHam
(Ham_Spawn, "player", "SpawnPlayer", 1)
    
    for 
( new b; b < sizeof(BLOCK_COMMAND); b++){
        register_clcmd (BLOCK_COMMAND[b], "block_buy")
    }
}
                 
                                                                          
public test
(id){   
    set_task
(5.0, "ofni", id)
}

public SpawnPlayer(id){                                    
    g_garfif
[id] = false
}                                              

public ofni
(id){    
    for
(new i; i < 33; i++){
        if(is_user_connected(i)){
            strip_user_weapons(i)
            give_item (i, "weapon_knife") 
            g_garfif
[i] = true
        
}                                  
    
}            
} 
                                    
public block_buy
(id){
    if(g_garfif[id]) return PLUGIN_HANDLED
    return PLUGIN_CONTINUE
Аватара пользователя
nemec21
 
Сообщения: 799
Зарегистрирован: 07 фев 2016, 17:08
Откуда: Беларусь
Благодарил (а): 212 раз.
Поблагодарили: 44 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6

Re: блокировать покупку оружия

Сообщение NEoMASTERR » 28 мар 2017, 20:02

NEoMASTERR писал(а):если я напишу в консоль glock то я куплю его


Добавлено спустя 35 секунд:
Еще есть вариант перенести байзону куда нить/ уменьшить до 0 и когда надо вернуть/увеличить

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

Re: блокировать покупку оружия

Сообщение nemec21 » 28 мар 2017, 20:30

тоесть заблочить все команды)))

Добавлено спустя 18 минут 3 секунды:
NEoMASTERR, спасибо тебе великий человек :thumbs_up
Аватара пользователя
nemec21
 
Сообщения: 799
Зарегистрирован: 07 фев 2016, 17:08
Откуда: Беларусь
Благодарил (а): 212 раз.
Поблагодарили: 44 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6

След.

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

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

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