PDA

Просмотр полной версии : [Вопрос] Аттач крови к игроку



Salik_Davince
26.10.2020, 21:34
Привет всем, хотел поэксперементировать и добиться желаемого, т.e приаттачить объект крови к игроку (в то место где был произведен выстрел) в игрока, попробовал использовать по принципами:


public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart)
{
GetPlayerLastShotVectors(playerid, pOrigPosX, pOrigPosY, pOrigPosZ, pHitPosX, pHitPosY, pHitPosZ); // ?????? ????????? ???????
????????
GetPlayerPos(damagedid, damagedPosX, damagedPosY, damagedPosZ);

SetPlayerAttachedObject(damagedid, 1, 19836, 1, pHitPosX - damagedPosX, pHitPosY - damagedPosY, pHitPosZ - damagedPosZ);
//И пробовал так же
SetPlayerAttachedObject(damagedid, 1, 19836, 1, damagedPosX - pHitPosX, damagedPosY - pHitPosY, damagedPosZ - pHitPosZ);
}


Я знаю что аттачи идут к разным частям тела, но я только хочу как то это реализовать, и помощь не помешала бы )

SteveStage
27.10.2020, 14:04
К телу приаттачится объект крови, т.е. он не изменит своего поворота, и это будет выглядеть убого.

Вот так примерно выглядит объект крови (зависит от текстуры крови в particle.txd):

https://i.imgur.com/oK6SpWj.jpg

Pro_Coder
27.10.2020, 19:21
Почему не изменит поворота? fRotX, fRotY, fRotZ

SetPlayerAttachedObject(playerid, index, modelid, bone, Float:fOffsetX = 0.0, Float:fOffsetY = 0.0, Float:fOffsetZ = 0.0, Float:fRotX = 0.0, Float:fRotY = 0.0, Float:fRotZ = 0.0, Float:fScaleX = 1.0, Float:fScaleY = 1.0, Float:fScaleZ = 1.0, materialcolor1 = 0, materialcolor2 = 0);

И попробуй использовать

OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)

Salik_Davince
27.10.2020, 20:15
Тут в приведенном мной примере все отлично, но объект приаттачивается в другом месте, мне хоть без поворота пока, но нужно сделать что-бы аттачился объект прямо в то место где был произведен выстрел, тут скорее всего нужна геометрия опять же, в чем я не так уж, вот и жду от вас помощи, любой ;)