You are not logged in.
У меня такой вопрос, помогите пожалуйста если знаете.
Как,если это вообще возможно, отключить коллизию машины через память,подобно отключению коллизии у игрока ?
Вот нашел кое что, но не могу понять что Cveh + 216 и Cveh + 220 изменяется когда машина сталкивается с чем либо,
Cveh + 232 изменяется если машина врезалась в пешехода или в машину.
Пробовал изменять значения, но игра вылетает
Last edited by DimP (18-12-2009 17:08)
Offline
Покопался в исходниках одного трейнера для гта, и нашел записи
CarPointer+216 size 20, "Collision related(?)"
CarPointer+236 size 20, "Last collision coordinates"
0x00B744A4, 48, "col model pool"
И еще меня очень удивило в этом же коде:
0x00B74498, 56, "buildings", "buildings pool",
buildings+20, 4, "Pointer to transformation matrix",
Получается все дома, так же как педы и машины имеют координаты..тд ? 0o
И еще вопрос, чтобы тему не создавать,
почему элементы Ped pool постепенно в процессе игры,начиная с первого становятся нулями, а остальные сдвигаются? Объясните пожалуйста.
Last edited by DimP (21-12-2009 15:18)
Offline
Получается все дома, так же как педы и машины имеют координаты..тд ? 0o
Дома, объекты, машины и прочие пешеходы наследуются от CPlaceable. В нем содержатся либо простые координаты (для фиксированных объектов: точка и угол поворота) либо матрица трансформации (с координатами, поворотами, масштабированием и т.д.).
В теме с адресами и функциями была полная диваграмма наследования.
почему элементы Ped pool постепенно в процессе игры,начиная с первого становятся нулями, а остальные сдвигаются? Объясните пожалуйста.
Пул представляет собой массив. При выделении объекта, в массиве ищется первый свободный элемент и в нем создается запрошенный объект. Чтобы не проходить по кругу весь массив, свободное место ищется не от начала пула, а от последнего выделенного элемента.
Offline
listener Спасибо огромное за объяснение
А какие ограничения размера у пула, ведь он когда то должен закончится ?, вроде написано что там может быть 140 элементов, что будет если места от последнего элемента не будет хватать для записи нового ?
Last edited by DimP (21-12-2009 17:41)
Offline
У меня есть вопрос такой.
Допустим есть pointer тачки
Нужно проверить, что этот pointer действительно тачки, а не объекта или актера.
Что нужно прочитать или вызвать через этот pointer в памяти?
I know everything and nothing...
Offline
А что если вызвать метод CPool<CVehicle>::HadleOf() и проверить результат на равенство нулю (-1?)...
0A8D: 0@ = read_memory 0xB74494 size 4 virtual_protect 0 //vehicle pool 0AA8: call_function_method 0x424160 struct 0@ num_params 1 pop 0 $CarPtr 0@ if 0@ == 0 then //not a vehicle end
Если не выйдет, то можно проверить, находится ли структура в пуле машин...
0A8D: 0@ = read_memory 0xB74494 size 4 virtual_protect 0 //vehicle pool 0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0 //objects 0A8E: 2@ = 0@ + 8 0A8D: 2@ = read_memory 2@ size 4 virtual_protect 0 //pool size 0085: 4@ = 0xA18 //size of element 006A: 4@ *= 2@ 005A: 4@ += 1@ if or 802E: $CarPtr < 1@ 001E: $CarPtr > 4@ then //not a vehicle end
Offline
Ребята, кто может мне точно сказать, какие изменения в памяти делает чит:
0AA5: call 0x438370 num_params 1 pop 1 28 - сделать машине улучшенное управление.
Offline
Я спросил, какие изменения он вносит, а не как его активировать.
Offline
Объясните, пожалуйста, что в коде Alien'a происходит? (который копает пул)
Offline
Как сделать транспорт полностью невидимым? Как при чит-коде, но только для одного? Колеса можно и оставить.
Offline
Offline
это я знаю, просто если ты сделаешь это со своей машиной, ты тоже невидимым станешь. А мне это не нужно.
Offline
Offline
Offline
поэкспериментируй...или расстояние, на котором модель заменяется ЛОД-ом, или же, то, на котором даже ЛОД-ы исчезают...
Да пробовал ставить разные значения, но никаких изменений не заметил. А увеличить дистанцию прорисовки педов и машин хотелось бы, как в VC.Traffic например.
Offline
@Sergey81 - Расстояние от камеры. Если расстояние от камеры больше - используется LOD, если меньше - основная модель. Проверочка расстояния производится в соответствующем RenderCallback (кстати, можно навешивать на любой компонент свой коллбэк).
В свежей gta_dll есть несколько разобранных коллбэков.
Offline
@Sergey81 - Расстояние от камеры. Если расстояние от камеры больше - используется LOD, если меньше - основная модель. Проверочка расстояния производится в соответствующем RenderCallback (кстати, можно навешивать на любой компонент свой коллбэк).
В свежей gta_dll есть несколько разобранных коллбэков.
А как именно его менять?
И можно ли менять расстояние спавна машин и педов?(ну или найти значение в памяти)
Offline
Менять просто - записывать туда float - если я ниего не путаю, квадрат расстояния до камеры, на котором будет производиться переключение/отрисовка.
Расстояние спавна я пока не нашел (это должно быть где-то в CPopulation)
Offline
Offline
Чтоб отключить зум у оружия при прицеливании, где надо поискать? В CCam или CPed или ещё где? Или может уже адрес известен?
Offline