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

oleg_nelasy

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

DeathScore13

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

Grey83

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

Nebraska

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

Grey83

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

oleg_nelasy

Участник
Сообщения
664
Реакции
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 !
Сообщения
417
Реакции
198
С делал так все работает.
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);
Проверяет, держит ли игрок удаляемое оружие в руках.
Если да — переключает на другой слот.
Удаляет оружие.
 
Сверху Снизу