[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Форум » Игры серии GTA » GTA IV » Вопросы по скриптингу GTA IV (Общие вопросы по ScriptHookDotNet)
Вопросы по скриптингу GTA IV
wmysterio
Администраторы
Скриптер
21.02.14 12:25
Offline
В этой теме обсуждаются общие вопросы по скриптингу GTA 4. Пока этот род моддинга не очень развит в этой части игры, но на некоторые вопросы всё же можно ответить.

softcrasoft
Пользователи
10.01.15 17:05
Offline
прива всем, заинтересовался данной темой, темболее что знаю основы c#. А допустим типа автопилота там можно сделать? или пока нет смысла это изучать? т.к у меня gta  пашет 1. пиратка, проблемы с сошул клапом, 2. не ставятся сохранялки. и можно ли скриптить для gta 4 дополнение libertycity? ну там де 2 дополнения

Добавлено (10.01.15, 16:05)
---------------------------------------------
да и есть ли там работа с видео адуио, ролики и т.д, просто думаю может нет смысла смотреть?


wmysterio
Администраторы
Скриптер
10.01.15 17:14
Offline
Цитата softcrasoft ()
да и есть ли там работа с видео адуио, ролики и т.д, просто думаю может нет смысла смотреть?
там даже работы с камерой нормальной нет, так что видеоролики не получатся. аудио возможно стандартными способами вывести. через пространсво имён
Код
sytem.media

YARA
Пользователи
10.01.17 16:33
Offline
Привет Всем и отдельное спасибо wmysterio
Думаю не только мне будет интересно разобраться в скрипте наружного лифта для GTA 4, точнее Платформа чистки окон или Элеватор

Встречается в миссиях:

GTA 4 - Mission 39 - Deconstruction for Beginners (Playboy X)

GTA 4 - Mission 58 - Blood Brothers (Francis McReary)

GTA 4 - Mission 65 - Late Checkout (Ray Boccino)

Нашел файлы txt (прикрепил к сообщению), Native функций соответственно к миссиям:
1)Playboy X  2)Francis McReary  3)Ray Boccino
(мануал по поиску Native функций брал здесь)

Собственно название объекта (модели)

cj_window_cradle - Платформа чистки окон
cj_win_cable - Кабель платформы чистки окон
cj_win_crad_winch - Лебедка





Вопрос в том как работает скрипт на объект (модель), когда Niko становится на платформу сразу активируется скрипт, затем появл-ся подсказка по нажатию клавиш для перемещения и т.д., как это работает?
Отредактировал YARA - Среда, 11.01.17, 16:20
Прикрепления: playboy3.txt(196.4 Kb) · ambwindowlift.txt(36.4 Kb) · francis5.txt(226.5 Kb) · window_lift_lau.txt(38.9 Kb) · ray6.txt(334.4 Kb)

wmysterio
Администраторы
Скриптер
10.01.17 16:33
Offline
Цитата (SnakeR)
Ковырялся по классам, но пока так и не нашел ничего похожего.
Я, увы, тоже.
Цитата (SnakeR)
И еще, где можно почитать о создании элементарной миссии. Встали на маркер, добраться до нек. точки, получение награды, окончание миссии.
разбираюсь, но ничего гарантировать не могу.
Цитата (SnakeR)
И можно ли узнать на каком этапе прохождения игры находится игрок?
не в курсе как это получить.

SnakeR
Проверенные
10.01.17 16:33
Offline
Получается что пока полноценные сложные моды делать невозможно?
Только всякое баловство с пикапами и т.п. вещи?

wmysterio
Администраторы
Скриптер
10.01.17 16:33
Offline
SnakeR, ну чтобы что-то точно сказать, нужно хотя-бы год проработать. И мне кажется, что и сам ScriptHoock пока ограничен и с ошибками. Нужно ждать будущего, пока не выйдет компилятора под 4-ку, наподобие Санни Билдер.

Vital
Модераторы
Скриптер
10.01.17 16:34
Offline
wmysterio, страшнее ситуация с VC и 3, они так и не развились нормально, скриптинг там на очень низком уровне, мало что изучено, а на GTA 4 ещё есть надежда, тем более этот же движок (RAGE) останется у GTA 5.
2109: create_special_actor $VITAL in_front_of_computer

SnakeR
Проверенные
10.01.17 16:34
Offline
wmysterio, да вот как то Санни мне не пришелся по душе. Можно было бы писать для сан андреаса на шарпе, было бы круто. Я просто занимаюсь созданием мелких игр уже 3 года, опыт кодинга есть на шарпе, а тут захотелось сделать че нить полезного для ГТА 4, но видимо не судьба =(

wmysterio
Администраторы
Скриптер
10.01.17 16:34
Offline
Цитата (SnakeR)
Можно было бы писать для сан андреаса на шарпе
После знакомства с шарпом, я уже любые моды желаю писать на этом ЯП. Очень лёгкий в написании и понимании язык.
Цитата (SnakeR)
но видимо не судьба
Судьба или не судьба покажет время. Но очень хотелось, что бы ту GTА 4 разобрали в пух и прах, и можно было кодить без всяких ограничений.
Цитата (SnakeR)
Я просто занимаюсь созданием мелких игр уже 3 года
Хороший стаж. Надеюсь проекты имели хороший финал, а не как у меня - 2 игры и то ничего толком не сделал )) просто можно двигаться по карте игроком и это примерно несколько месяцев потраченного времени на изучение примитивных возможности компилятора. Причиной неудач стало отсутствие ресурсов к игре и нет логики поведения

SnakeR
Проверенные
10.01.17 16:34
Offline
Ковыряюсь дальше, кто знает как сделать чекпоинт или как просчитать маршрут gps до нужной точки

wmysterio
Администраторы
Скриптер
10.01.17 16:34
Offline
SnakeR, кстати я планировал написать урок по чекпоинтам, но увы они у меня не отображаются. Здесь я бессилен.

SnakeR
Проверенные
10.01.17 16:34
Offline
wmysterio, да вообще половина функций непонятно что делает. Хотя на тытрубке есть интересные видео с модами, например водитель такси. И там все работает вроде как.

wmysterio
Администраторы
Скриптер
10.01.17 16:35
Offline
SnakeR, ну я ещё разберусь что к чему. Сейчас основной упор делаю чисто на c#. Потом(через 1-2 урока) перейду ближе к СкриптХуку. Рано или поздно всё станет на свои места.

SnakeR
Проверенные
10.01.17 16:35
Offline
wmysterio, да по шарпу уроков тьма в нете) А вот сам скрипт хук интереснее.
Кстати, я тебя в аське добавлял, будет время у тебя, можно будет поговорить.

wmysterio
Администраторы
Скриптер
10.01.17 16:35
Offline
Цитата (SnakeR)
да по шарпу уроков тьма в нете)
Хороших уроков - еденицы. Остальное либо копипаст, либо очень слабые. Я месяц гуглил по событиях в c# и ничего толкового, пока сам случайно не разобрался happy .

SnakeR, а я аське, наверное, год не появлялся. Помню номер наизусть но какой-там пароль и почта были забыл.

ed9mkm
Пользователи
14.11.18 09:17
Offline
В GTA 4 хотелось бы иметь возможность создавать события каким-нибудь скриптом, похожим на DYOM. Пока что пользуюсь трейнером, но у него некоторые ограничения есть. К сожалению, сейчас больше всего модов выходит для GTA 5, а не 4. Но для GTA 5 тоже никто так и не исправил существенные для меня недостатки - там метательное оружие может использовать только управляемый игроком персонаж, а другие не могут ничего бросить, и там в массовых драках участвует лишь до 3 человек, а другие стоят и ждут "очереди". Поэтому GTA 4 вижу наиболее перспективной.

Добавлено (19.01.19, 23:16)
---------------------------------------------
Протестировал сейчас скрипт, код которого в статье "Обзор класса Group". Просто замечательный скрипт! Целая толпа следует за Нико и набрасывается на тех, кто нападает с оружием. Я хотел бы знать, куда в этом коде прописать команды, дающие этим актерам оружие и задающие другие характеристики? Возможно ли загружать так конкретные модели актеров?

Добавлено (21.01.19, 10:42)
---------------------------------------------
В общем разобрался сам. Научился выдавать оружие. Этим скриптом за раз спавнится два актера с разным оружием:

Код
using System;
using System.Windows.Forms;
using System.Drawing;
using GTA;

namespace TestScript {
    public class Thread : Script {
        public Thread() {
            Vector3 MyVec; Ped MyPed; Ped MyPed2;
            while (true) {
                MyVec = Player.Character.Position;
                if(Game.isKeyPressed(Keys.J)){
                    Wait(1000);
                    MyPed = World.CreatePed("ig_Dardan", MyVec, RelationshipGroup.Civillian_Male);
                    MyPed2 = World.CreatePed("ig_Brucie", MyVec, RelationshipGroup.Civillian_Male);
                    MyPed.Weapons.Select(Weapon.Melee_PoolCue);
                    MyPed2.Weapons.Select(Weapon.Melee_Knife);
                    MyPed.MaxHealth = 200;
                    MyPed.Health = 200;
                    MyPed.Armor = 5000;
                    MyPed2.MaxHealth = 200;
                    MyPed2.Health = 200;
                    MyPed2.Armor = 5000;
                    MyPed.Accuracy = 100;
                    MyPed2.Accuracy = 100;
                    Group Fr = new Group(Player.Character);
                    Fr.AddMember(MyPed);
                    Fr.AddMember(MyPed2);
                    Fr.FollowStatus = 1;
                }
                Wait(0);
            }
        }
    }
}

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

Добавлено (25.01.19, 23:44)
---------------------------------------------
Скриптинг в ГТА 4 мне даже больше нравится, чем в Сан Андреас. Уже написал свой первый скрипт на телохранителей. Я так давно искал мод или трейнер, которым можно было бы загружать больше семи телохранителей. И сделал в итоге сам. Скачать можно здесь: http://nfs2004.ru/gta_4_mods.php

Добавлено (12.02.19, 09:42)
---------------------------------------------
Очень интересно, возможно ли написать такой код, который бы позволил и другим актерам (кроме главного героя) подбирать кирпичи и другие объекты и бросать их в своих врагов? Среди native функций я нашел кое-что:

Код
GTA.Native.Function.Call("SET_OBJECT_AS_STEALABLE", brick, 1);

Этот код делает объект как раз таким, который главный герой может поднять и бросить. Если нажать на клавишу E. Brick здесь - это кирпич, переменная объекта, а "1" - true. Но как заставить и других актеров поднимать эти кирпичи и бросать? Наверняка это возможно.

Vital
Модераторы
Скриптер
14.11.18 09:17
Offline
Начну, пожалуй, по GTA 4, правда.
Вот проблемка: не работает проверка на существование нацеленного актёра, игра постоянно выдаёт else, то есть, что актёра нету... Хотя это не так.

Код
private void MK(object sender, GTA.KeyEventArgs e)
         {
             if (e.Key == Keys.C && Game.isGameKeyPressed(GTA.GameKey.Aim) && !Player.Character.isInVehicle())
             {  
                 Ped trg = Player.GetTargetedPed();                
                  
                 if (Exists(trg))
                 {                     
                     mdl = trg.Model;
                     Player.Model = mdl;
                 }
                 else Game.DisplayText("You have no targeted ped");
             }
         }

И так и эдак пробовал, ничего не выходит... Что-то нелогичное связано с этим Exitst всегда.
2109: create_special_actor $VITAL in_front_of_computer

wmysterio
Администраторы
Скриптер
14.11.18 09:17
Offline
Vital, попробуй это условие:
Код
if ( trg.Exists() ) { /* ....... */ }

Vital
Модераторы
Скриптер
14.11.18 09:17
Offline
wmysterio, хм, теперь вообще error in script.. Странная вещь.
2109: create_special_actor $VITAL in_front_of_computer

Форум » Игры серии GTA » GTA IV » Вопросы по скриптингу GTA IV (Общие вопросы по ScriptHookDotNet)
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Поиск: