AMX MOD X
Пятница, 26.04.2024, 04:37:26



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

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

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » const Entity class
const Entity class
FreeKILLДата: Понедельник, 18.01.2010, 21:46:59 | Сообщение # 1
Подполковник
Группа: Пользователи
Сообщений: 143
Репутация: 4
Статус: Не в сети
к примеру:
RegisterHam(Ham_Touch, "armoury_entity", "fwdTouch")
RegisterHam(Ham_Touch, "weaponbox", "fwdTouch")
здесь const EntityClass[] = armoury_entity

и weaponbox
где можно посмотреть их все. Ну к примеру я хочу вызвать функцию касания игрока и любого предмета(стены, ящика...)

 
defaultNick8433Дата: Понедельник, 18.01.2010, 21:53:25 | Сообщение # 2
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
http://amxmodx.ucoz.ru/forum/9-3811-1

Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
PomanoBДата: Понедельник, 18.01.2010, 22:20:57 | Сообщение # 3
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
RegisterHam(Ham_Touch, "player", "fwdTouch")

http://romanov4400.mybrute.com
 
FreeKILLДата: Вторник, 19.01.2010, 09:38:18 | Сообщение # 4
Подполковник
Группа: Пользователи
Сообщений: 143
Репутация: 4
Статус: Не в сети
Quote (defaultNick8433)
RegisterHam(Ham_Touch, "player", "fwdTouch")

вот видишь, ты взял и написал как "дотронутся до игрока", но ты же это от куда -то взял? или вспомнил... И наверно это где то написано. Самое главное я не знаю какие аргументы будут у функции fwdTouch
public fwdTouch( аргументы...) {
}

Добавлено (19.01.2010, 09:38:18)
---------------------------------------------
и ещё, как вызвать функцию касания не игрока чего либо, а какой -то вещи(entity)
пробовал так

Code
RegisterHamFromEntity(Ham_Touch, CSW_HEGRENADE, "fwdTouch")
RegisterHamFromEntity(Ham_Touch, CSW_FLASHBANG, "fwdTouch")
RegisterHamFromEntity(Ham_Touch, CSW_SMOKEGRENADE, "fwdTouch")

Code
public fwdTouch(ent, id) {
   
  if(is_user_alive(id) && is_user_connected(id))
   return PLUGIN_HANDLED
  if(ent == "player")
   make_explode(id)
   
    
   
  return PLUGIN_HANDLED
}

пробовал так:

Code
RegisterHam(Ham_Touch, "player", "fwdTouch")

Code
public fwdTouch(ent, id) {
   
  if(is_user_alive(id) && is_user_connected(id))
   return PLUGIN_HANDLED
  if(id == CSW_HEGRENADE)
   make_explode(id)
  if(id == CSW_FLASHBANG)
   make_explode(id)
  if(id == CSW_SMOKEGRENADE)
   make_explode(id)
  return PLUGIN_HANDLED
}

и все наработает зараза)

 
defaultNick8433Дата: Вторник, 19.01.2010, 09:55:51 | Сообщение # 5
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
К примеру игрок дотронулся двери.
Code
public FwTouch(pToucher,pTouched)  
{  
if(!pev_valid(pTouched)||!pev_valid(pToucher))  
return FMRES_IGNORED  
if(is_user_connected(pTouched))  
return FMRES_IGNORED  

new cl[32]  
pev(pToucher,pev_classname,cl,31)  

if(equal(cl,"func_door"))  
{
//do...
}
}


Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
FreeKILLДата: Вторник, 19.01.2010, 10:18:50 | Сообщение # 6
Подполковник
Группа: Пользователи
Сообщений: 143
Репутация: 4
Статус: Не в сети
defaultNick8433, мне нужно чтобы не игрок дотронулся, а entity (к примеру граната дотронулась до пола)
 
PomanoBДата: Вторник, 19.01.2010, 10:25:22 | Сообщение # 7
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Ну если гранта то
RegisterHam(Ham_Touch, "grenade", "fwdTouch")

В модуле engine есть forward pfn_touch(ptr, ptd);
Вызывается при соприкосновении вообще чего угодно

Параметры Ham_Touch описаны в ham_const.inc

Code
  /**
   * Description:  Called whenever two entities touch.
   * Forward params:    function(this, idother);
   * Return type:  None.
   * Execute params:    ExecuteHam(Ham_Touch, this, idother);
   */
  Ham_Touch,


http://romanov4400.mybrute.com
 
FreeKILLДата: Вторник, 19.01.2010, 12:49:28 | Сообщение # 8
Подполковник
Группа: Пользователи
Сообщений: 143
Репутация: 4
Статус: Не в сети
опять вы меня непоняли)) неужели я так непонятно пишу?) ладно, с эти я разобрался, сделал так:
public pfn_touch(ptr,ptd) {
if(is_grenade(ptr)) {
client_print(0,print_chat, "smoke")
explod(ptd)
}



}
public bool:is_grenade(ent)
{
if (!pev_valid(ent)) return false
static classname[32]
pev(ent, pev_classname, classname, 31)
return (equal(classname, "grenade")) ? true : false
}

и все заработало)
но тут встал вопрос, как взорвать гранату?)

 
PomanoBДата: Вторник, 19.01.2010, 13:58:27 | Сообщение # 9
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Ну
RegisterHam(Ham_Touch, "grenade", "fwdTouch")
fwdTouch(greanade, ent)
{
client_print(0,print_chat, "smoke")
explod(greanade)
}

Даст тот же эффект

Quote (FreeKILL)
как взорвать гранату?)

set_pev(greanade, pev_dmgtime, get_gametime()-0.1)


http://romanov4400.mybrute.com
 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » const Entity class
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024