Вопросы по созданию КЛЕО-скриптов
|
|
Аксиома | Дата: Вторник, 13.12.2011, 18:47 | Сообщение # 976 |
Группа: Заблокированные
Сообщений: 81
Статус: Offline
| Den_spb, Но ведь делали скрипт фонарь где прицепили к игроку свет
|
|
| |
ILYALION | Дата: Вторник, 13.12.2011, 18:49 | Сообщение # 977 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Можно ли запретить игроку прыгать? И как потом вернуть ему эту "возможность"
|
|
| |
Den_spb | Дата: Вторник, 13.12.2011, 18:54 | Сообщение # 978 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Можно отключить игровую кнопку прыжка: 0901: enable_player $PLAYER_CHAR jump_key 0
|
|
| |
ILYALION | Дата: Вторник, 13.12.2011, 19:25 | Сообщение # 979 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Den_spb, кодCode {$CLEO .cs}
//-------------MAIN--------------- wait 0
:NONAME_4 wait 0 if not Player.Defined($PLAYER_CHAR) else_jump @NONAME_31 jump @NONAME_4
:NONAME_31 wait 0 if 0AB0: key_pressed 116 else_jump @NONAME_4 model.Load(1468) 038B: load requested models Actor.Angle($PLAYER_ACTOR) = 0.0 04C4: store_coords_to 2@ 3@ 4@ from_actor $PLAYER_ACTOR with_offset 0.0 1.0 0.0 object.Create(10@,1468,2@,3@,4@) model.Destroy(1468) 07F7: set_object 10@ indestructible 0 :NONAME_32 wait 0 if 0AB0: key_pressed 116 else_jump @NONAME_32 071E: get_object 10@ health_to 0 wait 360000 jump @NONAME_31 вылетает после второго надатия кнопки. SmLog показывает опкод 0100, которого вообще нет в коде? Что за бред?Добавлено (13.12.2011, 19:21) --------------------------------------------- Понял, вместо Code 071E: get_object 10@ health_to 0 надо Code 071F: set_object 10@ health_to 0 Добавлено (13.12.2011, 19:25) --------------------------------------------- Den_spb, вот новый код Code {$CLEO .cs}
//-------------MAIN--------------- wait 0
:NONAME_4 wait 0 if not Player.Defined($PLAYER_CHAR) else_jump @NONAME_31 jump @NONAME_4
:NONAME_31 wait 0 if 0AB0: key_pressed 116 else_jump @NONAME_4 model.Load(1468) 038B: load requested models Actor.Angle($PLAYER_ACTOR) = 0.0 04C4: store_coords_to 2@ 3@ 4@ from_actor $PLAYER_ACTOR with_offset 0.0 1.0 0.0 object.Create(10@,1468,2@,3@,4@) model.Destroy(1468) 07F7: set_object 10@ indestructible 0 :NONAME_32 wait 0 if 0AB0: key_pressed 116 else_jump @NONAME_32 07F7: set_object 10@ indestructible 1 071F: set_object 10@ health_to 0 jump @NONAME_31 Но забор не разваливается
|
|
| |
Den_spb | Дата: Вторник, 13.12.2011, 19:30 | Сообщение # 980 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Перед разрушением надо сделать объект разрушаемым. А вместо обнуления здоровья можно попробовать 0723: break_object $1754[0] intensity 1
|
|
| |
ILYALION | Дата: Вторник, 13.12.2011, 21:40 | Сообщение # 981 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Только что тоже нашёл этот опкод. Работает. Добавлено (13.12.2011, 21:37) --------------------------------------------- как сделать, чтобы актёр не боялся (не приседал, закрывая голову руками)? Какие титы пешеходов бы не делал-все боятся. Добавлено (13.12.2011, 21:40) --------------------------------------------- Можно ли заставить актёра атаковать нескольких человек одновременно?
|
|
| |
Den_spb | Дата: Вторник, 13.12.2011, 22:39 | Сообщение # 982 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (ILYALION) как сделать, чтобы актёр не боялся (не приседал, закрывая голову руками)? Какие титы пешеходов бы не делал-все боятся. Возможно, тебе пригодится эта информация: http://sannybuilder.com/forums/viewtopic.php?id=44
Quote (ILYALION) Можно ли заставить актёра атаковать нескольких человек одновременно? Навряд ли
|
|
| |
dyom | Дата: Среда, 14.12.2011, 14:23 | Сообщение # 983 |
Группа: Пользователи
Сообщений: 19
Статус: Offline
| Добрый вечер. Вот решил сделать скрипт починка фар. Но игра вылетает Прошу помощи!
Code 0000: NOP
:lights_1 wait 250 if Player.Defined($PLAYER_CHAR) jf @lights_1 if Actor.Driving($PLAYER_ACTOR) jf @lights_1 03C0: 0@ = actor $PLAYER_ACTOR car 0A97: 25@ = car 0@ struct jf @lights_1 wait 100 if not Actor.Driving($PLAYER_ACTOR) jf @lights_1
:lights_3 0407: store_coords_to 2@ 3@ 4@ from_car 25@ with_offset 0.0 3.0 0.0 wait 0 if not Actor.Driving($PLAYER_ACTOR) jf @lights_3 wait 0 if 0AB0: key_pressed 74 jf @lights_3
:lights_4 04ED: load_animation "CAR" wait 0 if 04EE: animation "CAR" loaded jf @lights_4 0407: store_coords_to 2@ 3@ 4@ from_car 25@ with_offset 0.0 3.5 0.0 $ANGLE = Car.Angle(25@) Player.CanMove($PLAYER_CHAR) = False Car.LockInCurrentPosition(1@) = True 03BF: set_player $PLAYER_CHAR ignored_by_everyone 1 0407: store_coords_to 12@ 13@ 14@ from_car 25@ with_offset 2.6 5.5 0.0 0407: store_coords_to 22@ 23@ 24@ from_car 25@ with_offset 0.0 2.3 0.0 Camera.SetPosition(12@, 13@, 14@, 0.0, 0.0, 0.0) Camera.PointAt(22@, 23@, 24@, 2)
:lights_5 07CD: AS_actor $PLAYER_ACTOR walk_to 2@ 3@ 4@ stop_with_angle $ANGLE within_radius 0.5 wait 0 if not Actor.Driving($PLAYER_ACTOR) jf @lights_5 wait 0 if not Actor.Dead($PLAYER_ACTOR) jf @lights_5 wait 0 if 00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 2@ 3@ 4@ radius 0.5 0.5 0.5 jf @lights_5 wait 300 Actor.Angle($PLAYER_ACTOR) = $ANGLE 0812: AS_actor $PLAYER_ACTOR perform_animation "FIXN_CAR_LOOP" IFP_file "CAR" 1.0 loopA 0 lockX 0 lockY 0 lockF 0 time 3000 // versionB wait 3000 0A30: repair_car 25@ 0812: AS_actor $PLAYER_ACTOR perform_animation "FIXN_CAR_OUT" IFP_file "CAR" 1.0 loopA 0 lockX 0 lockY 0 lockF 0 time 2000 // versionB wait 2000 Player.CanMove($PLAYER_CHAR) = True Camera.Restore Car.LockInCurrentPosition(25@) = False 03BF: set_player $PLAYER_CHAR ignored_by_everyone 0 04EF: release_animation "CAR" jump @lights_6
:lights_6 25@ += 1440 0AA6: call_method 7086336 25@ num_params 2 pop 0 0 1 wait 300 0AA6: call_method 7086336 25@ num_params 2 pop 0 1 1 wait 300 :lights_7 Car.RemoveReferences(25@) wait 0 jump @lights_1
|
|
| |
ILYALION | Дата: Среда, 14.12.2011, 17:02 | Сообщение # 984 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| ПроверкаCode 0112: wasted_or_busted только для миссий. А как вне миссии проверить, убит или арестован игрок?
|
|
| |
Den_spb | Дата: Среда, 14.12.2011, 17:29 | Сообщение # 985 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (dyom) Добрый вечер. Вот решил сделать скрипт починка фар. Но игра вылетает Прошу помощи! Добрый вечер. В опкоды, производящие действия над машинами, надо подставлять хэндл машины (0@), а ты вместо этого подставляешь адрес структуры (25@). Команды перехода (jump, jf, else_jump и т.д.) после команд не пишут - только после проверок. Лучше, когда в скрипте один wait - в этом случае и скрипт работает быстрее, и каждую проверку достаточно написать один раз. И надо учиться искать ошибки самостоятельно. Для этого есть много способов: Scmlog, вывод значений переменных на экран, разбивка скрипта на части с последующим тестированием каждой части и т.д.
Quote (ILYALION) А как вне миссии проверить, убит или арестован игрок? Можно проверить, изменилась ли статистика.
|
|
| |
dyom | Дата: Среда, 14.12.2011, 17:37 | Сообщение # 986 |
Группа: Пользователи
Сообщений: 19
Статус: Offline
| Den_spb, хм все равно вылетает
|
|
| |
Den_spb | Дата: Среда, 14.12.2011, 17:48 | Сообщение # 987 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Скрипт надо переделать - коряво написан и есть ошибки. А лучше для начала попробовать написать более простой скрипт.
|
|
| |
dyom | Дата: Четверг, 15.12.2011, 11:27 | Сообщение # 988 |
Группа: Пользователи
Сообщений: 19
Статус: Offline
| Den_spb, а можно ли удалить компонент машины? Колесо например?
|
|
| |
Den_spb | Дата: Четверг, 15.12.2011, 20:10 | Сообщение # 989 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Есть опкоды:Code 0689: set_car 95@ remove_componentA 1 visible_effect_flag 0 0697: set_car 543@ remove_componentB 4 visible_effect_flag 1 Номера компонентов:Code 0 Капот. 1 Багажник. 2 Дверь водителя или левого переднего места. 3 Дверь правого переднего места. 4 Дверь заднего левого места. 5 Дверь заднего правого места. Чтобы производить действия над другими компонентами, надо изучить, как работают данные опкоды.
|
|
| |
Аксиома | Дата: Четверг, 15.12.2011, 21:42 | Сообщение # 990 |
Группа: Заблокированные
Сообщений: 81
Статус: Offline
| Как можно увеличить силу игрока что бы от удар другие отлетали и каким образом реализуется возможность управление машиной, как с грави-пушкой
|
|
| |