Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Как сделать еффект ледяной стрелы?
Podarok
Дата: Среда, 26.12.2012, 16:11 | Сообщение # 1
офлайн

  • Сообщения: 16
  • Награды: 1
  • Замечания:
 
Хай всем. Не давно я задавал на этом форуме вопрос, как сделать еффект ледяной стрелы как у расы сМастера, но увы, ответа я не получил и тему мою закинули в трэш. Спасибо СМастер ;* Ближе к теме : нам надо создать ентити с велосити по аиму , с определённой скоростью и с TE_BEAMFOLLOW.
Начнём :
Создаём ентити! Прописываем в константах new ARROW_MDL[64] = "putj k modeli ili spraitu"
Код

          new arrow = create_entity("info_target")
   if(arrow == 0) return PLUGIN_CONTINUE
          entity_set_string(arrow, EV_SZ_classname, "freezing_arrow")
   entity_set_model(arrow, ARROW_MDL) // Modelj
    
   entity_set_size(arrow, Float:{0.0, 0.0, 0.0}, Float:{0.0, 0.0, 0.0}) //Razmer
   entity_set_int(arrow, EV_INT_movetype, MOVETYPE_FLY)
   entity_set_int(arrow, EV_INT_solid, SOLID_BBOX)

Ентити готов, далее мы хотим чтобы он летел по аиму и чтобы он оставлял за собой трейл.
Код
  

   new Float:vSrc[3]
   entity_get_vector(player, EV_VEC_origin, vSrc)
    
   new Float:Aim[3],Float:origin[3]
   VelocityByAim(player, 64, Aim)
   entity_get_vector(player,EV_VEC_origin,origin)
    
   vSrc[0] += Aim[0]
   vSrc[1] += Aim[1]
   entity_set_origin(arrow, vSrc)
    
   new Float:velocity[3], Float:angles[3]
   VelocityByAim(player, SPEED, velocity)
    
   entity_set_vector(arrow, EV_VEC_velocity, velocity)
   vector_to_angle(velocity, angles)
   entity_set_vector(arrow, EV_VEC_angles, angles)
   entity_set_edict(arrow, EV_ENT_owner,player)
   entity_set_float(arrow, EV_FL_takedamage, 1.0)
    
   message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
   write_byte(TE_BEAMFOLLOW)
   write_short(arrow)
   write_short(trail) // Sdesj Sprite Traila
   write_byte(50) // Vremja (50 = 5sec)
   write_byte(5)
    write_byte(0) //R
   write_byte(224)  // G
   write_byte(255) //B
   write_byte(255)
   message_end()
  }

Player соответственно меняем на iCaster/iAttacker/id
Где нибудь вверху #define SPEED 500 скорость с которой летит ентити
Ещё нужно создать таск на ремове ентити, позже выложу. Если помог, ставте + )))
 
Kartman
Дата: Среда, 26.12.2012, 17:45 | Сообщение # 2
офлайн

  • Сообщения: 199
  • Награды: 3
  • Замечания:
 
А ты не думал что это может приватный код?

Добавлено (26.12.2012, 17:45)
---------------------------------------------
И нет смысла от твоей стрелы если нету тача


http://war3ft-help.tk/ - форум поддержки war3ftmod
 
KinD
Дата: Среда, 26.12.2012, 18:21 | Сообщение # 3
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
Хочу обломать Podarok, Дело в том,что там спрайтом это делается..

Добавлено (26.12.2012, 18:21)
---------------------------------------------
Добавлю,что для этого нужно выставить свойства некоторые.


Skype:daywerok

Сообщение отредактировал KinD - Среда, 26.12.2012, 18:18
 
Podarok
Дата: Воскресенье, 30.12.2012, 21:40 | Сообщение # 4
офлайн

  • Сообщения: 16
  • Награды: 1
  • Замечания:
 
Прекрасно знаю это. Не выложил полностью код просто. Если использовать спрайт ,то рендеринг надо ставить.. Увы, не обломал, KinD)))

Добавлено (30.12.2012, 21:40)
---------------------------------------------
В war3ft.inl надо добавить

Код

arrow = engfunc(EngFunc_PrecacheModel, "sprites/warcraft3/ice_arrow.spr")


Сообщение отредактировал Podarok - Среда, 26.12.2012, 19:08
 
Leonidddd
Дата: Воскресенье, 30.12.2012, 22:28 | Сообщение # 5
офлайн

  • Сообщения: 23
  • Награды: 1
  • Замечания:
 
Podarok, smile
 
ONEMDX
Дата: Суббота, 12.01.2013, 16:00 | Сообщение # 6
офлайн

  • Сообщения: 7
  • Награды: 0
  • Замечания:
 
how to remove entity when toch a wall or a player ? someone know ? thanks
 
Podarok
Дата: Воскресенье, 20.01.2013, 14:12 | Сообщение # 7
офлайн

  • Сообщения: 16
  • Награды: 1
  • Замечания:
 
Use pfn touch or registred_touch
 
  • Страница 1 из 1
  • 1
Поиск: