Пятница, 26.04.2024, 18:53
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов 2
Вопросы по созданию КЛЕО-скриптов 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
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: 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
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: 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
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Просьба корректнее формулировать вопросы. Ничего не понял.
 
EmilioDurhamCopДата: Пятница, 24.08.2012, 15:53 | Сообщение # 202
Группа: Пользователи
Сообщений: 33
Статус: Offline
Ну, в скрипте на одну кнопку можно вызвать 4 актёра. А мне нужно, чтобы и на вторую также, как и в первой кнопке (только других спецактёров). Понятно?
 
Den_spbДата: Пятница, 24.08.2012, 16:11 | Сообщение # 203
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: 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
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Quote (Vital)
Быть может, нужно прибавить единицу к "покупкам еды"
Попробуй. Раз сообщение продолжает появляться, значит надо произвести запись ещё в какую-то переменную или адрес.
 
EmilioDurhamCopДата: Пятница, 24.08.2012, 20:11 | Сообщение # 206
Группа: Пользователи
Сообщений: 33
Статус: Offline
При таком коде не работает.
http://rghost.ru/39981226 - это скрипт.
 
Den_spbДата: Пятница, 24.08.2012, 21:01 | Сообщение # 207
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: 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
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Quote (EmilioDurhamCop)
Можно смотреть.
Спасибо за разрешение happy
Отредактировал своё сообщение.
 
EmilioDurhamCopДата: Пятница, 24.08.2012, 21:45 | Сообщение # 210
Группа: Пользователи
Сообщений: 33
Статус: Offline
Ну, что там? Какие ошибки?
 
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов 2
Поиск: