Отловить weapon name в touch

Сообщения
11
Реакции
0
Привет, подскажите как отловить weapon name при touch, к примеру лежит оружие на земле, touch я отловил, а вот как отловить теперь имя оружие weapon_оружие спасибо!!

Можно и на respi, только вот как там touch отловить , спаасибо за помощь)
 
Сообщения
432
Реакции
410
Помог
14 раз(а)
Насколько я помню, имя - никак, можно сверять модель или при дропе указывать weaponid
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
По идее можно получить ID оружия (m_iId). А по нему уже и имя (WI_NAME) получить. но нужно проверить
 
Последнее редактирование:
Сообщения
273
Реакции
424
Помог
5 раз(а)
По имени класса. Приведи свой код отлова события там посмотрим.
 
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
Ответы есть, теперь мы глядим ваши попытки в виде кода.
 
Сообщения
11
Реакции
0
Вообще не чего не понял) если не трудно покажите как кодом это будет, спасибо огромное ))
 
Сообщения
1,420
Реакции
2,511
Помог
58 раз(а)
register_touch где регистрируем соприкасание с weaponbox. Там уже можно получать ID оружия и исходя из ID оружия - имя.
 
Сообщения
11
Реакции
0
Код:
include <amxmodx>
#include <cstrike>
#include <hamsandwich>

public plugin_init() {
RegisterHam(Ham_Touch, "armoury_entity", "CBase__Touch");
}

public CBase__Touch(ent, id, idc, type, Float:val) {
client_print(id, print_chat, "%d", cs_get_weapon_id(ent))
return HAM_SUPERCEDE;
}
Так не помогло, 0 всегда
 
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
к примеру лежит оружие на земле
как мы уже выяснили, бывает weaponbox, а бывает armoury_entity.

А, чтобы дальше не гадать - ставьте вопрос точнее. (вам сейчас нужен cs_get_armoury_type)

Мб тут инфа полезная будет. А, вот тут про CArmoury
на ReAPI упростили момент работы с CArmoury. (get_member(pArmoury, m_Armoury_iItem))
Подробнее: https://dev-cs.ru/resources/201/
 
Последнее редактирование:
Сообщения
1,698
Реакции
1,510
Помог
26 раз(а)
Вы сума все тут сошли? По класснейму энтити определите armoury это или weaponbox, а потом по ним пошартесь на наличие оружия.
 
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
покажите как кодом это будет
Код:
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>

public plugin_init()
{
    register_plugin("Weapon informer", "0.0.1", "wopox1337");

    RegisterHam(Ham_Touch, "armoury_entity", "CArmoury_ArmouryTouch");
}

public CArmoury_ArmouryTouch(this, other)
{
    if(!is_user_alive(other))
    {
        return;
    }

    new ArmouryType = cs_get_armoury_type(this);

    static szWeaponName[32];
    get_weaponname(ArmouryType, szWeaponName, charsmax(szWeaponName));
  
    client_print(other, print_center, "Вы прикоснулись к '%s'", szWeaponName);
}
11 Дек 2018
Терзают меня смутные сомнения, что пишется очередной говнокод, в котором тач используется для детекта получения предмета.
klass1, тебе точно тач нужен?!
 
Сообщения
1,293
Реакции
2,294
Помог
57 раз(а)
RG_CBasePlayer_HasRestrictItem при ITEM_TYPE_TOUCHED не пойдёт?
 
Сообщения
594
Реакции
350
Предупреждения
1
Помог
9 раз(а)
wopox1337, шо бы голд оружки могли поднимать только вип!
 
Сообщения
11
Реакции
0
wopox1337, мне хоть reapi, лиж бы работал , заблочить поднытие и написать name оружия что хочешь поднять, спасибо тебе огромнное за помощь
 
Сообщения
1,293
Реакции
2,294
Помог
57 раз(а)
klass1, для weaponbox'а так же, как шорох написал, но там тип оружия можно быстро получить через реапишный rg_get_weaponbox_id(), или перебирать m_WeaponBox_rgpPlayerItems, если надо какие-то данные получить от энтваров привязанного оружия. Если голд пушки пилите - вероятно, это ваш вариант.

Код:
	for(new i, weapon; i < MAX_ITEM_TYPES; i++) {
        weapon = get_member(ent, m_WeaponBox_rgpPlayerItems, i);
        if (!is_nullent(weapon) && get_entvar(weapon, var_impulse) == 666) {
              // some action
        }
    }
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
klass1, посмотрите тут https://dev-cs.ru/resources/370. Там где то должно быть получение ID оружия у armoury_entity. Ну а потом по ID легко получить название
 
Сообщения
11
Реакции
0
Ребят а можете подсказать, как сделать так чтобы оружие которое лежит на земле не давалось, если уже есть primary или secondary оружие у игрока, в зависимости от того что пытаешься поднять, я так понял надо как то уточнить какое орудие у игрока есть и циклом сравнить с primary, secondary или есть какие то еще варианты ?
18 Дек 2018
Подскажите ребят?
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу