|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
const Entity class
|
|
FreeKILL | Дата: Понедельник, 18.01.2010, 21:46:59 | Сообщение # 1 |
Подполковник
Группа: Пользователи
Сообщений: 143
Статус: Не в сети
| к примеру: 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
Статус: Не в сети
| http://amxmodx.ucoz.ru/forum/9-3811-1
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
|
|
| |
PomanoB | Дата: Понедельник, 18.01.2010, 22:20:57 | Сообщение # 3 |
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Статус: Не в сети
| RegisterHam(Ham_Touch, "player", "fwdTouch")
http://romanov4400.mybrute.com
|
|
| |
FreeKILL | Дата: Вторник, 19.01.2010, 09:38:18 | Сообщение # 4 |
Подполковник
Группа: Пользователи
Сообщений: 143
Статус: Не в сети
| 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
Статус: Не в сети
| К примеру игрок дотронулся двери. 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
Статус: Не в сети
| defaultNick8433, мне нужно чтобы не игрок дотронулся, а entity (к примеру граната дотронулась до пола)
|
|
| |
PomanoB | Дата: Вторник, 19.01.2010, 10:25:22 | Сообщение # 7 |
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Статус: Не в сети
| Ну если гранта то 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
Статус: Не в сети
| опять вы меня непоняли)) неужели я так непонятно пишу?) ладно, с эти я разобрался, сделал так: 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
Статус: Не в сети
| Ну 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 Russian Community © 2006-2024 | |
|
| |