Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 29 мар 2024, 07:33

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: monster_snark
СообщениеДобавлено: 11 мар 2011, 21:40 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
кто подскажет ?

Код:
new const ent_class[][] = {"xxx","yyy","zzz"}

public plugin_init() {
for(new i; i < sizeof(ent_class); i++) {
RegisterHam(Ham_Spawn, "ent_class[i]", "ham_in_action", 1)
}
}

public ham_in_action(index) {
// code ...
}

выдает - Warning: Symbol is never used: "ent_class" on line 17


Последний раз редактировалось Turanga_Leela 12 мар 2011, 02:22, всего редактировалось 1 раз.

Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: monster_snark
СообщениеДобавлено: 11 мар 2011, 23:22 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
26 мар 2024, 21:42
Сообщения: 6864
Код:
RegisterHam(Ham_Spawn, ent_class[i], "ham_in_action", 1)
Когда
Код:
"ent_class[i]"
это просто строка "ent_class[i]".
А когда
Код:
ent_class[i]
это строка с индексом i из массива ent_class.


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: monster_snark
СообщениеДобавлено: 11 мар 2011, 23:51 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
заработало ) респект :good:

Выполняется , но если предыдущий обьект класса жив - игнорится, как подфиксить ?

Код:
new const ent_class[][] = {"XXX","YYY","ZZZ"}

public plugin_init() {
for(new i; i < sizeof(ent_class); i++) {
RegisterHam(Ham_Spawn, ent_class[i], "ham_in_action", 1)
}
}

public ham_in_action(index) {
new xxx_id = fm_find_ent_by_class(-1, "XXX")

if(pev_valid(xxx_id)) {
set_pev(xxx_id, pev_takedamage, DAMAGE_NO)
fm_set_rendering(xxx_id, kRenderFxHologram, 0, 0, 0, kRenderTransAdd, 200)
}
// дальше yyy zzz
}


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: monster_snark
СообщениеДобавлено: 12 мар 2011, 16:10 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
26 мар 2024, 21:42
Сообщения: 6864
*facepalm*
Код:
public ham_in_action(index)
Здесь index - индекс отспавненой ентити. Вот и юзай его сразу.
Код:
set_pev(index...
и т.д.


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: monster_snark
СообщениеДобавлено: 12 мар 2011, 16:18 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
не эт понятно ) проблема немного в другом в 1й функции 3 вида энтити для каждой разные параметры ...


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: monster_snark
СообщениеДобавлено: 12 мар 2011, 16:58 
Не в сети
Аватара пользователя
Зарегистрирован:
06 июн 2010, 16:53
Последнее посещение:
26 мар 2024, 14:36
Сообщения: 1143
Откуда: Владивосток
Не фига не понял :%)
Туранга Лила, что именно хочешь сделать?

_________________
Изображение
Vi Veri Veniversum Vivus Vici


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: monster_snark
СообщениеДобавлено: 12 мар 2011, 17:32 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
хотел оптимизировать это :
Код:
new snark_trail
new grenade_trail
new satchel_trail

public plugin_init() {
   RegisterHam(Ham_Spawn, "monster_snark", "snark_ent",1)
   RegisterHam(Ham_Spawn, "monster_satchel", "satchel_ent")
   RegisterHam(Ham_Spawn, "grenade", "grenade_ent")
   }

public plugin_precache() {
snark_trail = precache_model("sprites/snark_trailv1.spr")
grenade_trail = precache_model("sprites/12345.spr")
satchel_trail = precache_model("sprites/smoke999.spr")
}
public snark_ent(index) {
   fm_set_rendering(index, kRenderFxHologram, 0, 0, 0, kRenderTransAdd, 200)
   set_pev(index, pev_takedamage, DAMAGE_NO)

   message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
   write_byte(TE_BEAMFOLLOW)
   write_short(index)        // для кого рисовать
   write_short(snark_trail) // спрайт
   write_byte(8) // длина следа
   write_byte(3) // толщина следа
   write_byte(random(256)) // красный цвет
   write_byte(random(256)) // зеленый цвет
   write_byte(random(256)) // синий цвет
   write_byte(255) // насыщенность
   message_end()
   }
public satchel_ent(index) {
   fm_set_rendering(index, kRenderFxHologram, 0, 0, 0, kRenderTransAdd, 200)
   set_pev(index, pev_takedamage, DAMAGE_YES)
   
   message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
   write_byte(TE_BEAMFOLLOW)
   write_short(index)        // для кого рисовать
   write_short(satchel_trail) // спрайт
   write_byte(8) // длина следа
   write_byte(3) // толщина следа
   write_byte(random(256)) // красный цвет
   write_byte(random(256)) // зеленый цвет
   write_byte(random(256)) // синий цвет
   write_byte(255) // насыщенность
   message_end()
   }
public grenade_ent(index) {
fm_set_rendering(index, kRenderFxHologram, 0, 0, 0, kRenderTransAdd, 200)
set_pev(index, pev_takedamage, DAMAGE_YES)
   
   message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
   write_byte(TE_BEAMFOLLOW)
   write_short(index)        // для кого рисовать
   write_short(grenade_trail) // спрайт
   write_byte(8) // длина следа
   write_byte(3) // толщина следа
   write_byte(random(256)) // красный цвет
   write_byte(random(256)) // зеленый цвет
   write_byte(random(256)) // синий цвет
   write_byte(255) // насыщенность
   message_end()
}   
тем способом что был указан выше :D


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: monster_snark
СообщениеДобавлено: 12 мар 2011, 17:50 
Не в сети
Аватара пользователя
Зарегистрирован:
01 июн 2010, 23:25
Последнее посещение:
05 июл 2018, 16:02
Сообщения: 1035
вынеси это добро

Код:
  
   message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
   write_byte(TE_BEAMFOLLOW)
   write_short(index)        // для кого рисовать
   write_short(satchel_trail) // спрайт
   write_byte(8) // длина следа
   write_byte(3) // толщина следа
   write_byte(random(256)) // красный цвет
   write_byte(random(256)) // зеленый цвет
   write_byte(random(256)) // синий цвет
   write_byte(255) // насыщенность
   message_end()

В отдельную функцию типа
set_trail(id, length, width, r, g, b, alpha, sprite)

И вызывай ее с нужными параметрами из функций grenade_ent(), snark_ent() итд.

А регистрацию форвардов оставь как есть. Это будет быстрее и понятнее чем массивы в цикле крутить.
Иначе это не оптимизация если код становится запутаннее а работает это медленнее.

Первый Ham_Spawn у тебя регистрирован как Post, остальные как Pre

_________________
Изображение


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: monster_snark
СообщениеДобавлено: 12 мар 2011, 19:52 
Не в сети
Аватара пользователя
Зарегистрирован:
24 янв 2011, 03:32
Последнее посещение:
09 дек 2021, 03:04
Сообщения: 756
Откуда: Futurama
Ага работает норм :) . Осталось решить 1ну проблемку ... за снарками пропадает след через какоето время :x


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: monster_snark
СообщениеДобавлено: 12 мар 2011, 21:52 
Не в сети
Аватара пользователя
Зарегистрирован:
01 июн 2010, 23:25
Последнее посещение:
05 июл 2018, 16:02
Сообщения: 1035
Сделай его длиннее. Хвост в движении есть. Если остановиться то хвост пропадет. Может пропадает когда снарк медленно двигается.

_________________
Изображение


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB