AMX MOD X
Пятница, 26.04.2024, 03:35:36



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

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

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » trigger_hurt с отрицательным dmg (detection)
trigger_hurt с отрицательным dmg
kielorДата: Вторник, 09.06.2009, 11:52:54 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 16
Репутация: 0
Статус: Не в сети
в общем такая проблема, не могу разобраться, как сделать чтобы высветился hudmsg когда тебя хиляет trigger_hurt или func_door ?
да кстати еще надо чтобы показывало насколько тебя вылечило

смотрел по hlsdk, там идем TakeHealth с DMG_GENERIC, попытался хуком поймать на ham, получается вообще лабуда какая то..

p.s мне не интересен уже готовый плагин, мне нужна методика детекта

Сообщение отредактировал kielor - Вторник, 09.06.2009, 11:56:04
 
defaultNick8433Дата: Вторник, 09.06.2009, 12:40:27 | Сообщение # 2
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
Посмотри свот этот скрипт
Прикрепления: 14035057.rar (2.2 Kb)


Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
PomanoBДата: Вторник, 09.06.2009, 13:06:19 | Сообщение # 3
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Надо хукать Ham_TakeDamage, тк она наносит урон, просто с отрицательным знаком

http://romanov4400.mybrute.com
 
defaultNick8433Дата: Вторник, 09.06.2009, 13:34:44 | Сообщение # 4
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
Code
{
RegisterHam(Ham_TakeDamage,"player","damag_ot_triggera")
}
public damag_ot_triggera(ikiller,iVictim)
{
new iKiller=read_data(1)
new iVictim=read_data(2)

if(!iKiller||equal(sWeapon,"trigger_hurt",12))
set_task(0.1,"soobshenie",_,_,_,"b")
}
public soobshenie(victim)
{
new name[32]
get_user_name(victim,name,31)
set_hudmessage()
show_hudmessage(0,"urpoka %s paHuJI trigger_hurt",name)
}

Примерно так РоманоВ?


Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001


Сообщение отредактировал defaultNick8433 - Вторник, 09.06.2009, 13:34:59
 
PomanoBДата: Вторник, 09.06.2009, 15:19:39 | Сообщение # 5
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Нет не так, посмотри параметры этого хука в ham_const.inc

http://romanov4400.mybrute.com
 
kielorДата: Вторник, 09.06.2009, 18:01:27 | Сообщение # 6
Рядовой
Группа: Пользователи
Сообщений: 16
Репутация: 0
Статус: Не в сети
я пытался хукать takehealth, он детект показывал с дамагом 0.0 когда прыгал на блоке бхоп или просто в триггер входил, мне же надо чтобы дамаг был верный :)

Сообщение отредактировал kielor - Вторник, 09.06.2009, 18:59:38
 
defaultNick8433Дата: Вторник, 09.06.2009, 18:21:48 | Сообщение # 7
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
Code
ExecuteHam(Ham_TakeDamage, this, idinflictor, idattacker, Float:damage, damagebits);
{
new idattacker=read_data(1)
new idinflictor=read_data(2)
new sWeapon[255];read_data(4,sWeapon,sizeof sWeapon-1)

if(!idattacker||equal(sWeapon,"trigger_hurt",12))
set_task(0.1,"soobshenie",_,_,_,"b")  
}  
public soobshenie(idinflictor)  
{  
set_hudmessage()  
show_hudmessage(idinflictor,"Bac paHuJI trigger_hurt")  
}

Так тогда чтоли?


Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
PomanoBДата: Вторник, 09.06.2009, 18:24:36 | Сообщение # 8
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
значит что-то неправильно делаешь
вот это точно работает проверил на дверях которые хп дают
Code

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <hamsandwich>

#define PLUGIN "Take Damage"
#define VERSION "1.0"
#define AUTHOR "PomanoB"

public plugin_init() {
  register_plugin(PLUGIN, VERSION, AUTHOR)
   
  RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage", 1)
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
  client_print(0,print_chat, "Damage %f for player %d", damage, victim)
}


http://romanov4400.mybrute.com
 
kielorДата: Вторник, 09.06.2009, 18:59:08 | Сообщение # 9
Рядовой
Группа: Пользователи
Сообщений: 16
Репутация: 0
Статус: Не в сети
ой... я то хукал takehealth.. а надо было takedamage..
только непонятно, по hlsdk написано что dmgbits должен быть DMG_GENERIC, на самом деле его там нет =\
тему клоуз, я во всем разобрался
 
PomanoBДата: Вторник, 09.06.2009, 19:39:13 | Сообщение # 10
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
При закртыии двери в CBaseDoor::Blocked, дверь наносит урон если она закрыться не может
Code

if ( pev->dmg )
   pOther->TakeDamage( pev, pev, pev->dmg, DMG_CRUSH );

Code

m_hActivator->TakeHealth( m_bHealthValue, DMG_GENERIC );

это в CBaseDoor::DoorActivate( ), при открытии двери дать здоровье


http://romanov4400.mybrute.com
 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » trigger_hurt с отрицательным dmg (detection)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024