Вопросы по созданию скриптов
| |
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, спасибо Дядь, чуть позже тогда поподробней попробую разобраться с этой темой. Если будут возникать вопросы - обязательно задам их тебе.
Пытаюсь научиться скриптингу) |
|
| |
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 - не видно, она направлена на нас. Это действительно так? Ещё, я думаю, что надо прежде спроецировать систему координат машины на мировую систему координат, т.е. чтобы точки начала совпадали, вот как я это представляю: После этого уже отсчитывать углы, или как?
Пытаюсь научиться скриптингу)
Сообщение отредактировал Vadik7 - Понедельник, 09.04.2012, 01:37 |
|
| |
wmysterio |
Дата: Понедельник, 09.04.2012, 19:05 | Сообщение # 3033 |
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: 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--------------- 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, а через игровую память?
Сообщение отредактировал 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 - вправо. Спасибо, дружище!
Пытаюсь научиться скриптингу) |
|
| |
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, спс большое. причины есть
Сообщение отредактировал 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
Сообщение отредактировал Den_spb - Четверг, 12.04.2012, 14:58 |
|
| |
wmysterio |
Дата: Четверг, 12.04.2012, 16:38 | Сообщение # 3049 |
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline |
Jin, спс! Quote (Den_spb) Применение проверки на существование может привести к вылету, если в переменной записано некорректное значение (которое не может быть указателем на объект). Поэтому в переменной должен быть записан указатель какого-то объекта, который когда-то существовал (или существует), либо -1. Не знаю, но у меня этот опкод работает отлично
Этот опкод считывает тип машины - 08EC, а как мне вручную указать тип?
Сообщение отредактировал 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 метров) и выкидывало из игры. Потом я переходы между лейблами проверил и навел в них порядок - проблема решилась. Т.е. я после каждого лейбла написал переход на исходный лейбл, от которого зависит весь сюжет скрипта. Не на тот, что отвечает за начало работы скрипта и появление педов, объектов или ещё чего-то, а на тот, который как-бы задает сюжет скрипту. Хотя строение каждого скрипта уникально, и возможно в другом скрипте такое не прокатит, ну мне только это и помогло в решении подобной проблемы
Пытаюсь научиться скриптингу) |
|
| |
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, я пока что только в "макаронном стиле" умею С удовольствием бы со структурированным получше ознакомился, где про это пишут, друг ?
Пытаюсь научиться скриптингу) |
|
| |
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, почитаю обязательно справку по этим темам на досуге
Пытаюсь научиться скриптингу) |
|
| |
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 |
я знаю только как прицепить обьект к педу а не наоборот
Пеку пироги |
|
| |
|