ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
|
» Инструменты для мододелов | страница 1 |
 |
Страница 1 из 1 |
|
|
|
Звездные волки 2: Гражданская война »
МОДовый отсек: «Инструменты для мододелов» |
|
|
krink
|
|
Вот нечто-то типа редактора для ЗВ2. Правда пока без сохранения.
С ЗВ2ГВ скорее всего будет работать.
Редактор
По вопросам/ошибкам/предложениям либо сюда, либо в личку/на почту.
Последний раз редактировалось: Stormcrow (14:46 02-04-2010), всего редактировалось 2 раз(а) Последний раз редактировалось: Kish (14:46 02-04-2010), всего редактировалось 1 раз |
|
|
Stormcrow
1231 EGP
        Рейтинг канала: 2(21) Репутация: 226 Сообщения: 3548 Откуда: Море Дирака Зарегистрирован: 24.11.2007
 |
|
Здесь можно выкладывать авторские инструменты (ссылки с описанием) для создания модов.
Никаких обсуждений.
_________________ Лишь в сердце шторма буревестник свой покой найдёт и смысл жизни обретёт.
Последний раз редактировалось: Stormcrow (16:32 02-04-2010), всего редактировалось 5 раз(а) |
|
|
krink
|
|
Вот max-скрипт для загрузки imd моделей. Странно, но сообщение не перенесли сюда. Может пропустили. В максе запускаем скрипт и выбираем в диалоге imd модельку.
Плагин для загрузки в 3DMax (кликните здесь для просмотра)
Код: |
rollout IMDImport "SW IMD Importer" width:464 height:250
(
--------------------
-- User Interface --
--------------------
group "About:"
(
label titleLabel "IMD Importer v 1.0"
HyperLink addy "by Papurin Michael" align:#center address:"mailto:krink@mail.ru" color:(color 0 0 170) hoverColor:(color 170 0 0)
)
group "Import:"
(
button importButton "Import IMD..."
)
local appName = "IMD Importer"
local PathToTexture = "C:\\3DStudioMax\\Images\\"
-- Utilities
-- Error handling
fn ShowError msg=
(
format "*** Error: %\n" msg
messageBox msg title:appName;
ok
)
fn FatalError msg=
(
ShowError msg;
throw (appName + ":" + msg)
)
fn Check condition msg =
(
if not condition do
(
if msg == unsupplied do msg = "Check failed"
format "*** Check failed: %\n" msg
FatalError msg
)
)
-- Binstream tools
fn SkipBytes bstream count=
(
local unknown
case count of
(
2: unknown = ReadShort bstream #unsigned
4: unknown = ReadLong bstream #unsigned
default:
(
for i = 1 to count do
(
unknown = ReadByte bstream #unsigned
)
)
)
)
fn ReadFixedString bstream fixedLen=
(
local str = ""
for i = 1 to fixedLen do
(
str += bit.intAsChar (ReadByte bstream #unsigned)
)
str
)
-- String utils
fn LongToString num=
(
local str = ""
for i = 1 to 4 do
(
str += bit.intAsChar (bit.and num 0xff)
-- num = bit.shift num -8
num /= 256
)
str
)
fn ToWindowsPath pakPath=
(
local winPath = "\\"
for i = 1 to pakPath.count do
(
if pakPath[i] == "/" then
(
winPath += "\\"
) else
(
winPath += pakPath[i]
)
)
winPath
)
--------------------------------------------------------------------
--------------------------------------------------------------------
struct IMD_point
(
x,
y,
z,
u,
v
)
---------------------------------------------------------------------------
struct IMD_polygon
(
a,
b,
c
)
---------------------------------------------------------------------------
struct IMD_vector
(
x,
y,
z
)
---------------------------------------------------------------------------
struct IMD_gvtx
(
point_count,
polygon_count,
material_index,
points,
polygons,
vnormals,
fnormals
)
---------------------------------------------------------------------------
struct IMD_gmatkoeff
(
Shininess,
ShinStr,
Diffuse,
SelfIllum,
Ambient,
Opacity,
Specular,
OpacFalloff,
Filter,
WireSize,
IOR
)
---------------------------------------------------------------------------
struct IMD_texture
(
type,
file_name,
koeff
)
---------------------------------------------------------------------------
struct IMD_gmat
(
material_name,
koeff,
texture_count,
textures
)
struct IMD_refpoint
(
name,
matrix,
x,
y,
z,
r,
g,
b,
a
)
struct IMD_gref
(
ref_count,
refs
)
struct IMD_sphera
(
x,
y,
z,
r
)
struct IMD_gbnd
(
mainsphera,
count,
spheres
)
struct IMD_gelp
(
x,
y,
z,
dx,
dy,
dz
)
struct IMDReader
(
modelFilename, modelName, modelPath,
bstream,
gvtx_count,
gmat_count,
gmat,
gvtx,
gref,
gbnd,
gelp,
fn Open filename=
(
modelFilename = filename
modelName = getFilenameFile filename
modelPath = getFileNamePath filename
bstream = fopen filename "rb"
ok
),
fn Close=
(
fclose bstream
ok
),
fn ReadGMAT =
(
SkipBytes bstream 4
local str_size = ReadLong bstream #unsigned
local material_name = ReadFixedString bstream str_size
local x,y,x
local Shininess = ReadFloat bstream
local ShinStr = ReadFloat bstream
x = ReadFloat bstream
y = ReadFloat bstream
z = ReadFloat bstream
local Diffuse = IMD_vector x:x y:y z:z
local SelfIllum = ReadFloat bstream
x = ReadFloat bstream
y = ReadFloat bstream
z = ReadFloat bstream
local Ambient = IMD_vector x:x y:y z:z
local Opacity = ReadFloat bstream
x = ReadFloat bstream
y = ReadFloat bstream
z = ReadFloat bstream
local Specular = IMD_vector x:x y:y z:z
local OpacFalloff = ReadFloat bstream
x = ReadFloat bstream
y = ReadFloat bstream
z = ReadFloat bstream
local Filter = IMD_vector x:x y:y z:z
local WireSize = ReadFloat bstream
local IOR = ReadFloat bstream
local TextureCount = ReadLong bstream #unsigned
local koef = IMD_gmatkoeff Shininess:Shininess ShinStr:ShinStr Diffuse:Diffuse SelfIllum:SelfIllum Ambient:Ambient Opacity:Opacity Specular:Specular OpacFalloff:OpacFalloff Filter:Filter WireSize:WireSize IOR:IOR
local textures = #()
for i=1 to TextureCount do
(
local texture_type = ReadLong bstream
local name_size = ReadLong bstream
local file_name = ReadFixedString bstream name_size
local texture_koeff = ReadFloat bstream
append textures (IMD_texture type:texture_type file_name:file_name koeff:texture_koeff)
)
append gmat (IMD_gmat material_name:material_name koeff:koef texture_count:TextureCount textures:textures)
ok
),
fn ReadGVTX =
(
SkipBytes bstream 4
local material_index = ReadLong bstream
SkipBytes bstream 4
local point_count = ReadLong bstream
local polygon_count = ReadLong bstream
local points = #()
local polygons = #()
local vnormals = #()
local fnormals = #()
for i = 1 to point_count do
(
local x,y,z,u,v
x = ReadFloat bstream
y = ReadFloat bstream
z = ReadFloat bstream
u = ReadFloat bstream
v = 1 - ReadFloat bstream -- Здесь координаты перевернуты...
append points (IMD_point x:x y:y z:z u:u v:v)
)
for i = 1 to polygon_count do
(
local a,b,c
a = 1 + ReadShort bstream #unsigned
b = 1 + ReadShort bstream #unsigned
c = 1 + ReadShort bstream #unsigned
append polygons (IMD_polygon a:a b:b c:c)
)
for i = 1 to point_count do
(
local x,y,z
x = ReadFloat bstream
y = ReadFloat bstream
z = ReadFloat bstream
append vnormals (IMD_vector x:x y:y z:z)
)
for i = 1 to polygon_count do
(
local x,y,z
x = ReadFloat bstream
y = ReadFloat bstream
z = ReadFloat bstream
append fnormals (IMD_vector x:x y:y z:z)
)
append gvtx (IMD_gvtx point_count:point_count polygon_count:polygon_count material_index:material_index points:points polygons:polygons vnormals:vnormals fnormals:fnormals)
ok
),
fn ReadGREF =
(
SkipBytes bstream 4
local count = ReadLong bstream
local refs = #()
for i = 1 to count do
(
local size = ReadLong bstream
local name = ReadFixedString bstream size
local matrix = #()
matrix.count = 4
for j = 1 to 4 do
(
local row = #()
row.count = 4
for k = 1 to 4 do
(
row[k] = ReadFloat bstream
)
matrix[j] = row
)
local x,y,z
x = ReadFloat bstream
y = ReadFloat bstream
z = ReadFloat bstream
r = ReadByte bstream
g = ReadByte bstream
b = ReadByte bstream
a = ReadByte bstream
append refs (IMD_refpoint name:name matrix:matrix x:x y:y z:z r:r g:g b:b a:a)
)
gref = IMD_gref ref_count:count refs:refs
ok
),
fn ReadGBND =
(
SkipBytes bstream 4
local x = ReadFloat bstream
local y = ReadFloat bstream
local z = ReadFloat bstream
local r = ReadFloat bstream
local main = IMD_sphera x:x y:y z:x r:r
local count = ReadLong bstream
local spheres = #()
spheres.count = count
for i = 1 to count do
(
x = ReadFloat bstream
y = ReadFloat bstream
z = ReadFloat bstream
r = ReadFloat bstream
spheres[i] = IMD_sphera x:x y:y z:z r:r
)
gbnd = IMD_gbnd mainsphera:main count:count spheres:spheres
ok
),
fn ReadGELP =
(
SkipBytes bstream 4
local x = ReadFloat bstream
local y = ReadFloat bstream
local z = ReadFloat bstream
local dx = ReadFloat bstream
local dy = ReadFloat bstream
local dz = ReadFloat bstream
gelp = IMD_gelp x:x y:y z:z dx:dx dy:dy dz:dz
ok
),
fn LoadModel=
(
fseek bstream 0 #seek_set
gbnd = 0
gelp = 0
local sign = ReadFixedString bstream 4
local file_size = ReadLong bstream #unsigned
local size
if sign != "LIBF" then
(
FatalError "File does not appear to be an IMD model!"
)
local i = 60
gmat = #()
gvtx = #()
while (i<file_size) do
(
fseek bstream i #seek_set
sign = ReadFixedString bstream 4
size = ReadLong bstream #unsigned
if(sign=="GMAT")then
(
ReadGMAT()
)
if(sign=="GVTX")then
(
ReadGVTX()
)
if(sign=="GREF")then
(
ReadGREF()
)
if(sign=="GBND")then
(
ReadGBND()
)
if(sign=="GELP")then
(
ReadGELP()
)
i = i + size
)
),
fn CreateMAXModel=
(
local material = #()
material.count = gmat.count
for i = 1 to gmat.count do
(
material[i] = standardMaterial()
material[i].opacity = gmat[i].koeff.Opacity*100
material[i].filterColor.r = gmat[i].koeff.Filter.x*255
material[i].filterColor.g = gmat[i].koeff.Filter.y*255
material[i].filterColor.b = gmat[i].koeff.Filter.z*255
material[i].ambient.r = gmat[i].koeff.Ambient.x*255
material[i].ambient.g = gmat[i].koeff.Ambient.y*255
material[i].ambient.b = gmat[i].koeff.Ambient.z*255
material[i].diffuse.r = gmat[i].koeff.Diffuse.x*255
material[i].diffuse.g = gmat[i].koeff.Diffuse.y*255
material[i].diffuse.b = gmat[i].koeff.Diffuse.z*255
material[i].specular.r = gmat[i].koeff.Specular.x*255
material[i].specular.g = gmat[i].koeff.Specular.y*255
material[i].specular.b = gmat[i].koeff.Specular.z*255
material[i].name = gmat[i].material_name
for j = 1 to gmat[i].textures.count do
(
local texture = bitmaptexture()
texture.filename = PathToTexture + gmat[i].textures[j].file_name
-- texture.coordinates.mapping = 0
texture.coords.mapping = 0
material[i].maps[gmat[i].textures[j].type+1] = texture
material[i].mapAmounts[gmat[i].textures[j].type+1] = gmat[i].textures[j].koeff*100
)
)
for j = 1 to gvtx.count do
(
local vert = #()
local tvert = #()
local face = #()
for i = 1 to gvtx[j].points.count do
(
local x,y,z
x = ((gvtx[j]).points[i]).x
y = ((gvtx[j]).points[i]).y
z = ((gvtx[j]).points[i]).z
append vert ([x,y,z])
x=gvtx[j].points[i].u
y=gvtx[j].points[i].v
z=0
append tvert ([x,y,z])
)
for i = 1 to gvtx[j].polygons.count do
(
append face ([gvtx[j].polygons[i].a,gvtx[j].polygons[i].b,gvtx[j].polygons[i].c])
)
local theMesh = mesh name:("OBJ") vertices:vert faces:face material:material[gvtx[j].material_index+1] tverts:tvert
for i=1 to gvtx[j].points.count do
(
vec = Point3 gvtx[j].vnormals[i].x gvtx[j].vnormals[i].y gvtx[j].vnormals[i].z
setNormal theMesh i vec
)
buildTVFaces theMesh false
for i = 1 to theMesh.numfaces do (setTVFace theMesh i (getFace theMesh i))
update theMesh
gc()
)
for i=1 to gref.ref_count do
(
Point pos:[0, 0, 0] isSelected: on
$.size = 1
$.Box = on
$.centermarker = on
$.axistripod = on
$.cross = on
$.wirecolor = color gref.refs[i].r gref.refs[i].g gref.refs[i].b gref.refs[i].a
tm = Matrix3 1
vec = Point3 0 0.25 0
translate tm vec
vec.x = gref.refs[i].x*2
vec.y = gref.refs[i].y*2
vec.z = gref.refs[i].z*2
scale tm vec
v1 = Point3 gref.refs[i].matrix[1][1] gref.refs[i].matrix[1][2] gref.refs[i].matrix[1][3]
v2 = Point3 gref.refs[i].matrix[2][1] gref.refs[i].matrix[2][2] gref.refs[i].matrix[2][3]
v3 = Point3 gref.refs[i].matrix[3][1] gref.refs[i].matrix[3][2] gref.refs[i].matrix[3][3]
v4 = Point3 gref.refs[i].matrix[4][1] gref.refs[i].matrix[4][2] gref.refs[i].matrix[4][3]
tm1 = Matrix3 v1 v2 v3 v4
tm = tm*tm1
$.transform = tm
$.name = gref.refs[i].name
)
if(gbnd!=0)then
(
s = Sphere pos:[gbnd.mainsphera.x, gbnd.mainsphera.y, gbnd.mainsphera.z] radius:gbnd.mainsphera.r name:"GBND"
s.renderable = off
hide s
for i=1 to gbnd.count do
(
s = Sphere pos:[gbnd.spheres[i].x, gbnd.spheres[i].y, gbnd.spheres[i].z] radius:gbnd.spheres[i].r name:"GBND"
s.renderable = off
hide s
)
)
if(gelp!=0)then
(
s = Sphere pos:[gelp.x, gelp.y, gelp.z] radius:1 name:"GELP"
scale s [gelp.dx,gelp.dy,gelp.dz]
s.renderable = off
hide s
)
)
)
on importButton pressed do
(
local modelFilename = getOpenFileName caption:"Import IMD Model" \
types:"IMD file (*.imd)|*.imd|All Files (*.*)|*.*|"
print "Start"
if modelFilename != undefined then
(
if DoesFileExist modelFilename then
(
local reader = IMDReader()
local fileType = getFileNameType modelFileName
reader.Open modelFilename
reader.LoadModel()
reader.CreateMAXModel()
reader.Close()
max views redraw
)
)
)
)
-- -------------------------------------------------------------------
fn IMDImportFull =
(
createDialog IMDImport
)
IMDImportFull()
|
|
Для сохранения скрипт так и не написал, но думаю, что кому надо - осилят.
Да, с материалами надо дорабатывать, т.к. материалы в imd и 3DMax`е несколько отличаются.
|
|
|
goshadiamo
155 EGP
  Рейтинг канала: 1(3) Репутация: 14 Сообщения: 775 Откуда: Nemiroff Зарегистрирован: 05.04.2010
 |
|
Привет всем, не знаю есть ли ещё здесь кто-нибудь, но всётаки напишу для любителей этой замечательной игры. Я вот нашёл IMDeditor - програмка для изменения моделей IMD формата, там целая куча всяких функций для работы с обьектами. Но главное, что с её помощью можно конвертировать модели формата IMD (из "Звёздных Волков") в формат obj (obj+mtl) и наоборот - из obj в IMD. Так что можете себе спокойно редактировать модели из игры в ваших любимых 3д редакторах, или создавать свои модели и добавлять их в игру . Вот я залил програмку на файлообменник http://fileshare.in.ua/3783474 -- может комуто пригодится.
Ps Ну а сам я ща переконвертил модели кораблей из "Звёздных Волков 2: Гражданская война" и добавляю их(корабли) в игру "Freelancer" -- очень хочется погонять самому вручную эти крутые корабли
Последний раз редактировалось: goshadiamo (17:29 03-10-2010), всего редактировалось 2 раз(а) |
|
|
Lion[MX]
270 EGP
     Рейтинг канала: 3(26) Репутация: 60 Сообщения: 1141 Откуда: Москва Зарегистрирован: 14.01.2005
 |
|
По просьбам трудящихся выкладываю Руководство по написанию скриптов для ЗВ2ГВ. Формат Word. Позже файл должен появиться в базе данных по ЗВ2ГВ. Успехов в написании модов!
В базе данных руководство появилось в http://www.elite-games.ru/starwolfs/sw2gv/files.shtml
Guide-script-4.zip |
Описание: |
|
Имя файла: |
Guide-script-4.zip |
Размер файла: |
41.91 KB |
Скачано: |
1679 раз(а) |
_________________ Мне сверху видно всё, ты так и знай.
Последний раз редактировалось: Lion[MX] (06:38 24-02-2012), всего редактировалось 1 раз |
|
|
krinks
50 EGP
 Репутация: 0 Сообщения: 1
Зарегистрирован: 30.04.2014
 |
|
Редактор. Интерфейс еще не совсем доработан. Перед использованием лучше сохранить старые файлы: *.imd, *.loc, *.ini, *.xml
Редактор просто покласть в папку с игрой.
Ошибки, предложения и т.д. можно оставлять тут, либо высылать на почту.
http://files.mail.ru/D977C395EADA4A04925D16B65FD23986
|
|
|
Skyrivers
55 EGP
 Рейтинг канала: 1(2) Репутация: 4 Сообщения: 54 Откуда: Оренбург Зарегистрирован: 07.08.2012
 |
|
Народ, залейте/перезалейте IMDeditor а то не могу найти а нужен именно тот с которым я работал, так как опыт есть, прошу если не сложно.
_________________ УЛЫБНИСЬ! Все только начинается :-) |
|
|
Lokki
69 EGP
 Репутация: 7 Сообщения: 143 Откуда: Самара Зарегистрирован: 04.06.2008
 |
|
Skyrivers : |
Народ, залейте/перезалейте IMDeditor а то не могу найти а нужен именно тот с которым я работал, так как опыт есть, прошу если не сложно.
|
Есть в наличии IMDeditor_v2, не в курсе, правда, насколько он актуален.
IMDeditor_v2.rar |
Описание: |
|
Имя файла: |
IMDeditor_v2.rar |
Размер файла: |
282.78 KB |
Скачано: |
1009 раз(а) |
|
|
|
Skyrivers
55 EGP
 Рейтинг канала: 1(2) Репутация: 4 Сообщения: 54 Откуда: Оренбург Зарегистрирован: 07.08.2012
 |
|
Lokki : |
Skyrivers : |
Народ, залейте/перезалейте IMDeditor а то не могу найти а нужен именно тот с которым я работал, так как опыт есть, прошу если не сложно.
|
Есть в наличии IMDeditor_v2, не в курсе, правда, насколько он актуален.
|
Спасибо большое, главное что в IMD может сохранять, а всё остальное компенсирую мозгами))
_________________ УЛЫБНИСЬ! Все только начинается :-) |
|
|
valv
62 EGP
 Рейтинг канала: 2(23) Репутация: 7 Сообщения: 96 Откуда: Odessa Зарегистрирован: 14.10.2011
 |
|
IMDeditor_v3
IMD_Plugin_3DSMax8
ссылка на плагин nVidia к Adobe Photoshop для работы с текстурами .DDS:
https://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop
он же (версия 8.55 от 2013/01/14): nVidia_Texture_Tools_x32, nVidia_Texture_Tools_x64
старый набор от nVidia для работы с текстурами DDS:
https://developer.nvidia.com/legacy-texture-tools
_________________ Если мечтать, то ни в чём себе не отказывать :)
Последний раз редактировалось: valv (23:31 22-10-2015), всего редактировалось 4 раз(а) |
|
|
Protok St
65 EGP
 Рейтинг канала: 2(15) Репутация: 8 Сообщения: 106 Откуда: Мирградъ-Земля Зарегистрирован: 09.08.2009
 |
|
Метод 2 - Установка параметра непросвечиваемости для материалов моделей в *.IMD.
В процессе экcплуатации новых моделей может быть обнаружен эффект прозрачности материала на модели по отношению к источнику света. Такие источники как солнца среды(ENV) и их линзы будут просто просвечивать сквозь модель. Примеры:
Просвет материала№1.jpg
Cкрытый текст (кликните здесь для просмотра)
|
Просвет материала№2.jpg
Cкрытый текст (кликните здесь для просмотра)
|
Просвет материала№3.jpg
Cкрытый текст (кликните здесь для просмотра)
|
Характеристика просвета указывается в *.mtl, который идёт вместе с *.obj при экспорте исходника в *.IMD.
После совершённого экспорта IMDEditor не имеет опции для редактирования характеристики просвета.
Метод 2 - Установка параметра непросвечиваемости для материалов моделей в *.IMD используется в случае когда имеется готовая модель *.imd с просвечиваемостью, которой быть не должно.
Метод включает в себя следующую последовательность шагов:
1. Открыть редактируемую модель в IMDEditor;
2. Выполнить Export IMD as 'obj' (+'mtl') with triangles;
3. Выполнить Export References as *.REF;
4. Выполнить Import 'obj' (+'mtl') to IMD;
5. Выполнить Import *.REF and REPLACE;
6. Сохранить полученную модель.
При проведении данного метода IMDEditor игнорирует установленные параметры просвечиваемости материалов и присваивает им характеристику непросвечиваемости.
На примерах показано как материал модели находящейся между камерой и солнцем в первом случае пропускает свет линзы солнца, а во втором случае, после проведённого метода - не пропускает.
Просвет материала№4.jpg
Cкрытый текст (кликните здесь для просмотра)
|
Просвет материала№5.jpg
Cкрытый текст (кликните здесь для просмотра)
|
Метод 2 составлен Protok St и Oxygenes.
Дополнение от lightsss
lightsss : |
Если после всего проделанного в гайде, модель в игре все еще прозрачна для света, то необходимо снова загрузить ее в Blender или 3D Max и там зеркально отразить ее относительно модели по горизонтали (для 3D Макса модификатор Mirror по оси Х). После этого заново проделать все пункты гайда.
|
Источники по теме материалов:
http://www.fileformat.info/format/material/
https://www.tapatalk.com/groups/nendowingsmirai/wavefront-mtl-file-format-info-t1723.html
Последний раз редактировалось: Protok St (09:32 21-02-2019), всего редактировалось 1 раз |
|
|
lightsss
61 EGP
 Рейтинг канала: 3(32) Репутация: 2 Сообщения: 123
Зарегистрирован: 07.01.2015
 |
|
Гандбух по скриптингу Звездных Волков. С картинками. Как и положено любому гандбуху, он на немецком. Наслаждайтесь!
|
|
|
lightsss
61 EGP
 Рейтинг канала: 3(32) Репутация: 2 Сообщения: 123
Зарегистрирован: 07.01.2015
 |
|
Небольшой редактор слотов оборудования. Имеет постой но все же графический интерфейс. Позволяет менять месторасположение слотов оборудования и текста. Для добавления новых слотов придет все же лезть ручками в ini-файл. Автор: nocalora29
В архиве присутствуют открытые исходники программы.
добавлено спустя 7 минут:
Небольшой редактор tuv-файлов. Автор: nocalora29
В архиве присутствуют открытые исходники программы.
добавлено спустя 35 минут:
System.lst генератор. Автор: nocalora29
SWX.MultiTool.7z |
Описание: |
прямая ссылка на файл: https://mega.nz/#!TohyGTpI!s2O737dJuIbKGM6c6FWbcACK_8ZS4hOE66IrKw_FtNY |
|
Имя файла: |
SWX.MultiTool.7z |
Размер файла: |
810.58 KB |
Скачано: |
723 раз(а) |
SWX.TUVMark.7z |
Описание: |
прямая ссылка на файл: https://mega.nz/#!25x31I6a!ygT2yqP2YsB6qTJNBpIGEhOTlmZb8G_CebAJZ5chWSg |
|
Имя файла: |
SWX.TUVMark.7z |
Размер файла: |
534.91 KB |
Скачано: |
658 раз(а) |
SWX.SLOTMark.7z |
Описание: |
прямая ссылка на файл: https://mega.nz/#!DsJQgDwR!FlgVcwk4qKBFIftgfi5BJohDpmVd8IezZI1uz1KT7KE |
|
Имя файла: |
SWX.SLOTMark.7z |
Размер файла: |
266.03 KB |
Скачано: |
699 раз(а) |
Последний раз редактировалось: lightsss (01:38 21-05-2019), всего редактировалось 3 раз(а) |
|
|
lightsss
61 EGP
 Рейтинг канала: 3(32) Репутация: 2 Сообщения: 123
Зарегистрирован: 07.01.2015
 |
|
SCRIPT SYNTAX CHECKER
Утилита для проверки скриптов .script написанных на языке lua на наличие ошибок.
https://cloud.mail.ru/public/DxV6/Bmzjpr644
З.Ы. Рекомендую всем - очень мощная тузла.
Последний раз редактировалось: lightsss (18:57 02-03-2021), всего редактировалось 1 раз |
|
|
Migner
50 EGP Репутация: 0 Сообщения: 12
Зарегистрирован: 10.07.2016
 |
|
Приветствую. А есть ли способ достать модельки из игры(ЗВ1, 2, 3)? Или быть может кто-то поделится уже готовыми модельками которые я смогу запустить в Blender или кинуть в другие игровые движки Unreal/Unity?
|
|
|
|
|
|
Звездные волки 2: Гражданская война ->
МОДовый отсек: «Инструменты для мододелов» |
|
К списку каналов | Наверх страницы |
Цитата не в тему: Практически все, кого я там знаю - мои враги. Или бывшие подруги... (VirusXr866)
|
» Инструменты для мододелов | страница 1 |
|