Перейти к содержимому


vorotkov

Регистрация: 19 Feb 2015
Offline Активность: 02 May 2016 17:01
-----

Мои сообщения

В теме: Интересный скрипт миссии "BusMod" by rooft0p, разбор полётов.

29 April 2016 - 14:20

Разбираясь с камерами, нашёл в файле SCOCL Scripts\iv\taxi.txt одну интересную функцию: SET_PTFX_CAM_INSIDE_VEHICLE.
Она имеет тип Boolean и при значении True, позволяет сидя внутри транспортного видеть повреждения на стеклянных поверхностях вне нашего т/с (например, следы от пуль на стёклах других автомобилей) + становятся отчётливо видны цвета сигналов дорожных светофоров и сигналы на светофорах для пешеходов.
Напомню, стандартно в игре, через текстуры стекла видно повреждения на обычных поверхностях расположенных за этим стеклом, но не видно повреждений на другом стекле, расположенном за этим. На дорожных светофорах стандартно можно только еле-еле различить зелёный сигнал, красного вообще не видно. На светофорах для пешеходов сигналы вообще не отображаются. [Скриншоты для понимания разницы]
Из минусов - функция активна только до смены камеры (вида), поэтому прокрутив от вида изнутри т/с на внешний и обратно требуется её заново активировать.
Возможно, эта функция будет полезна тем, кто размещает камеру внутри автомобиля, для получения более реалистичной картины окружающего мира изнутри транспортного средства.


В теме: Интересный скрипт миссии "BusMod" by rooft0p, разбор полётов.

11 December 2015 - 08:12

Попробовал собрать ScriptHookDotNet и тут пошла всяка хрень:

1>------ Сборка начата: проект: ScriptHookDotNet, Конфигурация: Debug Win32 ------
1>  AnimationSet.cpp
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\enums.h(373): warning C4369: Unknown: значение счетчика "4294967295" не может быть представлено как "int", значение - "-1"
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\interfaces.h(55): error C2337: Dynamic: атрибут не найден
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\bHandleObject.h(64): error C2337: Dynamic: атрибут не найден
1>  Blip.cpp
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\enums.h(373): warning C4369: Unknown: значение счетчика "4294967295" не может быть представлено как "int", значение - "-1"
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\interfaces.h(55): error C2337: Dynamic: атрибут не найден
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\bHandleObject.h(64): error C2337: Dynamic: атрибут не найден
1>Blip.cpp(164): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Blip.cpp(176): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Blip.cpp(181): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Blip.cpp(186): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Blip.cpp(195): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Blip.cpp(204): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Blip.cpp(215): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Blip.cpp(220): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Blip.cpp(229): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Blip.cpp(234): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Blip.cpp(239): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Blip.cpp(244): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK_RELAXED"
1>  Camera.cpp
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\enums.h(373): warning C4369: Unknown: значение счетчика "4294967295" не может быть представлено как "int", значение - "-1"
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\interfaces.h(55): error C2337: Dynamic: атрибут не найден
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\bHandleObject.h(64): error C2337: Dynamic: атрибут не найден
1>Camera.cpp(55): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Camera.cpp(66): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Camera.cpp(74): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Camera.cpp(83): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Camera.cpp(94): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Camera.cpp(107): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Camera.cpp(116): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Camera.cpp(124): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Camera.cpp(132): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Camera.cpp(133): warning C4003: не хватает фактических параметров для макроопределения "OBJECT_NON_EXISTING_CHECK"
1>Camera.cpp(137): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Camera.cpp(138): warning C4003: не хватает фактических параметров для макроопределения "OBJECT_NON_EXISTING_CHECK"
1>Camera.cpp(142): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Camera.cpp(143): warning C4003: не хватает фактических параметров для макроопределения "OBJECT_NON_EXISTING_CHECK"
1>Camera.cpp(147): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Camera.cpp(148): warning C4003: не хватает фактических параметров для макроопределения "OBJECT_NON_EXISTING_CHECK"
1>Camera.cpp(152): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Camera.cpp(157): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>Camera.cpp(169): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK_RELAXED"
1>Camera.cpp(177): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK_RELAXED"
1>  Checkpoint.cpp
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\enums.h(373): warning C4369: Unknown: значение счетчика "4294967295" не может быть представлено как "int", значение - "-1"
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\interfaces.h(55): error C2337: Dynamic: атрибут не найден
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\bHandleObject.h(64): error C2337: Dynamic: атрибут не найден
1>Checkpoint.cpp(37): fatal error C1903: не удается восстановить после предыдущих ошибок; остановка компиляции
1>  Console.cpp
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\enums.h(373): warning C4369: Unknown: значение счетчика "4294967295" не может быть представлено как "int", значение - "-1"
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\interfaces.h(55): error C2337: Dynamic: атрибут не найден
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\bHandleObject.h(64): error C2337: Dynamic: атрибут не найден
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\Graphics.h(26): warning C4005: DrawText: изменение макроопределения
1>          c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3dx9core.h(368): см. предыдущее определение "DrawText"
1>Console.cpp(84): fatal error C1903: не удается восстановить после предыдущих ошибок; остановка компиляции
1>  ConsoleCommands.cpp
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\enums.h(373): warning C4369: Unknown: значение счетчика "4294967295" не может быть представлено как "int", значение - "-1"
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\interfaces.h(55): error C2337: Dynamic: атрибут не найден
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\bHandleObject.h(64): error C2337: Dynamic: атрибут не найден
1>  ContentCache.cpp
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\enums.h(373): warning C4369: Unknown: значение счетчика "4294967295" не может быть представлено как "int", значение - "-1"
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\interfaces.h(55): error C2337: Dynamic: атрибут не найден
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\bHandleObject.h(64): error C2337: Dynamic: атрибут не найден
1>  D3D_Device.cpp
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\enums.h(373): warning C4369: Unknown: значение счетчика "4294967295" не может быть представлено как "int", значение - "-1"
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\interfaces.h(55): error C2337: Dynamic: атрибут не найден
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\bHandleObject.h(64): error C2337: Dynamic: атрибут не найден
1>  DecisionMaker.cpp
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\enums.h(373): warning C4369: Unknown: значение счетчика "4294967295" не может быть представлено как "int", значение - "-1"
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\interfaces.h(55): error C2337: Dynamic: атрибут не найден
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\bHandleObject.h(64): error C2337: Dynamic: атрибут не найден
1>DecisionMaker.cpp(87): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>DecisionMaker.cpp(88): warning C4003: не хватает фактических параметров для макроопределения "OBJECT_NON_EXISTING_CHECK"
1>DecisionMaker.cpp(110): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>DecisionMaker.cpp(126): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>DecisionMaker.cpp(143): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>DecisionMaker.cpp(147): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>DecisionMaker.cpp(151): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>DecisionMaker.cpp(155): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>DecisionMaker.cpp(159): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>DecisionMaker.cpp(163): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>DecisionMaker.cpp(167): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>DecisionMaker.cpp(171): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>DecisionMaker.cpp(175): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>DecisionMaker.cpp(179): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>DecisionMaker.cpp(183): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>DecisionMaker.cpp(187): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>DecisionMaker.cpp(191): warning C4003: не хватает фактических параметров для макроопределения "NON_EXISTING_CHECK"
1>  EventArgs.cpp
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\enums.h(373): warning C4369: Unknown: значение счетчика "4294967295" не может быть представлено как "int", значение - "-1"
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\interfaces.h(55): error C2337: Dynamic: атрибут не найден
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\bHandleObject.h(64): error C2337: Dynamic: атрибут не найден
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\Graphics.h(26): warning C4005: DrawText: изменение макроопределения
1>          c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3dx9core.h(368): см. предыдущее определение "DrawText"
1>  Font.cpp
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\enums.h(373): warning C4369: Unknown: значение счетчика "4294967295" не может быть представлено как "int", значение - "-1"
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\interfaces.h(55): error C2337: Dynamic: атрибут не найден
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\bHandleObject.h(64): error C2337: Dynamic: атрибут не найден
1>c:\users\user1\documents\visual studio 2013\projects\scripthookdotnet\Graphics.h(26): warning C4005: DrawText: изменение макроопределения
1>          c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3dx9core.h(368): см. предыдущее определение "DrawText"
1>  Game.cpp
1>Отменена задача.
1>Отменена задача.
Сборка была отменена.

Полный нуб в этом, объясните мои ошибки пж-та )

 

Используемый софт:

MS Windows 7 (x64)

MS Visual Studio 2013

DirectX Software Development Kit

Sourcecode of the GTA4 .Net ScriptHook by HazardX


В теме: Интересный скрипт миссии "BusMod" by rooft0p, разбор полётов.

10 November 2015 - 17:36

Я, кстати, автора скриптов указанных мной выше (с обменом информации между файлами) спросил, он тоже сказал про передачу команд:

- How to use one global variable/function in 2 different files (scripts)?

JulioNIB:

- Sorry man, never did this, i commonly use SendCommand in GTA IV for scritps intercomunication

                   ни разу этого не делал, я обычно использую SendCommand в GTA IV для взаимосвязи скриптов

 

Спасибо НикИТОС, мне как раз не хватало примеров, а то в коде от рефлектора переизбыток информации, не усваиваю пока ;-)


В теме: Интересный скрипт миссии "BusMod" by rooft0p, разбор полётов.

07 November 2015 - 11:53

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

Также попробуй во втором файле объявить экземпляр класса GTAIV_lib (Dim mylib as New GTAIV_lib) и обратиться к функции-члену класса через него (mylib.TestFunc()).

 

Пробовал, не работает:

P.S. Если я тебя не корректно понял и ты не про модификацию хука, а про создание внешней DLL вместо использования в папке SCRIPTS файлов-исходников, то тут у меня тоже не получилось осуществить взаимодействие двух dll - при вызове функции ругается, что не найден файл библиотеки, хотя он есть.

Опишу подробно:

 

Файл 1 (библиотека): C:\GAMES\GTAIV_A.net.dll

 

Имя проекта:                           GTAIV_A     (просто имя в Visual Studio)

Свойства проекта\Приложение:

Имя сборки:                            GTAIV_A.net (т.е. название конечного файла будет GTAIV_A.net.dll)

Корневое пространство имён:  <не указано>

Целевая платформа:                .NET Framework 4

Тип приложения:                     Библиотека классов

Свойства проекта\Ссылки:

   ScriptHookDotNet

   System

   System.Core

   System.Data

   System.Data.SetExtensions

   System.Windows.Forms

   System.Xml

   System.Xml.Linq

 

Содержание проекта:

Class1.vb

Imports System
Imports System.Windows.Forms
Imports GTA

Public Class GTAIV_1

    Public Function TestFunc1() As Boolean
	    Return True
    End Function

    Public Shared Function TestFunc2() As Boolean
	    Return False
    End Function

End Class

Файл 2 (использующий внешнюю библиотеку): C:\GAMES\GTAIV_B.net.dll

 

Имя проекта:                           GTAIV_B     (просто имя в Visual Studio)

Свойства проекта\Приложение:

Имя сборки:                            GTAIV_B.net (т.е. название конечного файла будет GTAIV_B.net.dll)

Корневое пространство имён:  <не указано>

Целевая платформа:                .NET Framework 4

Тип приложения:                     Библиотека классов

Свойства проекта\Ссылки:

   GTAIV_A

   ScriptHookDotNet

   System

   System.Core

   System.Data

   System.Data.SetExtensions

   System.Windows.Forms

   System.Xml

   System.Xml.Linq

 

Содержание проекта:

Class2.vb

Imports System
Imports System.IO
Imports System.Windows.Forms
Imports GTA

Public Class GTAIV_2
    Inherits Script

    'Private lib1 As New GTAIV_1

    Public Sub New()
        Wait(1000)
        GTA.Game.Console.Print("<<< === It works! === >>>")
    End Sub

    Private Sub Main_KeyDown(ByVal sender As Object, ByVal e As GTA.KeyEventArgs) Handles MyBase.KeyDown
       If e.Key = Keys.Scroll Then
	        Dim lib1 As New GTAIV_1
            Game.DisplayText("TEST: " & lib1.TestFunc1(), 1000)
            'Game.DisplayText("TEST: " & lib1.TestFunc2(), 1000)
       End If
    End Sub
End Class

Скрин ошибки в игре при нажатии на ScrollLock

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


В теме: Интересный скрипт миссии "BusMod" by rooft0p, разбор полётов.

05 November 2015 - 14:38

Таки советую попробовать поработать с сорцами, если хук их читает. Это легче, правильнее и повлечёт за собой меньше проблем. Если ты конечно из принципа не хочешь распространять DLL, дабы не палить код.

Я то как раз обеими лапами за распространение открытых исходных кодов, но если так не получилось, то решил попробовать dll, только и внешняя dll сказала своё фи.

Пока новые идеи о том, как связать два файла закончились...