Правильно удалить оружие

oleg_nelasy

Участник
Сообщения
668
Реакции
46
Перед удаление нужно проверить есть ли пистолет. Если нет. То после удаления оружия основном слоте сменить оружие на нож.
 

DeathScore13

пирожок. пирожочек.
Сообщения
744
Реакции
427
Сначала CS_DropWeapon (или что-то в этом духе), затем удаляешь
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,642
Реакции
5,115
что-то из этого попробуй:
 

Nebraska

Участник
Сообщения
262
Реакции
360
@oleg_nelasy, да, тебе верно подсказали выше, дропай оружие и удаляй таймером его (передавай индекс оружия)
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,642
Реакции
5,115
@Nebraska, у него основная проблема - переключение на нож, насколько я понимаю, а не само удаление оружия.
 

oleg_nelasy

Участник
Сообщения
668
Реакции
46
С делал так все работает.
C++:
if(iPistolIndex != -1) ClientCommand(i, "slot2"); else ClientCommand(i, "slot3");  //weapon_awp
RemovePlayerItem(i, iWeaponIndex);
CGOPrintToChat(i, " %t", "Weapon deleted", sWeaponName[7..], weaponLimit);

Есть способ посмотреть какой слот игрок держит?
Чтоб если у него в руках не slot 1(0) тогда удаляю и переключаю иначе просто удаляю чтоб игроку лишний раз не переключать оружие?
Давно не кодил насколько я помню можно как-то выводит sWeaponName после определённого N символа? Или всё-таки надо перед этим обрезать строку?
 

DENZEL519

Работаю через AI !
Сообщения
534
Реакции
390
С делал так все работает.
C++:
if(iPistolIndex != -1) ClientCommand(i, "slot2"); else ClientCommand(i, "slot3");  //weapon_awp
RemovePlayerItem(i, iWeaponIndex);
CGOPrintToChat(i, " %t", "Weapon deleted", sWeaponName[7..], weaponLimit);

Есть способ посмотреть какой слот игрок держит?
Чтоб если у него в руках не slot 1(0) тогда удаляю и переключаю иначе просто удаляю чтоб игроку лишний раз не переключать оружие?
Давно не кодил насколько я помню можно как-то выводит sWeaponName после определённого N символа? Или всё-таки надо перед этим обрезать строку?
Так не сработает?
C-подобный:
int iActiveWeapon = GetEntPropEnt(i, Prop_Send, "m_hActiveWeapon");
if (iActiveWeapon == iWeaponIndex) 
{
    if (iPistolIndex != -1)
    {
        ClientCommand(i, "slot2"); 
    }
    else
    {
        ClientCommand(i, "slot3");
    }
}
RemovePlayerItem(i, iWeaponIndex);
CGOPrintToChat(i, " %t", "Weapon deleted", sWeaponName[7..], weaponLimit);
Проверяет, держит ли игрок удаляемое оружие в руках.
Если да — переключает на другой слот.
Удаляет оружие.
 
Сверху Снизу