You are not logged in.
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 - одной рукой.
2svetka:
Файл medic.ifp, анимация CPR.
{$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
Да, точно. Незамети межу button и 15 подчеркивания, думал три параметра.
---
Вопросик:
Возможно ли создать для GTA: San Andreas карту высот?
Еще есть опкод отключающий любую клавишу:
07CC: set_player $PLAYER_CHAR button_15 0
1. 2. Можно отключить соответствующие кнопки.
3. Зашито в ехе.
да уж массивы для меня штука непонятная...
Почитай хелп, там кое-что есть.
в этом случае после входа в сферу нужно еще нажимать кнопку 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
Ты, скорее всего scmlog.ini тоже скопировал, оставь его в папке cleo.
2jayrocc:
У меня (CLEO 3 Library v3.0.846, SCMLog v1.0.5) все работает. Проверь, может у тебя нет файла scmlog.ini или переименуй scmlog.cleo в scmlog.asi и скопируй в папку с gta_sa.exe.
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'
Этот опкод, видимо, дает возможность актеру плавать?
Да. Если значение равно 0 то актер может плавать, если 1, то пойдет ко дну 
Неиспользуемые модели тоже следует выгружать.
#HUNTER.Destroy #SWAT.Destroy
А что неплохая мысль, я за.
Это функция, а не переменная.
С помощью CLEO:
0AA5: call 0x43A0B6 num_params 1 pop 1 541
541 - ID машины
А какие новые опкоды в 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@
Да, была ошибка - профиксено. Выложены новые версии.
При загрузки сохранения виснет. Установленные плагины и скрипты: GxtHook.cleo, showsavescreen.cs, dbmu_cleo.cs. Игра сохранена с помощью showsavescreen.cs.
панель инструментов можно передвигать
Это конечно хорошо, но если ее закрыть, то восстановить можно только с помощью правки settings.ini и еще расположение панели не сохраняется.
2Seemann:
Залей sa_compact на паблик.
а если это внешний скрипт ?
Как и в простых потоках от 0@ до 33@.
насколько правильно данное сообщение компилятора:
На 100% 
В простых потоках от 0@ до 33@, для миссий от 0@ до 1023@.
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)
Сохранение настроек ширины окна и таблицы, чтобы при запуске они восстанавливались, - тоже вещь нелишняя.
Щас поставил end_thread и он опять не появляется а оружие из потока :PickupsFight на месте.
А координаты точно правильные? 207.6017 -98.2868 1005.2578. Это вообще где такое место.
Ты создаешь потоки, но не завершаешь их. После каждого созданного потока поставь end_thread, чтобы поток завершился. В твоем примере потоки не завершаются и выполняются по несколько раз.
Что насчет обновления редактора? Кстати, описалово формата RRR уже полное, тот неизвестный параметр - флаг использования ручника.
Скорее всего да. Почти все что было предложено уже есть, только надо найти альтернативу StringGrid'у, а то он какой-то глючный.
У меня есть еще предложение использовать вместо StringGrid Memo как обычный текстовый редактор. Что скажешь?