Нужна помощь?
Создайте тему в соответствующем разделе
Не нужно писать всё в чат!Загляните на торговую площадку
Там вы можете купить
всё что касается игровых серверовНе хотите бан?
Пожалуйста, ознакомьтесь с нашими правилами
Не нарушайте порядок!Продаёте или покупаете?
Пользуйтесь услугами гаранта
Мы сделаем вашу сделку безопасной
Таблица лидеров
Популярные публикации
Отображаются публикации с наибольшей репутацией на 01/16/25 во всех областях
-
2 балла
Как написать свой скрипт для Dayz (или Арма3), когда ты полный идиот в программировании :)
DrTauren и ещё один отреагировал на
vitacite за сообщение в теме
Всем привет. Итак мы научились ставить свой сервер Dayz SA более менее подключать чужие скрипты и моды, но не дал нам бог (или лень) навыков программирования. Долго нудно... а хочется добавить что-нибудь свое.. эдакое... и что же нам делать? Может использовать ИИ? Чат ГПТ дорого... плохо говорит на русском, и надо ставить "софт для ускорения интернета" ?, а что если обратиться к братьям китайцам..... у них технологии не хуже подумал я... и так нашел ИИ даром что Китайский, неплохо говорит на русском... https://chat.deepseek.com/ Интересно подумал я, а что если написать на нем скрипт для Dayz SA .... например я бы хотел чтобы у меня заспавнился игрок с рюкзаком в котором лежит компас... карта,.. еда... вода пистолет и две обоймы... 1. Шаг первый заходим на deepseek и регистрируемся в чате (через гугл проще всего). клац-клац 2. Шаг второй включаем глубокий интеллект (он тогда рассуждает хоть и на английском что не маловажно если мы хотим понять чего он вообще там наделал нам). 3. Шаг третий пишем промпт (запрос к ИИ) прямо так как думаем на русском языке: Например: Напиши скрипт для выделенного сервера Dayz SA. Условия игрок должен сравниться днем. У него должен быть рюкзак. В рюкзаке должны быть вода, еда, компас, карта, пистолет, и две обоймы патронов к нему. Дальше мы получаем развернутую логику размышлений ИИ как он будет делать этот скрипт... она будет не лишней чтобы если нужно корректировать промпт... а затем получаем код.... и описание собственно как это все установить :)))) Подставляем в файлы своего сервера, проверяем... профит... Редактируем промпт чтобы скрипт полностью делал то, что мы считаем нужным (иногда одно слово или даже запятая в запросе решает все!) Да, вы не сможете написать сразу эпоч или эксайл для дейз... но сделать это по кусочкам достаточно просто легко.. хотя для объединения навыки программирования потребуются в любом случае. Так же легко пишутся веб приложения и скрипты для Арма 3. Например: Промпт: Напиши несколько скриптов для выделенного сервера Арма3. 1. Спавн игрока на карте Алтис. Подключившись впервые к серверу игрок оказывается на побережье острова Алтис. Он должен быть одет в гражданскую одежду и иметь при себе рюкзак. В рюкзаке лежит хлеб, 1 банка консерв, 1 бутылка воды, пистоле, две обоймы патронов, карта и документы. Так же при себе у игрока должно быть 10000$ (сумма отображается внизу экрана в виде текста). Сохрани SteamID игрока, местоположение игрока, лут игрока, сумму на счете деньги в текстовый файл и повторяй сохранение 1 раз в 15 минут. Так же сохрани состояние в случае выхода игрока с сервера. В случае нового подключение к серверу восстанови состояние игрока из файла сохранения проверив его SteamID 2. Скрипт торговли. Создай 10 НПС в центре 10-ти населенных пунктов на карте Алтис. Добавь в скрипт интерфейс магазина в котором можно купить воду, консерву. Назови НПС. (Роберт, Андрей, Кирилл, Анна, Вероника, Евгений, Степан, Микола, Федор, Иван.) ну собственно и так все понятно ... он "смог".... Хочу сразу предупредить иногда бывают ошибки в коде... но это скорее проблемы с промтом... иногда он вместо того чтобы написать массив из 10-ти имен... ленится и пишет что-то типа имя... и дальше сами.... но в целом код рабочий.... Как иллюстрация важности подробного промпта... например на запрос: Напиши скрипт для Dayz SA который позволяет телепортироваться по карте и банить игроков. мы получим лишь пример кусков кода. Но если изменить промпт: Напиши скрипт для моего выделенного сервера Dayz SA, в виде меню вызываемого по клавише F2, который позволит мне как администратору перемешаться по карте с помощью мыши, и банить игроков которые нарушают правила сервера. То результат будет уже иным: Удачного опыта работы с ИИ:) PS: на Рефордж он тоже пишет и описывает, что и как делать... и дает советы... так же может оптимизировать код... но тут уж сами придумываете ? Всем добра, и мирного неба над головой! -
1 баллИ сразу небольшой проект:) Создание собственного веб редактора предметов для dayzSA (через файл types.xml) с использованием DeеpSeek Тут есть тонкости... т.к. каждый новый открытый вами чат сохраняет логику.. в начале мы просим "подробно опиши структуру файла types.xml для Dayz SA" Не забываем включить WEB поиск (это кнопочка внизу чата.) чтобы он подтянул данные из инета. Далее придумываем запрос для ИИ: Тут надо будет играть вариантами, так есть ньюансы:))) В итоге мой промпт: На что получаем hml код редактора :)))) <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>DayZ SA Types.xml Editor</title> <style> body { font-family: Arial, sans-serif; margin: 20px; } h1 { color: #333; } .container { display: flex; flex-wrap: wrap; } .category { flex: 1; margin: 10px; padding: 10px; border: 1px solid #ccc; border-radius: 5px; } .item { margin-bottom: 10px; padding: 10px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 5px; } .item label { display: block; margin: 5px 0; } .item input, .item select { width: 100%; padding: 5px; margin-bottom: 10px; } .item button { padding: 5px 10px; background: #007bff; color: #fff; border: none; border-radius: 3px; cursor: pointer; } .item button:hover { background: #0056b3; } </style> </head> <body> <h1>DayZ SA Types.xml Editor</h1> <input type="file" id="fileInput" accept=".xml"> <button onclick="loadFile()">Загрузить файл</button> <button onclick="saveFile()">Сохранить изменения</button> <div id="editor" class="container"></div> <script> let xmlData = null; // Описания атрибутов и элементов на русском const descriptions = { nominal: "Номинальное количество", lifetime: "Время жизни (сек)", restock: "Время респавна (сек)", min: "Минимальное количество", quantmin: "Минимальное количество в стаке", quantmax: "Максимальное количество в стаке", cost: "Стоимость", flags: "Флаги", category: "Категория", usage: "Тип использования", value: "Значение", }; // Доступные значения для <usage name=""> const usageOptions = [ "ammo", "equipment", "food", "medical", "weapon", "tool", "container", "magazine", "crafting", "Farm", "other" ]; // Загрузка файла function loadFile() { const fileInput = document.getElementById('fileInput'); const file = fileInput.files[0]; if (!file) { alert('Выберите файл types.xml'); return; } const reader = new FileReader(); reader.onload = function (e) { const parser = new DOMParser(); xmlData = parser.parseFromString(e.target.result, 'text/xml'); displayItems(); }; reader.readAsText(file); } // Отображение предметов function displayItems() { const editor = document.getElementById('editor'); editor.innerHTML = ''; const types = xmlData.getElementsByTagName('type'); const categories = {}; // Группировка по категориям for (let type of types) { const category = type.getElementsByTagName('category')[0]?.textContent || 'Без категории'; if (!categories[category]) { categories[category] = []; } categories[category].push(type); } // Создание интерфейса for (const [category, items] of Object.entries(categories)) { const categoryDiv = document.createElement('div'); categoryDiv.className = 'category'; categoryDiv.innerHTML = `<h2>${category}</h2>`; editor.appendChild(categoryDiv); items.forEach(item => { const itemDiv = document.createElement('div'); itemDiv.className = 'item'; itemDiv.innerHTML = ` <h3>${item.getAttribute('name')}</h3> ${createInput('nominal', item)} ${createInput('lifetime', item)} ${createInput('restock', item)} ${createInput('min', item)} ${createInput('quantmin', item)} ${createInput('quantmax', item)} ${createInput('cost', item)} ${createInput('flags', item)} ${createSelect('usage', item)} ${createInput('value', item)} <button onclick="updateItem(this)">Обновить</button> `; categoryDiv.appendChild(itemDiv); }); } } // Создание поля ввода function createInput(name, item) { const value = item.getElementsByTagName(name)[0]?.textContent || ''; return ` <label>${descriptions[name]}:</label> <input type="text" data-name="${name}" value="${value}"> `; } // Создание выпадающего меню для <usage> function createSelect(name, item) { const value = item.getElementsByTagName(name)[0]?.getAttribute('name') || ''; let options = usageOptions.map(opt => ` <option value="${opt}" ${opt === value ? 'selected' : ''}>${opt}</option> `).join(''); return ` <label>${descriptions[name]}:</label> <select data-name="${name}">${options}</select> `; } // Обновление данных function updateItem(button) { const itemDiv = button.parentElement; const inputs = itemDiv.querySelectorAll('input, select'); const itemName = itemDiv.querySelector('h3').textContent; const item = Array.from(xmlData.getElementsByTagName('type')).find( type => type.getAttribute('name') === itemName ); inputs.forEach(input => { const name = input.getAttribute('data-name'); const value = input.value; let element = item.getElementsByTagName(name)[0]; if (!element) { element = xmlData.createElement(name); item.appendChild(element); } if (input.tagName === 'SELECT') { element.setAttribute('name', value); } else { element.textContent = value; } }); alert('Данные обновлены!'); } // Сохранение файла function saveFile() { if (!xmlData) { alert('Сначала загрузите файл!'); return; } const serializer = new XMLSerializer(); const updatedXml = serializer.serializeToString(xmlData); const blob = new Blob([updatedXml], { type: 'text/xml' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = 'types_ред.xml'; a.click(); URL.revokeObjectURL(url); } </script> </body> </html> работает из папки внешне выглядит так ? после изменения параметров можно будет сохранить обратно в текстовый файл :)) для запуска создаем файл index.html и просто запускаем его из любого места.. подгружаем фал types.xml Редактор не претендует:))) просто как пример того что может ИИ и как демонстрации факта наследования контекста данных.... т.е.если вы запросили формат файла types то при последующем запросе он будет учитывать предыдущий.. У кого стоит сервак проверьте пашет или нет :))) Думаю при желании вы сможете довести его до совершенства ;))
-
0 балловНа чат gpt пробовал что-то подобное, без минимальных знаний, не чего не выйдет. Д и если и сделаете, то только что-то простое. (потратив уйму времени на редактирование)
-
0 баллов
Файл перевода (stringtable)
Marauder отреагировал на Sharipische за сообщение в теме
Ну дак слово "медикоменты" неправильно написано. Оно и отказывается такое переводить?
-
Рассылка
