You are not logged in.
если поставить float тоже длинные
где-то с 6 знаками до запятой.
Alien ,скажи пожалуйста, в каком из 3х случаев я считаю правильно ?
Не получается чего то сосчитать.=(
Пробую найти targetRange для m4 с уровнем hitman
0xC8AAB8 + (31 + 36)*0x70 + 0x4
получаю какие то длинные циферки, изменение которых ничего не дает
(или эти адреса только для чтения?)
или перевожу 31 в hex получаю 1F
считаю
0xC8AAB8 + (1F + 36)*0x70 + 0x4
или перевожу еще 36 в hex.
0xC8AAB8 + (1F + 24)*0x70 + 0x4 то же самое.
Можно поподробнее расписать, пожалуйста, или привести 1 пример 
Ну я дурак
, мне нужно было только понять что (0xB6F3B8)+0x79C это пойнтер нацеленного педа
.
Спасибо огромное, заодно я стал понимать и функции 
Спасибо
,круто даже на ассемблере вставка 
hTargetedPed в эту переменную будет записываться пойнтер игрока(и хэндл это и есть пойнтер) ?
Аlien, скажи пожалуйста ,какая у тебя версия VC++ ? ,а то у меня VC6 не находит функцию __thiscall
У меня еще один вопрос по адресам, помогите пожалуйста.
cчитываю этот адрес (0xB6F3B8)+0x79C написано ,что в нем находится нацеленный пед.
Будет ли правильным следующий алгоритм?(при условии что (0xB6F3B8)+0x79C > 0)
n = 0xB74490;
x = (n)+12 //получить количество педов.
от 1 до x
{
Если (n) == (0xB6F3B8)+0x79C то a = (n) //получить пойнтер на нацеленного педа.
n = n + 0x7C4
}
Или надо по другому ?
Вообщем мне надо получить пойнтер на нацеленного педа, только мне не понятно как перенести эти две строки на C или delphi ,и нужно ли это вообще.
0AA8: call_function_method 0x4442D0 struct 2@ num_params 1 pop 0 ped 1@ store_to 0@
0AA6: call_method 0x4637E0 struct 0xA90850 num_params 2 pop 0 type 2 ped 1@
Из кода Alien'a.
Спасибо огромное ,сейчас проверю 
"0xC8AAB8 - Начало блока, куда считывается информация об оружии с меткой J (оружие ближнего боя) и $ (остальное оружие). В этом блоке 0x50 элементов по 0x70 байт в каждом. Индекс элемента высчитывается по формуле: <номер оружия> + <смещение>. Смещение определяется навыком оружия skilllevel: STD - 0, POOR - 25, PRO - 36, особое (характеристики пистолета копов) - 47. Все имена взяты из заголовка оригинального weapon.dat. "
Взял с gtamodding.ru ,Вопрос как сосчитать значение указателя что бы получить адрес памяти
например там написано "+0x38 = [dword] accuracy " , я считал 0xC8AAB8 + номер оружия+skilllevel + 0x38.
Думаю это не правильно ,т.к у меня ничего не получилось изменить
. Помогите пожалуйста.
Тема переименована для соответствия содержимому. Часть сообщений вынесена в отдельную тему
Я имел ввиду без редактирования файла weapon.dat. 
Способ есть, скачай crazy trainer, а как там это сделано я сам хочу узнать 
Адреса для вращения камеры/прицела.
0x0B6F258 по X /float
0x0B6F248 по Y /float
Объясните пожалуйста почему вылетает:
while true
repeat
wait 100
0A8D: 0@ = read_memory 0xB6F3B8 size 4 virtual_protect 0
if
0@ == 0
then
continue
end
0@ += 0x79C
0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0
until 1@ <> 0
0A8D: 2@ = read_memory 0xB74490 size 4 virtual_protect 0 //get pPedPool
0AA8: call_function_method 0x4442D0 struct 2@ num_params 1 pop 0 ped 1@ store_to 0@ //get handle of ped
0AA6: call_method 0x4637E0 struct 0xA90850 num_params 2 pop 0 type 2 ped 1@ //add references to ped
if
056D: actor 0@ defined
then
04C4: store_coords_to 10@ 11@ 12@ from_actor 0@ with_offset 0.3 150.0 0.6
04C4: store_coords_to 13@ 14@ 15@ from_actor 0@ with_offset 0.3 1.0 0.6
06BC: create_M4_shoot_from 13@ 14@ 15@ target 10@ 11@ 12@ energy 1
end
end
Скажите пожалуйста как сравнить в условии 2 переменные,
Пишу:
11@ > 8@ или $i > $i1
у меня появляется ошибка, что типы переменных несовместимы, хотя если это $ то я присваиваю им в начале скрипта тип, например $i: integer
Получается на клео не сделать то что я хочу, мне нужно примерно 1000-2000 элементов 
и один-два двумерных масива.=(
Пытаюсь связать камеру(значения которые по адресам 00B6F248 и 00B6F258) и окружение(педы,машины,объекты) с помощью множества 04C4: и 86BD: опкодов, и из-за таких ограничений получилось сделать только небольшой кусочек экрана по x (00B6F258), на большее не хватает элементов=(
Может быть есть более рациональные способы ?
Помогите пожалуйста.
Все нормально, когда я индексирую их вручную:
$a[1] = 1.0 $a[2] = 2.0 ... $a[10] = 10.0 04C4: store_coords_to $x[1] $y[1] $z[1] from_actor $PLAYER_ACTOR with_offset $a[1] 150.0 0.6 04C4: store_coords_to $x[2] $y[2] $z[2] from_actor $PLAYER_ACTOR with_offset $a[2] 150.0 0.6 ... 04C4: store_coords_to $x[10] $y[10] $z[10] from_actor $PLAYER_ACTOR with_offset $a[10] 150.0 0.6
Так все работает,но очень неудобно.
У меня небольшой вопросик, ответьте пожалуйста .
Как в SB индексировать массивы ?
Объявляю их так:
$x: array 40 of Float $y: array 40 of Float $z: array 40 of Float $a: array 40 of Float $b: array 40 of Float $i: integer
Использую примерно так:
$a[$i] = 0.0 For $i = 1 To 30 04C4: store_coords_to $x[$i] $y[$i] $z[$i] from_actor $PLAYER_ACTOR with_offset $a[$i] 150.0 0.6 $a[$i] += 1.0 end
Игра вылетает после загрузки 
Как найти угол по XZ между игроком и ближайшим к нему педом ?
Помогите пожалуйста.
Подскажите пожалуйста любой рабочий пример
в котором используются опкоды:
0635: AS_actor $PLAYER_ACTOR aim_at_actor 1@ 2000 ms
0667: AS_actor $PLAYER_ACTOR aim_at 969.3931 -1098.341 22.877 120000 ms
074D: AS_actor $PLAYER_ACTOR turns_to_and_look_at_actor 37@ timelimit -2
может я не так их использую, но они у меня не работают 
Что это за опкоды, напишите пожалуйста.
Мне нужно сделать только крест\точку\квадрат по центру экрана , т.е прицел.
У меня появился еще вопрос.
Как сделать так чтоб выводить пиксельные изображения на экран (например d3d9.dll собейта и т.п)
Как написать самую простую d3d9.dll для SA ? или может с помощью cleo можно ?
Смотрел скрипты portal gun и gravy gun там как то работает
Спасибо всем, все получилось.
У меня еще несколько вопросов.
Почему не работает такая связка опкодов:
....
00A0: store_actor $PLAYER_ACTOR position_to 1@ 4@ 5@
089E: get_actor_in_sphere 1@ 4@ 5@ radius 5.0 handle_as 11@ // versionB
if
0457: player $PLAYER_CHAR aiming_at_actor 11@
then
....
Также не работают опкоды:
0467: clear_actor $PLAYER_ACTOR last_weapon_damage
и
02E2: set_actor 2@ weapon_accuracy_to 75
Как их правильно использовать ?
У меня 2 вопроса ,ответьте пожалуйста!
1) Можно ли из cleo скрипта запустить exe файл ?
2) В cleo3 есть следующие опкоды:
0A8C: write_memory 0xC0BC15 size 1 value 1 virtual_protect 0
0A8D: $result = read_memory 1@ size 4 virtual_protect 0
А как быть если адрес памяти не определен, например 0xC0BC15 + 1111 ?
Можно ли записать содержимое адреса 0xC0BC15 в переменную ,потом к ней прибавить смещение 1111 ,и изменить получившийся адрес ?
Вроде Паук какой-то создатель скрипта:D
Или скажите как это сделать редактированием gta sa.ехе
Подскажите пожалуйста как изменять скорость бега\ходьбы и вес персонажа в cleo скрипте?