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

oleg_nelasy

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

DeathScore13

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

Grey83

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

Nebraska

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

Grey83

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

oleg_nelasy

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