Разбираясь с камерами, нашёл в файле SCOCL Scripts\iv\taxi.txt одну интересную функцию: SET_PTFX_CAM_INSIDE_VEHICLE.
Она имеет тип Boolean и при значении True, позволяет сидя внутри транспортного видеть повреждения на стеклянных поверхностях вне нашего т/с (например, следы от пуль на стёклах других автомобилей) + становятся отчётливо видны цвета сигналов дорожных светофоров и сигналы на светофорах для пешеходов.
Напомню, стандартно в игре, через текстуры стекла видно повреждения на обычных поверхностях расположенных за этим стеклом, но не видно повреждений на другом стекле, расположенном за этим. На дорожных светофорах стандартно можно только еле-еле различить зелёный сигнал, красного вообще не видно. На светофорах для пешеходов сигналы вообще не отображаются. [Скриншоты для понимания разницы]
Из минусов - функция активна только до смены камеры (вида), поэтому прокрутив от вида изнутри т/с на внешний и обратно требуется её заново активировать.
Возможно, эта функция будет полезна тем, кто размещает камеру внутри автомобиля, для получения более реалистичной картины окружающего мира изнутри транспортного средства.
- Форумы GTAModding.ru
- → Просмотр профиля: Сообщения: vorotkov
Статистика
- Группа: Пользователи
- Сообщений: 63
- Просмотров: 7255
- Статус: Активный участник
- Возраст: Неизвестен
- День рождения: Неизвестен
-
Пол
Не указал
Старые поля
-
Любимая игра серии
Grand Theft Auto IV
Мои сообщения
В теме: Интересный скрипт миссии "BusMod" by rooft0p, разбор полётов.
29 April 2016 - 14:20
В теме: Интересный скрипт миссии "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
В теме: Интересный скрипт миссии "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
То же код естественно пробовал и в открытом виде, результат нулевой. Такое ощущение, что в нетхуке запускаемые файлы основательно изолированы друг от друга.
В теме: Интересный скрипт миссии "BusMod" by rooft0p, разбор полётов.
05 November 2015 - 14:38
Таки советую попробовать поработать с сорцами, если хук их читает. Это легче, правильнее и повлечёт за собой меньше проблем. Если ты конечно из принципа не хочешь распространять DLL, дабы не палить код.
Я то как раз обеими лапами за распространение открытых исходных кодов, но если так не получилось, то решил попробовать dll, только и внешняя dll сказала своё фи.
Пока новые идеи о том, как связать два файла закончились...
- Форумы GTAModding.ru
- → Просмотр профиля: Сообщения: vorotkov
- Политика Конфиденциальности
- Общие правила форумов ·