Четверг, 25.04.2024, 12:02
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов 2
Вопросы по созданию КЛЕО-скриптов 2
DK22PacДата: Четверг, 31.01.2013, 22:33 | Сообщение # 286
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
Vital, надо смотреть оригинальный код.
 
Den_spbДата: Четверг, 31.01.2013, 22:40 | Сообщение # 287
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Цитата (Артём)
Где-то слышал, что команду 06D8: $Train = create_train_at 2285.1523 -1257.4998 23.0 type 15 direction 1 можно использовать только на точках tracks. Так ли это?
Да, это так.
Цитата (Артём)
Можно ли реализовать ж/д линию на одном только cleo-скрипте без использования tracks.dat?
Можно создать вагон как автомобиль (с помощью опкода car.create), а затем перемещать его в любую точку командой телепортации автомобиля.
 
DK22PacДата: Пятница, 01.02.2013, 00:57 | Сообщение # 288
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
Vital, вот код, который создаёт TaskSimpleFight. Реакции на удар нету.
Возможно, надо смотреть какой-то complex-таск.
PS со значением 12 можно поэкспериментировать (0-14).
Прикрепления: simple_fight.txt (0.7 Kb)


Сообщение отредактировал DK22Pac - Пятница, 01.02.2013, 01:29
 
VitalДата: Пятница, 01.02.2013, 18:33 | Сообщение # 289
Группа: Проверенные
Сообщений: 206
Статус: Offline
DK22Pac, ох, вот это код  biggrin я, конечно, ещё не разбирался, хоть и надо попробовать, но посмотрю значения. Сделаю, возможно, смену с 0 до 14 в цикле, так будет нагляднее.

SCRIPTER
 
АртёмДата: Вторник, 19.02.2013, 18:50 | Сообщение # 290
Группа: Пользователи
Сообщений: 90
Статус: 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}
car.Create($Car,#SuperGT,1910.7555, -1802.6377, -69.1722)
Car.SetMaxSpeed(1@, 30.0)
00AE: set_car 1@ traffic_behaviour_to 4
03C0: $Car = actor #FAM1 car  
:NONAME6
Car.DriveTo(1@, 2053.9395, -1803.5759, -69.205)
wait 0 ms
:NONAME1
if // если у нас только одно подусловие или проверка,  
// то не "or" не "and" писать не надо.
01B0: car $Car stopped 0 near_point 2053.9395 -1803.5759 -69.205 radius 4.0 4.0 4.0
jf @NONAME1  
Car.DriveTo(1@, 2208.2876, -1802.6742, -69.1737)
:NONAME2
if // если у нас только одно подусловие или проверка,  
// то не "or" не "and" писать не надо.
01B0: car $Car stopped 0 near_point 2208.2876 -1802.6742 -69.1737 radius 4.0 4.0 4.0
jf @NONAME2
Car.DriveTo(1@, 2216.77 -1798.9119 -69.2134)
:NONAME3
if // если у нас только одно подусловие или проверка,  
// то не "or" не "and" писать не надо.
01B0: car $Car stopped 0 near_point 2216.77 -1798.9119 -69.2134 radius 4.0 4.0 4.0
jf @NONAME3
Car.DriveTo(1@, 2202.8167 -1791.4534 -69.1571)
:NONAME4
if // если у нас только одно подусловие или проверка,  
// то не "or" не "and" писать не надо.
01B0: car $Car stopped 0 near_point 2202.8167 -1791.4534 -69.1571 radius 4.0 4.0 4.0
jf @NONAME4
Car.DriveTo(1@, 1921.7031 -1794.1608 -69.1885)
:NONAME5
if // если у нас только одно подусловие или проверка,  
// то не "or" не "and" писать не надо.
01B0: car $Car stopped 0 near_point 1921.7031 -1794.1608 -69.1885 radius 4.0 4.0 4.0
jf @NONAME5
jump @NONAME6


Делаю новый мод Greatland
 
Vadik7Дата: Вторник, 19.02.2013, 21:25 | Сообщение # 291
Группа: Пользователи
Сообщений: 20
Статус: Offline
Цитата (Артём)
Здравствуйте! Данный код даёт вылет в конце загрузки игры. Проверьте пожалуйста что не так.
 Здравствуй) Нельзя просто так начать код с создания машины(или другого объекта), предварительно не загрузив модель и не проверив её на загруженность. Надо как-то так:
Код
{$CLEO}
thread 'noname'

:noname
wait 0
if
player.Defined($PLAYER_CHAR)
if @noname
wait 0
model.Load(#SUPERGT)
model.Load(#FAM1)
038B: load_requested_models
wait 0

:noname_1
wait 0
if and
model.Available(#SUPERGT)
model.Available(#FAM1)
jf @noname_1
wait 0
car.Create(0@,#SUPERGT,1910.7555,-1802.6377,-69.1722)
car.SetMaxSpeed(0@,30.0)
00AE: set_car 0@ traffic_behaviour_to 4
0129: 1@ = create_actor_pedtype 8 model #FAM1 in_car 0@ driverseat
model.Destroy(#SUPERGT)  
model.Destroy(#FAM1)
wait 0

:noname_2
wait 0
if and
056E: car 0@ defined
056D: actor 1@ defined
jf @noname_2
wait 0
car.DriveTo(0@,2202.8167, -1791.4534, -69.1571)
wait 0

:noname_3
wait 0
if and
056E: car 0@ defined
056D: actor 1@ defined
01B0: car 0@ stopped 0 near_point 2202.8167 -1791.4534 -69.1571 radius 4.0 4.0 4.0
jf @noname_3
wait 0
Car.DriveTo(1@, 1921.7031, -1794.1608, -69.1885)
wait 0

:noname_4
wait 0
if and
056E: car 0@ defined
056D: actor 1@ defined
01B0: car 0@ sphere 0 in_sphere 1921.7031 -1794.1608 -69.1885 radius 4.0 4.0 4.0 stopped
jf @noname_4  
wait 0

Если продолжения у кода скрипта нет, то в конце пишем 0A93: end_custom_thread . Я не понял для чего у тебя есть :NONAME5 (у меня :noname_4) , ведь он, в данном случае, не служит ни какой цели...


Simply Vadik7 ©

Сообщение отредактировал Vadik7 - Вторник, 19.02.2013, 21:38
 
АртёмДата: Среда, 20.02.2013, 15:36 | Сообщение # 292
Группа: Пользователи
Сообщений: 90
Статус: Offline
Vadik7, спасибо.) NONAME5 у меня была с той же целью, что и предыдущие метки. Туда производится возврат в случае невыполнения условия нахождения машины в точке.

Добавлено (20.02.2013, 15:36)
---------------------------------------------
if @noname - компилятор команды такой не знает... а без этой строки - вылет но уже после загрузки


Делаю новый мод Greatland
 
ILYALIONДата: Среда, 20.02.2013, 17:31 | Сообщение # 293
Группа: Проверенные
Сообщений: 325
Статус: Offline
Не if @noname, а jf @noname
 
АртёмДата: Среда, 20.02.2013, 18:13 | Сообщение # 294
Группа: Пользователи
Сообщений: 90
Статус: Offline
Ок спс:) но у меня все равно вылет...

Делаю новый мод Greatland
 
Vadik7Дата: Среда, 20.02.2013, 20:53 | Сообщение # 295
Группа: Пользователи
Сообщений: 20
Статус: Offline
Цитата (ILYALION)
Не if @noname, а jf @noname

Да, разумеется, там ошибка sad

Добавлено (20.02.2013, 20:53)
---------------------------------------------

Цитата (Артём)
но у меня все равно вылет...

Артем, а ты больше вообще ничего не изменял в том коде, что я написал? Т.е. это и есть конечный вид кода у тебя или он продолжается дальше после noname_4 ?


Simply Vadik7 ©
 
ILYALIONДата: Среда, 20.02.2013, 21:32 | Сообщение # 296
Группа: Проверенные
Сообщений: 325
Статус: Offline
Так много wait 0 не нужно. 
Код
{$CLEO}  
  0000:
  :noname  
  wait 0  
  if  
  player.Defined($PLAYER_CHAR)  
  if @noname  
  model.Load(#SUPERGT)  
  model.Load(#FAM1)  
  038B: load_requested_models  
  car.Create(0@,#SUPERGT,1910.7555,-1802.6377,-69.1722)  
  car.SetMaxSpeed(0@,30.0)  
  00AE: set_car 0@ traffic_behaviour_to 4  
  0129: 1@ = create_actor_pedtype 8 model #FAM1 in_car 0@ driverseat  
  model.Destroy(#SUPERGT)   
  model.Destroy(#FAM1)  
  :noname_2  
  wait 0  
  if and  
  056E: car 0@ defined  
  056D: actor 1@ defined  
  jf @noname_2  
  car.DriveTo(0@,2202.8167, -1791.4534, -69.1571)  
  :noname_3  
  wait 0  
  if and  
  056E: car 0@ defined  
  056D: actor 1@ defined  
  01B0: car 0@ stopped 0 near_point 2202.8167 -1791.4534 -69.1571 radius 4.0 4.0 4.0  
  jf @noname_3  
  Car.DriveTo(1@, 1921.7031, -1794.1608, -69.1885)  
  :noname_4  
  wait 0  
  if and  
  056E: car 0@ defined  
  056D: actor 1@ defined  
  01B0: car 0@ sphere 0 in_sphere 1921.7031 -1794.1608 -69.1885 radius 4.0 4.0 4.0 stopped  
  jf @noname_4
 
Vadik7Дата: Четверг, 21.02.2013, 00:25 | Сообщение # 297
Группа: Пользователи
Сообщений: 20
Статус: Offline
Цитата (ILYALION)
{$CLEO}  
  0000:
  :noname  
  wait 0  
  if  
  player.Defined($PLAYER_CHAR)  
  if @noname  
  model.Load(#SUPERGT)  
  model.Load(#FAM1)  
  038B: load_requested_models  
  car.Create(0@,#SUPERGT,1910.7555,-1802.6377,-69.1722)  
  car.SetMaxSpeed(0@,30.0)  
  00AE: set_car 0@ traffic_behaviour_to 4  
  0129: 1@ = create_actor_pedtype 8 model #FAM1 in_car 0@ driverseat  
  model.Destroy(#SUPERGT)   
  model.Destroy(#FAM1)  
  :noname_2  
  wait 0  
  if and  
  056E: car 0@ defined  
  056D: actor 1@ defined  
  jf @noname_2  
  car.DriveTo(0@,2202.8167, -1791.4534, -69.1571)  
  :noname_3  
  wait 0  
  if and  
  056E: car 0@ defined  
  056D: actor 1@ defined  
  01B0: car 0@ stopped 0 near_point 2202.8167 -1791.4534 -69.1571 radius 4.0 4.0 4.0  
  jf @noname_3  
  Car.DriveTo(1@, 1921.7031, -1794.1608, -69.1885)  
  :noname_4  
  wait 0  
  if and  
  056E: car 0@ defined  
  056D: actor 1@ defined  
  01B0: car 0@ sphere 0 in_sphere 1921.7031 -1794.1608 -69.1885 radius 4.0 4.0 4.0 stopped  
  jf @noname_4
И проверки на предмет загруженности моделей не помешали бы (model.Available)


Simply Vadik7 ©
 
Den_spbДата: Четверг, 21.02.2013, 00:42 | Сообщение # 298
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Цитата (Vadik7)
Код
056E: car 0@ defined     
     056D: actor 1@ defined     
     01B0: car 0@ stopped 0 near_point 2202.8167 -1791.4534 -69.1571 radius 4.0 4.0 4.0
Проверки на существование нельзя объединять с другими проверками, относящимися к данному объекту - это приведёт к вылету игры в том случае, если данный объект не существует.
Цитата (Vadik7)
И проверки на предмет загруженности моделей не помешали бы (model.Available)
Если была выполнена команда принудительной загрузки моделей (038B), то проверки на загруженность моделей не нужны, так как модели загружаются сразу же после выполнения команды 038B.
Цитата (Vadik7)
 
Код
if and    
    056E: car 0@ defined    
    056D: actor 1@ defined    
    jf @noname_2    
    car.DriveTo(0@,2202.8167, -1791.4534, -69.1571)
 
Не понял назначение этого отрывка. Если машина или актёр по каким-то причинам перестанут существовать, то получится бесконечный цикл. Если команда car.DriveTo должна быть выполнена только один раз, то её проще применить без всяких проверок.
Вообще пока не совсем понятен смысл данного скрипта.
 
DK22PacДата: Четверг, 21.02.2013, 00:49 | Сообщение # 299
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
Цитата (Артём)
Здравствуйте! Данный код даёт вылет в конце загрузки игры. Проверьте пожалуйста что не так.
Цитата (Артём)
Проверьте пожалуйста что не так.
Не была прочитана справка SannyBuilder. Понимания переменных вообще не видно... Каша, а не код.
 
Vadik7Дата: Четверг, 21.02.2013, 15:24 | Сообщение # 300
Группа: Пользователи
Сообщений: 20
Статус: Offline
Цитата (Den_spb)
Цитата (Vadik7)
Код
056E: car 0@ defined     
     056D: actor 1@ defined     
     01B0: car 0@ stopped 0 near_point 2202.8167 -1791.4534 -69.1571 radius 4.0 4.0 4.0
Проверки на существование нельзя объединять с другими проверками, относящимися к данному объекту - это приведёт к вылету игры в том случае, если данный объект не существует.
Вот это да... Я и не знал о таком моменте, спасибо!
Цитата (Den_spb)
Если была выполнена команда принудительной загрузки моделей (038B), то проверки на загруженность моделей не нужны, так как модели загружаются сразу же после выполнения команды 038B.
И этого не знал  smile
Цитата (Den_spb)
Цитата (Vadik7) 
Код
if and    
    056E: car 0@ defined    
    056D: actor 1@ defined    
    jf @noname_2    
    car.DriveTo(0@,2202.8167, -1791.4534, -69.1571)
 
Не понял назначение этого отрывка. Если машина или актёр по каким-то причинам перестанут существовать, то получится бесконечный цикл. Если команда car.DriveTo должна быть выполнена только один раз, то её проще применить без всяких проверок.
Вообще пока не совсем понятен смысл данного скрипта.
Пока что да, ну возможно там есть продолжение кода, которое ещё не представлено публике.


Simply Vadik7 ©
 
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов 2
Поиск: