Форум - Скриптинг в GTA
22 Сентября 2017, 18:57:51 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
   Начало   Помощь Поиск Календарь Войти Регистрация  
Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Опкоды  (Прочитано 21932 раз)
0 Пользователей и 1 Гость смотрят эту тему.
yelmi
Администратор
*****
Офлайн Офлайн

Сообщений: 321



« : 02 Ноября 2007, 17:44:14 »

Как работает, что он делает, как его применять. 
В этой теме задаем вопросы по интересующим Вас опкодам.
Записан
LAMO
Пользователь
**
Офлайн Офлайн

Сообщений: 60


« Ответ #1 : 09 Февраля 2008, 15:31:23 »

 yelmi ,вот и раскрывал бы тему.начни.а мы патхватим.или апять пашлешь книгу читать?
« Последнее редактирование: 09 Февраля 2008, 20:48:49 от LAMO » Записан
LAMO
Пользователь
**
Офлайн Офлайн

Сообщений: 60


« Ответ #2 : 11 Февраля 2008, 12:04:59 »

нифига!пазырил я тута,нифига их скока!и че?их все нада знать?!Как узнать какой апкот нада вставлять-та и ни запутаца в этам?
зы-чем глупже я пагружаюсь в мир скриптига для сани,тем ясней панимаю,што тану
Записан
mdfmds
Новичок
*
Офлайн Офлайн

Сообщений: 5


« Ответ #3 : 06 Апреля 2008, 21:51:52 »

Здравствуйте. Очень хотелось бы узнать для чего конкретно служит данный опкод
09D5: unknown_get_actor 35@ unknown 345 flags 1 0 0 store_to 256@
и как именно он работает. Мне кажеться, что он отвечает за прикрепление звука(голоса 345 ) актеру(35@), так как если его убрать, то актер молчит. Еще обратил внимание на то, что если поставить под переменной 35@ любого другого актера, то звук то же не проигрываеться. Например, в случае, когда заменяю специального актера 'GANGRL2', на любого специального (к примеру 'CAT' ). Вообщем, если кто-нибудь знает, то обьясните пожалуйста принцип действия данного опкода.
Записан
yelmi
Администратор
*****
Офлайн Офлайн

Сообщений: 321



« Ответ #4 : 07 Апреля 2008, 17:24:10 »

Здравствуйте. Очень хотелось бы узнать для чего конкретно служит данный опкод
09D5: unknown_get_actor 35@ unknown 345 flags 1 0 0 store_to 256@
и как именно он работает.
Этот опкод проигрывает звуковой файл. Сам звуковой файл не нужно предварительно загружать.
Цитировать
Еще обратил внимание на то, что если поставить под переменной 35@ любого другого актера, то звук то же не проигрываеться. Например, в случае, когда заменяю специального актера 'GANGRL2', на любого специального (к примеру 'CAT' ). Вообщем, если кто-нибудь знает, то обьясните пожалуйста принцип действия данного опкода.
Для каждого актера существует определенный набор звуковых файлов.
В данном банке звуковых файлов нет звуков принадлежащих актеру, например ‘CAT’.
Для примера можно привести такой скрипт:
Код:
{$CLEO .cs}
0000: NOP

:Noname_2
0001: wait 250 ms
00D6: if and
0256:   player $PLAYER_CHAR defined
0038:   $ONMISSION == 0
80DF:   not actor $PLAYER_ACTOR driving
004D: jump_if_false @Noname_2
00D6: if
0AB0:   key_pressed 219 // клавиша [
004D: jump_if_false @Noname_2
023C: load_special_actor 'WUZIMU' as 1 // models 290-299
0247: load_model #WFYSEX

:Noname_69
00D6: if or
8248:   not model #WFYSEX available
823D:   not special_actor 1 loaded
004D: jump_if_false @Noname_100
0001: wait 0 ms
0002: jump @Noname_69

:Noname_100
04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset -0.58 1.58 -0.9
009A: 5@ = create_actor_pedtype 25 model #SPECIAL01 at 0@ 1@ 2@
000F: 1@ -= 1.2
009A: 6@ = create_actor_pedtype 24 model #WFYSEX at 0@ 1@ 2@
0639: AS_actor 5@ rotate_to_actor 6@
0001: wait 1200 ms
074D: AS_actor 5@ turns_to_and_look_at_actor 6@ timelimit -2
0001: wait 250 ms
05C3: AS_actor 5@ hands_cower
05C3: AS_actor 6@ hands_cower
09D5: unknown_get_actor 5@ unknown 346 flags 1 0 0 store_to 25@ // extended 0947
09D5: unknown_get_actor 6@ unknown 346 flags 1 0 0 store_to 25@ // extended 0947
0001: wait 1400 ms
09D5: unknown_get_actor $PLAYER_ACTOR unknown 346 flags 1 0 0 store_to 25@ // extended 0947
06A5: AS_actor $PLAYER_ACTOR jump_forward stay_on_ground 3000 ms and_stands_back
0001: wait 3100 ms
0296: unload_special_actor 1
01C2: remove_references_to_actor 5@ // Like turning an actor into a random pedestrian
01C2: remove_references_to_actor 6@ // Like turning an actor into a random pedestrian
0249: release_model #WFYSEX
0002: jump @Noname_2
Записан
mdfmds
Новичок
*
Офлайн Офлайн

Сообщений: 5


« Ответ #5 : 07 Апреля 2008, 19:37:52 »

2Yelmi
Спасибо большое. Теперь все стало ясно В замешательстве
Скрипт прикольный! Смеющийся
« Последнее редактирование: 07 Апреля 2008, 19:46:16 от mdfmds » Записан
Gadina
Пользователь
**
Офлайн Офлайн

Сообщений: 148


мастерство не пропьёш...


« Ответ #6 : 03 Июня 2008, 07:47:18 »

Yelmi как вызвать в булдере Нумерацию Клавиш, какой код у каждой кнопки на клавиатуре для игры.?
И не получается через булдер смотреть координаты игрока в игре. Объясни одной фразой для Паравозов, как Это делать.

Нельзяли поконкретней для Ослов , вот про это рассказать ( А главноее с примерами скромными):
Player.SprintMode()
Записан
yelmi
Администратор
*****
Офлайн Офлайн

Сообщений: 321



« Ответ #7 : 03 Июня 2008, 11:54:02 »

Sanny Builder Help:
Документация по SCM/GTA SA/Номера клавиш – Клавиши игры

CLEO 3 Code Library/CLEO3: опкоды/Опкод 0AB0
Параметр: номер клавиши на клавиатуре. Список virtual_key_codes см. Здесь – ссылка на страницу в хелпе.

06AF: set_player $PLAYER_CHAR sprint_mode 0  // 0/1 выкл./включить бесконечный бег.
Записан
Gadina
Пользователь
**
Офлайн Офлайн

Сообщений: 148


мастерство не пропьёш...


« Ответ #8 : 06 Июня 2008, 08:46:48 »

yelmi я так понял что существует ДВА Опкода которые завершают загрузки.
Если есть ещё, покажи их пожалуйста.
Код:
038B: load_requested_models - Применяется после выгрузки любых моделей?
0A93: end_custom_thread - Завершение работы скрипта?


Ещё вопрос:
Цитировать
Ещё есть полезная команда, которая очищает местность от актёров и машин:
0395: clear_area 1 at 681.8004 -474.1063 15.5363 range 3.0
681.8004 -474.1063 15.5363 - координаты очищения
3.0 - радиус очищения

Как её правильно применять? Я установил нужные координаты, выставил радиус 1000.0 И куй чего получается, все машины и пешеходы появляются Одинаково также.
Как очистить зону действия от машин и пешеходов?

Ещё вопрос:
04E4: unknown_refresh_game_renderer_at 2488.5623 -1876.8645 - освежает местность по заданным координатам (X,Y)
Её надо вписывать до того, как актёр появился или после?
_____________________________________________________
Что такое флаги :
011A: set actor $Actor flags 64 - задаёт актёру флаги.
И вот это в каком случае применять :
004D: jump_if_false

В чём разница между этими командами? :
Object.Create($obj,#DYNAMITE,1024.0,768.0,32.0) - создать объект.
Object.Init($obj,#WATERJUMPX2,2481.3701,-1661.8964,13.3302) - создать объект
« Последнее редактирование: 13 Июня 2008, 12:52:38 от Gadina » Записан
Gadina
Пользователь
**
Офлайн Офлайн

Сообщений: 148


мастерство не пропьёш...


« Ответ #9 : 04 Августа 2008, 21:12:45 »

Парни собирайте всё что можете по скриптам нужно тематически всё расставить.
Нужен справочник по скриптам .
Один буду делать долго но вот с помощью можно гораздо быстрее.
Если увидите неточность Обязательно говорите.
Лично для Меня Огромная необходимость справочник по Опкодам. В хелпе сани булдера жутко всё разбросанно очень тяжело начинающему разобраться. Поэтому я решил сделать Справочник по опкодам Клео. Надеюсь не мне одному это надо.
_Очень прошу по хорошему глупые замечания оставить при себе, иначе не буду делать справочник, только конкретно по существу.
Код:

Проверки нахождения Актёра в Указанной Зоне.
Зона может быть подсвеченна или оставаться визуально невидимой.
sphere 0 – нет сферы красной.
sphere 1–есть сфера красная.

Проверки:

0100:   actor $PLAYER_ACTOR in_sphere 1793.068 -1904.254 12.3989 radius 4.0 4.0 4.0 sphere 1 in_car -Актёр едет на машине в указанной зоне.
0101:   actor $PLAYER_ACTOR in_sphere 2506.452 -1650.907 13.6991 radius 3.0 3.0 10.0 sphere 1 stopped -Актёр стоит в указанной Зоне.
0102:   actor $PLAYER_ACTOR in_sphere 681.8874 -473.6591 16.5363 radius 1.2 1.2 3.0 sphere 1 stopped_on_foot -Актёр идёт в указанной зоне.
0103:   actor $PLAYER_ACTOR in_sphere -1577.942 52.6333 16.3281 radius 4.0 4.0 6.0 sphere 0 stopped_in_car -Актёр остановился на машине в указанной зоне.

00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 681.8874 -473.6591 16.5363 radius 1.0 1.0 15.0 -Проверка нахождения Актёра в указанном месте, стоя , бегом, в машине.
00FF:   actor $PLAYER_ACTOR sphere 0 in_sphere 681.8874 -473.6591 16.5363 radius 1.0 1.0 2.0 on_foot -Актёр идёт пешком в отмеченной зоне.

00F0:   actor 1@ 0 near_point 2175.29 -2259.22 radius 3.0 3.0 stopped_on_foot - Актёр остановился в заданной Зоне
00F2:   actor 1@ near_actor $PLAYER_ACTOR radius 20.0 20.0 0  -Актёр 1@ находится возле Актёра $PLAYER_ACTOR в радиусе 20.0 20.0
00F3:   actor $PLAYER_ACTOR near_actor 15@ radius 2.0 2.0 0 on_foot  -Актёр-1 стоит Рядом с Актёром-2
00F4:   actor 1@ near_actor $PLAYER_ACTOR radius 6.0 6.0 0 in_car  -Актёр стоит рядом с актёром $PLAYER_ACTOR который находится в машине

00EE:   actor $PLAYER_ACTOR 0 near_point $X $Y radius 15.0 15.0 in_car -Находится ли игрок в машине в указанной зоне, стоя , бегом, в машине.
        Отрицательные проверки на то что игрок не находится в нужной зоне:
80FE:   not actor $PLAYER_ACTOR sphere 0 in_sphere $1 $2 $3 radius 3.0 3.0 3.0 -Актёр не находится в указанной зоне
80FF:   not actor $PLAYER_ACTOR sphere 0 in_sphere $X $Y $Z radius 10.0 10.0 3.0 on_foot -Актёр не Идёт пешком в Указанной Зоне
8101:   not actor $PLAYER_ACTOR in_sphere $X $Y $Z radius 10.0 10.0 10.0 sphere 0 stopped - Актёр не Остановился в Указанной Зоне
8102:   not actor $PLAYER_ACTOR in_sphere $X $Y $Z radius 1.0 1.0 3.0 sphere 0 stopped_on_foot - Актёр прошёл мимо и не остановился в указанной зоне

Внимание! Удалить красную сферу проверки не возможно.
-----------------------------------------------------
Чекпоинты гонок.
Создание гоночных чекпоинтов:
06D5: 8@ = create_racing_checkpoint_at 1536.3915 78.379 27.8352 point_to 345.0 -355.0 10.0 type 1 radius 6.0  -Создаёт гоночный чекпоинт

8@ Название маркера даём в переменной.
1536.3915 78.379 27.8352 -Координаты создания чекпоинта.
345.0 -355.0 10.0 -Координаты следующего чекпоинта, Стрелка Направления в центре чекпоинта будет направленак этой координате.
type 1 radius 6.0 -Тип чекпоинта 1 и его радиус 6.0
1-Стартовый чекпоинт
0-Промежуточный чекпоинт с указателем стрелкой в середине.
2-Промежуточный чекпоинт без стрелки
3-Чекпоинт в форме Кольца
4-Чекпоинт в форме кольца наклоненый.

08FB: set_checkpoint 1@ type_to 2 - устанавливает чекпоинту определённый тип

06D6: disable_racing_checkpoint 20@ -Уничтожить гоночный чекпоинт

==================================================================
          Создание стрелок над Машиной , Актёром, Объектом.
Примечание.Для удобства в примерах Идут Буквенные переменные.
Не забывайте, что делая скрипт в Клео, переменные можем использовать только такие, как 1@...33@.
$mark $CAR $Object $PickUp-переменные которые нужно менять, например на 1@ .

marker.CreateAboveActor($Mark,$PLAYER_ACTOR) -Создать стрелку над актёром
marker.CreateAboveCar($Mark,$CAR) -Создать стрелку над машиной. $Mark-имя маркера ,$CAR-имя машины
marker.CreateAboveObject($Mark,$Object) -Создать маркер над Объектом
03DC: $mark = create_marker_above_pickup $PickUp -Создать маркер над Пикапом (Оружие, звёздочка, сердечко...)
marker.Disable($Mark) - уничтожить маркер
marker.SetColor($Mark,2) - установить цвет маркера
marker.SetIconSize($Mark,4) - установить размер

           Создание Иконок на радаре.
$Icon-переменная для Иконки
15 - Цифра обозначающая Иконку-Значёк видимый на радаре.
После идут координаты местности в которой появится знак.

marker.CreateIconWithoutSphere($Icon,15,1024.0,768.0,128.0) -Создаёт Иконку всегда видимую на радаре.
marker.CreateIconAndSphere($Icon,15,1024.0,768.0,128.0)-Создаёт Всегда видимую иконку и красный маркер в указанной зоне.
0570: $ICON = create_asset_radar_marker_with_icon 31 at 2479.947 -1662.025 13.3437 -Создаёт иконку на радаре и Корону, видимую только при приблежении в радиусе 100 метров.
09AC: disable_map_icons 1 -Убрать все иконки с карты.
marker.Disable($Mark)-Уничтожить Иконку.

        Создание входных маркеров.
024F: create_corona 0.2 2 0 with_color 255 0 0 at_point $X $Y $Z -Создаёт мерцающий круг чекпоинт-Корона, можно менять цвет маркера
0A40: 1@ = create_entrance_marker_at 1685.7 -2238.9 14.0 color 14 -Создать входной маркер как в магазине.
0A41: destroy_entrance_marker 1@ -Удалить входной маркер.
08E7: set_entrance_markers 0 - выключает входные маркеры(как в зданиях).
Записан
Akmal
Пользователь
**
Офлайн Офлайн

Сообщений: 177


IronMan


« Ответ #10 : 04 Августа 2008, 22:38:35 »

давай,давай. хорощая вещь  Крутой  Улыбающийся
Записан
Admiral
Пользователь
**
Офлайн Офлайн

Сообщений: 100


Scorpion


« Ответ #11 : 26 Августа 2008, 15:39:18 »

Нашёл программу по опкодам. Автор- VcSaJen. Вот слова его автора:
***sannybuilder.com/forums/viewtopic.php?id=241


Вот ссылка на прогу:
***www.grand-theft-all.narod.ru/OTV_Proj/OTV02b.rar
« Последнее редактирование: 26 Августа 2008, 15:43:02 от Admiral » Записан
Gadina
Пользователь
**
Офлайн Офлайн

Сообщений: 148


мастерство не пропьёш...


« Ответ #12 : 09 Сентября 2008, 14:25:24 »

Yelmi А что это за опкод?
0924: enable_screen_darkness 1 with_value -1
Чавойта я не понял что он делает
Записан
Admiral
Пользователь
**
Офлайн Офлайн

Сообщений: 100


Scorpion


« Ответ #13 : 09 Сентября 2008, 18:03:35 »

Yelmi А что это за опкод?
0924: enable_screen_darkness 1 with_value -1
Чавойта я не понял что он делает
0924: enable_screen_darkness 1 with_value -1
это по моему означает:
0924: сделать_тёмноё_освещение 1 на -1 мс если вместо -1 поставить 5000 то темнота будет на 5 секунд
Записан
yelmi
Администратор
*****
Офлайн Офлайн

Сообщений: 321



« Ответ #14 : 09 Сентября 2008, 18:31:33 »

Затенить экран, последний параметр это не время, а насыщенность черного цвета максимум 256. -1 – среднее затенение ≈ 128.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  

Яндекс.Метрика Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0.238 секунд. Запросов: 20.

Google visited last this page 19 Сентября 2017, 20:16:49