Заказать Сервер Заказать Плагин Контакты Поиск

[ вход ]
[ последние сообщения ]

Страница 1 из 11
Форум » SourceMod - Counter Strike Source && CS GO » Обсуждение » Узнать название оружий, которые есть у клиетна?
Узнать название оружий, которые есть у клиетна?
polo79655 Дата: Среда, 01.06.2016, 18:39:28 | Сообщение # 1
Сообщений: 72
Репутация: -2 [ +/- ]
Как узнать, какой пистолет есть у клиента? Как вариант GetWeaponPlayerActive но, а что если он вообще в руки не возьмет пистолет? Как тогда быть?

Добавлено (01.06.2016, 18:39:28)
---------------------------------------------
ну пж(

 
TEIN Дата: Среда, 01.06.2016, 19:05:04 | Сообщение # 2
Сообщений: 551
Репутация: 73 [ +/- ]
есть уже на форуме, через гугл на раз находится

Добавлено (01.06.2016, 19:05:04)
---------------------------------------------
или если вкратце : GetPlayerWeaponSlot (индекс) -> GetEntityClassname (название) -> strcmp (сравнение)

 
polo79655 Дата: Среда, 01.06.2016, 19:53:53 | Сообщение # 3
Сообщений: 72
Репутация: -2 [ +/- ]
Цитата TEIN ()
или если вкратце : GetPlayerWeaponSlot (индекс) -> GetEntityClassname (название) -> strcmp (сравнение)

научи гуглить, спасибо
 
Jon4ik Дата: Среда, 01.06.2016, 20:08:13 | Сообщение # 4
Сообщений: 279
Репутация: 7 [ +/- ]
polo79655, запрос site:world-source.ru
 
polo79655 Дата: Среда, 01.06.2016, 20:39:20 | Сообщение # 5
Сообщений: 72
Репутация: -2 [ +/- ]
А можно как-нибудь гет делать или только так: StrEqual(weapon, "weapon_usp") ?
 
SourceSamil Дата: Среда, 01.06.2016, 22:30:44 | Сообщение # 6
Сообщений: 237
Репутация: [ +/- ]
new iWeapon = GetPlayerWeaponSlot( iClient, WeaponsSlot ); //Глянь енум
if( iWeapon > 0 ) {
decl String: sWeapon[ 21 ];
GetEdictClassname( iWeapon, sWeapon, ( sizeof( sWeapon ) - 1) );
if(strcmp( sWeapon, "тут название", false ) == 0 ) {
//func
}
}

enum WeaponsSlot
{
Slot_Invalid = -1, /** Invalid weapon (slot). */
Slot_Primary = 0, /** Primary weapon slot. */
Slot_Secondary = 1, /** Secondary weapon slot. */
Slot_Melee = 2, /** Melee (knife) weapon slot. */
Slot_Projectile = 3, /** Projectile (grenades, flashbangs, etc) weapon slot. */
Slot_Explosive = 4, /** Explosive (c4) weapon slot. */
}


Сообщение отредактировал SourceSamil - Среда, 01.06.2016, 22:33:07
 
GodlikE145 Дата: Четверг, 02.06.2016, 11:18:59 | Сообщение # 7
Сообщений: 33
Репутация: 9 [ +/- ]
Урок "Как гуглить": http://world-source.ru/forum/102-4450-1
 
polo79655 Дата: Четверг, 02.06.2016, 12:00:26 | Сообщение # 8
Сообщений: 72
Репутация: -2 [ +/- ]
Цитата GodlikE145 ()
ew iWeapon = GetPlayerWeaponSlot( iClient, WeaponsSlot ); //Глянь енум
if( iWeapon > 0 ) {
decl String: sWeapon[ 21 ];
GetEdictClassname( iWeapon, sWeapon, ( sizeof( sWeapon ) - 1) );
if(strcmp( sWeapon, "тут название", false ) == 0 ) {
//func
}
}

enum WeaponsSlot
{
Slot_Invalid = -1, /** Invalid weapon (slot). */
Slot_Primary = 0, /** Primary weapon slot. */
Slot_Secondary = 1, /** Secondary weapon slot. */
Slot_Melee = 2, /** Melee (knife) weapon slot. */
Slot_Projectile = 3, /** Projectile (grenades, flashbangs, etc) weapon slot. */
Slot_Explosive = 4, /** Explosive (c4) weapon slot. */
}

Это я понял. Просто хочу написать один плагин совместимый для сурс и для кс го, но там оружия различаются, будет геморойно делать кучу ифоф, вот и я подумал, может можно узнать сразу название оружия, или придется через каждый иф: f(strcmp( sWeapon, "weapon_usp", false ) == 0 ), f(strcmp( sWeapon, "weapon_glock", false ) == 0 )....?
 
Meow_1337 Дата: Четверг, 02.06.2016, 12:27:31 | Сообщение # 9
Сообщений: 209
Репутация: 11 [ +/- ]
Цитата polo79655 ()
может можно узнать сразу название оружия

Используй циклы для этого.

Код
new const String:block_weapons_list[][] =
{
    "ak47", "aug", "mp7", "mp9"
};

#define Weapon_Count sizeof(block_weapons_list)

        decl String:blockWeapon[32];
        GetEntityClassname(weapon, blockWeapon, sizeof(blockWeapon));

        for(new i = 0; i < Weapon_Count; ++i)
        {
            if(strcmp(blockWeapon[7], block_weapons_list[i]) == 0)
            {  
                return Plugin_Handled;
            }
        }


дальше сам, я лишь сделал вариант более простым.
 
polo79655 Дата: Четверг, 02.06.2016, 15:11:37 | Сообщение # 10
Сообщений: 72
Репутация: -2 [ +/- ]
Цитата Meow_1337 ()
дальше сам, я лишь сделал вариант более простым.

я понял, жалко, ладно спасибо.
 
Форум » SourceMod - Counter Strike Source && CS GO » Обсуждение » Узнать название оружий, которые есть у клиетна?
Страница 1 из 11
Поиск: