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

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

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

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

+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать
 
 
Vadik7 Дата: Воскресенье, 08.04.2012, 15:16 | Сообщение # 3031
Группа: Проверенные
Сообщений: 40
Замечания: 0%
Статус: Offline
Den_spb, спасибо smile Дядь, чуть позже тогда поподробней попробую разобраться с этой темой. Если будут возникать вопросы - обязательно задам их тебе.

Пытаюсь научиться скриптингу)
 
 
Vadik7 Дата: Понедельник, 09.04.2012, 01:35 | Сообщение # 3032
Группа: Проверенные
Сообщений: 40
Замечания: 0%
Статус: Offline
Quote (Den_spb)
Координаты могут иметь различные значения (в зависимости от текущего направления вектора), но т.к. длина единичного вектора всегда равна 1.0 (как ты правильно отметил), то должно выполняться условие:
SQRT(RightX^2 + RightY^2 + RightZ^2) = 1.0
SQRT - квадратный корень, ^2 - возведение в квадрат.

Den_spb, спасибо за формулу и объяснения. Что я понял: у объекта(например машины) своя система координат (трех единичных, взаимно перпендикулярных векторов), начало 0 которой, в бесконечном множестве случаев, не совпадает с мировым началом координат 0. И лишь в одном случае может совпасть. Так что каждый из векторов(x,y,z), составляющих систему координат машины, может быть вычислен, как разность между соответствующими координатами точки начала и координатами точки конца. Конечно, в том случае, если точка начала координат системы связанной с автомобилем, не совпадает с точкой начала координат системы, связанной с миром. Так как в этом случае координатами вектора будут служить координаты точки конца этого вектора. Не знаю к чему я веду... А, да, мы же не знаем координаты начала и конца... Ну, вот, значит нас в этой матрице интересуют лишь углы поворота соответствующего вектора локальной системы, относительно соответствующего вектора мировой системы а не координат векторов?

Quote (Den_spb)
Как отсчитывается угол Z - показано на картинке выше (векторы At машины и объекта, а также мировая ось Z направлены на нас). Другие два угла отсчитываются аналогично.

На твоей картинке, насколько я понял: X - красная стрелочка, Y - зеленая стрелочка, а Z - не видно, она направлена на нас. Это действительно так? Ещё, я думаю, что надо прежде спроецировать систему координат машины на мировую систему координат, т.е. чтобы точки начала совпадали, вот как я это представляю:

После этого уже отсчитывать углы, или как?
Прикрепления: 0355043.jpg (50.7 Kb)


Пытаюсь научиться скриптингу)

Сообщение отредактировал Vadik7 - Понедельник, 09.04.2012, 01:37
 
 
wmysterio Дата: Понедельник, 09.04.2012, 19:05 | Сообщение # 3033
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline
Меня всегда интересовала конструкция
Code
hex
...
end
Как с ней работать? ))
Если можно киньте в ЛС ссылки на эту конструкию и ещё узнать, что это за бредотина:
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---------------
hex
  00 00 04 00 02 10 00 04 00 B5 0A 02 0C 00 02 14
  00 02 18 00 D6 00 04 00 DF 80 02 0C 00 4D 00 01
  CB FE FF FF D6 00 04 00 38 00 02 10 00 04 00 4D
  00 01 51 FF FF FF D6 00 04 00 6E 05 02 14 00 4D
  00 01 51 FF FF FF D6 00 04 00 B0 0A 04 4A 4D 00
  01 51 FF FF FF D6 00 04 17 37 01 02 14 00 05 B3
  01 37 01 02 14 00 05 C2 01 37 01 02 14 00 05 48
  02 37 01 02 14 00 05 4F 02 4D 00 01 51 FF FF FF
  84 00 02 1C 00 02 14 00 CE 0A 0E 16 54 52 41 49
  4C 45 52 20 53 41 56 45 20 50 4F 53 49 54 49 4F
  4E 21 00 01 00 05 FA 00 04 00 02 10 00 04 01 D6
  00 04 00 38 00 02 10 00 04 01 4D 00 01 D2 FE FF
  FF D6 00 04 00 6E 05 02 14 00 4D 00 01 D2 FE FF
  FF D6 00 04 00 B0 0A 04 4A 4D 00 01 D2 FE FF FF
  D6 00 04 16 37 01 02 14 00 05 93 01 37 01 02 14
  00 05 02 02 37 01 02 14 00 05 03 02 4D 00 01 D2
  FE FF FF 84 00 02 20 00 02 14 00 CE 0A 0E 12 43
  41 52 20 53 41 56 45 20 50 4F 53 49 54 49 4F 4E
  21 00 01 00 05 FA 00 04 00 02 10 00 04 02 02 00
  01 88 FC FF FF D6 00 04 00 B0 0A 04 21 4D 00 01
  6E FE FF FF C0 03 02 0C 00 03 03 00 AB 00 03 03
  00 06 D6 05 82 43 06 FC 75 B0 44 06 FB 5C 37 41
  75 01 03 03 00 06 7D 6F B2 43 01 00 04 00 30 04
  02 0C 00 03 03 00 04 00 CE 0A 0E 15 59 4F 55 20
  53 50 41 56 4E 20 50 4F 53 49 54 49 4F 4E 20 31
  21 00 D6 00 04 00 B0 0A 04 22 4D 00 01 11 FE FF
  FF C0 03 02 0C 00 03 03 00 AB 00 03 03 00 06 A1
  D1 82 C4 06 21 58 26 C4 06 93 BA FF 41 75 01 03
  03 00 06 17 D9 9F 42 01 00 04 00 30 04 02 0C 00
  03 03 00 04 00 CE 0A 0E 15 59 4F 55 20 53 50 41
  56 4E 20 50 4F 53 49 54 49 4F 4E 20 32 21 00 D6
  00 04 00 38 00 02 10 00 04 02 4D 00 01 88 FC FF
  FF D6 00 04 00 DB 00 02 0C 00 02 20 00 4D 00 01
  88 FC FF FF D6 00 04 00 B0 0A 04 61 4D 00 01 3A
  FD FF FF AB 00 02 20 00 06 BC 28 D9 C4 06 FD D6
  EC 42 06 34 80 23 40 75 01 02 20 00 06 46 36 B4
  42 74 01 02 20 00 03 0F 00 07 04 02 20 00 06 00
  00 00 00 06 00 00 70 C1 06 00 00 80 C0 03 0C 00
  03 0D 00 03 0E 00 AB 00 02 1C 00 03 0C 00 03 0D
  00 03 0E 00 75 01 02 1C 00 03 0F 00 93 08 02 1C
  00 02 20 00 01 00 04 00 C0 03 02 0C 00 03 03 00
  30 04 02 0C 00 03 03 00 04 00 CE 0A 0E 1B 54 52
  41 49 4C 45 52 20 41 4E 44 20 53 50 41 56 4E 20
  50 4F 53 49 54 49 4F 4E 21 00 01 00 05 FA 00 04
  00 02 10 00 04 00 D6 00 04 00 B0 0A 04 62 4D 00
  01 88 FC FF FF AB 00 02 20 00 06 DC 9D 2C 45 06
  8D 30 19 C5 06 3D 2C 4A 41 75 01 02 20 00 06 23
  1B 34 43 74 01 02 20 00 03 0F 00 07 04 02 20 00
  06 00 00 00 00 06 00 00 70 C1 06 00 00 80 C0 03
  0C 00 03 0D 00 03 0E 00 AB 00 02 1C 00 03 0C 00
  03 0D 00 03 0E 00 75 01 02 1C 00 03 0F 00 C0 03
  02 0C 00 03 03 00 93 08 02 1C 00 02 20 00 01 00
  04 00 30 04 02 0C 00 03 03 00 04 00 CE 0A 0E 1B
  54 52 41 49 4C 45 52 20 41 4E 44 20 53 50 41 56
  4E 20 50 4F 53 49 54 49 4F 4E 21 00 01 00 05 FA
  00 04 00 02 10 00 04 00 01 00 04 00 02 00 01 F7
  FF FF FF
end
end_cleo  


Сообщение отредактировал wmysterio - Понедельник, 09.04.2012, 19:15
 
 
Den_spb Дата: Понедельник, 09.04.2012, 21:01 | Сообщение # 3034
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Vadik7, для векторов важны только длина и направление, которое задаётся координатами вектора. То есть учитываются не координаты точек начала и конца вектора, а только разница между этими координатами - это и есть координаты вектора.

Quote (Vadik7)
На твоей картинке, насколько я понял: X - красная стрелочка, Y - зеленая стрелочка, а Z - не видно, она направлена на нас. Это действительно так?
Да.

Quote (Vadik7)
Ещё, я думаю, что надо прежде спроецировать систему координат машины на мировую систему координат, т.е. чтобы точки начала совпадали, вот как я это представляю:
Как уже сказано, у вектора нет начала и конца, а есть только длина и направление. Поэтому вектор можно перенести в любую точку - главное, чтобы его направление не поменялось. Можно мысленно продолжить вектора до пересечения друг с другом - смысл будет тот же.
П.С. По поводу рисунка. У игровых объектов ось Y направлена вперёд т.е. у машины фары светят вдоль этой оси, пед смотрит тоже по направлению этой оси и т.д, ось X - вправо.

Quote (wmysterio)
Как с ней работать? ))

Эта конструкция используется для хранения каких-то данных, разместить которые в переменных не получается из-за большого объёма (размер одной переменной всего 4 байта, а в hex..end можно хранить сотни байтов). Данные могут быть любого типа, в зависимости от назначения скрипта - начиная от обычных чисел и заканчивая кодом, который можно вызывать как код exe.
Пример: сохраним значение переменной 0@ в буфере, затем прочитаем значение из буфера в переменную 3@ и выведем это значение на экран.
Code
{$CLEO}
0@ = 1234
0AC6: 1@ = label @HEX_BUFFER offset
0A8C: write_memory 1@ size 4 value 0@ virtual_protect 0

0AC6: 2@ = label @HEX_BUFFER offset
0A8D: 3@ = read_memory 2@ size 4 virtual_protect 0
while true
       wait 0
       03F0: enable_text_draw 1    
       045A: draw_text_1number 200.0 200.0 GXT 'NUMBER' number 3@  // ~1~
end

:HEX_BUFFER
hex
       00 00 00 00
end


Quote
что это за бредотина:
Это обычный код клео-скрипта в бинарном виде - т.е. так выглядит любой клео-скрипт при просмотре cs-файла в hex-редакторе. 00 00 - опкод 0000:, 04 00 - опкод 0004 и т.д. Можно перевести и любой свой скрипт в такой вид - для этого надо скомпилировать скрипт, затем заменить файл sascm.ini на пустой файл и перезапустить СБ, а потом декомпилировать свой cs-файл.


Сообщение отредактировал Den_spb - Понедельник, 09.04.2012, 21:32
 
 
wmysterio Дата: Понедельник, 09.04.2012, 21:47 | Сообщение # 3035
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline
Quote (Den_spb)
Это обычный код клео-скрипта в бинарном виде - т.е. так выглядит любой клео-скрипт при просмотре cs-файла в hex-редакторе. 00 00 - опкод 0000:, 04 00 - опкод 0004 и т.д. Можно перевести и любой свой скрипт в такой вид - для этого надо скомпилировать скрипт, затем заменить файл sascm.ini на пустой файл и перезапустить СБ, а потом декомпилировать свой cs-файл.
Спс, большое. А отбратной обработки нету? Что бы их hex-кода переделывало на обычный код, уж очень заинтересовал сам код этого скрипта, а в ручную это делать долго и не всегда всё точно напишешь )))

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


Сообщение отредактировал wmysterio - Понедельник, 09.04.2012, 21:49
 
 
Den_spb Дата: Понедельник, 09.04.2012, 21:50 | Сообщение # 3036
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Обычно эти средства применяются для защиты скриптов от просмотра и редактирования. Если нужен код в обычном виде, то надо обращаться к авторам.
Ну а раскрывать секреты никто не будет, изучайте скриптинг и разбирайтесь сами, как это делается.


Сообщение отредактировал Den_spb - Понедельник, 09.04.2012, 21:54
 
 
wmysterio Дата: Вторник, 10.04.2012, 23:25 | Сообщение # 3037
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline
Quote (Den_spb)
Обычно эти средства применяются для защиты скриптов от просмотра и редактирования. В этом случае надо обращаться к авторам.
Я обращался к автору того скрипта, но он так и не назвал как он делал такую защиту ))

Добавлено (10.04.2012, 23:25)
---------------------------------------------
У меня возник ещё один вопросик. Допустим есть скрипт:

Code
1@ = 1234.0
2@ = -54.09
3@ = 0.3
00A1: put_actor $PLAYER_ACTOR at 1@ 2@ 3@
Как мне сделать перемещения игрока, без использования опкода 00A1, а через игровую память? smile


Сообщение отредактировал wmysterio - Понедельник, 09.04.2012, 23:53
 
 
Vadik7 Дата: Вторник, 10.04.2012, 23:45 | Сообщение # 3038
Группа: Проверенные
Сообщений: 40
Замечания: 0%
Статус: Offline
Quote (Den_spb)
Как уже сказано, у вектора нет начала и конца, а есть только длина и направление. Поэтому вектор можно перенести в любую точку - главное, чтобы его направление не поменялось. Можно мысленно продолжить вектора до пересечения друг с другом - смысл будет тот же.

Den_spb, спасибо.
Quote (Den_spb)
П.С. По поводу рисунка. У игровых объектов ось Y направлена вперёд т.е. у машины фары светят вдоль этой оси, пед смотрит тоже по направлению этой оси и т.д, ось X - вправо.

Спасибо, дружище! smile


Пытаюсь научиться скриптингу)
 
 
Den_spb Дата: Среда, 11.04.2012, 00:21 | Сообщение # 3039
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Quote (wmysterio)
Как мне сделать перемещения игрока, без использования опкода 00A1, а через игровую память?


Code
1@ = 1234.0  
2@ = -54.09  
3@ = 0.3

0A96: 4@ = actor $PLAYER_ACTOR struct
4@ += 0x14
0A8D: 4@ = read_memory 4@ size 4 virtual_protect 0
4@ += 0x30  
0A8C: write_memory 4@ size 4 value 1@ virtual_protect 0
4@ += 4
0A8C: write_memory 4@ size 4 value 2@ virtual_protect 0
4@ += 4
0A8C: write_memory 4@ size 4 value 3@ virtual_protect 0


Только какой в этом смысл?
 
 
wmysterio Дата: Среда, 11.04.2012, 01:21 | Сообщение # 3040
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline
Den_spb, спс большое. причины есть wink

Сообщение отредактировал wmysterio - Среда, 11.04.2012, 01:29
 
 
Jin Дата: Среда, 11.04.2012, 09:58 | Сообщение # 3041
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
Ребят я тут почитал всё что вы понаписали,понел только малую часть,видимо слишком мало познаний,но это приблизительно то что мне и нужно,как можно высчитать угол поворота обьекта пред игром или по определённым кординатам обьекта,к примеру той же стенки.


Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
Den_spb Дата: Среда, 11.04.2012, 16:02 | Сообщение # 3042
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Не понял, какой угол надо вычислить. Попробуй понятнее написать вопрос или покажи на рисунке.
 
 
wmysterio Дата: Среда, 11.04.2012, 17:00 | Сообщение # 3043
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline
Вот есть анимации в ped.ifp, но я там не нашол анимации, где СЖ просто стоит и ничего не делает. Подскажите плз имя этой анимации, есть ли такая анимация есть )
 
 
Mehaniq Дата: Среда, 11.04.2012, 21:16 | Сообщение # 3044
Группа: Проверенные
Сообщений: 28
Замечания: 0%
Статус: Offline
Скажите, можно ли сделать проверку, сфотографирован ли обьект с определённой моделью? например когда я фотографирую бутылку (idхххх)мне прибавляються деньги или появляеться текст "я идиот"?
а ещё, к опкоду
хххх: object 1@ scаle_model 2.0 нет никаких добавок? а то я так 2 обьекта увеличил и меня кидает изза этого опкода( а он так помогает


Пеку пироги
 
 
Den_spb Дата: Среда, 11.04.2012, 23:30 | Сообщение # 3045
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Quote (Mehaniq)
Скажите, можно ли сделать проверку, сфотографирован ли обьект с определённой моделью?

Иногда полезно заглядывать в Поиск опкодов: 0833: object 107@ photographed

Quote (Mehaniq)
хххх: object 1@ scаle_model 2.0 нет никаких добавок? а то я так 2 обьекта увеличил и меня кидает изза этого опкода(
Добавок никаких нет. Уверен, что вылетает именно из за этого опкода? Он последний в ScmLog?
 
 
Mehaniq Дата: Четверг, 12.04.2012, 05:48 | Сообщение # 3046
Группа: Проверенные
Сообщений: 28
Замечания: 0%
Статус: Offline
в scmlog Он последний(( и ещё. он выкидывает когда отходишь от обьекта на метров 40 - 50. буду ещё проверять.

а насчёт Object 1@ photographed Я знаю. но как сделать чтоб выпадал результат когда фоткаешь обьект с заданной моделью? например мусорный бак или столб.

или другое. как взять в переменную ближайший обьект с указанной моделью? (ближайший столб например)

и ещё у меня проблемы с
if
xxxx: object 1@ exsist (Если обьект обнаружен..)
как правило игру кидает на этом опкоде если обьекта нет (!) или эта переменная перезаписана на какоето другое значение. но если просто обьекта нет то значение должно быть false и переход на jf. а у меня просто кидает с этой командой


Пеку пироги
 
 
Jin Дата: Четверг, 12.04.2012, 08:55 | Сообщение # 3047
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
wmysterio, IDLE_stance.
Den_spb, Ну вот смотри я сделал проверку есть ли пред игроком стена,стена есть,теперь мне надо определить угол этой стенки и задать ГГ такой же угол.Ну вообще это я всё узнаю для Cover system,так как я сделал,чтоб можно было встать к стене,двигаться в доль неё,у края стенки выглядывать,но вот проблема в том я не могу опредлелить её угол,чтоб ГГ мог чётко двигаться в дольнеё если стенка "поварачиваеться".



Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
Den_spb Дата: Четверг, 12.04.2012, 14:54 | Сообщение # 3048
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Quote (Mehaniq)
в scmlog Он последний(( и ещё. он выкидывает когда отходишь от обьекта на метров 40 - 50. буду ещё проверять.

У меня проблем с этим опкодом не было. Проверка на существование объекта применяется?

Quote (Mehaniq)
как взять в переменную ближайший обьект с указанной моделью? (ближайший столб например)

Для работы с объектами*, транспортом и педами, созданными игрой, применяется перебор пула. Пример для объектов:
Code
if
       0AE3: 0@ = random_object_near_point 0.0 0.0 0.0 in_radius 10000.0 find_next 0
then
       repeat
           if
               // здесь ставим условия, которым должен соответствовать объект (например, проверка модели)
           then
               // здесь ставим действия над объектами, удовлятворяющих условиям
           end
       until  8AE3: not 0@ = random_object_near_point 0.0 0.0 0.0 in_radius 10000.0 find_next 1
end

* - данный способ работает только для динамических объектов (прописанных в object.dat) и для любых объектов, созданных скриптами.

Quote (Mehaniq)
xxxx: object 1@ exsist (Если обьект обнаружен..) как правило игру кидает на этом опкоде если обьекта нет (!) или эта переменная перезаписана на какоето другое значение.

Применение проверки на существование может привести к вылету, если в переменной записано некорректное значение (которое не может быть указателем на объект). Поэтому в переменной должен быть записан указатель какого-то объекта, который когда-то существовал (или существует), либо -1.

Quote (Jin)
Den_spb, Ну вот смотри я сделал проверку есть ли пред игроком стена,стена есть,теперь мне надо определить угол этой стенки и задать ГГ такой же угол.Ну вообще это я всё узнаю для Cover system,так как я сделал,чтоб можно было встать к стене,двигаться в доль неё,у края стенки выглядывать,но вот проблема в том я не могу опредлелить её угол,чтоб ГГ мог чётко двигаться в дольнеё если стенка "поварачиваеться".

Нужно определить расстояние от прямой, угол поворота которой известен, до двух точек стенки, расположенных рядом, с помощью "метода деления на 2" ( http://sannybuilder.com/forums/viewtopic.php?id=629 ). По полученным данным можно рассчитать угол поворота стенки с помощью формул тригонометрии.



Подобный вопрос рассматривался здесь: http://modsforgta.ucoz.ru/forum/5-24-1491-16-1301271920
Прикрепления: 9738310.jpg (9.3 Kb)


Сообщение отредактировал Den_spb - Четверг, 12.04.2012, 14:58
 
 
wmysterio Дата: Четверг, 12.04.2012, 16:38 | Сообщение # 3049
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline
Jin, спс!
Quote (Den_spb)
Применение проверки на существование может привести к вылету, если в переменной записано некорректное значение (которое не может быть указателем на объект). Поэтому в переменной должен быть записан указатель какого-то объекта, который когда-то существовал (или существует), либо -1.
Не знаю, но у меня этот опкод работает отлично

Этот опкод считывает тип машины - 08EC, а как мне вручную указать тип? smile


Сообщение отредактировал wmysterio - Четверг, 12.04.2012, 16:42
 
 
Den_spb Дата: Четверг, 12.04.2012, 19:44 | Сообщение # 3050
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Что значит "вручную указать тип"? Тип машины - характеристика модели, а не отдельно взятой машины.
 
 
Vadik7 Дата: Пятница, 13.04.2012, 01:42 | Сообщение # 3051
Группа: Проверенные
Сообщений: 40
Замечания: 0%
Статус: Offline
Quote (Mehaniq)
в scmlog Он последний(( и ещё. он выкидывает когда отходишь от обьекта на метров 40 - 50. буду ещё проверять.

У меня была похожая ситуация, когда отходишь от педа на определенное расстояние(тоже примерно 50-60 метров) и выкидывало из игры. Потом я переходы между лейблами проверил и навел в них порядок - проблема решилась. Т.е. я после каждого лейбла написал переход на исходный лейбл, от которого зависит весь сюжет скрипта. Не на тот, что отвечает за начало работы скрипта и появление педов, объектов или ещё чего-то, а на тот, который как-бы задает сюжет скрипту. Хотя строение каждого скрипта уникально, и возможно в другом скрипте такое не прокатит, ну мне только это и помогло в решении подобной проблемы smile


Пытаюсь научиться скриптингу)
 
 
Den_spb Дата: Пятница, 13.04.2012, 14:21 | Сообщение # 3052
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Надо учиться писать скрипты в структурированном стиле (конструкции вместо меток и джампов) - тогда не запутаешься в собственном коде (что нередко случается при использовании макаронного стиля).
 
 
Vadik7 Дата: Пятница, 13.04.2012, 19:52 | Сообщение # 3053
Группа: Проверенные
Сообщений: 40
Замечания: 0%
Статус: Offline
Quote (Den_spb)
Надо учиться писать скрипты в структурированном стиле (конструкции вместо меток и джампов) - тогда не запутаешься в собственном коде (что нередко случается при использовании макаронного стиля).

Den_spb, я пока что только в "макаронном стиле" умею biggrin С удовольствием бы со структурированным получше ознакомился, где про это пишут, друг ? smile


Пытаюсь научиться скриптингу)
 
 
Den_spb Дата: Пятница, 13.04.2012, 20:42 | Сообщение # 3054
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Многие авторы (в том числе и я) начинали с макаронного стиля, потом постепенно переучивались. Информация по конструкциям есть в справке СБ: Кодинг-Условия (if...then...else), Кодинг-Циклы (циклы, команды break и continue).
Заготовка скрипта, который должен работать постоянно, выглядит так:
Code
{$CLEO}
0000:
while true
     wait 0
     if
         player.Defined($PLAYER_CHAR)
     then
      
         ....
      
     end
end
Вложенные в конструкцию команды оформляются отступом (отступ можно сделать, нажав Tab)
 
 
Vadik7 Дата: Пятница, 13.04.2012, 23:19 | Сообщение # 3055
Группа: Проверенные
Сообщений: 40
Замечания: 0%
Статус: Offline
Quote (Den_spb)
Многие авторы (в том числе и я) начинали с макаронного стиля, потом постепенно переучивались. Информация по конструкциям есть в справке СБ: Кодинг-Условия (if...then...else), Кодинг-Циклы (циклы, команды break и continue).
Заготовка скрипта, который должен работать постоянно, выглядит так:
Code
{$CLEO}
0000:
while true
     wait 0
     if
         player.Defined($PLAYER_CHAR)
     then
      
         ....
      
     end
end
Вложенные в конструкцию команды оформляются отступом (отступ можно сделать, нажав Tab)

А, понятно. Я не всю справку читал ещё, поэтому пока на макаронном, он как то более освещается в учебниках и мануалах. Вообщем, спасибо, Den_spb, почитаю обязательно справку по этим темам на досуге smile


Пытаюсь научиться скриптингу)
 
 
Jin Дата: Суббота, 14.04.2012, 04:40 | Сообщение # 3056
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
Den_spb, cпасибо большое)я так и думал приблихительно сделать)по координатам)


Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
SPIRITS Дата: Суббота, 14.04.2012, 13:59 | Сообщение # 3057
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline
Мне же кажется что метки и джампы легче , в других способах вроде then и подобных сложнее
всё же там не описываешь куда переходить при том или ином случае
 
 
Vadik7 Дата: Суббота, 14.04.2012, 22:59 | Сообщение # 3058
Группа: Проверенные
Сообщений: 40
Замечания: 0%
Статус: Offline
Quote (SPIRITS)
Мне же кажется что метки и джампы легче , в других способах вроде then и подобных сложнее
всё же там не описываешь куда переходить при том или ином случае

Ну вот и мне структуированный стиль кажется сложнее, так как всё же своё осознанное "программирование" я начал с джампов и меток, но было бы не плохо и его освоить.


Пытаюсь научиться скриптингу)
 
 
Jin Дата: Понедельник, 16.04.2012, 08:53 | Сообщение # 3059
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
слушайте,а можно сделать так,прицепить педа к обьекту и Двигать обьект вместе с педом?


Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
Mehaniq Дата: Понедельник, 16.04.2012, 11:52 | Сообщение # 3060
Группа: Проверенные
Сообщений: 28
Замечания: 0%
Статус: Offline
я знаю только как прицепить обьект к педу а не наоборот

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

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