как написать скрипт для сампа
Как написать скрипт для сампа
Нужно уверенно знать:
Как начать писать скрипты:
Уроков по основам скриптинга на павне не так уж много, и не такие они ёмкие.
Почитайте о таком языке как PHP и других подобных, они похожи между собой, да и знания не помешают.
Желаю Вам удачи и успехов в написании скриптов.
P.S. Данная статья, возможно, будет дополнена.
| ||
| ||
— Вот ты говорил, город — сила, а здесь слабые все.
— Город — это злая сила. Сильный приезжает — становится слабым. Город забирает силу. Вот и ты пропал…© Брат
— Разве вы не хотели бы жить вечно?
— Если в моде останутся штаны со стрелками то нет.© X-Files
Пишем чит для GTA San Andreas
Каждый геймер рано или поздно задумывается над упрощением прохождения некоторых уровней игры, возможности сжульничать и т. д. Для этого прибегают к специальным программам, типа ArtMoney, но это не всегда возможно и порой бывает утомительно периодически подправлять данные в памяти для достижения поставленных целей. Автоматизировать данный процесс помогают различные читы и трейнеры. О создании чита далее пойдет речь.
В качестве подопытной была выбрана игра GTA San Andreas и ее будем мучить. Для того, чтобы «подкручивать» игровую картину как нам надо, достаточно изменять некоторые области памяти. Как это сделать? Ведь в Windows процессы изолированы друг от друга и просто так не залезть в память другого процесса. Конечно можно использовать WinAPI функцию WriteProcessMemory(), но мы поступим по другому, добавив свой код в процесс игры. Есть несколько способов это сделать, в т. ч. инжект в требуемый процесс, но этот метод «не любят» антивирусы и могут поднять тревогу. Поэтому используем свойство винды искать библиотеки сначала в папке с запущенной программой, а затем уже в других местах. Этот метод как правило у антивирусов не вызывает подозрений.
Нужно посмотреть какие функции из каких библиотек импортируются программой, найти ту, из которой импортируется меньше всего функций и написать для нее DLL-фильтр. В случае GTA San Andreas, такой библиотекой оказалась Dinput8.dll, из которой импортируется всего одна функция — DirectInput8Create().
Теперь нужно создать свою DLL, в которой кроме всего прочего обязательно должна экспортироваться функция DirectInput8Create() при вызове которой, должна вызываться аналогичная из одноименной системной библиотеки WWindows. Иначе нарушится работа игры!
Создать DLL можно практически на любом языке программирования. Я выбрал PureBasic.
Процедура AttachProcess() вызывается системой при загрузке DLL. В ней подгружается системная библиотека Dinput8.dll. При этом явно указан абсолютный путь загрузки, иначе библиотека загружала бы сама себя, а нам это не надо! При успешной загрузке библиотеки, получаем указатель на ее функцию DirectInput8Create(). В случае неудачи, выводится мессага, сообщающая юзеру о сбое. После этого запускается параллельный поток и работа процедуры завершается. Поток нам нужен чтобы не «вешать» программу. В потоке (процедура Thread()) производится поиск окна игры, по заголовку «GTA: San Andreas». Как только окно найдено, на него «навешивается» таймер и на этом работа потока прекращается. Конечно можно было бы обойтись без таймера и все действия выполнять в потоке, но в целях безопасности, было принято решение, модифицировать память из основного потока игры.
Процедура WinTimer() вызывается по таймеру каждые 800 миллисекунд. В ней изменяются значения требуемых переменных. Но перед изменением, обязательно проверяется доступен ли этот адрес процессу или нет.
Чит поддерживает на должном уровне броню, здоровье игрока и транспортного средства, навыки игрока, а так же количество патронов. Кроме того, игроку выдается лимон баксов и если он их тратит, по они вновь появляются из ничего.
Данный чит понравится тем, кто любит развязывать войнушку с копами. Им будет очень сложно уничтожить игрока даже стреляя в него в упор.
Из этого кода нужно создать DLL с именем Dinput8.dll и поместить ее в одну папку с игрой.
Чтобы получилась именно DLL, нужно выбрать в свойствах компилятора в списке «Формат исполняемого файла», пункт «Shared Dll» при загруженном кода в IDE.
Руководство по скриптингу
Что такое скриптинг?
Как открыть main.scm?
Самая удобная программа – Sanny Builder. Свежую версию можно найти на sannybuilder.com, и там же на форуме задать интересующий вопрос. Полезные советы: 1) если курсор стоит на модели (она отличается символом # в начале), то в нижней панели слева появляется ID; 2) в современном SB есть много ключевых слов, набрав которые и поставив точку, можно получить список доступных действий, например: Actor, Car, Model; 3) нажатие Сtrl+Alt+1 вызовет Редактор координат, где при запущенной игре будет отображаться текущее положение игрока, а также его можно использовать как телепорт; 4) нажатие Сtrl+Alt+2 вызовет список опкодов; 5) если компиляция скрипта выдала ошибку, не спеши кликать ОК, если не знаешь причину бага, а нажми для начала Помощь; 6) при первом запуске программы нажми F10 или зайди в Сервис > Настройки и выбери себе язык и обязательно укажи папку GTA SA.
Подробная справка прилагается к SB. Вызвать можно нажатием F12 или Справка > Помощь.
Как припарковать транспорт и поставить пикап?
Какие есть особые опкоды?
Как убрать эффект NFS MW в моде Night Crimes?
Как изменить количество денег?
Как сделать, чтобы актёр или автомобиль шёл по определённому пути?
Как выбрать случайного пешехода?
Как сделать чтобы банды не приставали?
0746: set_acquaintance 1 of_actors_pedtype 7 to_actors_pedtype 0
0746: set_acquaintance 1 of_actors_pedtype 8 to_actors_pedtype 0
0746: set_acquaintance 1 of_actors_pedtype 9 to_actors_pedtype 0
0746: set_acquaintance 1 of_actors_pedtype 10 to_actors_pedtype 0
0746: set_acquaintance 1 of_actors_pedtype 11 to_actors_pedtype 0
0746: set_acquaintance 1 of_actors_pedtype 12 to_actors_pedtype 0
0746: set_acquaintance 1 of_actors_pedtype 13 to_actors_pedtype 0
0746: set_acquaintance 1 of_actors_pedtype 14 to_actors_pedtype
Как сделать актёра другом или врагом?
Библиотека CLEO шагнула в новое измерение, и перед нами четвертая версия этого проекта. Теперь библиотека CLEO поддерживает игры GTA III и GTA VC, что это открывает новые возможности для разработчиков скриптов на данных платформах.
• Плагины
CLEO 4 разрабатывалась для трех версий exe: 1.0 us, 1.0 eu и 1.01 eu. Таким образом, существует 8 разных exe, с которыми совместима библиотека:
Оригинальное имя | Описание | Версия игры | Размер |
gta_sa.exe | оригинальный 1.0 us | 1.0 | 14 405 632 байт |
gta_sa.exe | публичный no-dvd 1.0 us | 1.0 | 14 383 616 байт |
gta_sa_compact.exe | listener’s exe | 1.0 | 5 189 632 байт |
gta_sa.exe | оригинальный 1.01 eu | 1.01 | 14 405 632 байт |
gta_sa.exe | публичный no-dvd 1.01 eu | 1.01 | 15 806 464 байт |
gta_sa.exe | версия от 1С | 1.01 | 15 806 464 байт |
gta_sa.exe | оригинальный 1.0 eu | 1.0 | неизвестно |
gta_sa.exe | публичный no-dvd 1.0 eu | 1.0 | 14 386 176 байт |
СLEO 4 распространяется в виде автоматического инсталлятора. Для установки библиотеки запустите инсталлятор и следуйте его инструкциям.
CLEO 4 использует 3 файла в работе: vorbisFile.dll, vorbishooked.dll, cleo.asi.
Распространение библиотеки CLEO
Если вы написали скрипт, использующий библиотеку CLEO и (или) ее плагины, вы можете также распространять вместе с ним необходимые файлы. Вы можете указать ссылку на данную страницу, чтобы пояснить, как необходимо пользоваться библиотекой и сопутствующими файлами.
Уроки CLEO. Урок №1: ставим персонажа на локацию
1. Предыстория
2. Программы
3. Находим персонажа
4. Ставим персонажа
Все вы наверняка хотите научиться делать CLEO-скрипты. Этот урок поможет вам воплотить мечту в реальность. Но это не очень быстро и легко!
Чтобы научиться делать годные скрипты потребуются месяцы или даже годы. Но не буду вас расстраивать, у вас всё точно получится! Это первый урок из нескольких.
В этом разделе я познакомлю вас с программами, которые нужны для создания мода.
Нам понадобятся: Sanny Builder 3 (создание скриптов) и Ped Editor (просмотр моделей персонажей).
3. Находим персонажа
Теперь нам предстоит найти название персонажа. Когда вы откроете Ped Editor, у вас появится интерфейс программы.
Теперь пролистайте строку с персонажами вниз и найдите подходящего. В моём случае это HMORI.
Не закрывая программу, открываем Sanny Builder 3, в которой будем создавать уже сам скрипт, который поставит персонажа на локацию.
3. Ставим персонажа
Теперь пришло время самым интересным действиям — созданию CLEO-cкрипта. Когда вы открыли окно, вы увидите лишь пустой экран. Но нажмите вот на этот значок: .
Появится уже немного другое окно, выглядит как простой текстовый документ:
В первой строке нам нужно лишь написать:
Это начало скрипта. Потом нужно написать переход и проверку загрузки персонажа:
:NONAME_1
Model.Load(здесь указывается название модели персонажа после символа «#», в моём случае это: #HMORI)
038B: load_requested_models
Это место, куда должен быть поставлен персонаж и угол разворота.
Чтобы узнать эти координаты, нужно зайти в игру. Просто нажмите на , и игра запустится без титров, так быстрее.
Далее загружаем игру, выходим на улицу, встаём на нужное место и скрываем игру.
Разворачиваем Sanny Builder 3, ставим курсор после «CivMale, #HMORI,». Потом нажимаем Shift+Ctrl+C. Координаты будут вставлены. В моём случае это вот так выглядит:
А там, где написано «Actor.Angle([email protected]) =», нужно нажать Shift+Ctrl+E и появится угол разворота игрока. Вот так получится:
В конце мы также поставили метку окончания скрипта (end_thread)
Всё, теперь скрипт закончен и игра не вылетит! Можно конвертировать скрипт и посмотреть что получилось, для этого нажмите на или F6.
Далее назовите свой файл и сохраните. Если вылетела ошибка, значит вы сделали что-то неправильно! Перепроверьте это:
Всё, заходим в игру.
Выбранный персонаж стоит.
В следующем уроке мы будем назначать персонажу анимацию.
Как написать скрипт для сампа
Форум » Обсуждения SAMP CRMP MTA » CLEO скрипты » [CLEO] Как создать собственное клео? ( Для новичков ) |
[CLEO] Как создать собственное клео? ( Для новичков )
Jack_Jupiter | Дата: Вторник, 31.12.2019, 15:41 | Сообщение # 1 |
Думаю у всех бывало желание создать собственное клео. Сегодня мы напишем скрипт, который будет писать в чат при нажатии кнопки на клавиатуре Вам нужно скачать программу по имени «Sanny Builder» ее надо установить. Затем нам надо перейти к функции добавляем : У нас теперь получается : И чтобы нас не крашило когда мы выполняем функцию Пишем после функции «:cheat_master» : Чтобы на нажатии например кнопки минус наш код выполнялся пишем после этих проделанных действие : if 0AB0: key_pressed 109 Потом пишем ( обязательно. ) : Все! Чтобы скомпилировать нажимаем F6 Если вы сделали все правильно и Sanny Builder не выдал ни ошибка! Заходим в игру и нажимаем кнопку «Минус» и у нас в чате высветиться сообщение «Hello World»
|