You are not logged in.
Offline
Подскажите пожалуйста, почему при создании короны опкодом 024F она исчезает во время движения автомобиля, а после остановки появляется снова?
Offline
Подскажите пожалуйста, почему при создании короны опкодом 024F она исчезает во время движения автомобиля, а после остановки появляется снова?
Корона существует короткое время, поэтому она будет видна, если только создать её в одних и тех же координатах несколько раз.
Offline
ребят, пожскажите, можно ли заставить СА работать на нескольких ядрах процессора?
пасибо заранее)
Offline
Эй, ребята! Какими адресами памяти можно менять анимацию? Например, мне нужно прыжок игрока заменить на другую анимацию, бег на пешеходный и т.д. То есть вместо одной анимации игрока ставить какую-то другую.
Offline
Могу просто ткнуть пальцем в небо:
# CPed +0x47C = Указатель на структуру анимации # CPed +0x4DF = Статус проигрывания текущей анимации: * 0 = ничего * 61 = начало/остановка * 62 = идёт цикл CPed +0x15C = Некторые статусы анимации: * 0 = прыгает от земли * 61 = ударяет * 102 = остановился * 154 = спринт (бежит с ускорением) * 205 = бежит
Offline
Нет, я это видел на гтамоддинг и это не то.
/////////
Можно с помощью клео удалять или хотя бы перемещать статические объекты на карте? При этом не обязательно изменять Data/Maps. Главное чтобы если был скрипт, то и карта другая.
Offline
Главное чтобы если был скрипт, то и карта другая.
О_о?
Типа подзагрузка карты из-под скрипта? Если да - такое тебе не позволит движок;
Если простая смена местоположения уже созданных объектов - то не знаю.
Last edited by Sw[ee]t (23-02-2010 15:13)
Offline
Offline
Ну какие тут данные? Проверка на смерть игрока. Если он погиб, переходет прыжок на завершение миссии. Всё работает, если актёр не в машине. Но если он взорвался в машине (причём в любой, хоть созданной скриптом, хоть взятой из игры) - моментально вылетает.
Offline
Если речь идет о миссии то проверка на смерть там только одна
0112: wasted_or_busted // mission only
Она ставится вначале скрипта
Прерывание после смерти игрока получает первая gosub, после нее ставится эта проверка и если да то следует миссия провалена.
I know everything and nothing...
Offline
Задача такая - создать и подключить к игре ASI плагин.
Вообщем, делаю так:
1) Создал функцию.
2) Запихнул её в DLL-файл.
3) Сохранил в папке с GTA SA с расширением ASI.
Как теперь подключить функцию к моему скрипту. Я так понимаю опкодом 0AA7? Если да, то как вычислиь адрес функции?
Пожалуйста, помогите!
Offline
@CraZZZy-GameRRR - глянь эту тему
http://sannybuilder.com/forums/viewtopic.php?id=140
там есть примеры использования функций длл в скриптах
Offline
Спасибо.
Offline
Как вычисляется адрес строки в скрипте?
Offline
Скажите пожалуйста, как создать таймер? Только визуальный на экране, как в миссиях(30-29-28-27...4-3-2-1 и т.д.). А то что-то не нашел нигде.
Offline
В main, насколько знаю, используются опкоды set_status_text и set_timer. В cleo нужно использовать альтернативные функции: http://sannybuilder.com/forums/viewtopic.php?id=255
Offline
Как вычислить адрес, загруженной в память текстуры?
Offline
Простой скрипт. Менты на радаре. Но вылетает! И нигде не могу найти ошибку.
{$CLEO} wait 0 :START wait 0 if 0256: player $PLAYER_CHAR defined jf @START if 0ADC: test_cheat "COPS" jf @START 00BC: show_text_highpriority GXT 'CHEAT1' time 3000 flag 0 // œ¦-koš ak¦œ¢œpo¢a® wait 2000 :COPS wait 0 if 0ADC: test_cheat "COPSOFF" then wait 1000 jump @START end 00A0: store_actor $PLAYER_ACTOR position_to 0@ 1@ 2@ 3@ = 900.0 gosub @AIC_GETACTOR2 if 056D: actor 9@ defined then 0187: 11@ = create_marker_above_actor 9@ 018B: set_marker 11@ radar_mode 2 0165: set_marker 11@ color_to 1 end 00A0: store_actor $PLAYER_ACTOR position_to 0@ 1@ 2@ 3@ = 900.0 gosub @AIC_GETVEHICLE1 if 056E: car 9@ defined then 0186: 10@ = create_marker_above_car 9@ 018B: set_marker 10@ radar_mode 2 0165: set_marker 10@ color_to 2 end jump @COPS //////////////////////////////////////////////////////////// :AIC_GETVEHICLE 0006: 16@ = 305869 0006: 5@ = @AIC_TESTVEHICLEHANDLE 0006: 6@ = 2584 0006: 8@ = -1 0256: player $PLAYER_CHAR defined 004D: jump_if_false @AIC_STARTSEARCH 00DF: actor $PLAYER_ACTOR driving 004D: jump_if_false @AIC_STARTSEARCH 03C0: 8@ = actor $PLAYER_ACTOR car 0002: jump @AIC_STARTSEARCH :AIC_STARTSEARCH 008B: 16@ = &0(16@,1i) // CPool* 0AB1: call_scm_func @AIC_READMEMOFFSET 2 ( 16@ + 8 )^ = 7@ // CPool.Size 0A8D: 11@ = read_memory 16@ size 4 virtual_protect 0 // CPool.pUnits 0006: 9@ = -1 0006: 10@ = 0 :AIC_SEARCHLOOPMAIN 0AB1: call_scm_func @AIC_READMEMOFFSET 2 ( 11@ + 20 )^ = 4@ // xyz* 8039: not 4@ == 0 004D: jump_if_false @AIC_SEARCHLOOPNEXT 0AB1: call_scm_func @AIC_READMEMOFFSET 2 ( 4@ + 48 )^ = 12@ // x 0AB1: call_scm_func @AIC_READMEMOFFSET 2 ( 4@ + 52 )^ = 13@ // y 0AB1: call_scm_func @AIC_READMEMOFFSET 2 ( 4@ + 56 )^ = 14@ // z 050A: 15@ = distance_between_XYZ 0@ 1@ 2@ and_XYZ 12@ 13@ 14@ 0025: 3@ > 15@ // (float) 004D: jump_if_false @AIC_SEARCHLOOPNEXT 0085: 9@ = 10@ // (int) // counter 0AB1: call_scm_func @AIC_READMEMOFFSET 2 ( 16@ + 4 )^ = 4@ // CPool.flags 005A: 4@ += 9@ // (int) 0A8D: 4@ = read_memory 4@ size 1 virtual_protect 0 0012: 9@ *= 256 005A: 9@ += 4@ // (int) 0002: jump 5@ :AIC_TESTVEHICLEHANDLE 056E: is 9@ valid_vehicle_handle 004D: jump_if_false @AIC_NOHANDLE 00D6: if 003B: 8@ == 9@ // (int) 004D: jump_if_false @AIC_NEWSEARCHRADIUS 0002: jump @AIC_NOHANDLE :AIC_NOHANDLE 0006: 9@ = -1 0002: jump @AIC_SEARCHLOOPNEXT :AIC_NEWSEARCHRADIUS 046C: 30@ = car 9@ driver if 056D: actor 30@ defined jf @AIC_NOHANDLE1 089F: get_actor 30@ pedtype_to 21@ if 21@ == 6 jf @AIC_NOHANDLE1 if or 02F2: actor 30@ model == #LAPD1 02F2: actor 30@ model == #SFPD1 02F2: actor 30@ model == #LVPD1 02F2: actor 30@ model == #CSHER 02F2: actor 30@ model == #LAPDM1 02F2: actor 30@ model == #SWAT 02F2: actor 30@ model == #FBI 02F2: actor 30@ model == #ARMY 02F2: actor 30@ model == #DSHER jf @AIC_NOHANDLE1 if 056C: actor 30@ driving_police_car jf @AIC_NOHANDLE1 0051: return 0085: 3@ = 15@ :AIC_SEARCHLOOPNEXT 005A: 11@ += 6@ // (int) 000A: 10@ += 1 002D: 10@ >= 7@ // (int) 004D: jump_if_false @AIC_SEARCHLOOPMAIN 0051: return :AIC_READMEMOFFSET 0A8E: 0@ = 0@ + 1@ // int 0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 0AB2: ret 1 0@ :AIC_GETVEHICLE1 0006: 16@ = 305869 0006: 5@ = @AIC_TESTVEHICLEHANDLE1 0006: 6@ = 2584 0006: 8@ = -1 0256: player $PLAYER_CHAR defined 004D: jump_if_false @AIC_STARTSEARCH1 00DF: actor $PLAYER_ACTOR driving 004D: jump_if_false @AIC_STARTSEARCH1 03C0: 8@ = actor $PLAYER_ACTOR car 0002: jump @AIC_STARTSEARCH1 :AIC_STARTSEARCH1 008B: 16@ = &0(16@,1i) // CPool* 0AB1: call_scm_func @AIC_READMEMOFFSET1 2 ( 16@ + 8 )^ = 7@ // CPool.Size 0A8D: 11@ = read_memory 16@ size 4 virtual_protect 0 // CPool.pUnits 0006: 9@ = -1 0006: 10@ = 0 :AIC_SEARCHLOOPMAIN1 0AB1: call_scm_func @AIC_READMEMOFFSET1 2 ( 11@ + 20 )^ = 4@ // xyz* 8039: not 4@ == 0 004D: jump_if_false @AIC_SEARCHLOOPNEXT1 0AB1: call_scm_func @AIC_READMEMOFFSET1 2 ( 4@ + 48 )^ = 12@ // x 0AB1: call_scm_func @AIC_READMEMOFFSET1 2 ( 4@ + 52 )^ = 13@ // y 0AB1: call_scm_func @AIC_READMEMOFFSET1 2 ( 4@ + 56 )^ = 14@ // z 050A: 15@ = distance_between_XYZ 0@ 1@ 2@ and_XYZ 12@ 13@ 14@ 0025: 3@ > 15@ // (float) 004D: jump_if_false @AIC_SEARCHLOOPNEXT1 0085: 9@ = 10@ // (int) // counter 0AB1: call_scm_func @AIC_READMEMOFFSET1 2 ( 16@ + 4 )^ = 4@ // CPool.flags 005A: 4@ += 9@ // (int) 0A8D: 4@ = read_memory 4@ size 1 virtual_protect 0 0012: 9@ *= 256 005A: 9@ += 4@ // (int) 0002: jump 5@ :AIC_TESTVEHICLEHANDLE1 056E: is 9@ valid_vehicle_handle 004D: jump_if_false @AIC_NOHANDLE1 00D6: if 003B: 8@ == 9@ // (int) 004D: jump_if_false @AIC_NEWSEARCHRADIUS1 0002: jump @AIC_NOHANDLE1 :AIC_NOHANDLE1 0006: 9@ = -1 0002: jump @AIC_SEARCHLOOPNEXT1 :AIC_NEWSEARCHRADIUS1 046C: 30@ = car 9@ driver if 056D: actor 30@ defined jf @AIC_NOHANDLE1 089F: get_actor 30@ pedtype_to 21@ if 21@ == 6 jf @AIC_NOHANDLE1 if or 02F2: actor 30@ model == #LAPD1 02F2: actor 30@ model == #SFPD1 02F2: actor 30@ model == #LVPD1 02F2: actor 30@ model == #CSHER 02F2: actor 30@ model == #LAPDM1 02F2: actor 30@ model == #SWAT 02F2: actor 30@ model == #FBI 02F2: actor 30@ model == #ARMY 02F2: actor 30@ model == #DSHER jf @AIC_NOHANDLE1 if 056C: actor 30@ driving_police_car jf @AIC_NOHANDLE1 0051: return 0085: 3@ = 15@ :AIC_SEARCHLOOPNEXT1 005A: 11@ += 6@ // (int) 000A: 10@ += 1 002D: 10@ >= 7@ // (int) 004D: jump_if_false @AIC_SEARCHLOOPMAIN1 0051: return :AIC_READMEMOFFSET1 0A8E: 0@ = 0@ + 1@ // int 0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 0AB2: ret 1 0@ /////////////////////////////////////// :AIC_GETACTOR2 0006: 16@ = 305868 0006: 5@ = @AIC_TESTACTORHANDLE2 0006: 6@ = 1988 0002: jump @AIC_STARTSEARCH2 :AIC_STARTSEARCH2 008B: 16@ = &0(16@,1i) // CPool* 0AB1: call_scm_func @AIC_READMEMOFFSET2 2 ( 16@ + 8 )^ = 7@ // CPool.Size 0A8D: 11@ = read_memory 16@ size 4 virtual_protect 0 // CPool.pUnits 0006: 9@ = -1 0006: 10@ = 0 :AIC_SEARCHLOOPMAIN2 0AB1: call_scm_func @AIC_READMEMOFFSET2 2 ( 11@ + 20 )^ = 4@ // xyz* 8039: not 4@ == 0 004D: jump_if_false @AIC_SEARCHLOOPNEXT2 0AB1: call_scm_func @AIC_READMEMOFFSET2 2 ( 4@ + 48 )^ = 12@ // x 0AB1: call_scm_func @AIC_READMEMOFFSET2 2 ( 4@ + 52 )^ = 13@ // y 0AB1: call_scm_func @AIC_READMEMOFFSET2 2 ( 4@ + 56 )^ = 14@ // z 050A: 15@ = distance_between_XYZ 0@ 1@ 2@ and_XYZ 12@ 13@ 14@ 0025: 3@ > 15@ // (float) 004D: jump_if_false @AIC_SEARCHLOOPNEXT2 0085: 9@ = 10@ // (int) // counter 0AB1: call_scm_func @AIC_READMEMOFFSET2 2 ( 16@ + 4 )^ = 4@ // CPool.flags 005A: 4@ += 9@ // (int) 0A8D: 4@ = read_memory 4@ size 1 virtual_protect 0 0012: 9@ *= 256 005A: 9@ += 4@ // (int) 0002: jump 5@ :AIC_TESTACTORHANDLE2 056D: is 9@ valid_actor_handle 004D: jump_if_false @AIC_NOHANDLE2 00D6: if or 003C: $PLAYER_ACTOR == 9@ // (int) 0118: actor 9@ dead 004D: jump_if_false @AIC_NEWSEARCHRADIUS2 0002: jump @AIC_NOHANDLE2 :AIC_NOHANDLE2 0006: 9@ = -1 0002: jump @AIC_SEARCHLOOPNEXT2 :AIC_NEWSEARCHRADIUS2 089F: get_actor 9@ pedtype_to 22@ if 22@ == 6 jf @AIC_NOHANDLE2 if or 02F2: actor 9@ model == #LAPD1 02F2: actor 9@ model == #SFPD1 02F2: actor 9@ model == #LVPD1 02F2: actor 9@ model == #CSHER 02F2: actor 9@ model == #LAPDM1 02F2: actor 9@ model == #SWAT 02F2: actor 9@ model == #FBI 02F2: actor 9@ model == #ARMY 02F2: actor 9@ model == #DSHER jf @AIC_NOHANDLE2 0051: return 0085: 3@ = 15@ :AIC_SEARCHLOOPNEXT2 005A: 11@ += 6@ // (int) 000A: 10@ += 1 002D: 10@ >= 7@ // (int) 004D: jump_if_false @AIC_SEARCHLOOPMAIN2 0051: return :AIC_READMEMOFFSET2 0A8E: 0@ = 0@ + 1@ // int 0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 0AB2: ret 1 0@
Offline
Не могу понять, почему не работает
:Spc_Flow thread 'Spc_Flow' wait 0 if player.Defined($PLAYER_CHAR) jf @Spc_Flow if 0AB0: key_pressed 90 jf @Spc_Flow_1 if $SPEC_PERC > 1.0 jf @Spc_Flow 015D: set_gamespeed 0.5 $SPEC_PERC -= 1.0 wait 100 :Spc_flow_1 wait 0 if 8AB0: not key_pressed 90 jf @Spc_Flow 015D: set_gamespeed 1.0 jump @Spc_Flow
100 постов - 27 августа;
Offline