#101 Re: Вопросы по скриптингу » Один вопрос » 19-12-2007 10:45

2Agenzvell:

ped.ifp
	Drive_L
	Drive_LO_l
	Drive_LO_R
	Drive_L_pro
	Drive_L_pro_slow
	Drive_L_slow
	Drive_L_weak
	Drive_L_weak_slow
	Drive_R
	Drive_R_pro
	Drive_R_pro_slow
	Drive_R_slow
	Drive_R_weak
	Drive_R_weak_slow

Которые pro - одной рукой.

#102 Re: Вопросы по скриптингу » Один вопрос » 18-12-2007 12:48

2svetka:
Файл medic.ifp, анимация CPR.

#103 Re: Вопросы по скриптингу » Переведите пожалуйста код в код SCM » 15-12-2007 22:06

{$CLEO}

:TestObject
if and
    0AB0:  key_pressed 0x2D // Insert
    0AB0:  key_pressed 0x55 // U
then
    04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 0.0 1.5 -0.5
    Model.Load(1792)
    3@ = Object.Init(1792, 0@, 1@, 2@)
    Model.Destroy(1792)
    08E9: set_object 3@ liftable 1
    gosub @FreezeClock      // ??? 
else
    gosub @ToggleRiotsOn    // ???
end
0A93: end_custom_thread

#104 Re: Вопросы по скриптингу » Один вопрос » 15-12-2007 19:23

Да, точно. Незамети межу button и 15 подчеркивания, думал три параметра.

---
Вопросик:
Возможно ли создать для GTA: San Andreas карту высот?

#105 Re: Вопросы по скриптингу » Один вопрос » 15-12-2007 18:48

Еще есть опкод отключающий любую клавишу:

07CC: set_player $PLAYER_CHAR button_15 0

#106 Re: Вопросы по скриптингу » Один вопрос » 15-12-2007 13:32

1. 2. Можно отключить соответствующие кнопки.
3. Зашито в ехе.

#107 Re: Модификации » Автосалон 2.0 » 11-12-2007 13:58

да уж массивы для меня штука непонятная...

Почитай хелп, там кое-что есть.

в этом случае после входа в сферу нужно еще нажимать кнопку Action - не знаю как убрать

Убери проверку if 00E1:   player 0 pressed_key 4 then … end.

Кроме того проверки денег нет, т.е. они отнимаются в нужном объеме, но уходят в минус.
И еще машина появляется врезанной в здание

Это было сделано для быстроты и кроме того у тебя в скрипте это есть,  неужели сам прикрутить не смог.

{$CLEO}

const
    iconX   = 12@
    iconY   = 13@
    iconZ   = 14@
    hIcon   = 15@
    hPanel  = 16@
    rowId   = 17@
    i       = 18@
    tmp     = 19@
end

var
    0@:     Array 12 of Integer
    20@:    Array 12 of Integer
end

iconX = 2132.0
iconY = -1149.3
iconZ = 24.2
02A7: hIcon = create_icon_marker_and_sphere 57 at iconX iconY iconZ

0@ = 4300
1@ = 6100
2@ = 4200
3@ = 6200
4@ = 6500
5@ = 5100
6@ = 4900
7@ = 500
8@ = 5300
9@ = 7400
10@ = 5300
11@ = 8000

20@ = #PRIMO
21@ = #REGINA
22@ = #BULLET
23@ = #BURRITO
24@ = #ESPERANT
25@ = #GREENWOO
26@ = #TAHOMA
27@ = #NEBULA
28@ = #PICADOR
29@ = #SABRE
30@ = #TORNADO
31@ = #BUCCANEE

while true
    wait 0
    if
        Player.Defined($PLAYER_CHAR)
    then
        if
            0102:   actor $PLAYER_ACTOR in_sphere iconX iconY iconZ radius 1.2 1.2 3.0 sphere 0 stopped_on_foot 
        then
            Player.CanMove($PLAYER_CHAR) = False
            gosub @PanelCreate
            gosub @PanelProc
            gosub @PanelDestroy
            Player.CanMove($PLAYER_CHAR) = True
            Actor.PutAt($PLAYER_ACTOR, 2132.0303, -1146.5492, 24.581)
            Actor.Angle($PLAYER_ACTOR) = 4.7
        end
    end
end

:PanelCreate
03E6: remove_text_box 
08D4: hPanel = create_panel_with_title 'DEALCAR' position 29.0 165.0 width 60.0 columns 2 interactive 1 background 1 alignment 1
08D6: set_panel hPanel column 0 alignment 1
09DB: set_panel hPanel column 0 width 140
08DB: set_panel hPanel column 0 header 'DUMMY' data 'PRIMO' 'REGINA' 'BULLET' 'BURRITO' 'ESPERAN' 'GREENWO' 'TAHOMA' 'NEBULA' 'PICADOR' 'SABRE' 'TORNADO' 'BUCCANE'
08D6: set_panel hPanel column 1 alignment 2
08DB: set_panel hPanel column 1 header 'COST' data 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'
for i = 0 to 11
    08EE: set_panel hPanel column 1 row i text_1number GXT 'DOLLAR' number 0@[i]  // $~1~
end
090E: set_panel hPanel active_row 0
return

:PanelProc
while true
    wait 0
    if
        00E1:   player 0 pressed_key 15
    then
        Break
    end
    if
        00E1:   player 0 pressed_key 16
    then
        08D7: rowId = panel hPanel active_row
        0085: tmp = 0@[rowId] // (int) 
        if
            not Player.Money($PLAYER_CHAR) > tmp 
        then
            00BC: show_text_highpriority GXT 'IE07' time 5000 flag 1  // ~r~You don't have enough cash!     
        else
            tmp *= -1
            Player.Money($PLAYER_CHAR) += tmp
            gosub @SpawnCar
            Break
        end         
    end 
end
return

:PanelDestroy
03E6: remove_text_box
08DA: remove_panel hPanel 
return

:SpawnCar
03BF: set_player $PLAYER_CHAR ignored_by_everyone 1
0169: set_fade_color_RGB 0 0 0
fade 0 1500
while fading
    wait 0
end
Model.Load(20@[rowId])
while not Model.Available(20@[rowId])
    wait 0
end
0395: clear_area 1 at 2123.8 -1140.3 26.5 radius 2.0 
tmp = Car.Create(20@[rowId], 2123.8, -1140.3, 26.5)
Car.Angle(tmp) = 351.0
Camera.SetPosition(2127.2, -1149.4, 26.2, 0, 0, 0)
Camera.PointAt(2123.8, -1140.3, 26.5, 2)
wait 2000
fade 1 1500
while fading
    wait 0
end
wait 1000
Camera.Restore_WithJumpCut
Camera.SetBehindPlayer
03BF: set_player $PLAYER_CHAR ignored_by_everyone 0
Car.RemoveReferences(tmp)
Model.Destroy(20@[rowId])
wait 1000
return

#108 Re: Sanny Builder и CLEO » CLEO не работает! » 11-12-2007 05:58

Ты, скорее всего scmlog.ini тоже скопировал, оставь его в папке cleo.

#109 Re: Sanny Builder и CLEO » CLEO не работает! » 10-12-2007 10:36

2jayrocc:
У меня (CLEO 3 Library v3.0.846, SCMLog v1.0.5) все работает.  Проверь, может у тебя нет файла scmlog.ini или переименуй scmlog.cleo в scmlog.asi и скопируй в папку с gta_sa.exe.

#110 Re: Модификации » Автосалон 2.0 » 08-12-2007 13:34

2jayrocc:

Я попробовал оба варианта, машины появляются, но проверка денег не делается - деньги не отнимаются.

Впринципе их можно объявить с минусами, правда в таблице тоже будут с минусами.

Накатал примерный скрипт, посмотри, может поможет, обрати внимание как можно работать с массивами. 

{$CLEO}

var
    0@: Array 12 of Integer
    20@: Array 12 of Integer
end

0@ = -4300
1@ = -6100
2@ = -4200
3@ = -6200
4@ = -6500
5@ = -5100
6@ = -4900
7@ = -500
8@ = -5300
9@ = -7400
10@ = -5300
11@ = -8000

20@ = #PRIMO
21@ = #REGINA
22@ = #BULLET
23@ = #BURRITO
24@ = #ESPERANT
25@ = #GREENWOO
26@ = #TAHOMA
27@ = #NEBULA
28@ = #PICADOR
29@ = #SABRE
30@ = #TORNADO
31@ = #BUCCANEE

while true
    wait 0
    if
        Player.Defined($PLAYER_CHAR)
    then
        if
            00E1:   player 0 pressed_key 4 
        then
            Player.CanMove($PLAYER_CHAR) = False
            08D4: 12@ = create_panel_with_title 'DEALCAR' position 29.0 165.0 width 60.0 columns 2 interactive 1 background 1 alignment 1
            08D6: set_panel 12@ column 0 alignment 1
            09DB: set_panel 12@ column 0 width 140
            08DB: set_panel 12@ column 0 header 'DUMMY' data 'PRIMO' 'REGINA' 'BULLET' 'BURRITO' 'ESPERAN' 'GREENWO' 'TAHOMA' 'NEBULA' 'PICADOR' 'SABRE' 'TORNADO' 'BUCCANE'
            08D6: set_panel 12@ column 1 alignment 2
            08DB: set_panel 12@ column 1 header 'COST' data 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'
            for 13@ = 0 to 11 
                08EE: set_panel 12@ column 1 row 13@ text_1number GXT 'DOLLAR' number 0@[13@]  // $~1~
            end
            while true
                wait 0
                if
                    00E1:   key_pressed  0  15
                then
                    Break            
                end
                if
                    00E1:   key_pressed  0  16
                then
                    08D7: 14@ = panel 12@ active_row
                    Player.Money($PLAYER_CHAR) += 0@[14@]
                    0AA5: call 0x43A0B6 num_params 1 pop 1 20@[14@]
                    Break
                end 
            end
            08DA: remove_panel 12@
            03E6: remove_text_box
            Player.CanMove($PLAYER_CHAR) = True 
        end       
    end    
end

И еще что за такая машина - 'IMPALA'

#111 Re: Вопросы по скриптингу » Вопросы по опкодам » 30-11-2007 10:39

Этот опкод, видимо, дает возможность актеру плавать?

Да. Если значение равно 0 то актер может плавать, если 1, то пойдет ко дну smile

#112 Re: Модификации » Военный вертолет атакует Вас при уровне розыска > 3 » 30-11-2007 10:01

Неиспользуемые модели тоже следует выгружать.

#HUNTER.Destroy
#SWAT.Destroy

#114 Re: Справочная информация » Адреса и функции gta_sa.exe 1.0 » 18-11-2007 19:28

Это функция, а не переменная.
С помощью CLEO:

0AA5: call 0x43A0B6 num_params 1 pop 1 541

541 - ID машины

#115 Re: Вопросы по скриптингу » Вопросы по опкодам » 18-11-2007 11:34

А какие новые опкоды в CLEO?

Смотри хелп.

0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@
0AB6: store_target_marker_coords_to 0@ 1@ 2@ // IF and SET
0AB7: get_vehicle $CAR number_of_gears_to 10@
0AB8: get_vehicle $CAR current_gear_to 11@
0AB9: get_mp3 $hMP3 state_to 7@

#117 Re: Sanny Builder и CLEO » FAQ по CLEO 3 » 17-11-2007 10:21

Да, была ошибка - профиксено. Выложены новые версии.

При загрузки сохранения виснет. Установленные плагины и скрипты: GxtHook.cleo, showsavescreen.cs, dbmu_cleo.cs. Игра сохранена с помощью showsavescreen.cs.

#118 Re: Sanny Builder и CLEO » Вопросы и предложения по Sanny Builder » 16-11-2007 19:13

панель инструментов можно передвигать

Это конечно хорошо, но если ее закрыть, то восстановить можно только с помощью правки settings.ini и еще расположение панели не сохраняется.

#120 Re: Вопросы по скриптингу » Один вопрос » 07-11-2007 18:48

а если это внешний скрипт ?

Как и в простых потоках от 0@ до 33@.

#121 Re: Вопросы по скриптингу » Один вопрос » 07-11-2007 15:45

насколько правильно данное сообщение компилятора:

На 100% smile

В простых потоках от 0@ до 33@, для миссий от 0@ до 1023@.

#122 Re: Программы для GTA » Работа с .RRR файлами / Carrec.img » 26-10-2007 07:23

http://foolroot.nm.ru/R3D.rar (195.7 KB)

Исправлено:
1)

Надо только исправить SppedY, Brak на Brake, и Turn на SteerAngle.

2)

Еще, если кликнуть по полям Pos, вместо float будет выведено число в десятичном формате. И формат дробных чисел с точкой более распространен, чем с запятой.

3)

Нужно при запуске прожки изменить  переменную DecimalSeparator на '.'.

4)

Еще возможно было бы лучше сделать, чтобы соотв. поля, которые в описании указаны с мультипликаторами (*16383.5, *127.0) в таблице выводились как числа, деленные на этот мультипликатор.

Добавлено:
1)

Еще было бы здорово, не выводить лишние пустые строки, а при сохранении дописывать их, чтобы размер файла был кратен 2048.

2)

Ну, и работа внутри файла carrec.img - верх мечтаний.

3)

Можно было бы добавить возможность открывать файл путем Drag&Drop.

4)

Горячие клавиши для операций над текстом.

5)

Еще не мешало бы разрешить регулировать ширину столбцов, либо сделать автоподбор подходящей ширины.

6)

Сохранение настроек ширины окна и таблицы, чтобы при запуске они восстанавливались, - тоже вещь нелишняя.

#123 Re: Вопросы по скриптингу » Помогите чайнику » 14-10-2007 18:08

Щас поставил end_thread и он опять не появляется а оружие из потока :PickupsFight на месте.

А координаты точно правильные? 207.6017 -98.2868 1005.2578. Это вообще где такое место.

#124 Re: Вопросы по скриптингу » Помогите чайнику » 14-10-2007 17:51

Ты создаешь потоки, но не завершаешь их. После каждого созданного потока поставь end_thread, чтобы поток завершился. В твоем примере потоки не завершаются и выполняются по несколько раз.

#125 Re: Программы для GTA » Работа с .RRR файлами / Carrec.img » 14-10-2007 14:18

Seemann wrote:

Что насчет обновления редактора? Кстати, описалово формата RRR уже полное, тот неизвестный параметр - флаг использования ручника.

Скорее всего да. Почти все что было предложено уже есть, только надо найти альтернативу StringGrid'у, а то он какой-то глючный.

У меня есть еще предложение использовать вместо StringGrid Memo как обычный текстовый редактор. Что скажешь?

Board footer

Powered by FluxBB