Контакты Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Как найти индекс объекта по имени (targetname)
Как найти индекс объекта по имени (targetname)
Nailain Дата: Четверг, 14.02.2013, 20:49:21 | Сообщение # 1
Сообщений: 19
Репутация: 1 [ +/- ]
Как найти индекс объекта не по classname а по его имени?
 
_wS_ Дата: Четверг, 14.02.2013, 22:34:16 | Сообщение # 2
GetMaxEntities() + цикл + IsValidEntity() + StrEqual/strcmp +
GetEntPropString(index, Prop_Data, "m_iName", String:buffer[], maxlen);
 
Nailain Дата: Суббота, 16.02.2013, 22:24:56 | Сообщение # 3
Сообщений: 19
Репутация: 1 [ +/- ]
cпасибо большое!=)

Добавлено (16.02.2013, 22:24:56)
---------------------------------------------
_wS_, вот к targetname параметр m_iName, а к origin вообще есть , или есть какой нибуть другой способ отыскать объект на карте если classname у них одинаковый а имени нету?

 
_wS_ Дата: Суббота, 16.02.2013, 22:59:10 | Сообщение # 4
Цитата (Nailain)
вот к targetname параметр m_iName, а к origin вообще есть

decl Float:origin[3];
GetEntPropVector(entity, Prop_Send, "m_vecOrigin", origin);

Цитата (Nailain)
есть какой нибуть другой способ отыскать объект на карте если classname у них одинаковый

Индекс, targetname, origin.
 
Nailain Дата: Воскресенье, 17.02.2013, 13:11:20 | Сообщение # 5
Сообщений: 19
Репутация: 1 [ +/- ]
ок спасибо я тоже находил m_vecOrigin думал не подходит а оказывается просто не правильно писал=)

Добавлено (17.02.2013, 13:11:20)
---------------------------------------------
Вот если кому надо то по origin объект я нашел вот так вот и удалил его

Код
public OnMapStart()
{
new hurt2 = -1;
while((hurt2 = FindEntityByClassname(hurt2, "trigger_hurt")) != -1)
{
if (IsValidEdict(hurt2))
{
decl Float:origin[3];  
GetEntPropVector(hurt2, Prop_Send, "m_vecOrigin", origin);  
if (origin_step(origin))
{
AcceptEntityInput(hurt2, "kill", -1, -1, -1);
}
}
}
}
}

static bool:origin_step(const Float:origin[3])
{
  if ((origin[0] == -4306.070000) && (origin[1] == 4284.990000) && (origin[2] == 198.500000))
  {
  return true;
  }
  return false;
}
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Как найти индекс объекта по имени (targetname)
  • Страница 1 из 1
  • 1
Поиск: