This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

можно ли прописать Raycast на C#?

elifesim21

Новый участник
3 Апр 2021
21
1
40
Я нашел только на клик мышки. но не знаю для чего он. а можно ли его прописать так, что бы он возвращать данные об объекте?
 

elifesim21

Новый участник
3 Апр 2021
21
1
40
Нашел инфу. МБ кому то тоже пригодится.

C#:
Vector3 headPos = player.GetBoneCoords(31086, 0.0f, 0.0f, 0.0f);
            Vector3 offsetPos = RAGE.Game.Entity.GetOffsetFromEntityInWorldCoords(player.Handle, 0.0f, 20.0f, -10.0f);
            RAGE.Game.Graphics.DrawLine(headPos.X, headPos.Y, headPos.Z, offsetPos.X, offsetPos.Y, offsetPos.Z, 255, 0, 0, 255);
            int resultShape = RAGE.Game.Shapetest.StartShapeTestRay(headPos.X, headPos.Y, headPos.Z, offsetPos.X, offsetPos.Y, offsetPos.Z, 1, player.Handle, 7);

            int hit = -1;
            Vector3 endCoords = new Vector3();
            Vector3 surfaseNormal = new Vector3();
            int endEndidty = -1;

            int result = RAGE.Game.Shapetest.GetShapeTestResult(resultShape, ref hit, endCoords, surfaseNormal, ref endEndidty);
            if(result != 0)
                RAGE.Game.Graphics.DrawMarker(28, endCoords.X, endCoords.Y, endCoords.Z, 0.0f, 0.0f, 0.0f, 0.0f, 180.0f, 0.0f, 0.2f, 0.2f, 0.2f, 255, 128, 0, 50, false, true, 2, false, null, null, false);
 
Реакции: Nevedimka

DaVilka

Старожил
BackEnd developer
16 Сен 2020
759
276
128
теперь только 1 вопрос остался. как получить объект?

int result всегда 2
C#:
nt resultShape = RAGE.Game.Shapetest.StartShapeTestRay(headPos.X, headPos.Y, headPos.Z, offsetPos.X, offsetPos.Y, offsetPos.Z, 1, player.Handle, 7);
Цифра 1 это айди пересечение с какой местностью улавливает функция.
1: Intersect with map
2: Intersect with vehicles (used to be mission entities?) (includes train)
4: Intersect with peds? (same as 8)
8: Intersect with peds? (same as 4)
16: Intersect with objects
32: Water?
64: Unknown
128: Unknown
256: Intersect with vegetation (plants, coral. trees not included)
 

DaVilka

Старожил
BackEnd developer
16 Сен 2020
759
276
128
Да и result это не объект, а результат выполнения функции, объект будет в endEndidty, ентити объекта
 

elifesim21

Новый участник
3 Апр 2021
21
1
40
вопросов только больше и больше становится.

А как теперь по ентити объекта, определить что это за объект? название его хотя бы например
 

DaVilka

Старожил
BackEnd developer
16 Сен 2020
759
276
128
Стандартные функции RAGE.Game.Entity.
Точно не скажу, но вроде Entity.GetEntityModel должна вернуть хеш обьекта