AMX MOD X
Пятница, 09.01.2026, 20:53:46



Приветствую Вас Гость | RSS
[ Главная ] [ Как узнать: когда бот скидывает пушку? - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
Как узнать: когда бот скидывает пушку?
BruteДата: Суббота, 06.09.2008, 14:46:07 | Сообщение # 1
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
Quote (hlsdk_const.inc)
#define IN_ATTACK (1<<0)
#define IN_JUMP (1<<1)
#define IN_DUCK (1<<2)
#define IN_FORWARD (1<<3)
#define IN_BACK (1<<4)
#define IN_USE (1<<5)
#define IN_CANCEL (1<<6)
#define IN_LEFT (1<<7)
#define IN_RIGHT (1<<8)
#define IN_MOVELEFT (1<<9)
#define IN_MOVERIGHT (1<<10)
#define IN_ATTACK2 (1<<11)
#define IN_RUN (1<<12)
#define IN_RELOAD (1<<13)
#define IN_ALT1 (1<<14)
#define IN_SCORE (1<<15)

Что-то тут я не нашёл команды drop, мб вы знаете?
 
DaTaДата: Суббота, 06.09.2008, 16:11:54 | Сообщение # 2
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Code
register_clcmd("drop"...

возможно для CZ, но ловит и при смерти выбрасываемые оружия, так что нужно проверять "хозяина" is_user_alive

Code

#include <fakemeta>
new const g_szWeaponbox[] = "weaponbox"
public plugin_init()
{
     //...
     register_forward(FM_CreateNamedEntity, "hook_CreateNamedEntity")
     //...
}

//...
public hook_CreateNamedEntity(iString)
{
     static szClass[sizeof g_szWeaponbox + 1]
     global_get( glb_pStringBase, iString, szClass, sizeof szClass - 1)
     if(  !equal(g_szWeaponbox, szClass)  )
         return FMRES_IGNORED
     //создан weaponbox
...

Code

#include <hamsandwich>

public plugin_init()
{
     //...
     RegisterHam(Ham_Spawn, "weaponbox", "hack_Spawn_weaponbox")
     //...
}

public hack_Spawn_weaponbox()
{
     //...
      
}
 
BruteДата: Суббота, 06.09.2008, 16:20:16 | Сообщение # 3
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
Quote (DaTa)
register_clcmd("drop"...

мне нужно поймать команду "дроп" живого бота :) , просто когда они пушку кидают, дроп удаляется, но мои ентити не создаются вот в чём проблема.
 
DaTaДата: Суббота, 06.09.2008, 18:02:03 | Сообщение # 4
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Quote (DaTa)
register_clcmd("drop"...

Это я к тому, что никакого а-ля IN_DROP не существует. Логично предположить, что бот(метамод подобный) вызывает команду drop мода и она обходит амхх, т.е. ее споймать нельзя, но можно поймать момент создания weaponbox.

Предполагаемая void DropPlayerItem ( char *pszItemName ); не поймана средствами ham, так что нужно действовать извращенными путями, некоторые из них я подсказал выше.

Встроенные CZ боты могут выкидывать оружие как угодно, нужно проводить детальные расследования.

еще Ham_CS_Item_CanDrop возможно может помочь.

Code
    /**
   * Description:  Whether or not the player can drop the specified item.
   * Forward params:    function(this)
   * Return type:  Integer
   * Execute params:    ExecuteHam(Ham_CS_Item_CanDrop, this);
   */
  Ham_CS_Item_CanDrop,
 
BruteДата: Суббота, 06.09.2008, 18:35:21 | Сообщение # 5
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
Quote (DaTa)
Это я к тому, что никакого а-ля IN_DROP не существует. Логично предположить, что бот(метамод подобный) вызывает команду drop мода и она обходит амхх, т.е. ее споймать нельзя, но можно поймать момент создания weaponbox.

Предполагаемая void DropPlayerItem ( char *pszItemName ); не поймана средствами ham, так что нужно действовать извращенными путями, некоторые из них я подсказал выше.

Встроенные CZ боты могут выкидывать оружие как угодно, нужно проводить детальные расследования.

еще Ham_CS_Item_CanDrop возможно может помочь.


хм, спасибо, ты натолкнул меня на мысль: действительно, если удаляемый вип.бокс принадлежит боту, просто вызываем "мою процедуру дропа". Проще и быть не может!

заодним, не подскажешь назначение этих команд:

Code
#define IN_RUN (1<<12)
#define IN_ALT1 (1<<14)
 
DaTaДата: Суббота, 06.09.2008, 19:58:11 | Сообщение # 6
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Quote (Brute)
заодним, не подскажешь назначение этих команд:
Code
#define IN_RUN (1<<12)
#define IN_ALT1 (1<<14)

без понятия, по ходу они вообще не используются
 
BruteДата: Суббота, 06.09.2008, 20:49:33 | Сообщение # 7
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
Quote (DaTa)

без понятия, по ходу они вообще не используются

ладно спасибо огромное!, клоз тему плз B)
 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2026