Показать сообщение отдельно

  #3243  
Старый 10.01.2019, 18:32
Неадекватная сова
Постоянный
Регистрация: 02.06.2018
Сообщений: 342
С нами: 4183567

Репутация: 133
По умолчанию

Цитата:
Сообщение от SiTrak  

Как получить координату кости?
Пример получения кости игрока и отрисовка их. 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
 
Ответить с цитированием