Пример получения кости игрока и отрисовка их. ID костей находятся в CPed.h
Код:
#pragma region DrawBones
if (enableDrawBones) {
actor_info *actorInfo = SF->getSAMP()->getPlayers()->pRemotePlayer[i]->pPlayerData->pSAMP_Actor->pGTA_Ped;
CPed* Ped = GAME->GetPools()->GetPed((DWORD*)actorInfo);
float posX[15], posY[15];
int counter = 0;
CVector vPos[15];
for (int i = 1; i GetTransformedBonePosition((eBone)i, &vPos[counter]);
counter++;
break;
case 3:
Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
counter++;
break;
case 4:
Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
counter++;
break;
case 5:
Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
counter++;
break;
case 6:
Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
counter++;
break;
case 22:
Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
counter++;
break;
case 23:
Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
counter++;
break;
case 25:
Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
counter++;
break;
case 32:
Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
counter++;
break;
case 33:
Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
counter++;
break;
case 35:
Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
counter++;
break;
case 42:
Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
counter++;
break;
case 43:
Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
counter++;
break;
case 52:
Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
counter++;
break;
case 53:
Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
counter++;
break;
}
}
for (int i = 0; i getGame()->convert3DCoordsToScreen(vPos[i].fX, vPos[i].fY, vPos[i].fZ, &posX[i], &posY[i]);
SF->getRender()->DrawLine(posX[0], posY[0], posX[1], posY[1], 1, 0xFFFFFFFF);
SF->getRender()->DrawLine(posX[0], posY[0], posX[11], posY[11], 1, 0xFFFFFFFF);
SF->getRender()->DrawLine(posX[0], posY[0], posX[13], posY[13], 1, 0xFFFFFFFF);
SF->getRender()->DrawLine(posX[1], posY[1], posX[2], posY[2], 1, 0xFFFFFFFF);
SF->getRender()->DrawLine(posX[2], posY[2], posX[5], posY[5], 1, 0xFFFFFFFF);
SF->getRender()->DrawLine(posX[2], posY[2], posX[8], posY[8], 1, 0xFFFFFFFF);
SF->getRender()->DrawLine(posX[2], posY[2], posX[3], posY[3], 1, 0xFFFFFFFF);
SF->getRender()->DrawLine(posX[3], posY[3], posX[4], posY[4], 1, 0xFFFFFFFF);
SF->getRender()->DrawLine(posX[5], posY[5], posX[6], posY[6], 1, 0xFFFFFFFF);
SF->getRender()->DrawLine(posX[6], posY[6], posX[7], posY[7], 1, 0xFFFFFFFF);
SF->getRender()->DrawLine(posX[8], posY[8], posX[9], posY[9], 1, 0xFFFFFFFF);
SF->getRender()->DrawLine(posX[9], posY[9], posX[10], posY[10], 1, 0xFFFFFFFF);
}
#pragma endregion DrawBones