Вопросы по созданию КЛЕО-скриптов 2
|
|
EmilioDurhamCop | Дата: Четверг, 23.08.2012, 18:29 | Сообщение # 196 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Ну я не добавлял. На одном и том же опкоде работал. Code {$CLEO} wait 0 while true wait 0 if player.Defined($player_char) then if 0AB0: key_pressed 49 // 1 (вместо буквы i поставил цифру 1) then 04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 0.0 5.0 0.0 023C: load_special_actor 'RYDER' as 1 // models 290-299 023C: load_special_actor 'SWEET' as 2 // models 290-299 023C: load_special_actor 'SMOKE' as 3 // models 290-299 Model.Load(#SHOTGSPA) Model.Load(#AK47) Model.Load(#MINIGUN) 038B: load_requested_models 3@ = Actor.Create(Gang2, #SPECIAL01, 0@, 1@, 2@) 4@ = Actor.Create(Gang2, #SPECIAL02, 0@, 1@, 2@) 5@ = Actor.Create(Gang2, #SPECIAL03, 0@, 1@, 2@) 01B2: give_actor 3@ weapon 27 ammo 900 // Load the weapon model before using this 01B2: give_actor 4@ weapon 30 ammo 900 // Load the weapon model before using this 01B2: give_actor 5@ weapon 38 ammo 900 // Load the weapon model before using this Actor.WeaponAccuracy(3@) = 50 Actor.WeaponAccuracy(4@) = 50 Actor.WeaponAccuracy(5@) = 50 Actor.Health(3@) = 100 Actor.Health(4@) = 200 Actor.Health(5@) = 300 Model.Destroy(#MICRO_UZI) Model.Destroy(#AK47) Model.Destroy(#MINIGUN) Actor.RemoveReferences(3@) Actor.RemoveReferences(4@) Actor.RemoveReferences(5@) wait 2000 end end end
|
|
| |
Den_spb | Дата: Четверг, 23.08.2012, 19:15 | Сообщение # 197 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Номер кнопки - это 49. Его надо заменить на другой - смотри справку, раздел КЛЕО3 - Номера кнопок для 0AB0. Текст, находящийся справа от двух косых черт, и выделенный тёмно-синим цветом - это комментарии, во время создания cs-файла Sanny Builder их пропускает. Поэтому твои изменения ни к чему и не привели - актёры по-прежнему должны создаваться при нажатии i.
|
|
| |
EmilioDurhamCop | Дата: Четверг, 23.08.2012, 20:24 | Сообщение # 198 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Не, мне не помог этот раздел справки. Все равно первоначальной нажимаемая i остается вместе с любой кнопкой.
|
|
| |
Den_spb | Дата: Четверг, 23.08.2012, 22:41 | Сообщение # 199 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Посмотрел сейчас таблицу - всё правильно ты заменил. Кнопка 1 имеет номер 49, а кнопка i имеет номер 0x49 (73). Создай cs-файл из кода, приведённого в твоём предыдущем сообщении - и всё будет работать. Старый cs-файл удали (если он есть). Одновременно 2 кнопки этот код проверять не может, т.к. для каждой кнопки надо писать отдельную команду 0AB0, а в твоём коде только одна команда 0AB0.
|
|
| |
EmilioDurhamCop | Дата: Пятница, 24.08.2012, 11:24 | Сообщение # 200 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Quote т.к. для каждой кнопки надо писать отдельную команду 0AB0 Интересно, а в один скрипт, если писать отдельную команду для каждой кнопки, можно поместить еще актёеров? Если да, то есть код?
|
|
| |
Den_spb | Дата: Пятница, 24.08.2012, 14:49 | Сообщение # 201 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Просьба корректнее формулировать вопросы. Ничего не понял.
|
|
| |
EmilioDurhamCop | Дата: Пятница, 24.08.2012, 15:53 | Сообщение # 202 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Ну, в скрипте на одну кнопку можно вызвать 4 актёра. А мне нужно, чтобы и на вторую также, как и в первой кнопке (только других спецактёров). Понятно?
|
|
| |
Den_spb | Дата: Пятница, 24.08.2012, 16:11 | Сообщение # 203 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Попробуй сам сделать. Нужно прописать второй раз основную часть кода.
|
|
| |
Vital | Дата: Пятница, 24.08.2012, 17:51 | Сообщение # 204 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| Сделал небольшой скрипт, который не позволяет игроку умереть от голода, но сообщение "Лишний вес: -" всё равно появляется. Как его можно убрать? Ведь в оригинальной игре сообщение не появляется, если поесть. Вот код:
Code :Fat repeat wait 0 0653: 1@ = float_stat 21 until 8031: not 1@ >= 19.0 062A: change_float_stat 21 to 20.0 0629: change_integer_stat 245 to 10 jump @Fat end_thread
Быть может, нужно прибавить единицу к "покупкам еды", но я посмотрел внешний скрипт VENDING, в неё кроме статистики 245 (калории) действий со статами больше нет.
SCRIPTER
|
|
| |
Den_spb | Дата: Пятница, 24.08.2012, 18:24 | Сообщение # 205 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Quote (Vital) Быть может, нужно прибавить единицу к "покупкам еды" Попробуй. Раз сообщение продолжает появляться, значит надо произвести запись ещё в какую-то переменную или адрес.
|
|
| |
EmilioDurhamCop | Дата: Пятница, 24.08.2012, 20:11 | Сообщение # 206 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| При таком коде не работает. http://rghost.ru/39981226 - это скрипт.
|
|
| |
Den_spb | Дата: Пятница, 24.08.2012, 21:01 | Сообщение # 207 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Ошибки:Code :Noname_4 0001: wait 0 ms 00D6: if 0256: player $PLAYER_CHAR defined 004D: jump_if_false @Noname_362 // @Noname_362 заменить на @Noname_4 Code :Noname_362 0002: jump @Noname_4 // эту строчку поставить после строчки :Noname_707 . Иначе получается незамкнутый цикл (игра вылетит) 00D6: if 0AB0: key_pressed 51 004D: jump_if_false @Noname_707 П.С. Лучше предоставлять исходник (txt-файл), а не cs-файл. Ещё лучше выкладывать текст исходника прямо в тексте сообщения.
Сообщение отредактировал Den_spb - Пятница, 24.08.2012, 21:41 |
|
| |
EmilioDurhamCop | Дата: Пятница, 24.08.2012, 21:25 | Сообщение # 208 |
Группа: Пользователи
Сообщений: 33
Статус: 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--------------- wait 0
:NONAME_4 wait 0 if Player.Defined($PLAYER_CHAR) else_jump @NONAME_362 if 0AB0: key_pressed 49 else_jump @NONAME_362 04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 0.0 5.0 0.0 023C: load_special_actor 'RYDER' as 1 // models 290-299 023C: load_special_actor 'SWEET' as 2 // models 290-299 023C: load_special_actor 'SMOKE' as 3 // models 290-299 023C: load_special_actor 'CESAR' as 4 // models 290-299 Model.Load(#SHOTGSPA) Model.Load(#AK47) Model.Load(#MINIGUN) Model.Load(#M4) 038B: load_requested_models 3@ = Actor.Create(Gang2, #SPECIAL01, 0@, 1@, 2@) 4@ = Actor.Create(Gang2, #SPECIAL02, 0@, 1@, 2@) 5@ = Actor.Create(Gang2, #SPECIAL03, 0@, 1@, 2@) 6@ = Actor.Create(Gang2, #SPECIAL04, 0@, 1@, 2@) 01B2: give_actor 3@ weapon 27 ammo 900 // Load the weapon model before using this 01B2: give_actor 4@ weapon 30 ammo 900 // Load the weapon model before using this 01B2: give_actor 5@ weapon 38 ammo 900 // Load the weapon model before using this 01B2: give_actor 6@ weapon 31 ammo 900 // Load the weapon model before using this Actor.WeaponAccuracy(3@) = 50 Actor.WeaponAccuracy(4@) = 50 Actor.WeaponAccuracy(5@) = 50 Actor.WeaponAccuracy(6@) = 50 Actor.Health(3@) = 100 Actor.Health(4@) = 200 Actor.Health(5@) = 300 Actor.Health(6@) = 300 Model.Destroy(#MICRO_UZI) Model.Destroy(#AK47) Model.Destroy(#MINIGUN) Model.Destroy(#M4) Actor.RemoveReferences(3@) Actor.RemoveReferences(4@) Actor.RemoveReferences(5@) Actor.RemoveReferences(6@) wait 2000
:NONAME_362 jump @NONAME_4 if 0AB0: key_pressed 51 else_jump @NONAME_707 04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 0.0 5.0 0.0 023C: load_special_actor 'RYDER' as 1 // models 290-299 023C: load_special_actor 'SWEET' as 2 // models 290-299 023C: load_special_actor 'SMOKE' as 3 // models 290-299 023C: load_special_actor 'CESAR' as 4 // models 290-299 Model.Load(#SHOTGSPA) Model.Load(#AK47) Model.Load(#MINIGUN) Model.Load(#M4) 038B: load_requested_models 3@ = Actor.Create(Gang2, #SPECIAL01, 0@, 1@, 2@) 4@ = Actor.Create(Gang2, #SPECIAL02, 0@, 1@, 2@) 5@ = Actor.Create(Gang2, #SPECIAL03, 0@, 1@, 2@) 6@ = Actor.Create(Gang2, #SPECIAL04, 0@, 1@, 2@) 01B2: give_actor 3@ weapon 27 ammo 900 // Load the weapon model before using this 01B2: give_actor 4@ weapon 30 ammo 900 // Load the weapon model before using this 01B2: give_actor 5@ weapon 38 ammo 900 // Load the weapon model before using this 01B2: give_actor 6@ weapon 31 ammo 900 // Load the weapon model before using this Actor.WeaponAccuracy(3@) = 50 Actor.WeaponAccuracy(4@) = 50 Actor.WeaponAccuracy(5@) = 50 Actor.WeaponAccuracy(6@) = 50 Actor.Health(3@) = 100 Actor.Health(4@) = 200 Actor.Health(5@) = 300 Actor.Health(6@) = 300 Model.Destroy(#MICRO_UZI) Model.Destroy(#AK47) Model.Destroy(#MINIGUN) Model.Destroy(#M4) Actor.RemoveReferences(3@) Actor.RemoveReferences(4@) Actor.RemoveReferences(5@) Actor.RemoveReferences(6@) wait 2000
:NONAME_707 // Note: a jump to this label will crash the game Добавлено (24.08.2012, 21:25) --------------------------------------------- Вот txt-исходник. Можно смотреть.
|
|
| |
Den_spb | Дата: Пятница, 24.08.2012, 21:42 | Сообщение # 209 |
Создатель сайта
Группа: Администраторы
Сообщений: 1600
Статус: Offline
| Quote (EmilioDurhamCop) Можно смотреть. Спасибо за разрешение Отредактировал своё сообщение.
|
|
| |
EmilioDurhamCop | Дата: Пятница, 24.08.2012, 21:45 | Сообщение # 210 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Ну, что там? Какие ошибки?
|
|
| |