 |
|

17.10.2015, 21:32
|
|
Новичок
Регистрация: 11.08.2013
Сообщений: 5
С нами:
6711911
Репутация:
0
|
|
Сообщение от legend2360
А ты уверен, что правильно подобрал тип переменных?
Насчет "time, style" - да.
Остальное - нет.
|
|
|

17.10.2015, 21:40
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
Сообщение от nazarik
Насчет "time, style" - да.
Остальное - нет.
Ну значит len либо short, либо int
|
|
|

18.10.2015, 15:36
|
|
Новичок
Регистрация: 11.08.2013
Сообщений: 5
С нами:
6711911
Репутация:
0
|
|
Сообщение от legend2360
Ну значит len либо short, либо int
Спасибо, помог, тип должен быть int.
Кстати еще такой вопрос, как мне достать данные обьекта?
А именно model, x, y, z, rot_x, rot_y, rot_z, draw_dist; (пример ниже)
И проверку на то движется ли обьект (is_obj_moving)
C++:
Код:
for
(
int
idx
=
0
;
idx
getSAMP
(
)
->
getInfo
(
)
->
.
.
.
)
continue
;
// Тут проверка на то движется ли обьект, типо is_obj_moving
if
(
SF
->
getSAMP
(
)
->
getInfo
(
)
->
.
.
.
)
// Тут проверка на то существует ли обьект, типо is_obj_exists(idx)
{
SF
->
getSAMP
(
)
->
getInfo
(
)
->
.
.
.
obj
[
idx
]
->
.
.
.
model
SF
->
getSAMP
(
)
->
getInfo
(
)
->
.
.
.
obj
[
idx
]
->
.
.
.
x
SF
->
getSAMP
(
)
->
getInfo
(
)
->
.
.
.
obj
[
idx
]
->
.
.
.
y
SF
->
getSAMP
(
)
->
getInfo
(
)
->
.
.
.
obj
[
idx
]
->
.
.
.
z
SF
->
getSAMP
(
)
->
getInfo
(
)
->
.
.
.
obj
[
idx
]
->
.
.
.
rot_x
,
SF
->
getSAMP
(
)
->
getInfo
(
)
->
.
.
.
obj
[
idx
]
->
.
.
.
rot_y
,
SF
->
getSAMP
(
)
->
getInfo
(
)
->
.
.
.
obj
[
idx
]
->
.
.
.
rot_z
,
SF
->
getSAMP
(
)
->
getInfo
(
)
->
.
.
.
obj
[
idx
]
->
.
.
.
draw_dist
,
}
}
|
|
|

18.10.2015, 15:51
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
SF->getSAMP()->getInfo()->pPools->pObject
|
|
|

18.10.2015, 16:14
|
|
Новичок
Регистрация: 11.08.2013
Сообщений: 5
С нами:
6711911
Репутация:
0
|
|
Сообщение от legend2360
SF->getSAMP()->getInfo()->pPools->pObject
C++:
Код:
int
mid
;
float
x
,
y
,
z
;
float
rx
,
ry
,
rz
;
float
draw_dist
;
for
(
int
i
=
0
;
i
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
iIsListed
[
i
]
)
{
mid
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
object
[
i
]
->
iModel
;
x
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
object
[
i
]
->
fPos
[
0
]
;
y
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
object
[
i
]
->
fPos
[
1
]
;
z
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
object
[
i
]
->
fPos
[
2
]
;
rx
=
0.0
;
// нет данных о повороте обьекта
ry
=
0.0
;
// нет данных о повороте обьекта
rz
=
0.0
;
// нет данных о повороте обьекта
draw_dist
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
object
[
i
]
->
fDrawDistance
;
}
}
Выводит: CreateObject(966, -1066078592992261700000.000000, -871262744137906110000000000.000000, 643936512.000000, 0.000000, 0.000000, -1.#QNAN0);
ModelD выводит корректо, остальное - нет.
Вопрос - что не так, где достать данные о том движется ли обьект и данные о повороте(rot_x,y,z) обьекта?
|
|
|

18.10.2015, 16:35
|
|
Флудер
Регистрация: 23.03.2013
Сообщений: 2,696
С нами:
6915558
Репутация:
183
|
|
C++:
Код:
if
(
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
IsObjectExists
(
i
)
)
{
object_info
*
object
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
object
[
i
]
->
pGTAEntity
;
if
(
object
!=
nullptr
)
{
x
=
object
->
base
.
matrix
[
4
*
3
]
;
y
=
object
->
base
.
matrix
[
4
*
3
+
1
]
;
z
=
object
->
base
.
matrix
[
4
*
3
+
2
]
;
rx
=
object
->
base
.
matrix
[
0
]
;
ry
=
object
->
base
.
matrix
[
1
]
;
rz
=
object
->
base
.
matrix
[
2
]
;
}
}
[/i]
Если не ошибаюсь и нашел правильно, то структура матрицы в sa:
Код:
Код:
0 - 12 -> Rotation Matrix (Grad)
16 - 28 -> Rotation Matrix (Looking)
48 - 60 -> Position Matrix
(делим оффсеты на 4, т.к. все параметры читаются 4 байтами и получаем необходимый нам):
0 - 12 -> Rotation Matrix:
Rot X = 0 -> 0
Rot Y = 4 -> 1
Rot Z = 8 -> 2
Насчет движения: если есть такой флаг для объекта, ищи)), либо используй хук на RPC.
|
|
|

18.10.2015, 16:52
|
|
Новичок
Регистрация: 11.08.2013
Сообщений: 5
С нами:
6711911
Репутация:
0
|
|
Сообщение от legend2360
C++:
Код:
if
(
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
IsObjectExists
(
i
)
)
{
object_info
*
object
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
object
[
i
]
->
pGTAEntity
;
if
(
object
!=
nullptr
)
{
x
=
object
->
base
.
matrix
[
4
*
3
]
;
y
=
object
->
base
.
matrix
[
4
*
3
+
1
]
;
z
=
object
->
base
.
matrix
[
4
*
3
+
2
]
;
rx
=
object
->
base
.
matrix
[
0
]
;
ry
=
object
->
base
.
matrix
[
1
]
;
rz
=
object
->
base
.
matrix
[
2
]
;
}
}
[/i]
Если не ошибаюсь и нашел правильно, то структура матрицы в sa:
Код:
Код:
0 - 12 -> Rotation Matrix (Grad)
16 - 28 -> Rotation Matrix (Looking)
48 - 60 -> Position Matrix
(делим оффсеты на 4, т.к. все параметры читаются 4 байтами и получаем необходимый нам):
0 - 12 -> Rotation Matrix:
Rot X = 0 -> 0
Rot Y = 4 -> 1
Rot Z = 8 -> 2
Насчет движения: если есть такой флаг для объекта, ищи)), либо используй хук на RPC.
Оу спасибо, теперь позиции обьектов выводит как надо, насчет ротации - что то не то.
Выводит: CreateObject(18850, 752.032410, -1207.830811, 7.010000, 1.000000, 0.000000, -0.000000);
P.S. диапозон [rot_x, y, z] у всех обьектов (от -1.000000 до 1.000000)
|
|
|

19.10.2015, 15:36
|
|
Постоянный
Регистрация: 20.10.2014
Сообщений: 489
С нами:
6086011
Репутация:
108
|
|
Сообщение от Dark_Knight
Т.е, тебе не нужно, чтобы в табе отображалось?
Код:
Код:
if(!SF->getSAMP()->getScoreboard()->iIsEnable)
Код:
Код:
class "stScoreboardInfo" не содержит члена "iIsEnable"
|
|
|

19.10.2015, 17:05
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
|
|
|

19.10.2015, 19:23
|
|
Познающий
Регистрация: 02.11.2014
Сообщений: 32
С нами:
6066622
Репутация:
68
|
|
How Can i Wait On My Script ? Example::
Код:
Код:
SF->....AddMessageToChat(-1,"Hi");
.....(700)
SF->....AddMessageToChat(-1,"700 miliseconds passed");
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|