| Копирование физических объектов | 
|  | 
| 
| BarD | Дата: Воскресенье, 16.08.2015, 11:15:44 | Сообщение # 1 |  |   
|  |  | Сообщений: 943 Репутация: 137 [ +/- ]
 |  | Всем доброго времени суток! Можно ли абсолютно точно скопировать лежащий труп? Т.е. создать рядом другой труп (cs_ragdoll), лежащий в точно такой же позиции, что и первый труп. |  |  |  |  | 
| 
| Sallcom | Дата: Воскресенье, 16.08.2015, 18:02:09 | Сообщение # 2 |  |   
|  |  | Сообщений: 205 Репутация: 31 [ +/- ]
 |  | Можно поиграть с Dissolve эффектом, ибо он создает копию и испаряет ее. Может быть GetEntDataEnt2.
 
 
 Сообщение отредактировал Sallcom - Воскресенье, 16.08.2015, 18:05:01 |  |  |  |  | 
| 
| BarD | Дата: Понедельник, 17.08.2015, 11:13:07 | Сообщение # 3 |  |   
|  |  | Сообщений: 943 Репутация: 137 [ +/- ]
 |  |  Sallcom, из Dissolve ничего не вытащишь :) 
 
 Цитата Sallcom (  ) Может быть GetEntDataEnt2Я немного не понимаю, как это использовать и зачем нужно. Объясни, пожалуйста :)
 
 
 Сообщение отредактировал BarD - Понедельник, 17.08.2015, 11:13:52 |  |  |  |  | 
| 
| Sallcom | Дата: Понедельник, 17.08.2015, 20:18:38 | Сообщение # 4 |  |   
|  |  | Сообщений: 205 Репутация: 31 [ +/- ]
 |  | Посмотрел один .inc, там это используется. Вот он http://code.google.com/p/zombiereloaded/source/browse/src/zr/visualeffects/ragdoll.inc?repo=zr-3-0-b2&r=0ecf9f5c3382aa6b4df66e381518f3a3f1739d01
 
 P.S. По-моему ragdoll'ы обрабатываются на стороне клиента, то есть их положение может отличаться у разных игроков.
 
 
 Сообщение отредактировал Sallcom - Понедельник, 17.08.2015, 21:17:50 |  |  |  |  | 
| 
| BarD | Дата: Вторник, 18.08.2015, 02:43:49 | Сообщение # 5 |  |   
|  |  | Сообщений: 943 Репутация: 137 [ +/- ]
 |  | Посмотрел. Но все равно не понимаю, чем GetEntDataEnt2 отличается от простого получения оффсета через GetEntProp) спасибо за помощь, может кто-нибудь ещё что-то подкинет:) 
 
 Сообщение отредактировал BarD - Вторник, 18.08.2015, 02:44:11 |  |  |  |  | 
| 
| Sallcom | Дата: Среда, 19.08.2015, 13:05:13 | Сообщение # 6 |  |   
|  |  | Сообщений: 205 Репутация: 31 [ +/- ]
 |  | Цитата BarD (  )  Но все равно не понимаю, чем GetEntDataEnt2 отличается от простого получения оффсета через GetEntPropСудя по тому, что пишут на AM, то GetEntDataEnt2 немного быстрее, но для его использования лучше хранить оффсет в глобальной переменной.
 
 
 Цитата BarD (  ) из Dissolve ничего не вытащишь :) Если копнуть глубже, то вот:
 https://github.com/ValveSoftware/source-sdk-2013/blob/master/sp/src/game/client/c_entitydissolve.cpp
 
 Ragdoll:
 https://github.com/ValveSoftware/source-sdk-2013/blob/master/sp/src/game/client/ragdoll.cpp
 
 Сообщение отредактировал Sallcom - Среда, 19.08.2015, 13:21:21 |  |  |  |  | 
| 
| BarD | Дата: Среда, 19.08.2015, 13:58:16 | Сообщение # 7 |  |   
|  |  | Сообщений: 943 Репутация: 137 [ +/- ]
 |  | Что-то жесткое :) Буду разбираться, спасибо большое! |  |  |  |  | 
| 
| Sallcom | Дата: Четверг, 20.08.2015, 13:44:29 | Сообщение # 8 |  |   
|  |  | Сообщений: 205 Репутация: 31 [ +/- ]
 |  | Можно попробовать взять данные cs_ragdoll и заспавнить prop_ragdoll с такими же параметрами. 
 Оффсеты:
 
 Код CCSRagdoll: Sub-Class Table (1 Deep): DT_CSRagdoll
 -Member: m_vecOrigin (offset 724) (type vector) (bits 0)
 -Member: m_vecRagdollOrigin (offset 1108) (type vector) (bits 0)
 -Member: m_hPlayer (offset 1092) (type integer) (bits 21)
 -Member: m_nModelIndex (offset 114) (type integer) (bits 12)
 -Member: m_nForceBone (offset 784) (type integer) (bits 8)
 -Member: m_vecForce (offset 788) (type vector) (bits 0)
 -Member: m_vecRagdollVelocity (offset 1096) (type vector) (bits 0)
 -Member: m_iDeathPose (offset 1120) (type integer) (bits 12)
 -Member: m_iDeathFrame (offset 1124) (type integer) (bits 5)
 -Member: m_iTeamNum (offset 448) (type integer) (bits 6)
 -Member: m_bClientSideAnimation (offset 976) (type integer) (bits 1)
 
 
 Сообщение отредактировал Sallcom - Четверг, 20.08.2015, 14:32:10 |  |  |  |  |