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

Забрать оружие

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

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

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

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

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

Забрать оружие

Сообщение 1kla$ » 16 окт 2018, 11:03

Доброе утро, знаю про fm strip gun , как можно сделать так, что бы сток работал по weapon name, к примеру какой weapon name я указал такие он и забирает

Я у указал m4a1 значит он забирает все тяжелые оружия
Если указал deagle то он забирает все пистолеты

Возможно так ?
Аватара пользователя
1kla$
 
Сообщения: 122
Зарегистрирован: 19 фев 2018, 13:16
Благодарил (а): 43 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше месяца

Re: Забрать оружие

Сообщение артист666 » 16 окт 2018, 18:17

Есть давно придуманный, выкинуть первичное или вторичное оружие.

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

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

Re: Забрать оружие

Сообщение 1kla$ » 16 окт 2018, 22:44

А можно как то объединить и пистолеты и основное оружие, к примеру я указал weapon_deagle, именно имя оружие и он забрал все пистолеты, если weapon_ak47 он забрал все основные оржия, был бы благодарен артист666
Аватара пользователя
1kla$
 
Сообщения: 122
Зарегистрирован: 19 фев 2018, 13:16
Благодарил (а): 43 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше месяца

Re: Забрать оружие

Сообщение артист666 » 17 окт 2018, 06:18

Код: Выделить всё
enum
{
    
prymary 1,
    
secondary
}

#define PRIMARY_WEAPONS_BITSUM ((1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90))
#define SECONDARY_WEAPONS_BITSUM = (1<<CSW_USP)|(1<<CSW_DEAGLE)|(1<<CSW_GLOCK18)|(1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)

stock drop_primary(idtype 1)
{
    static 
weapons[32], numinum 0= -1get_user_weapons(idweaponsnum)
    
    if(
type == prymary)
    {
        while(++
num)    
        {    
            if(
PRIMARY_WEAPONS_BITSUM & (1<<weapons[i]))        
            {
                static 
wname[32]; get_weaponname(weapons[i], wnamecharsmax(wname))
                
engclient_cmd(id"drop"wname)    
            }
        }
    }
    else
    {
        while(++
num)    
        {    
            if(
SECONDARY_WEAPONS_BITSUM & (1<<weapons[i]))        
            {
                static 
wname[32]; get_weaponname(weapons[i], wnamecharsmax(wname))
                
engclient_cmd(id"drop"wname)    
            }
        }
    }


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

Re: Забрать оружие

Сообщение 1kla$ » 17 окт 2018, 10:50

Я могу указать так?
drop_primary(id, “weapon_deagle”)

Хочу чтоб не type 1, а имя оружие и он выбрасывает оторое в арсенале игрока в зависимости от того какой weapon name указал, мне именно над как то type на weapon name изменить , спасибо
Аватара пользователя
1kla$
 
Сообщения: 122
Зарегистрирован: 19 фев 2018, 13:16
Благодарил (а): 43 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше месяца

Re: Забрать оружие

Сообщение Vaqtincha » 17 окт 2018, 11:32

артист666, почему у тебя код повторяется ?
if( PRIMARY_WEAPONS_BITSUM & ( 1 <<weapons
[ i]))
и
if( SECONDARY_WEAPONS_BITSUM & ( 1 << weapons
[ i]))
админгандонсоси
Аватара пользователя
Vaqtincha
 
Сообщения: 277
Зарегистрирован: 28 мар 2018, 15:05
Забанен
Благодарил (а): 8 раз.
Поблагодарили: 53 раз.

Re: Забрать оружие

Сообщение 1kla$ » 17 окт 2018, 11:50

Vaqtincha, подскажи как забирать оружие по weapon name, а непо type (1 примаре 0 секандари), спасибо огромное
Аватара пользователя
1kla$
 
Сообщения: 122
Зарегистрирован: 19 фев 2018, 13:16
Благодарил (а): 43 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше месяца

Re: Забрать оружие

Сообщение артист666 » 17 окт 2018, 19:30

Vaqtincha писал(а):артист666, почему у тебя код повторяется ?
if( PRIMARY_WEAPONS_BITSUM & ( 1 <<weapons
[ i]))
и
if( SECONDARY_WEAPONS_BITSUM & ( 1 << weapons
[ i]))


Где ты в этих двух строчках увидел одинаковый код?
Или это разница?
Ну придумай лучше, проверки в цикле, и т.п.

Добавлено спустя 3 минуты 12 секунд:
Да что ты доебался до этого веапон нейма?

Делай сам.

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

Re: Забрать оружие

Сообщение gamingEx » 17 окт 2018, 20:48

Код: Выделить всё
enum(+= 1)
{
    PRIMARY_WEAPON_SLOT = 1,
    PISTOL_SLOT,
    KNIFE_SLOT,
    GRENADE_SLOT,
    C4_SLOT,
}

#define lin_diff_weapon        4    //diff for linux server weapon
#define lin_diff_player        5    //diff for linux server player

#define m_pNext            42    //next weapon item
#define m_iId            43    //weapon id CSW_
#define    m_rgpPlayerItems    367    //owned player's weapon index

public Ham_StripWeaponInSlot(iPlayer, iSlotStrip)
{
    new iWpn = get_pdata_cbase(iPlayer, m_rgpPlayerItems + iSlotStrip, lin_diff_player)
    while(iWpn != FM_NULLENT)
    {
        ExecuteHamB(Ham_Weapon_RetireWeapon, iWpn)
        ExecuteHam(Ham_RemovePlayerItem, iPlayer, iWpn)
        ExecuteHam(Ham_Item_Kill, iWpn)
        set_pev(iPlayer, pev_weapons, pev(iPlayer, pev_weapons) & ~(1<<get_pdata_int(iWpn, m_iId ,lin_diff_weapon)))
        iWpn = get_pdata_cbase(iWpn, m_pNext, lin_diff_weapon)
    }
}

Author: Вы должны зарегистрироваться, чтобы видеть ссылки.
:dance2: :dance2: :dance2:
Аватара пользователя
gamingEx
 
Сообщения: 121
Зарегистрирован: 07 окт 2017, 20:48
Благодарил (а): 0 раз.
Поблагодарили: 19 раз.
Опыт программирования: Больше трех лет
Языки программирования: Swift, C++, PHP, Ruby, JS


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

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

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