Как редактировать cs файлы самп

Обновлено: 06.07.2024

Иногда возникает необходимость добавить в скрипт некоторые настройки. И, конечно же, хочется чтобы их можно было легко менять. Например, чтобы человек, пользующийся вашим скриптом мог настроить его под себя. Тогда нам поможет внешний файл настроек - ini-файл.

Как же создать такой файл, да еще и чтобы скрипт мог брать из него информацию? Все очень просто. Существует 6 опкодов для работы с ини-файлами: 2 для целых чисел, 2 для дробных и 2 для строк. Почему по 2? Один опкод для чтения данных, один для записи.

Рассмотрим их поближе. В первом параметре указывается то, что должно быть записано в файл (при считывании указывается переменная). Во втором - путь к файлу, причем расширение может быть абсолютно любое. Третий параметр - раздел. Можно указывать сколько угодно разделов, при указании одного раздела для разных записей они создадутся в одном и том же разделе. Четвертый параметр - название "ключа". Именно в нем в файле будет хранится значение.

Теперь мы можем попробовать включить чтение и запись данных в свой скрипт. Чтобы не пришлось выкладывать скрипт вместе с файлом настроек, можно создавать его с помощью скрипта. Но если это делать постоянно, скрипт будет затирать. Поэтому нужно поставить проверку на существование файла:

Это стоит добавить в начало скрипта (но не обязательно). Теперь скрипт будет сам создавать файл со стандартными настройками, а потом мы сможем их изменять.

Обращу ваше внимание на переменную "2@v". Это - стринговая переменная (от англ. string - строка), в которой хранится строка. Что за строка? Строка используется для хранения данных в виде текста, хотя может хранить и цифры. В нашем случае "test" - строка.

Теперь я расскажу об одной удобной возможности ини-файлов. Их можно изменять во время игры, если вы правильно расположите код, считывающий данные из файла.

Этот код будет считывать строку из файла и выводить ее на экран (если нажата правая кнопка мыши), причем файл можно менять прямо во время игры, не перезагружая ее.

Помимо файлов настроек cleo поддерживает работу с обычными текстовыми файлами. Это может подойти, например, для создания лога работы скрипта.

Но первым делом мы идем в настройки SannyBuilder. Откройте вкладку "Форматирование" и установите регистр букв на "Как есть". Дело в том, что некоторые параметры, такие как режим открытия файла и идентификаторы должы писаться в нижнем регистре, а компилятор по умолчанию изменяет регистр на верхний, что влечет за собой ошибку в работе скрипта. Что ж, раз теперь все в порядке, можно заняться изучением клео.

Так как мы работаем с текстовым файлом, его для начала нужно открыть. Делается это командой

Первый параметр - переменная. В нее запишется хендл файла. Если не углубляться, это - как бы его номер в игре, он нужен для того, чтобы отличить его от других файлов, ведь мы можем работать сразу с несколькими файлами. Следовательно, если мы используем переменную 0@, то для обращения к этому файлу нужно будет использовать ее же. Второй параметр - путь к файлу, расширение опять таки можно любое. Самый интересный параметр - третий. Состоит он из двух букв. Первая означает режим открытия. Их всего три: r - для чтения, w - для записи, каждый раз при открытии файла его содержимое стирается, a - для записи, прежнее содержимое остается. Вторая буква - тип файла. Их два: t - текстовые файлы, b - бинарные. Отличий, как я понял, между ними нет, но все же рекомендуется использовать текстовый режим, так как могут возникнуть проблемы с двойными переносами срок (спасибо wmysterio).

С открытием файла разобрались, теперь можно и записать в него что-нибудь. Для записи используется следующий опкод:

После этого опкода в файл запишется текст "Тест 115". Но я ведь написал %d! Вот тут стоит упомянуть об идентификаторах. Всего их четыре: %d - целое число, %f - дробное число, %c - символ, %s - строка. С числами и строкой все ясно, но что за символ? У каждого символа есть свой номер. Но зачем еще какой-то символ, когда есть два типа чисел, да еще и строки? Предположим, нам нужно вставить символ переноса строки, так как по умолчанию текст в файл записывается без переносов, в одну строку. Тогда в конец текста добавляем %c, а в конец опкода - символ переноса 0xD: 0AD9: write_formatted_text "Тест %d %с" in_file 0@ 115 0xD

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

Теперь стоит рассмотреть считывание строк из файла. Для этого стоит сменить режим открытия файла на rt. Сам опкод для считывание значений из файла:

Как видите, формат считываемой строки должен в точности совпадать с записанным в него текстом, символ переноса строки тоже следует считывать, иначе - считать значения из файла не получится. Если в файле больше одной строки, считывание удобно заключить в цикл. Условием для цикла послужит опкод

Он проверяет, достигнут ли конец файла.

После работы с файлом его необходимо закрывать, чтобы другие программы имели к нему доступ:

Для начала нам понадобятся программы Magic TXD, Txd workshop, а так-же скачанная модель, размещенная в папке.
А) Удаляем лишнее
1. Заходим через Txd workshop в Txd файл мода
2. Нажимаем Файл --> Проверка dff
3. Находим вашу модель и кликаем на её, открыть
4. Вам высветится две колонки: linerun dff, linerun txd. Нам нужна вторая колонка

Как оптимизировать модель


5. Красный крестик означает, что текстура не используется в модели, зеленая галочка используется. То есть, удаляем текстуры с крестиком (изображение --> удалить)*

Как оптимизировать модель


6. Сохраните
Б) Уменьшаем размер изображений
1. Заходим через Magic TXD в Txd файл мода
2. Если видим изображение просто цвета**, например просто серого, то ставьте размер 4*4 (минимальный) Правка --> изменить размер. Пример на

Как оптимизировать модель


3. Уменьшаем размер простых текстур (до предела их нормальной видимости)

Как оптимизировать модель


4. Удалите (если есть) дубликаты текстур, которые просто подписаны другими именем (в ZModeler пропишите ту, что не удалили)
5. Сохраните
В) Обрезаем ненужное на скриншотах (только для продвинутых)
1. Выбираем нужную текстуру для обреза
2. Открываем её через Фотошоп
3. Выбираем инструмент "рамка"и обводим нужное

Как оптимизировать модель

4. Изображение --> Кадрировать
5. Вставляем вместо старой текстуры
6. В ZModeler перетекстуривайте
7. Сохраните

* - ИСКЛЮЧЕНИЕ: текстура vehiclelights_on (В моде IVF она прописана, как горящие фары, но в занозе не накладывается)
** - программа расценивает 4*4 и не теряет качества изображения, с текстурами, на которых что-то нанесено, такое не пройдет. Что подразумевается под текстурами
просто цвет -

Last edited by Justice64 (14-05-2012 12:17)

DK22Pac Member --> From: Ukraine Registered: 26-03-2010 Posts: 447 Website

Изучайте исходники!
Жаль, сайт Риосуке частично накрылся.

Justice64 Member --> Registered: 14-05-2012 Posts: 6

Изучайте исходники!
Жаль, сайт Риосуке частично накрылся.

Исходники говорите, ок пробегусь еще раз по ним. А не подскажите сайты/форумы где есть различные мануалы?

Last edited by Justice64 (14-05-2012 17:41)

Den_spb Member --> From: Ленинград Registered: 23-11-2008 Posts: 941 Website

Справка Sanny Builder (нажать F12) - лучше ничего нет. Правда, справка была создана давно, и многие статьи написаны в основном под main, но между скриптингом на main и CLEO-скриптингом различий мало. Во-первых, в CLEO употребляем только локальные переменные (0@, 1@ . 31@), а глобальные не применяем ($Act, $Car, $1234 . ) - здесь есть несколько исключений ($PLAYER_CHAR, $PLAYER_ACTOR и некоторые другие общепринятые переменные). Во-вторых, различаются команды завершения потока - в main используем end_thread, а в клео - 0A93: end_custom_thread. Команда create_thread в клео не применяется.

Justice64 Member --> Registered: 14-05-2012 Posts: 6

Справка Sanny Builder (нажать F12) - лучше ничего нет. Правда, справка была создана давно, и многие статьи написаны в основном под main, но между скриптингом на main и CLEO-скриптингом различий мало. Во-первых, в CLEO употребляем только локальные переменные (0@, 1@ . 31@), а глобальные не применяем ($Act, $Car, $1234 . ) - здесь есть несколько исключений ($PLAYER_CHAR, $PLAYER_ACTOR и некоторые другие общепринятые переменные). Во-вторых, различаются команды завершения потока - в main используем end_thread, а в клео - 0A93: end_custom_thread. Команда create_thread в клео не применяется.

Открыть скрипты которые я прикрепил не получится?

DK22Pac Member --> From: Ukraine Registered: 26-03-2010 Posts: 447 Website

Насчёт туториалов, был один хороший японский сайт, но он пал.

Justice64 Member --> Registered: 14-05-2012 Posts: 6

Изменил параметры, но все равно не открывает. Весь этих скриптов 19-21 кб

Den_spb Member --> From: Ленинград Registered: 23-11-2008 Posts: 941 Website

Если размер скрипта больше 10 кб, то он мог быть тоже отредактирован в hex editore.

Justice64, заниматься снятием защиты навряд ли здесь кто-то будет, т.к. во-первых, это не этично по отношению к автору, а во-вторых, на это может потребоваться большое количество времени.
Поэтому напишу в третий раз - обращайтесь к автору.


Я буду выкладывать файлы, которые могут с лёгкостью поменять модели GTA:SA.

Сначала я бы хотел рассказать, как можно заменить круглую карту на квадратную, что делается очень легко.


Сначала скачиваем АРХИВ, находим файл radarrect.asi и перетаскиваем в папку с игрой. Далее меняем рамку карты, перетаскиваем папку "png рамки радара" на рабочий стол. Далее вытаскиваем папку "SAToolsPack" на рабочий стол. Автором этой замечательной программы является Flame.
Далее устанавливаем программу "SAToolsPack". Требования у неё маленькие, выглядит она вот так:



Первое, что нам надо найти раздел "Редактирование текстур (файлы txd)" и нажать кнопку "TXD Workshop 4.5" У вас появится вот такое окно:



Вам надо нажать кнопку "Open TXD" и указать путь к файлу
"hud.txd" он находится в папке "models" (эта папка лежит в папке с игрой). После этого вы должны выбрать иконку под названием "radarrect". Она самая первая в списке, и нажимаем кнопку "Import".
Указываем путь к папке "png рамки радара", она у вас на рабочем столе. Тыкаем на файл, который лежит там, вас перекидывает на окно программки, остаётся только сохранить это. Жмём кнопку "Save TXD"
Теперь вы можете закрыть все окна и наслаждаться игрой.

Многие задаются таким вопросом, как менять скины,оружие,авто,текстуры!


1. Нам понадобится замена модели. (( скины,оружие,авто,текстуры )) В нашем примере будут скины.
2. И снова программа SATolkPak.
После установки мы запускаем программу: у вас будет такое окно.



Нам нажать кнопку "GTA:SA Crazy IMG Editor" в раздел "Работа с IMG-архивами"



После зажимаем клавиши: Ctrl+O
И указываем путь к файлу "gta3.img", который находится в папке "models" (эта папка лежит в папке с игрой). Далее нажимаем клавишу "insert" указываем путь к уже готовым моделькам и выберем их [/b] нажимаем: открыть.


Закрываем все окна и если у вас вылазит вот такое окно:

Жмём: ДА
И указываем путь к файлу "gta3.img", который находится в папке "models" (эта папка лежит в папке с игрой).
Файл для скачки Программа: SATolkPak
Теперь вы можете закрыть все окна и наслаждаться игрой.



Если что то пошло не так."есть и такие "
Не надо переустанавливать GTA есть такая замечательная тема Попробуй скачать конкретную программу. Все программы есть отдельно.

* TXD Workshop 4.5 (автор: Jernej L.) — известный инструмент для работы с txd-контейнерами, в которых хранятся текстуры игры;
позволяет извлекать текстуры, заменять любые текстуры на собственные.

* G-TXD 0.1 (автор: REspawn) — альтернативная TXD Workshop программа для работы с текстурами.

* MEd v0.32 Beta (автор: Tony Wroblewski) — единственная в своем роде программа для работы с локацией игры (и вообще со всей игровой
территорией, будь то город или интерьеры), также может просматривать IMG-файлы и поддерживает простые операции с ними.

* PedEditor 1.0 (автор: Scream24k, русский языковой файл: Flame) — программа для настройки параметров прохожих, отображает модели всех прохожих
(и других персонажей) игры. Русская версия.

* SA Ammunation Tool 1.0 (автор: Emperror) — программа для редактирования параметров оружия.

* SA Handling ED 1.0 (автор: Apocalypse inc) — программа для точной настройки параметров транспортных средств. Русская версия.

* San Andreas Audio Toolkit Visual (автор: koPPP) — программа для работы со звуковыми файлами игры.

* GFS 1.1 (автор: Pho3niXx) — альтернативная программа для работы со звуками, по сути - другая оболочка для San Andreas Audio Toolkit.

* TimecycSAfix (автор: Myster92) — редактирование файлов timecyc, отвечающих за цвета неба, некоторые погодные параметры и т.д.

* Collision File Editor II 0.4b (автор: Steve M.) — незаменимая программа для авторов, работающих с новыми объектами; позволяет создавать
коллизию для объекта, просматривает col-файлы.

* San Andreas Teleport v 3.0 beta (автор: deNULL) — программа позволяет телепортироваться в любую указанную точку на локации, умеет определять
координаты нахождения игрока. Русская версия.

* CarSpawner 1.0 (автор: [DRuG]BazW) — программа для вызова любого транспортного средства.

* GTA Garage Mod Manager 2.3C (автор: Jernej L.) — известная программа для просмотра и установки транспортных средств.

* GTA Anim Manager 0.11 (автор: Ryosuke839) — программа для просмотра всех анимаций игры.

* SA Map Cleaner 0.5 RC1 (автор: Steve M) — программа для очистки локации, нужна для установки некоторых модов, а также для авторов модификации,
которые полностью заменяют локацию игры.

* Game Archive Viewer v5.0 (автор: deNULL) — просмотр архивов GTA San Andreas и ряда других игр.

* 3D Ripper DX 1.8.1 (автор: Роман Лут) — полезнейшая для многих модмейкеров программа для захвата моделей и текстур из трехмерных приложений.

* RW Analyze 0.4 Beta (автор: Steve M) — сложная программа для изменения тонких параметров ряда файлов игры.

* Sanny Builder 3 и библиотека CLEO4 (v4.1.1.30f) (авторы: Seemann и Alien) — библиотека CLEO 4 добавляет в игру поддержку CLEO-скриптов,
которые способны вносить различные нововведения в игровой процесс, тогда как Sanny Builder 3 позволяет эти самые скрипты создавать.

Читайте также: