Скрипты для GTA от dim1988 aka d88

Главная | Регистрация | Вход

Приветствую Вас Гость | RSS
[Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Скрипты » Всё о клео скриптах » Вопросы по созданию скриптов
Вопросы по созданию скриптов
dim1988 Дата: Воскресенье, 19.07.2009, 18:43 | Сообщение # 1
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Ответы на самые часто задаваемые вопросы

Как сохранить (компилировать) скрипт?
Почему не следует использовать в клео скриптах глобальные переменные?
Как узнать координаты мест, через какую прогу?
Как поместить игрока в интерьер?
Опкод, который открывает все дома в СА
Запись в переменную ближайшего педа и проверка его модели
Как заставить актёров ходить по определённым координатам
Проверка нажатия определённой клавиши
Пак пути с анимацией
Как сделать так, чтоб 2 миссии следовали друг за другом?
Как актёру дать оружие?
Как создать транспорт
Как создать жёлтый маркер для входа в интерьер?
При компиляции выдаёт ошибку перехода на нулевой оффсет,что это и как исправить?
Как транспорту присвоить определённый цвет?
Что делать если пишет ожидалось 'x' параметров?
Как написать цветной текст?
Номера костей актёра
Что такое gosub?
Опкоды, связанные с созданием огня
Как изменить оружие банд?
Образец добавления в игру объектов
Проверка нажатия клавиши в игре и список значений
Путь или scmpath
Как изменить цвет затемнения экрана?
Как записать в переменную случайное число из интервала
Список стилей боя
Как привязать эффект к кости актёра?
Как произвести действия, над педами, созданными игрой
Как заменить модель игрока
Как заставить актёра поднять руки, как при аресте
Сброс анимации
Как метнуть объект?
Как из одного скрипта запустить другой?

+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать
 
 
serega13 Дата: Суббота, 16.01.2010, 22:05 | Сообщение # 361
Группа: Проверенные
Сообщений: 27
Замечания: 0%
Статус: Offline
спасибо! просто было лень писать {$CLEO .cs} biggrin biggrin biggrin стоп а //-------------MAIN--------------- тоже писать надо????
 
 
Lost_forever Дата: Суббота, 16.01.2010, 22:53 | Сообщение # 362
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline
Quote (serega13)
а //-------------MAIN--------------- тоже писать надо????

Не обязательно,это просто для удобства)



Forever
 
 
serega13 Дата: Суббота, 16.01.2010, 22:58 | Сообщение # 363
Группа: Проверенные
Сообщений: 27
Замечания: 0%
Статус: Offline
О! ок спасибо но на всякий случай буду писать!
 
 
Den_spb Дата: Воскресенье, 17.01.2010, 10:39 | Сообщение # 364
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
"На всякий случай" - нет смысла. Комментарии игнорируются при компиляции. Они нужны только для того, чтобы сделать исходный код скрипта более наглядным. Попробуй скомпилировать код, добавив в него какой-то комментарий, а потом декомпилировать его - твоих комментариев в нём уже не будет.
Комментарии оформляются двумя способами: 1.двумя косыми чертами // - в этом случае будет закомментировано то, что написано справа от черт в этой строке. 2.фигурными скобками {} - в этом случае будет закомментировано всё, что заключено между скобками. Комментарии выделяются в тексте кода темно-синим цветом.
 
 
dim1988 Дата: Воскресенье, 17.01.2010, 13:13 | Сообщение # 365
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (serega13)
лень писать {$CLEO .cs}

Я так понял ты просто писал CLEO? Тогда скрипт вообще не будет компилироваться.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
serega13 Дата: Воскресенье, 17.01.2010, 14:23 | Сообщение # 366
Группа: Проверенные
Сообщений: 27
Замечания: 0%
Статус: Offline
ребят! вы что думаете что я просто тупой нуб??? да, я не очень в скриптах смыслю но я ведь статьи читал я уже вкурсе что надо писать {$CLEO .cs}!!!!
 
 
dim1988 Дата: Воскресенье, 17.01.2010, 15:49 | Сообщение # 367
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Да ладно, не обижайся, я ведь не в обиду, просто хотел помочь smile

Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
serega13 Дата: Воскресенье, 17.01.2010, 16:47 | Сообщение # 368
Группа: Проверенные
Сообщений: 27
Замечания: 0%
Статус: Offline
Ой пацаны я не обидчивый cool
 
 
Singleboy Дата: Понедельник, 18.01.2010, 16:21 | Сообщение # 369
Группа: Пользователи
Сообщений: 8
Замечания: 0%
Статус: Offline
Здравствуйте, у меня тут одна проблема появилась, в общем, я написал скрипт, который позволяет ехать в тачке на постоянной скорости не нажимая каждый раз кнопку газа, но проблема тут в том, что если кто-то выкинет из машины или самому выйти - иногда вылетает игра. Мог бы кто-то помочь устранить это? Вот скрипт:
{$CLEO .cs}
wait 00
:L1
wait 00
if
not actor.Driving($PLAYER_ACTOR)
jf @L1_1
$Speed = 0
jump @L1
:L1_1
wait 00
03C0: $Car = actor $PLAYER_ACTOR car
if or
00E1: key_pressed 0 16 //Acselerate
00E1: key_pressed 0 15 //Enter
00E1: key_pressed 0 14 //Brake
00E1: key_pressed 0 06 //HandBrake
jf @L2
02E3: $Speed = car $Car speed
if
00E1: key_pressed 0 14
jf @L1
0@ = 0.0
0063: 0@ -= $Speed
0087: $Speed = 0@
jump @L1
:L2
wait 00
if and
09D0: car $Car on_wheels
0019: $Speed > 3.0
jf @L1
04BA: set_car $Car speed_instantly $Speed
jump @L1
 
 
dim1988 Дата: Понедельник, 18.01.2010, 16:46 | Сообщение # 370
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
А если перед jf @L2 добавить проверку
8448: not actor $PLAYER_ACTOR in_car $Car


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Singleboy Дата: Понедельник, 18.01.2010, 16:51 | Сообщение # 371
Группа: Пользователи
Сообщений: 8
Замечания: 0%
Статус: Offline
Всё равно вылетает. Я уже чего только не перепробовал, и даже не знаю, в каком месте скрипта возникает эта фигня.
 
 
dim1988 Дата: Понедельник, 18.01.2010, 17:26 | Сообщение # 372
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Всё, нашёл ошибку

Code
{$CLEO .cs}  
0000: NOP  
:L1  
wait 00  
if  
    Player.Defined($PLAYER_CHAR)
jf @L1_1  
wait 00  
if  
not actor.Driving($PLAYER_ACTOR)  
jf @L1_1  
$Speed = 0  
jump @L1  

:L1_1  
wait 00  
03C0: $Car = actor $PLAYER_ACTOR car  
if or  
856E: not  car $Car defined  
00E1: key_pressed 0 16 //Acselerate  
00E1: key_pressed 0 15 //Enter  
00E1: key_pressed 0 14 //Brake  
00E1: key_pressed 0 06 //HandBrake  
jf @L2  
02E3: $Speed = car $Car speed  
if  
00E1: key_pressed 0 14  
jf @L1  
jump @L1  

:L2  
wait 00  
if and  
09D0: car $Car on_wheels  
0019: $Speed > 3.0  
jf @L1  
wait 00  
if
056E:   car $Car defined  
jf @L1  
04BA: set_car $Car speed_instantly $Speed  
jump @L1  

Код 0063: расчитан на локальные переменные, но я попробовал - можно и без него обойтись, всё равно та часть скрипта ничего не меняет в скорости.
И глобальные переменные лучше бы не использовать в клео.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Lost_forever Дата: Понедельник, 18.01.2010, 18:09 | Сообщение # 373
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline
Singleboy, странно,но точно такую же идею мне Colt_8 предложил сделать surprised

Я уже делать хотел,но оказывается он уже есть wink



Forever
 
 
dim1988 Дата: Понедельник, 18.01.2010, 18:13 | Сообщение # 374
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
А я тоже делал и дал ему ссылку, но он не успел скачать, а я уже удалил wacko
Но этот вариант даже лучше.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Singleboy Дата: Понедельник, 18.01.2010, 18:57 | Сообщение # 375
Группа: Пользователи
Сообщений: 8
Замечания: 0%
Статус: Offline
Quote (Lost_forever)
Singleboy, странно,но точно такую же идею мне Colt_8 предложил сделать

Ага.:)

Quote (dim1988)
А я тоже делал и дал ему ссылку, но он не успел скачать, а я уже удалил

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

P. S. А опкод 0063: мне нужен был, чтобы значение скорости сделать отрицательным, иначе если дать задний ход, то после отпускания клавиши она поедет с такой же скоростью, но вперед wink

 
 
dim1988 Дата: Понедельник, 18.01.2010, 19:01 | Сообщение # 376
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (Singleboy)
а у вас не вылетала уже?

Выхожу из машины и всё нормально cool Если выпрыгиваю на ходу, она немного проедет и останавливается.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Singleboy Дата: Понедельник, 18.01.2010, 19:08 | Сообщение # 377
Группа: Пользователи
Сообщений: 8
Замечания: 0%
Статус: Offline
У меня то не постоянно вылетает игра, а примерно через раз, но это сильно бесит, если хочу поменять машину и не знаю, получится ли удачно выйти из машины или придется снова игру запускать.
 
 
Lost_forever Дата: Понедельник, 18.01.2010, 23:24 | Сообщение # 378
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline
dim1988, у меня вылет если честно wacko


Forever
 
 
Den_spb Дата: Вторник, 19.01.2010, 01:21 | Сообщение # 379
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Весь код надо переделывать - структура построена неграмотно + есть вещи, которые могут вызвать вылет: 1. неправильно оформлена проверка на существование игрока 2.не мешало бы добавить проверку на существование машины перед этим:
if and
09D0: car $Car on_wheels
0019: $Speed > 3.0
3.как уже сказано, необходимо убрать глобальные переменные.


Сообщение отредактировал Den_spb - Вторник, 19.01.2010, 01:32
 
 
dim1988 Дата: Вторник, 19.01.2010, 09:25 | Сообщение # 380
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Den_spb, я всё это делал, вчера весь вечер сидел, но либо вылетает, либо вообще не работает wacko
Парадоксально, но мне кажется что эта проверка
Quote (dim1988)
f or
856E: not car $Car defined
00E1: key_pressed 0 16 //Acselerate
00E1: key_pressed 0 15 //Enter
00E1: key_pressed 0 14 //Brake
00E1: key_pressed 0 06 //HandBrake
jf @L2

Выполняется всегда, даже если не должна выполняться.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Den_spb Дата: Вторник, 19.01.2010, 10:37 | Сообщение # 381
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Если ты заменил глоб. переменные на локальные, то конкретно эта проверка должна работать правильно (об остальной части кода не говорю). Если возникают какие-то сомнения, то проверить легко - вставляешь после проверки начисление игроку денег, например, и тестируешь код.
 
 
Colt_8 Дата: Четверг, 21.01.2010, 18:16 | Сообщение # 382
Красавчик
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Можно опкод и модель текстуру одежды коповской и как поставить?

 
 
Lost_forever Дата: Четверг, 21.01.2010, 18:22 | Сообщение # 383
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline
Colt_8,

Player.SetClothes($PLAYER_CHAR, "policetr", "policetr", 17)
Player.Build($PLAYER_CHAR)



Forever
 
 
ЧИтЕР Дата: Четверг, 21.01.2010, 22:42 | Сообщение # 384
Группа: Проверенные
Сообщений: 168
Замечания: 0%
Статус: Offline
Скажите,чточ тут нитак:
Code
{$CLEO}
:Alkoshok
wait 0
model.load(#FAM1)
038B: load_requested_models
:Check
wait 0
if and
model.available(#FAM1)
jf @Check
actor.create($MyAct,17,#FAM1,2573.2551 -1723.66 1.6406)  
03FE: set actor $Actor money 10000  
0245: set_actor $MyAct walk_style_to "DRUNKMAN"
0102: actor $PLAYER_ACTOR stopped_near_point_on_foot 2570.9224 -1723.6279 1.6406 radius 2570.9224_10 -1723.6279_10 -1723.6279
05E2: actor $MyAct attak_actor $PLAYER_ACTOR'
Model.Destroy(#FAM1)
0A93: end_custom_thread

Говорит што недостаточно параметров,ожидалось параметров 8 (типа этот сани билдер,знает сколько ожидалось параметров biggrin )
 
 
dim1988 Дата: Пятница, 22.01.2010, 08:17 | Сообщение # 385
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (ЧИтЕР)
типа этот сани билдер,знает сколько ожидалось параметров

Прикинь, знает biggrin ! Поставь курсор на любом коде и он тебе внизу напишет этот код и кол-во параметров.
В твоём случае дело в коде
actor.create($MyAct,17,#FAM1,2573.2551 -1723.66 1.6406)
Надо между координатами поставить запятые.

Но это не единственная ошибка. Вот ещё
1.Код 0102: - это проверка. Здесь вообще не нужен.
2.В начале скрипта нужно сделать проверку на существование игрока Player.Defined($PLAYER_CHAR)
3.Нежелательно использовать глобальные переменные (со знаком $) кроме некоторых постоянных - $PLAYER_CHAR, $PLAYER_ACTOR, $ONMISSION и др.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Colt_8 Дата: Суббота, 23.01.2010, 18:03 | Сообщение # 386
Красавчик
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Quote (Lost_forever)
Player.SetClothes($PLAYER_CHAR, "policetr", "policetr", 17)
Player.Build($PLAYER_CHAR)

Спасибо smile

Добавлено (23.01.2010, 17:46)
---------------------------------------------

Quote (Lost_forever)
Singleboy, странно,но точно такую же идею мне Colt_8 предложил сделать

Это мистика!

Добавлено (23.01.2010, 18:03)
---------------------------------------------
Singleboy, вот так не вылетает!

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---------------
0000: NOP  
thread 'LLL'

:L1
wait 0
if
not actor.Driving($PLAYER_ACTOR)
jf @L1_1
$Speed = 0
jump @L1

:L1_1
wait 0
03C0: 1@ = actor $PLAYER_ACTOR car
if or
00E1: key_pressed 0 16 //Acselerate
00E1: key_pressed 0 15 //Enter
00E1: key_pressed 0 14 //Brake
00E1: key_pressed 0 6 //HandBrake
jf @L2
02E3: $Speed = car 1@ speed
if
00E1: key_pressed 0 14
jf @L1
0087: $Speed = 0@
jump @L1

:L2
wait 0
if and
09D0: car 1@ on_wheels
$Speed > 3.0
jf @L1
04BA: set_car 1@ speed_instantly $Speed
jump @L1




Сообщение отредактировал Colt_8 - Суббота, 23.01.2010, 18:41
 
 
Singleboy Дата: Понедельник, 25.01.2010, 14:58 | Сообщение # 387
Группа: Пользователи
Сообщений: 8
Замечания: 0%
Статус: Offline
Colt_8, и так тоже вылетает, я думаю, мне никто так и не сможет помочь sad
 
 
Den_spb Дата: Понедельник, 25.01.2010, 19:17 | Сообщение # 388
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Singleboy, могу написать качественный код, только напиши при каком условии включается режим поддержания скорости, а при каком условии отключается.
 
 
Singleboy Дата: Понедельник, 25.01.2010, 22:29 | Сообщение # 389
Группа: Пользователи
Сообщений: 8
Замечания: 0%
Статус: Offline
Хорошо. Значит так, режим постоянной скорости должен включаться, если ты едешь вперёд со скоростью больше 3.0 (каких это единиц - не знаю) и не нажата любая клавиша торможения машины, также, чтобы машина находилась на поверхности, по которой едет, а не, например, в воздухе, воде, перевёрнута и т. п., а отключаться в противном случае, то есть, если ты удерживаешь любую клавишу тормоза, машина почти остановилась или едет назад или она не на колёсах.
 
 
Colt_8 Дата: Вторник, 26.01.2010, 00:36 | Сообщение # 390
Красавчик
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Ух ты, Den_spb пошёл творить, мне интересно, как этот код будет выглядеть happy

 
 
Форум » Скрипты » Всё о клео скриптах » Вопросы по созданию скриптов
Поиск:

Copyright dim1988 aka d88 © 2024
Сайт управляется системой uCoz