[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: wmysterio  
Вопросы по созданию скриптов
DaemanДата: Вторник, 08.06.2010, 17:27 | Сообщение # 1851
Студент
Группа: Команда CG
Сообщений: 169
Статус: Offline
Quote (snake78)
Подскажите опкод шатания камеры как у пьяного и чтобы во время анимации можно было двигаться плиз оч надо

А потом ещё спросишь, как осуществить такое же удерживание равновесия, как в ГТА4. Даже не догадываюсь, какой же ты мод делаешь. )

052C: set_player $PLAYER_CHAR drunk_visuals 100

Второй, ну то есть последний, параметр - интенсивность действия опкода.
Есть ещё парочка интересных приёмов с камерой из серии шаманизма. Если изъявишь желание - могу посветить.


Есть самая реалистичная игра, где графика определяется зоркостью взгляда, качество звука - остротой слуха, сюжет может измениться в любое время, а жанр колеблется от силы воображения.
Название этой игры – жизнь. ©
 
aliastДата: Вторник, 08.06.2010, 17:46 | Сообщение # 1852
Малый
Группа: Пользователи
Сообщений: 7
Статус: Offline
Кто-нибудь знает, из-за чего могли исчезнуть дискетки - значки сохранения? Всегда сохранял игру с помощью клео-скрипта. И тут вдруг совершенно случайно заметил, что значки пропали и без скрипта игру не сохранить... столкнулся с нерабочим скриптом в миссии pear 69, Райдер не появляется никак. Подозреваю что причина может крыться в косяке с сохранением... последнее сохранение с дискетами у чёрта на куличках, слишком много переигрывать(((
Пробовал переригрывать с другого сэйва, в нём тоже дискеты пропали, всё равно эта миссия с Райдером не проходится
 
d88Дата: Среда, 09.06.2010, 09:13 | Сообщение # 1853
Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
Xм, я подумал что у тебя режим миссии не отключён, но точно не знаю.
 
DaemanДата: Среда, 09.06.2010, 18:59 | Сообщение # 1854
Студент
Группа: Команда CG
Сообщений: 169
Статус: Offline
А ха. Да-да-да. У меня такая же фигня на одном из сейвов. Я там один раз на улице сохранился с помощью скрипта, не в миссии, и никакие динамические пикапы не проявляются, есть только входные маркеры и статические пикапы. Не знаю, в чём причина. Кстати говоря, ещё и цвета территорий банд исчезли, маркировку на карте имею в виду. Про $ONMISSION чёт даж не задумывался...
Но у меня игра на том сейве на 100% пройдена, так что, не пострадал особо.


Есть самая реалистичная игра, где графика определяется зоркостью взгляда, качество звука - остротой слуха, сюжет может измениться в любое время, а жанр колеблется от силы воображения.
Название этой игры – жизнь. ©
 
aliastДата: Среда, 16.06.2010, 20:03 | Сообщение # 1855
Малый
Группа: Пользователи
Сообщений: 7
Статус: Offline
Лётная школа. Пытаюсь написать скрипт, который бы сам проводил (телепортировал) самолёт по всем чекпоинтам и приземлялся. Скрипт написал, появляется итоговая таблица, мол, я заработал золотую медаль и... игра вылетает sad
Вот код проверки
Code

...   //начало скрипта
0AAA: 4@ = thread 'DESERT5' pointer     
:CHECK_0
wait 100
if and
//$ONMISSION==1        эту строку можно расскоментить, всё равно вылет будет   
4@ > 0
//0256:   player $PLAYER_CHAR defined       можно расскоментить
03EE:   player $PLAYER_CHAR controllable   
//00DF:   actor $PLAYER_ACTOR driving       и это тоже, разницы нет
jf @CHECK_0   

jump @CHECK_1

Дальше идёт скрипт полёта по чекпоинтам и в конце после посадки самолёта стоит jump @CHECK_0
Вроде бы одно из условий в CHECK_0 должно останавливать повторное выполнение скрипта, но почему вылет?
Если ошибка в другом месте кода, могу написать весь скрипт.

Сообщение отредактировал aliast - Среда, 16.06.2010, 20:07
 
DaemanДата: Четверг, 17.06.2010, 06:34 | Сообщение # 1856
Студент
Группа: Команда CG
Сообщений: 169
Статус: Offline
aliast, може тбыть, при скриптовом "прохождении" не выполняется то, что есть при, и чего ты не учёл. Хотя навряд ли. Просмотри внимательно мейн, может, и найдёшь, что упустил или что не так.

Есть самая реалистичная игра, где графика определяется зоркостью взгляда, качество звука - остротой слуха, сюжет может измениться в любое время, а жанр колеблется от силы воображения.
Название этой игры – жизнь. ©
 
d88Дата: Четверг, 17.06.2010, 08:45 | Сообщение # 1857
Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
aliast, а если так

Code
0AAA: 4@ = thread 'DESERT5' pointer   
:CHECK_0  
wait 100  
if  
   0256:   player $PLAYER_CHAR defined        
jf @CHECK_0   
if and   
$ONMISSION == 1       
4@ > 0  

03EE:   player $PLAYER_CHAR controllable    
00DF:   actor $PLAYER_ACTOR driving        
jf @CHECK_0    

jump @CHECK_1
 
aliastДата: Понедельник, 21.06.2010, 14:30 | Сообщение # 1858
Малый
Группа: Пользователи
Сообщений: 7
Статус: Offline
Quote (d88)
aliast, а если так

И так вылетает.

А мейн анализировть сложновато. Там же куча условий вида 2@ > 3@ И как узнать значение переменной в текущий момент времени и какое из условий будет выполнено?

И ещё вопрос. Может плохо искал, как скриптом нажать, например, кнопку газа? опкод key_pressed проверяет нажатие кнонки, но не нажимает её... а нажать как?..

Сообщение отредактировал aliast - Понедельник, 21.06.2010, 15:03
 
d88Дата: Понедельник, 21.06.2010, 15:24 | Сообщение # 1859
Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
Quote (aliast)
И так вылетает.

Ладно, попробуем подумать. Вот ты пишешь код

0AAA: 4@ = thread 'DESERT5' pointer

Может он только для мэйна? И даже если нет, то как можно эту переменную так проверять

4@ > 0

Quote (aliast)
И ещё вопрос. Может плохо искал, как скриптом нажать, например, кнопку газа? опкод key_pressed проверяет нажатие кнонки, но не нажимает её... а нажать как?..

Так это надо заставить машину ехать вперёд.

 
Den_spbДата: Вторник, 22.06.2010, 00:09 | Сообщение # 1860
Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
Quote (d88)
Может он только для мэйна?

Это опкод КЛЕО3. Вот его описание из справки СБ:
0AAA: 0@ = thread 'OTB' pointer
Данный опкод проверяет, активен ли поток с указанным именем. Если он активен, в переменную записывается адрес данного потока. Если поток с указанным именем не был найден в памяти игры, в переменную будет записано число 0.

Параметры:
1 - имя переменной, в которую будет записан результат поиска
2 - имя потока для поиска

Сообщение отредактировал Den_spb - Вторник, 22.06.2010, 00:13
 
d88Дата: Вторник, 22.06.2010, 09:00 | Сообщение # 1861
Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
Имеется ввиду поток из мэйна?

Мне тогда кажется вместо 4@ > 0 лучше написать not 4@ == 0

 
aliastДата: Вторник, 22.06.2010, 12:09 | Сообщение # 1862
Малый
Группа: Пользователи
Сообщений: 7
Статус: Offline
Пример с опкодом 0AAA я посмотрел в справке SB, скрипт otbhook.txt (повышает ставки в скачках, имена потоков берутся из мэйна)
У меня получилось сделать так, чтобы игра не вылетала, вот только в итоговую таблицу почему-то записался нулевой результат (затрачено 0 сек, пройдено 0%).
Вот сейчасный кусок скрипта:
Code
:CHECK_0
0001: wait 0 ms   
00D6: if   
0256:   player $PLAYER_CHAR defined   
004D: jump_if_false @CHECK_0   
00D6: if   
0AB0:   key_pressed 88   
004D: jump_if_false @CHECK_0
//03C0: 0@ = actor $PLAYER_ACTOR car
jump @CHECK_1

проверки $ONMISSION и 4@ > 0 я убрал. После посадки самолёта скрипт прыгает обратно на метку CHECK_0 и похоже скрипт зацикливается, не давая игре записать результат в итоговую таблицу?
Второй вариант. Вообще убрать все проверки, в начале скрипта объявить поток "03A4: name_thread 'FLY'" , а в конце скрипта написать end_thread 'FLY'. Так игра тоже не вылетает, но и прохождение не засчитывает((

Насчёт движения вперёд: в данной миссии первый чекпоинт появляется только после нажатия кнопки газа. Если просто заставить самолёт лететь вперёд, чекпоинт не появляется sad

Сообщение отредактировал aliast - Вторник, 22.06.2010, 13:10
 
DaemanДата: Воскресенье, 27.06.2010, 08:15 | Сообщение # 1863
Студент
Группа: Команда CG
Сообщений: 169
Статус: Offline
aliast, есть же способ имитировать нажатие клавиши, там нужно прибегнуть к использованию адресов памяти и т.п., где-то на форуме СБ уже разрешался подобный вопрос, если уже совсем отчаялся, поищи там, ну или снова задай его в том топике.
Я бы тебе с радостью предоставил тот код и нужный адрес памяти, но вот сам как-то в это особо не углублялся и потому у меня просто нет подобной информации. Может, ещё на гтамоддинге что-то найдётся? Затрать немного времени, пересмотри wink


Есть самая реалистичная игра, где графика определяется зоркостью взгляда, качество звука - остротой слуха, сюжет может измениться в любое время, а жанр колеблется от силы воображения.
Название этой игры – жизнь. ©
 
PikassoДата: Понедельник, 28.06.2010, 16:44 | Сообщение # 1864
Школьник I
Группа: Пользователи
Сообщений: 37
Статус: Offline
не знаю почему, но я не могу получить хэндл вертолета. подскажите почему?
 
Den_spbДата: Понедельник, 28.06.2010, 16:55 | Сообщение # 1865
Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
А как ты его получаешь? Покажи код.
 
PikassoДата: Понедельник, 28.06.2010, 16:57 | Сообщение # 1866
Школьник I
Группа: Пользователи
Сообщений: 37
Статус: Offline
Code

04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
073E: get_car_in_sphere 1@ 2@ 3@ radius 10.0 model -1 handle_as 7@
if   
     056E:   car 7@ defined   
jf @MYTHREAD_1

Хэндл машины он находит, а вертолета нет

Сообщение отредактировал Pikasso - Понедельник, 28.06.2010, 17:02
 
d88Дата: Вторник, 29.06.2010, 07:06 | Сообщение # 1867
Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
Ну конечно, ты же ищешь транспорт в радиусе 10 метров от игрока, а вертолёт явно летает выше. Лучше сделать например так

04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 50.0
073E: get_car_in_sphere 1@ 2@ 3@ radius 100.0 model -1 handle_as 7@

 
PikassoДата: Вторник, 29.06.2010, 08:30 | Сообщение # 1868
Школьник I
Группа: Пользователи
Сообщений: 37
Статус: Offline
d88, ну я ж это понимаю, я к нему для этого на джетпаке подлетаю. не помогает

Добавлено (29.06.2010, 08:30)
---------------------------------------------
а, все не надо. другим путем хэндл получил

Сообщение отредактировал Pikasso - Вторник, 29.06.2010, 08:31
 
DarkscapeДата: Суббота, 03.07.2010, 14:21 | Сообщение # 1869
Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
Поставил миниган-установку, как заставить ее работать?

return
 
Den_spbДата: Суббота, 03.07.2010, 18:53 | Сообщение # 1870
Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
http://sannybuilder.com/forums/viewtopic.php?id=711
 
DarkscapeДата: Среда, 07.07.2010, 18:22 | Сообщение # 1871
Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
Den_spb, много кода) но нашел главное, спс

Добавлено (06.07.2010, 21:35)
---------------------------------------------
Опять эта проблема! Почему тачки на дороге создаются, а не там где надо?!

Добавлено (07.07.2010, 18:22)
---------------------------------------------
И подскажите нормальный опкод с goto, а то вместо того чтобы идти куда надо, актер убивайется апстену. Пробовал 0603: и 05F5:


return
 
d88Дата: Четверг, 08.07.2010, 12:25 | Сообщение # 1872
Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
Quote (Gans|64|)
И подскажите нормальный опкод с goto, а то вместо того чтобы идти куда надо, актер убивайется апстену. Пробовал 0603: и 05F5:

Ну он же идёт напрямую. Сделай пак или загрузи путь.
 
DarkscapeДата: Четверг, 08.07.2010, 13:08 | Сообщение # 1873
Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
Quote (d88)
Ну он же идёт напрямую. Сделай пак или загрузи путь.
да все, уже нашел. А вот что делать появляющимися не там объектами?


return
 
AndNicenДата: Воскресенье, 11.07.2010, 13:53 | Сообщение # 1874
Начинающий скриптер
Группа: Команда CG
Сообщений: 937
Статус: Offline
Я хочу написать скрипт,и незнаю что писать в начале.Вот это правильно?:
Code
{$CLEO}
:XXX
wait 0

Я написал скрипт,поставил проверки,типа если игрок находится в такихто координатах в радиусе 5 5 5 и нажаты 2 кнопки
и чтото деактивировано то оно активируется,а потом тоже самое только наоборот,затем вместо конца потока прыжок на начало. мне пишет что недостаточно параметров ожидалось параметров 8.


Возможно, Вас заинтересует:
NEW!!!Дополнительные Пешеходы
(Save Player Group)Сохранение/загрузка банды игрока
Проигрывание анимаций


Сообщение отредактировал ЧИтЕР - Воскресенье, 11.07.2010, 13:54
 
DK22PacДата: Воскресенье, 11.07.2010, 15:47 | Сообщение # 1875
Знающий скриптер
Группа: Проверенные
Сообщений: 189
Статус: Offline
Quote
{$CLEO}
:XXX
wait 0

Да, если пишешь клео-скрипт. И вейт 0 не всегда нужен biggrin
Quote
мне пишет что недостаточно параметров ожидалось параметров 8.

Значит неправильно параметры записал, комы наверное поставил (или не поставил). Ну или просто не все параметры записал, вот оно и ругается.


Grand Theft Auto III HD Development Team
0AA5: call 0x52D0B0 num_params 0 pop 0

52 53 43 05 01 00 00 00 10 20 00 C0 78 DA EC BC 0B 38 94
CD FF 3F 7E 2F 8B 75 5E 67 49 5A 87 24 B1 07 21 DD BB EC
 
Colt_8Дата: Воскресенье, 11.07.2010, 20:31 | Сообщение # 1876
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
ЧИтЕР, выкладывай код скрипта будем разбираться



 
SkriptДата: Понедельник, 02.08.2010, 09:30 | Сообщение # 1877
Свояк
Группа: Проверенные
Сообщений: 117
Статус: Offline
И так нужна достоверная проверка на то что активирован режим заставки (черные полосоки сверху и снизу)
в С-hud это проверялось так:

$76 = 0
$78 = 0
$79 = 0
18@ = 0
0000: NOP
gosub @NONAME_2769
gosub @NONAME_3340

:NONAME_44
wait 0
gosub @NONAME_172
gosub @NONAME_227
gosub @NONAME_289
if or
$76 == 1
$78 == 1
$79 == 1
jf @NONAME_112
03F0: enable_text_draw 0
jump @NONAME_165

:NONAME_112
03F0: enable_text_draw 1
gosub @NONAME_338
gosub @NONAME_557
gosub @NONAME_777
gosub @NONAME_1004
gosub @NONAME_1698
gosub @NONAME_2568
gosub @NONAME_2081

:NONAME_165
jump @NONAME_44

:NONAME_172
0A8D: $36 = read_memory 11989093 size 4 virtual_protect 0
if
$36 == 1
jf @NONAME_218
$76 = 1
jump @NONAME_225

:NONAME_218
$76 = 0

:NONAME_225
return

:NONAME_227
0A8D: $77 = read_memory 9873356 size 4 virtual_protect 0
if or
$77 == 1
$77 == 2
jf @NONAME_280
$78 = 1
jump @NONAME_287

:NONAME_280
$78 = 0

:NONAME_287
return

:NONAME_289
if
06B9: cutscene_data_loaded
jf @NONAME_329
if
82E9: not cutscene_reached_end
jf @NONAME_322
$79 = 1

:NONAME_322
jump @NONAME_336

:NONAME_329
$79 = 0

:NONAME_336
return

:NONAME_338
gosub @NONAME_393
if
7@ > 0
jf @NONAME_391
gosub @NONAME_403
gosub @NONAME_422
gosub @NONAME_2253
gosub @NONAME_523

:NONAME_391
return

:NONAME_393


Моддинг отечественный,
Бойся меня, ведь я такой коммерческий!
Пришел к этому путями всяческими,
Это вы коммерческие, а я тащу свой стиль!
 
d88Дата: Понедельник, 02.08.2010, 10:39 | Сообщение # 1878
Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
А что, эта проверка недостоверна?

Я не знаю, может этот код подойдёт
0A2B: widescreen_option_enabled

 
DK22PacДата: Понедельник, 02.08.2010, 13:18 | Сообщение # 1879
Знающий скриптер
Группа: Проверенные
Сообщений: 189
Статус: Offline
Code
:NONAME_172
0A8D: $36 = read_memory 11989093 size 4 virtual_protect 0
if
$36 == 1
jf @NONAME_218

Вот здесь эта проверка. 11989093 в hex-формате - B6F065.


Grand Theft Auto III HD Development Team
0AA5: call 0x52D0B0 num_params 0 pop 0

52 53 43 05 01 00 00 00 10 20 00 C0 78 DA EC BC 0B 38 94
CD FF 3F 7E 2F 8B 75 5E 67 49 5A 87 24 B1 07 21 DD BB EC


Сообщение отредактировал DK22Pac - Понедельник, 02.08.2010, 13:28
 
SkriptДата: Вторник, 03.08.2010, 12:45 | Сообщение # 1880
Свояк
Группа: Проверенные
Сообщений: 117
Статус: Offline
ага спасибо разберемся wink

Моддинг отечественный,
Бойся меня, ведь я такой коммерческий!
Пришел к этому путями всяческими,
Это вы коммерческие, а я тащу свой стиль!
 
CriPsДата: Воскресенье, 08.08.2010, 14:07 | Сообщение # 1881
Робочий
Группа: Проверенные
Сообщений: 213
Статус: Offline
Привет всем!
можете подсказать проверку/опкод на нахождение объекта в определённых координатах?


 
DK22PacДата: Воскресенье, 08.08.2010, 14:23 | Сообщение # 1882
Знающий скриптер
Группа: Проверенные
Сообщений: 189
Статус: Offline
Quote
можете подсказать проверку/опкод на нахождение объекта в определённых координатах?

Code
04E5: object 0@ near_point 2774.308 -2405.28 radius 3.0 3.0 flag 0

Code
04E6: object 0@ near_point 2774.308 -2405.28 12.6803 radius 3.0 3.0 3.0 flag 0

Code
08E3: object 0@ sphere 0 in_rectangle_ll_corner_at 2774.308 -2405.28 lr_corner_at 2801.607 -2430.073 radius 3.0

Code
04EA: object 0@ in_cube_cornerA 2774.308 -2405.28 12.6803 cornerB 2801.607 -2430.073 15.3896 flag 0


Grand Theft Auto III HD Development Team
0AA5: call 0x52D0B0 num_params 0 pop 0

52 53 43 05 01 00 00 00 10 20 00 C0 78 DA EC BC 0B 38 94
CD FF 3F 7E 2F 8B 75 5E 67 49 5A 87 24 B1 07 21 DD BB EC


Сообщение отредактировал DK22Pac - Воскресенье, 08.08.2010, 14:26
 
1karlДата: Вторник, 10.08.2010, 15:12 | Сообщение # 1883
Главный Администратор, создатель сайта
Группа: Проверенные
Сообщений: 1347
Статус: Offline
Так у меня возник вопрос)
Вот допустим я вертолёту задал точку куда нужно лететь.
Как проверить что вертолёт в этой точке?

Code
01AF:   car 0@ sphere 0 in_sphere 1482.106 -2170.955 157.4515 radius 10.0 10.0 10.0
- не работает!
Он в эту точку прилетает и там стоит в след. не летит(((


Создатель и первый администратор сайта CleoGTA.ucoz.ua
 
SkriptДата: Четверг, 12.08.2010, 01:35 | Сообщение # 1884
Свояк
Группа: Проверенные
Сообщений: 117
Статус: Offline
Вот поясните для чего Роусуке пишет это! Для создания ракетного оружия

12@ = Object.Create(3786, 5@, 6@, 7@)
069A: attach_object 12@ to_object 11@ with_offset 0.0 0.0 0.0 rotation 0.0 0.0 90.0
04D9: object 11@ set_scripted_collision_check 1
0906: set_object 11@ mass_to 7.5 // float
0908: set_object 11@ turn_mass_to 75.0 // float
08D2: object 11@ scale_model 0.1
0A98: 26@ = object 11@ struct
26@ += 152
0A8C: write_memory 26@ size 4 value 0.0 virtual_protect 0

Object.ToggleInMovingList(11@) = True
0750: set_object 11@ visibility 0
08D2: object 12@ scale_model 0.35
Object.SetImmunities(11@, 1, 1, 1, 1, 1)
Object.CollisionDetection(12@) = False
Object.SetImmunities(12@, 1, 1, 1, 1, 1)


Моддинг отечественный,
Бойся меня, ведь я такой коммерческий!
Пришел к этому путями всяческими,
Это вы коммерческие, а я тащу свой стиль!
 
[СТРЕЛОК]Дата: Четверг, 12.08.2010, 16:26 | Сообщение # 1885
Ученик скриптинга
Группа: Проверенные
Сообщений: 888
Статус: Offline
люди, помогите, вот пару вопросов, 1- дайте окпод(но полный) типа появляется красный маркер, если игрок там, то появляется другой, 2- как поставить чела, типа когда игрок в этой координате, то появляется чел в одной координате, и его надо убить, когда он умер, то появляется в другом месте, плииииииииииииииз!

Верь в свою звезду
Э. Че Гевара
 
1karlДата: Четверг, 12.08.2010, 19:38 | Сообщение # 1886
Главный Администратор, создатель сайта
Группа: Проверенные
Сообщений: 1347
Статус: Offline
Quote (|СТРЕЛОК|)
люди, помогите, вот пару вопросов, 1- дайте окпод(но полный) типа появляется красный маркер, если игрок там, то появляется другой, 2- как поставить чела, типа когда игрок в этой координате, то появляется чел в одной координате, и его надо убить, когда он умер, то появляется в другом месте, плииииииииииииииз!

O_o
wacko
Это тебе уже целый скрипт написать надо)
Это одним опкодом не сделать)


Создатель и первый администратор сайта CleoGTA.ucoz.ua
 
[СТРЕЛОК]Дата: Четверг, 12.08.2010, 19:48 | Сообщение # 1887
Ученик скриптинга
Группа: Проверенные
Сообщений: 888
Статус: 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---------------
thread 'NAME'

:NAME_11
wait 0
$ICON = Marker.CreateIconAndSphere(55, -893.34, 1998.83, 60.91)
wait 0
0101: actor $PLAYER_ACTOR in_sphere -893.34 1998.83 60.91 radius 3.0 3.0 10.0 sphere 1 stopped
else_jump @NAME_11
wait 0
Marker.Disable($MARK)
wait 0
else_jump @NAME_11
$ICON = Marker.CreateIconAndSphere(55, -2024.6, 173.97, 28.84)
wait 0
0101: actor $PLAYER_ACTOR in_sphere -2024.6 173.97 28.84 radius 3.0 3.0 10.0 sphere 1 stopped
wait 0
Marker.Disable($MARK)
Player.Money($PLAYER_CHAR) += 250000

проверьте что не так


Верь в свою звезду
Э. Че Гевара
 
DK22PacДата: Четверг, 12.08.2010, 20:10 | Сообщение # 1888
Знающий скриптер
Группа: Проверенные
Сообщений: 189
Статус: Offline
Quote
для чего Роусуке пишет это!

Могу только рассказать о работе данных опкодов, что именно находится на смещении 152, я не знаю.
[СТРЕЛОК], как-то так должно выглядеть:
Code
{$CLEO}
0000:
while true
wait 0
0@ = Marker.CreateIconAndSphere(55, -893.34, 1998.83, 60.91)
while true
wait 0
if Player.Defined($PLAYER_ACTOR)
jf continue
if 0101: actor $PLAYER_ACTOR in_sphere -893.34 1998.83 60.91 radius 3.0 3.0 10.0 sphere 1 stopped
jf continue
Marker.Disable(0@)
0@ = Marker.CreateIconAndSphere(55, -2024.6, 173.97, 28.84)
break
end
while true
wait 0
if Player.Defined($PLAYER_CHAR)
jf continue
if 0101: actor $PLAYER_ACTOR in_sphere -2024.6 173.97 28.84 radius 3.0 3.0 10.0 sphere 1 stopped
jf continue
Marker.Disable(0@)
Player.Money($PLAYER_CHAR) += 250000
break
end
end

//поправил


Grand Theft Auto III HD Development Team
0AA5: call 0x52D0B0 num_params 0 pop 0

52 53 43 05 01 00 00 00 10 20 00 C0 78 DA EC BC 0B 38 94
CD FF 3F 7E 2F 8B 75 5E 67 49 5A 87 24 B1 07 21 DD BB EC


Сообщение отредактировал DK22Pac - Четверг, 12.08.2010, 20:14
 
1karlДата: Четверг, 12.08.2010, 20:11 | Сообщение # 1889
Главный Администратор, создатель сайта
Группа: Проверенные
Сообщений: 1347
Статус: Offline
Вот так будет правильно, токо не пойму что ты скриптом хотел сделать??
Code
// 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---------------  
thread 'NAME'  

:NAME_11  
wait 0  
00D6: if
0256:   player $PLAYER_ACTOR defined  
004D: jump_if_false @NAME_11  
wait 0
$ICON = Marker.CreateIconAndSphere(55, -893.34, 1998.83, 60.91)  
jump @NAME_12  

:NAME_12  
wait 0  
if
0101: actor $PLAYER_ACTOR in_sphere -893.34 1998.83 60.91 radius 3.0 3.0 10.0 sphere 1 stopped  
else_jump @NAME_12  
wait 0  
Marker.Disable($MARK)  
wait 0  
$ICON = Marker.CreateIconAndSphere(55, -2024.6, 173.97, 28.84)  
wait 0
if  
0101: actor $PLAYER_ACTOR in_sphere -2024.6 173.97 28.84 radius 3.0 3.0 10.0 sphere 1 stopped  
wait 0  
else_jump @NAME_12
wait 0
Marker.Disable($MARK)  
Player.Money($PLAYER_CHAR) += 250000
jump @NAME_11


Создатель и первый администратор сайта CleoGTA.ucoz.ua
 
SkriptДата: Четверг, 12.08.2010, 20:28 | Сообщение # 1890
Свояк
Группа: Проверенные
Сообщений: 117
Статус: Offline
DK22Pac, ну опкод то мне понятен а что изменилась от этого параметра я не знаю :P

Моддинг отечественный,
Бойся меня, ведь я такой коммерческий!
Пришел к этому путями всяческими,
Это вы коммерческие, а я тащу свой стиль!
 
[СТРЕЛОК]Дата: Четверг, 12.08.2010, 20:35 | Сообщение # 1891
Ученик скриптинга
Группа: Проверенные
Сообщений: 888
Статус: Offline
я хотел сделать миссию перевозчика, а что вы исправили? пс второй маркер почему то не появляется, пс дайте свои аси, поговорить надо на счёт скриптов

Верь в свою звезду
Э. Че Гевара
 
DK22PacДата: Четверг, 12.08.2010, 21:02 | Сообщение # 1892
Знающий скриптер
Группа: Проверенные
Сообщений: 189
Статус: Offline
Skript, могу ещё сказать что начальное значение этого параметра для созданного обьекта = 1.234591031E-038)

Grand Theft Auto III HD Development Team
0AA5: call 0x52D0B0 num_params 0 pop 0

52 53 43 05 01 00 00 00 10 20 00 C0 78 DA EC BC 0B 38 94
CD FF 3F 7E 2F 8B 75 5E 67 49 5A 87 24 B1 07 21 DD BB EC


Сообщение отредактировал DK22Pac - Четверг, 12.08.2010, 21:04
 
SkriptДата: Пятница, 13.08.2010, 01:17 | Сообщение # 1893
Свояк
Группа: Проверенные
Сообщений: 117
Статус: Offline
Ну ладно спасибо, бро!

Добавлено (13.08.2010, 01:16)
---------------------------------------------
Вот я тут замутил худ и мне нужна помощь! Хочу сделать отображение патрон в оружие так как в оригинале через тире
041A: 14@ = actor $PLAYER_ACTOR weapon 13@ ammo
есть опкод! Но как определить количество в обойме и остаток? Это же какие то адреса памяти!?

Добавлено (13.08.2010, 01:17)
---------------------------------------------
Еще как проверить что когда игрок жмет ТАБ табличка статуса светится?


Моддинг отечественный,
Бойся меня, ведь я такой коммерческий!
Пришел к этому путями всяческими,
Это вы коммерческие, а я тащу свой стиль!
 
DK22PacДата: Пятница, 13.08.2010, 13:30 | Сообщение # 1894
Знающий скриптер
Группа: Проверенные
Сообщений: 189
Статус: Offline
Quote
Но как определить количество в обойме

Для каждого слота оружия в памяти есть своя структура...
Вот примерно так быдет выглядеть код, чтобы записать в переменные 1@ - 11@ число патронов в обойме для некоторых видов оружия, я написал что где.
Code
0a96: 0@ = actor $PLAYER_ACTOR struct
0@ += 0x5E0
0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0  // СЛОТ 2: КОЛЬТ, ГЛУШАК, ДИГЛ
0@ += 0x1C
0A8D: 2@ = read_memory 0@ size 4 virtual_protect 0  // СЛОТ 3: ДРОБОВИК, ОБРЕЗ, СПАС
0@ += 0x1C
0A8D: 3@ = read_memory 0@ size 4 virtual_protect 0  // СЛОТ 4: УЗИ, МП, ТЕК
0@ += 0x1C
0A8D: 4@ = read_memory 0@ size 4 virtual_protect 0  // СЛОТ 5: АК, М4
0@ += 0x1C
0A8D: 5@ = read_memory 0@ size 4 virtual_protect 0  // СЛОТ 6: СНАЙПА, СНАЙПА С РИФЛОМ
0@ += 0x1C
0A8D: 6@ = read_memory 0@ size 4 virtual_protect 0  // СЛОТ 7: РАКЕТНИЦА, ТЕПЛОВАЯ РАКЕТНИЦА, ФЛЕЙМ, МИНИГАН (ЕСЛИ В ИГРЕ У flame 50 ПАТРОНОВ, ТО ЗНАЧЕНИЕ ЭТОГО ЧИСЛА - 500)
0@ += 0x1C
0A8D: 7@ = read_memory 0@ size 4 virtual_protect 0  // СЛОТ 8: ГРАНАТА, МОЛОТОВ, РАНЕЦ-БОМБА
0@ += 0x1C
0A8D: 8@ = read_memory 0@ size 4 virtual_protect 0  // СЛОТ 9: ОГНЕТУШИЛКА, КАМЕРА
0@ += 0x1C
0A8D: 9@ = read_memory 0@ size 4 virtual_protect 0  // СЛОТ 10: БУКЕТ
0@ += 0x1C
0A8D: 10@ = read_memory 0@ size 4 virtual_protect 0  // СЛОТ 11: НОЧНЫЕ ОЧКИ, ТЕПЛОВЫЕ ОЧКИ, ПАРАШЮТ
0@ += 0x1C
0A8D: 11@ = read_memory 0@ size 4 virtual_protect 0  // СЛОТ 12: ДЕТОНАТОР

Над смещением 0x5E0 и до смещения 0x5A0, относительно структуры игрока, лежат ещё 3 структуры, предположительно это ручное оружие, и кулак/кастет, ещё одна структура - хз.
Quote
и остаток?

А это уже не адреса biggrin , а обычная математика
Code
Остаток = Всего - В обойме


Grand Theft Auto III HD Development Team
0AA5: call 0x52D0B0 num_params 0 pop 0

52 53 43 05 01 00 00 00 10 20 00 C0 78 DA EC BC 0B 38 94
CD FF 3F 7E 2F 8B 75 5E 67 49 5A 87 24 B1 07 21 DD BB EC


Сообщение отредактировал DK22Pac - Пятница, 13.08.2010, 13:31
 
SkriptДата: Пятница, 13.08.2010, 13:52 | Сообщение # 1895
Свояк
Группа: Проверенные
Сообщений: 117
Статус: Offline
Не вышло! Можешь сделать код чтоб выводить эту переменную на экран?
у меня выходит просто большое мутное число? взять флоат?
Quote
А это уже не адреса , а обычная математика

ок


Моддинг отечественный,
Бойся меня, ведь я такой коммерческий!
Пришел к этому путями всяческими,
Это вы коммерческие, а я тащу свой стиль!
 
DK22PacДата: Пятница, 13.08.2010, 13:55 | Сообщение # 1896
Знающий скриптер
Группа: Проверенные
Сообщений: 189
Статус: Offline
Code
{$CLEO}
wait 0
while not Player.Defined($PLAYER_CHAR)
wait 0
end
while true
wait 0
0a96: 0@ = actor $PLAYER_ACTOR struct
0@ += 0x5E0
0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0
0@ += 0x1C
0A8D: 2@ = read_memory 0@ size 4 virtual_protect 0
0@ += 0x1C
0A8D: 3@ = read_memory 0@ size 4 virtual_protect 0
0@ += 0x1C
0A8D: 4@ = read_memory 0@ size 4 virtual_protect 0
0@ += 0x1C
0A8D: 5@ = read_memory 0@ size 4 virtual_protect 0
0@ += 0x1C
0A8D: 6@ = read_memory 0@ size 4 virtual_protect 0
0@ += 0x1C
0A8D: 7@ = read_memory 0@ size 4 virtual_protect 0
0@ += 0x1C
0A8D: 8@ = read_memory 0@ size 4 virtual_protect 0
0@ += 0x1C
0A8D: 9@ = read_memory 0@ size 4 virtual_protect 0
0@ += 0x1C
0A8D: 10@ = read_memory 0@ size 4 virtual_protect 0
03F0: enable_text_draw 1    
0340: set_text_draw_RGBA 209 48 0 255
0349: set_text_draw_font 2   
033F: set_text_draw_letter_size 0.3 1.8     
045B: draw_text_2numbers 581.0 44.3 GXT 'TIME' numbers 1@ 2@
0340: set_text_draw_RGBA 209 48 0 255
0349: set_text_draw_font 2   
033F: set_text_draw_letter_size 0.3 1.8     
045B: draw_text_2numbers 581.0 74.3 GXT 'TIME' numbers 3@ 4@
0340: set_text_draw_RGBA 209 48 0 255
0349: set_text_draw_font 2   
033F: set_text_draw_letter_size 0.3 1.8     
045B: draw_text_2numbers 581.0 104.3 GXT 'TIME' numbers 5@ 6@
0340: set_text_draw_RGBA 209 48 0 255
0349: set_text_draw_font 2   
033F: set_text_draw_letter_size 0.3 1.8     
045B: draw_text_2numbers 581.0 134.3 GXT 'TIME' numbers 7@ 8@
0340: set_text_draw_RGBA 209 48 0 255
0349: set_text_draw_font 2   
033F: set_text_draw_letter_size 0.3 1.8     
045B: draw_text_2numbers 581.0 164.3 GXT 'TIME' numbers 9@ 10@
end


Grand Theft Auto III HD Development Team
0AA5: call 0x52D0B0 num_params 0 pop 0

52 53 43 05 01 00 00 00 10 20 00 C0 78 DA EC BC 0B 38 94
CD FF 3F 7E 2F 8B 75 5E 67 49 5A 87 24 B1 07 21 DD BB EC


Сообщение отредактировал DK22Pac - Пятница, 13.08.2010, 13:56
 
SkriptДата: Пятница, 13.08.2010, 15:43 | Сообщение # 1897
Свояк
Группа: Проверенные
Сообщений: 117
Статус: Offline
Для пистолета вышло 17!
Но ведь у каждого из пистолетов разная обойма

Добавлено (13.08.2010, 13:56)
---------------------------------------------
А всё я разобрал! Обгромнешое спасибо!!!!!!!!

Добавлено (13.08.2010, 15:43)
---------------------------------------------
Вот еще глупый вопросец! как поставить "-" между цифрами и убрать нули перед второй цыфрой (общие кол патрон)

А в целом всё готово!

0a96: 0@ = actor $PLAYER_ACTOR struct
0@ += 0x5E0
0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0
041A: 14@ = actor $PLAYER_ACTOR weapon 13@ ammo

03E0: unknown_text_draw_flag 1
033F: set_text_draw_letter_size 0.16 0.5
03E4: enable_text_draw_align_right 1
081C: draw_text_outline 1 RGBA 0 0 0 255
0340: set_text_draw_RGBA 255 255 255 220
045B: draw_text_2numbers 602.5 421.8 GXT 'TIME_0' numbers 1@ 14@ // ~1~:0~1~


Моддинг отечественный,
Бойся меня, ведь я такой коммерческий!
Пришел к этому путями всяческими,
Это вы коммерческие, а я тащу свой стиль!
 
DK22PacДата: Пятница, 13.08.2010, 15:52 | Сообщение # 1898
Знающий скриптер
Группа: Проверенные
Сообщений: 189
Статус: Offline
Может, поможет создание своего GXT-ключа?
Code
~1~-~1~


Grand Theft Auto III HD Development Team
0AA5: call 0x52D0B0 num_params 0 pop 0

52 53 43 05 01 00 00 00 10 20 00 C0 78 DA EC BC 0B 38 94
CD FF 3F 7E 2F 8B 75 5E 67 49 5A 87 24 B1 07 21 DD BB EC
 
SkriptДата: Пятница, 13.08.2010, 16:10 | Сообщение # 1899
Свояк
Группа: Проверенные
Сообщений: 117
Статус: Offline
Не вышло в результате неписаное Х50 (количество в обойме)

Добавлено (13.08.2010, 16:02)
---------------------------------------------
Нет стой! просто совпали имена таблиц XDD счас проверю

Добавлено (13.08.2010, 16:03)
---------------------------------------------
Получилось!

Добавлено (13.08.2010, 16:10)
---------------------------------------------
Спасибо!


Моддинг отечественный,
Бойся меня, ведь я такой коммерческий!
Пришел к этому путями всяческими,
Это вы коммерческие, а я тащу свой стиль!
 
DK22PacДата: Пятница, 13.08.2010, 16:12 | Сообщение # 1900
Знающий скриптер
Группа: Проверенные
Сообщений: 189
Статус: Offline
=) Рад помочь

Grand Theft Auto III HD Development Team
0AA5: call 0x52D0B0 num_params 0 pop 0

52 53 43 05 01 00 00 00 10 20 00 C0 78 DA EC BC 0B 38 94
CD FF 3F 7E 2F 8B 75 5E 67 49 5A 87 24 B1 07 21 DD BB EC
 
Поиск:

Форма входа
Наш опрос
Сколько вам лет?
Всего ответов: 347
Мини-чат
300
Баннерообмен
GTA FreeRunning 3 Сайт о киевском метро и МСТС/Дополнения к МСТС и информация о метрополитене
http://server-life.ru/
WWE.UA.RU.COM.NET Эксклюзивные моды для GTA San Andreas и GTA Vice City
Теги
GTA, San Andreas, GTA SA, GTA IV, GTA 4, Liberty City, Vice City, GTA VC, GTA LC, Chinatown Wars, CLEO, Mods, auto, moto, guns, weapons, maps, soundtrack, саундтрек, музыка, радио, статьи, форум, общение, вопросы, тачки, авто, машины, автомобили, мотоциклы, мото, велосипеды, русские, СССР, советские, клео, скрипты, моды, самолёты, вертолёты, персонажи, миссии, прохождения, карты, секреты, подсказки, новости, обои, фото, скриншоты, картинки, помощь, FAQ, screenshots, sanny builder, scripts, программы, проги, трейнеры, патчи, одежда, скины, транспорт, модификации, оружие, список, казино, лодки, поезда, авиация, Rockstar, рокстар, ГТА, GTA 5, GTA V