You are not logged in.
Вопроса три
1) Как сделать нормальный обзорный drive-by для CJ'я? ну типа как бандиты и другие стреляют? Знаю есть какой-то чит для такого, можно ли каким-то опкодом?
0501: set_player $PLAYER_CHAR driveby_mode 0
0563: set_player $PLAYER_CHAR driveby_ammo_to 78
Этих два для обычного drive-by...
2) Для вывода своего текста обязательно иметь установлено ShowTextBox.s и где его взять?
3) Использую 05E2: AS_actor 11@ kill_actor $PLAYER_ACTOR но иногда если СиДжей ударяет этого самого 11@ он (11@) садиться на землю, руки за голову, словно боится, потом вста1т и продолжает дерется. Как этого избежать?
Спасибо кто ответит
Last edited by Yarik (16-05-2008 10:02)
-=YariK=-
http://my-mods.org.ua/
Offline
) Как сделать нормальный обзорный drive-by для CJ'я? ну типа как бандиты и другие стреляют? Знаю есть какой-то чит для такого, можно ли каким-то опкодом?
0501: set_player $PLAYER_CHAR driveby_mode 0
0563: set_player $PLAYER_CHAR driveby_ammo_to 78
Этих два для обычного drive-by...
2) Для вывода своего текста обязательно иметь установлено ShowTextBox.s и где его взять?
3) Использую 05E2: AS_actor 11@ kill_actor $PLAYER_ACTOR но иногда если СиДжей ударяет этого самого 11@ он (11@) садиться на землю, руки за голову, словно боится, потом вста1т и продолжает дерется. Как этого избежать?
Ктото поможет?
-=YariK=-
http://my-mods.org.ua/
Offline
2) Для вывода своего текста обязательно иметь установлено ShowTextBox.s и где его взять?
Посмотри в базовом комплекте CLEO3. Там есть и этот скрипт, и пример его использования.
Использовать именно его необязательно, все зависит от стоящих перед тобой задач.
Offline
Нашел, мне надо просто вывести свой текст в своём КЛЕО скрипте, в итоге должен получиться только один файл
Пробовал слепить код типа
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$VERSION 3.1.0027}
{$CLEO .CS}//-------------MAIN---------------
0A95: enable_thread_saving
0A9F: 0@ = current_thread_pointer
0@ += 16
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
0@ -= -66
0@ += 4
wait 0
0AA9: is_game_version_original
else_jump @NONAME_127
0AA5: call 5802976 4 pop 4 0 0 0 0@
0900: unknown_set_object "IF YOU SEE THIS MESSAGE, CLEO 3 WORKS NORMALLY!"
0A93: end_custom_thread:NONAME_127
0AA5: call 5804976 4 pop 4 0 0 0 0@
0900: unknown_set_object "IF YOU SEE THIS MESSAGE, CLEO 3 WORKS NORMALLY!"
0A93: end_custom_thread
0000: NOP
не получилось как бы его влепить?
-=YariK=-
http://my-mods.org.ua/
Offline
Вместо -66 должна стоять метка, указывающая на текст (число динамическое и меняется в зависимости от того где находится опкод 0900 в скрипте).
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007 {$VERSION 3.1.0027} {$CLEO .CS} //-------------MAIN--------------- 0A95: enable_thread_saving 0A9F: 0@ = current_thread_pointer 0@ += 16 0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 0@ -= @text 0@ += 4 wait 0 0AA9: is_game_version_original else_jump @NONAME_127 0AA5: call 5802976 4 pop 4 0 0 0 0@ 0A93: end_custom_thread :NONAME_127 0AA5: call 5804976 4 pop 4 0 0 0 0@ 0A93: end_custom_thread :text 0900: unknown_set_object "IF YOU SEE THIS MESSAGE, CLEO 3 WORKS NORMALLY!" 0000:
Offline
1) При компиляции - декомпиляции код поменялся, и не выводяться первых три буквы. От чего так?
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007 {$VERSION 3.1.0027} {$CLEO .CS} //-------------MAIN--------------- 0A95: enable_thread_saving 0A9F: 0@ = current_thread_pointer 0@ += 16 0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 0@ -= -102 0@ += 4 wait 0 0AA9: is_game_version_original else_jump @NONAME_79 0AA5: call 5802976 4 pop 4 0 0 0 0@ 0A93: end_custom_thread :NONAME_79 0AA5: call 5804976 4 pop 4 0 0 0 0@ 0A93: end_custom_thread 0900: unknown_set_object "IF YOU SEE THIS MESSAGE, CLEO 3 WORKS NORMALLY!" 0000: NOP
2) Как зделать чтоб впервые скомпилированый код занимал минимальное место , тоесть 1-2 Кб вместо 18. Такое ведь возможно?
-=YariK=-
http://my-mods.org.ua/
Offline
При компиляции - декомпиляции код поменялся, и не выводяться первых три буквы. От чего так?
отними от 0@ 3, проблем то... (0@ содержит указатель на первый символ теста).
Как зделать чтоб впервые скомпилированый код занимал минимальное место , тоесть 1-2 Кб вместо 18. Такое ведь возможно?
Сними галочку с опции "Добавлять дополнительную информацию в SCM".
Offline
отними от 0@ 3, проблем то... (0@ содержит указатель на первый символ теста).
Я так и делал, но при самой первой компиляции всё нормально
А при декомпиляции 0@ -= @text превращается в 0@ -= -102
Просто я это не понимаю, не вызовет ли это какнибудь проблем
Сними галочку с опции "Добавлять дополнительную информацию в SCM".
спс
-=YariK=-
http://my-mods.org.ua/
Offline
Скрипт на основе Interceptor.
Не пойму, почему я в этом варианте могу нанять сколько угодно людей, но согласно коду не могу распустить:
{$E} 0000: wait 0 Model.Load(#MICRO_UZI) 038B: load_requested_models :NONAME_13 wait 0 $ONMISSION == 0 else_jump @NONAME_13 if and Model.Available(#MICRO_UZI) Player.Defined($PLAYER_CHAR) else_jump @NONAME_13 :NONAME_62 wait 0 00E1: key_Pressed 0 10 else_jump @NONAME_62 jump @NONAME_94 :NONAME_94 wait 0 Actor.StorePos($PLAYER_ACTOR, 0@, 1@, 2@) 3@ = 0.8 gosub @AIC_GETACTOR not 9@ == -1 else_jump @NONAME_94 0631: put_actor 9@ in_group $PLAYER_GROUP 07FE: set_actor 9@ fighting_style_to 7 6 01B2: give_actor 9@ weapon 28 ammo 6000 // Load the weapon model before using this Actor.WeaponAccuracy(9@) = 100 Actor.Health(9@) = 500 Actor.Armour(9@) = 200 Model.Destroy(#MICRO_UZI) jump @NONAME_13
А в этом варианте могу нанять не более одного человека, хотя отпустить его и нанять нового могу:
{$E} 0000: wait 0 Model.Load(#MICRO_UZI) 038B: load_requested_models :NONAME_13 wait 0 $ONMISSION == 0 else_jump @NONAME_13 if and Model.Available(#MICRO_UZI) Player.Defined($PLAYER_CHAR) else_jump @NONAME_13 :NONAME_62 wait 0 00E1: key_Pressed 0 10 else_jump @NONAME_62 jump @NONAME_94 :NONAME_94 wait 0 Actor.StorePos($PLAYER_ACTOR, 0@, 1@, 2@) 3@ = 0.8 gosub @AIC_GETACTOR not 9@ == -1 else_jump @NONAME_94 0631: put_actor 9@ in_group $PLAYER_GROUP 07FE: set_actor 9@ fighting_style_to 7 6 01B2: give_actor 9@ weapon 28 ammo 6000 // Load the weapon model before using this Actor.WeaponAccuracy(9@) = 100 Actor.Health(9@) = 500 Actor.Armour(9@) = 200 Model.Destroy(#MICRO_UZI) Actor.RemoveReferences(9@) :NONAME_100 wait 0 00E1: key_Pressed 0 4 else_jump @NONAME_100 06C9: remove_actor 9@ from_group jump @NONAME_13
Offline
А если чтото типа этого?
{$E} 0000: wait 0 Model.Load(#MICRO_UZI) 038B: load_requested_models :NONAME_13 wait 0 $ONMISSION == 0 else_jump @NONAME_13 if and Model.Available(#MICRO_UZI) Player.Defined($PLAYER_CHAR) else_jump @NONAME_13 :NONAME_62 wait 0 00E1: key_Pressed 0 10 else_jump @NONAME_100 jump @NONAME_94 :NONAME_94 wait 0 Actor.StorePos($PLAYER_ACTOR, 0@, 1@, 2@) 3@ = 0.8 gosub @AIC_GETACTOR not 9@ == -1 else_jump @NONAME_94 0631: put_actor 9@ in_group $PLAYER_GROUP 07FE: set_actor 9@ fighting_style_to 7 6 01B2: give_actor 9@ weapon 28 ammo 6000 // Load the weapon model before using this Actor.WeaponAccuracy(9@) = 100 Actor.Health(9@) = 500 Actor.Armour(9@) = 200 Model.Destroy(#MICRO_UZI) Actor.RemoveReferences(9@) :NONAME_100 wait 0 00E1: key_Pressed 0 4 else_jump @NONAME_62 06C9: remove_actor 9@ from_group jump @NONAME_13
-=YariK=-
http://my-mods.org.ua/
Offline
Спасибо, Yarik Да, теперь можно набирать в группу большее число педов, но вот отпускается только один
Offline
А если последнюю строчку
jump @NONAME_13
заменить на
jump @NONAME_62
-=YariK=-
http://my-mods.org.ua/
Offline
Спасибо, Yarik ) Я его добила
Заменить надо на jump @NONAME_94
Offline
А мне с автопилотом помогут?
Offline
Вот адреса с GTAGARAGE.COM
Cars
0xB6F980 is the direct pointer to the pool start.
0xB74494 contains a pointer.
This pointer:
+0 contains a pointer to the first element in the pool.
+4 contains a pointer to a byte map indicating which elements are in use.
+8 [DWord] is the maximum number of elements in the pool.
+12 [DWord] is the current number of elements in the pool.
Each vehicle object is 2584 (0xA18) bytes.
+140 [Float] Mass (kg) from handling.cfg
Мне надо записать в переменную вес машины опкодом
0A8D: 1@= read_memory <ADRESS> size <SIZE> virtual_protect 0
Что вводить вместо <ADRESS> и <SIZE>???
Как рассчитать нужный адрес, имея только начальный адрес(0xB6F980) и какие-то долбаные +140 и т.д.???
Буду очень признателен за помощь!
GIMS developer
Offline
0A97: 0@ = car 1@ struct // ищем начальный адрес машины 1@ 0@ += 140 // прибавляем нужный оффсет (mass) 0A8C: write_memory 0@ size 4 value 2000.0 virtual_protect 0 // записываем новую массу 2000.0
Параметр Size в 0A8C зависит от размера поля в памяти игры, в которое мы пишем значение. В данном случае это Float, он имеет размер 4 байта. Если был бы Byte, значение size было бы 1, для Word - 2, для Dword - 4.
Offline
0A97: 0@ = car 1@ struct // ищем начальный адрес машины 1@ 0@ += 140 // прибавляем нужный оффсет (mass) 0A8C: write_memory 0@ size 4 value 2000.0 virtual_protect 0 // записываем новую массу 2000.0Параметр Size в 0A8C зависит от размера поля в памяти игры, в которое мы пишем значение. В данном случае это Float, он имеет размер 4 байта. Если был бы Byte, значение size было бы 1, для Word - 2, для Dword - 4.
СПАСИБО СПАСИБО СПАСИБО!!!
Я хочу найти через адреса в памяти координаты фар машины, чтобы написать скрипт для моргания)))))
GIMS developer
Offline
Я хочу найти через адреса в памяти координаты фар машины, чтобы написать скрипт для моргания)))))
фары можно включать\выключать и опкодом.
2Seemann, скажи, пожалуйсто, какая версия IDA нужна, чтоб открыть файл(gta_sa_idb_20080407) отсюда _public.sannybuilder.com/gtasa_exe_idb/ ? скачал две разные версии IDA, а она файл не открывает, пишет что-то типа более новая версия нужна.
[large]Добавленно.[/large]
Спасибо, Seemann
Last edited by flashTrash (28-05-2008 14:22)
Offline
Версия 5.2.0.908 подойдет
Offline
Я хочу найти через адреса в памяти координаты фар машины, чтобы написать скрипт для моргания)))))
фары можно включать\выключать и опкодом.
Я имею ввиду поворотники))))
А не поможет ли великий Симан или Алекс найти коорды думисов фар?
Last edited by 3Doomer (28-05-2008 15:05)
GIMS developer
Offline
оо да они великие.. почти живая легенда .. если найдут то йа оочень буду рад т.к довно искал способ сделать поворотник..
Offline
Offline
Почему то когда меняю модель мотокопа, в памяти, (0x8A5AB0), то ничего не происходит - модель остаётся старая... В чем проблема может быть?
Offline
Почему то когда меняю модель мотокопа, в памяти, (0x8A5AB0), то ничего не происходит - модель остаётся старая... В чем проблема может быть?
Или не тот адрес, или игра постоянно обновляет его...
GIMS developer
Offline
2Seemann. если я сделаю так:
3@ = 1 0A92: create_custom_thread "trash.cs" 3@
то в вышеозначеном потоке локальная переменная 3@ будет равна 1? И можно ли вообще так делать?
---------
Или не тот адрес
врятли...
или игра постоянно обновляет его...
наверное, ток зачем?
Ждём Seemann'а.
[large]Добавленно.[/large]
Seemann, спасибо!
Last edited by flashTrash (02-06-2008 13:38)
Offline