
23.09.2018, 16:43
|
|
Познающий
Регистрация: 19.01.2017
Сообщений: 51
С нами:
4901705
Репутация:
98
|
|
Всем привет!
Есть такой вопрос:
Как можно получить указатель на машину, дверь которой дергает игрок?
К примеру, есть машина, она закрыта. Когда мы к ней подходим и пытаемся нажать на G / просто сесть в машину - он просто дергает ручку и не может в неё сесть. Вот нужно получить указатель на эту машину.
Или же, нужен offset для получения указателей всех машин в зоне прорисовки.
Помогите пожалуйста!
Нигде не могу найти.
P.S НУЖЕН ИМЕННО АДРЕС. БЕЗ ИСПОЛЬЗОВАНИЯ Sampfuncs, lua и прочего.
|
|
|

27.09.2018, 16:25
|
|
Познающий
Регистрация: 19.01.2017
Сообщений: 51
С нами:
4901705
Репутация:
98
|
|
Всем привет. Пытаюсь понять, как можно получить указатель на каждый элемент в пуле транспорта.
Полазил по сайтам, нашёл такое:
- 0xB6F980 - Указатель на начало пула транспорта (CVehicle)
CVehicle
Каждый транспорт как объект, равняется 2584 (0xA18) байтам и начинается с 0xC502AA0.
0xB74494 - Содержит указатель. Этот указатель:
- +0 = Содержит указатель на первый элемент в пуле CVehicle
- +4 = Содержит указатель на карту байтов показывающую какие элементы сейчас используются в пуле CVehicle
- +8 = [dword] максимальное кол-во элементов в пуле CVehicle
- +12 = [dword] текущее кол-во элементов в пуле CVehicle
Я лишь понял (с помощью 0xB74494 + 8) - что максимально CVehicle'а может быть 710.
Как я могу получить указатель на, к примеру, 5-й или 10-й элемент (из 710) из этого пула?
Типа, 0xB6F980 + 5 / 0xB6F980 + 10?
Помогите, пожалуйста, уже не знаю, куда писать-то
|
|
|

28.09.2018, 18:57
|
|
Познающий
Регистрация: 19.01.2017
Сообщений: 51
С нами:
4901705
Репутация:
98
|
|
Есть ли какой-нибудь offset, чтобы запихнуть игрока в машину?
P.S Без SAMPFUNCS и LUA
|
|
|

28.09.2018, 22:09
|
|
Участник форума
Регистрация: 17.01.2018
Сообщений: 235
С нами:
4379113
Репутация:
98
|
|
|
|
|

28.09.2018, 23:05
|
|
Познавший АНТИЧАТ
Регистрация: 09.08.2015
Сообщений: 1,213
С нами:
5663255
Репутация:
183
|
|
По стандарту все базовое стоит.
|
|
|

28.09.2018, 23:10
|
|
Участник форума
Регистрация: 17.01.2018
Сообщений: 235
С нами:
4379113
Репутация:
98
|
|
Сообщение от Rinat_Namazov
По стандарту все базовое стоит.
то есть без разницы что? может что-то мне потом пригодиться. не для сампа мне нужно
|
|
|

28.09.2018, 23:11
|
|
Познавший АНТИЧАТ
Регистрация: 09.08.2015
Сообщений: 1,213
С нами:
5663255
Репутация:
183
|
|
Сообщение от Howl1337
то есть без разницы что? может что-то мне потом пригодиться. не для сампа мне нужно
Все стоит по стандарту че надо, остальное в любом случае можно докачать через установщик.
|
|
|

28.09.2018, 23:21
|
|
Участник форума
Регистрация: 17.01.2018
Сообщений: 235
С нами:
4379113
Репутация:
98
|
|
Сообщение от Rinat_Namazov
Все стоит по стандарту че надо, остальное в любом случае можно докачать через установщик.
Дошло. думал обязательно что-то выбирать. Спасибо
|
|
|

29.09.2018, 15:54
|
|
Участник форума
Регистрация: 26.11.2015
Сообщений: 148
С нами:
5506473
Репутация:
78
|
|
Подскажите, пожалуйста, с регуляркой, то я конкретно заебался уже с ней. В RPC_ScrCreate3DTextLabel читаю text, перевожу в строку и потом ловлю (пытаюсь) уже regex_match значения нужные значения. Но мой шаблон не проходит, как бы не извращался. Текст, например, такой:
Код:
Код:
{FF9900}*** Дом занят ***
{FFFFFF}Номер дома: {AFAFAF}614
{FFFFFF}Класс дома: {AFAFAF}1
{FFFFFF}Владелец: {AFAFAF}Dima_Ganja
{FFFFFF}Дверь: {3D9829}Открыта
{FFFFFF}Гараж: [ {FA736C}НЕТ {FFFFFF}]
Нужно достать, допустим число 614. Пытался следующим образом но как-то не особо получилось, где трабол:
C++:
Код:
std
::
string str
=
std
::
string
(
text
)
;
std
::
smatch res
;
if
(
std
::
regex_match
(
str
,
res
,
std
::
regex
(
R"(/\}(\d+)/g)"
)
)
)
|
|
|

09.10.2018, 12:16
|
|
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами:
6603505
Репутация:
183
|
|
Сообщение от CatKnight
Подскажите, пожалуйста, с регуляркой, то я конкретно заебался уже с ней. В RPC_ScrCreate3DTextLabel читаю text, перевожу в строку и потом ловлю (пытаюсь) уже regex_match значения нужные значения. Но мой шаблон не проходит, как бы не извращался. Текст, например, такой:
Код:
Код:
{FF9900}*** Дом занят ***
{FFFFFF}Номер дома: {AFAFAF}614
{FFFFFF}Класс дома: {AFAFAF}1
{FFFFFF}Владелец: {AFAFAF}Dima_Ganja
{FFFFFF}Дверь: {3D9829}Открыта
{FFFFFF}Гараж: [ {FA736C}НЕТ {FFFFFF}]
Нужно достать, допустим число 614. Пытался следующим образом но как-то не особо получилось, где трабол:
C++:
Код:
std
::
string str
=
std
::
string
(
text
)
;
std
::
smatch res
;
if
(
std
::
regex_match
(
str
,
res
,
std
::
regex
(
R"(/\}(\d+)/g)"
)
)
)
C++:
Код:
std
::
string str
=
std
::
string
(
text
)
;
std
::
smatch res
;
const
std
::
regex
re
(
R"((?:\{[0-9a-f]{6,8}\})?([\s\wа-я]+):\s(?:\{[0-9a-f]{6,8}\})?(\d+))"
,
std
::
regex
::
icase
)
;
if
(
std
::
regex_match
(
str
,
res
,
ку
)
)
{
if
(
res
[
1
]
.
str
(
)
==
"Номер дома"
)
MessageBoxA
(
0
,
res
[
2
]
.
str
(
)
.
data
(
)
,
"Номер дома"
,
MB_OK
)
;
}
Сообщение от Babayka2016
Есть ли какой-нибудь offset, чтобы запихнуть игрока в машину?
P.S Без SAMPFUNCS и LUA
Нужно создать игровое событие или вызвать опкод. Пример первого есть в собе, пример второго в сампе
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|