模拟城市中文网

 找回密码
 入住
搜索
查看: 5658|回复: 31

Building转prop问题探讨帖~(已解决)

[复制链接]
发表于 2013-2-6 10:06 | 显示全部楼层 |阅读模式
之前看过独特的帖子(http://www.simcity.cn/forum.php?mod=viewthread&tid=108291&highlight=building
在将building用reader改prop的过程中出现了一些问题,在这里想请教大家。

首先K想改的是这个插件
http://sc4devotion.com/csxlex/lex_filedesc.php?lotGET=1377
这个作者的插件都很精致,只不过全都是building,在LE中使用很不方便~(废话多了)

下载安装后会看到有四个文件
图1

其中有一个是DAT格式文件,其他三个是SC4LOT格式文件。
K的猜想是这里面有三个不同种类的建筑,被制作成三个自长LOT,而建筑的主文件打包在DAT文件里(因为DAT文件1.16MB,而其他的SC4LOT文件还不足2KB)
所以K用reader打开DAT文件
图2

结果里面全是FSH 和S3D之类的东西~
并没有找到可供修改的“ Exemplar Type
我询问了GN兄,说“ Exemplar Type ”是有可能打包在SC4LOT里的,结果K就用reader打开第二个文件(名称为:R$6_1x3_Hepburn Apartments_a4ddfac6.SC4Lot)
图3

然后K按照独特的教程把 Exemplar Type 里的building项改为prop
也复制了下载好的“prop数据”里面的 Is Ground Model ,Query as main buildingLightPreviewableOrient To Slope 的数据,然后回到“R$6_1x3_Hepburn Apartments_a4ddfac6.SC4Lot”文件在空白处粘帖了进去~
可以对比图三和图四
图4

然后就改了Instance~
把改好的用另存为保存起来,本来以为这样就行了,可是保存之后在LE里面就是找不到改好的prop?
所以~
大家看看问题出在哪里了
多谢!
图片待会补上!

答案在18楼~

[ 本帖最后由 1241953088 于 2013-2-6 12:45 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?入住

x
发表于 2013-2-6 10:23 | 显示全部楼层
图4里面属性是增加了,但Exemplar Type还是显示为“Buildings”....应该是改这个值的时候没改过来....

改好值后先点右边的apply,再点下面的apply

[ 本帖最后由 weixc812 于 2013-2-6 10:28 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?入住

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-6 10:31 | 显示全部楼层
噢不是的
那图只是我还没改呵~
K的情况是已经改好building的哪项,而且Instance那一步也该好了,就是储存之后在LE里找不到prop?

评分

参与人数 1威望 +4 模拟币 +120 收起 理由
lrdcq + 4 + 120 精品文章

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2013-2-6 10:35 | 显示全部楼层
没太看懂
图3和4里的不都是building么 而且tgi也没改

评分

参与人数 1威望 +2 收起 理由
lrdcq + 2 SB

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-6 10:37 | 显示全部楼层
我重新截图好了呵~等一下~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-6 11:12 | 显示全部楼层
已改!


图中的 “ 4 ”那一步把instance改成别的之后就可以储存了吗?

[ 本帖最后由 1241953088 于 2013-2-6 11:14 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?入住

x
回复 支持 反对

使用道具 举报

发表于 2013-2-6 11:17 | 显示全部楼层
会不会Instance和其他prop或building冲突?换个Instance试试呢

评分

参与人数 1威望 +2 收起 理由
lrdcq + 2 热心助人

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-6 11:22 | 显示全部楼层
原帖由 weixc812 于 2013-2-6 11:17 发表
会不会Instance和其他prop或building冲突?换个Instance试试呢

我把原来的Instance的最后一个数字“6”改为“4”而已~
储存时我命名为“hepburn”
然后打开LE试试看在prop那里找找,可是没有找到耶
回复 支持 反对

使用道具 举报

发表于 2013-2-6 11:23 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-6 11:27 | 显示全部楼层
那啥驴你说的是哪一楼?
回复 支持 反对

使用道具 举报

发表于 2013-2-6 11:28 | 显示全部楼层
确实不科学,但是好像要删除building的某些属性才行
可以参看一下我很以前写的批处理代码,由于reader有bug,某些函数要崩溃后来就没写了
而且只是维持了一个基本prop需要的属性


但是至少能成功使用的。。
  1. --require("iuplua")
  2. --require( "iupluacontrols" )
  3. function reader.main (this)
  4.         pos = reader:entries_GetHeadPosition()     
  5.         while pos~=0 do
  6.                 entry,pos = reader:entries_GetNext(pos)
  7.                 flag = reader:entry_GetFlag(entry)  
  8.                 myT,myG,myI = reader:entry_GetTGI(entry)
  9.                 if (flag == 7) then
  10.                         breakflag=0
  11.                         exemplar = reader:ex_Decode(entry)
  12.                         reader:ex_SetParentCohort(exemplar,dw1,dw2,dw3)
  13.                         proppos = reader:exprop_GetHeadPosition(exemplar)  
  14.                         while proppos~=0 do
  15.                                 exprop, proppos = reader:exprop_GetNext(exemplar,proppos)
  16.                                 desc,descname = reader:exprop_GetDesc(exprop)     
  17.                                 --print (desc..":"..descname)
  18.                                 if (desc == 0x00000010) then
  19.                                         --type
  20.                                         if (reader:exprop_GetValueStr(exprop)~='Buildings') then
  21.                                                 --print ("I have to break")
  22.                                                 breakflag = 1
  23.                                                 --reader:ex_Release(exemplar)
  24.                                                 break
  25.                                         end
  26.                                         reader:exprop_SetValue(exprop,0x0000001e)
  27.                                 elseif (desc == 0x00000020) then
  28.                                         --name
  29.                                         ptid = "0x"..string.format("%x",tostring(myT,"o"))
  30.                                         pgid = "0x"..string.format("%x",tostring(myG+1,"o"))
  31.                                         piid = "0x"..string.format("%x",tostring(myI,"o"))
  32.                                         pname = "b2p_"..reader:exprop_GetValueStr(exprop)
  33.                                         --res, pgid2,piid2,pname2 = iup.GetParam("B2P (Cancel to Next One)", nil,"GID:%s\nIID:%s\nProp Name:%s\n",pgid,piid ,pname)
  34.                                         --if(not res) then
  35.                                                 --break
  36.                                         --end
  37.                                         reader:entry_SetTGI(entry,piid,pgid,ptid)
  38.                                         reader:exprop_SetValue(exprop,pname)
  39.                                         --reader:entry_SetTGI(entry,piid2,pgid2,ptid)
  40.                                         --reader:exprop_SetValue(exprop,pname2)
  41.                                 elseif (desc == 0x27812810) then
  42.                                         --size
  43.                                 elseif (desc >= 0x27812820 and desc <= 0x27812825) then
  44.                                         --box
  45.                                 elseif (desc == 0x29244DB5) then
  46.                                         --Flammability
  47.                                         reader:exprop_SetValue(exprop,0x00)
  48.                                 elseif (desc == 0x49BEDA31) then
  49.                                         --MaxFireStage
  50.                                 elseif (desc == 0xAA1DD397) then
  51.                                         --zoom
  52.                                         reader:exprop_SetDesc(exprop,0x0ABFC024)
  53.                                         reader:exprop_SetValue(exprop, 0x0000001F)
  54.                                 elseif (desc == 0x0ABFC024) then
  55.                                         --zoom
  56.                                 else
  57.                                         reader:exprop_SetDesc(exprop,0xffffffff)
  58.                                         --reader:exprop_Del(exemplar ,proppos)
  59.                                 end
  60.                         end
  61.                         if not (breakflag == 1) then
  62.                                 --add light
  63.                                 exprop = reader:exprop_Add(exemplar)
  64.                                 reader:exprop_SetDesc(exprop,0x4A9F188B)
  65.                                 reader:exprop_SetType(exprop,0xB00)
  66.                                 reader:exprop_SetRep(exprop,1)
  67.                                 reader:exprop_SetValue(exprop, 0x01)
  68.                         end
  69.                         reader:ex_Encode(entry,exemplar)
  70.                 end
  71.         end
  72. end
复制代码
在这里新建粘贴进去运行就可以了


[ 本帖最后由 富江 于 2013-2-6 11:34 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?入住

x

评分

参与人数 1威望 +2 收起 理由
lrdcq + 2 SB

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-6 11:34 | 显示全部楼层
驴是这一帖么?
http://www.simcity.cn/forum.php?mod=redirect&goto=findpost&pid=586961&ptid=44369

原帖由 富江 于 2013-2-6 11:28 发表
确实不科学,但是好像要删除building的某些属性才行
可以参看一下我很以前写的批处理代码,由于reader有bug,某些函数要崩溃后来就没写了
而且只是维持了一个基本prop需要的属性


但是至少能成功使用的。。
--require("iu ...

那个 很让您失望的是
我——
不会——
呵~
回复 支持 反对

使用道具 举报

发表于 2013-2-6 11:36 | 显示全部楼层
原帖由 1241953088 于 2013-2-6 11:34 发表
那个 很让您失望的是
我——
不会——
呵~

没事,直接复制进去运行一下而已,不会就不用太在意代码内容
回复 支持 反对

使用道具 举报

发表于 2013-2-6 11:49 | 显示全部楼层
想到了驴的从dat中分离model的方法,实在不行可以一试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-6 12:04 | 显示全部楼层
原帖由 富江 于 2013-2-6 11:36 发表

没事,直接复制进去运行一下而已,不会就不用太在意代码内容

这个需要VB的么?
我没有这个软件呵~
原帖由 weixc812 于 2013-2-6 11:49 发表
想到了驴的从dat中分离model的方法,实在不行可以一试


的确~独特的教程里面打开的是SC4Desc格式的文件,这里打开的是Dat 档~
不过真没有办法吗?
会不会是储存时出了问题?
所长你也改一下看看行么?
回复 支持 反对

使用道具 举报

发表于 2013-2-6 12:13 | 显示全部楼层
对了,你编辑后reindex lotconfig没有?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-6 12:25 | 显示全部楼层
那个~
怎么reindex lotconfig呢?
我找一下有没有这个选项~
回复 支持 反对

使用道具 举报

发表于 2013-2-6 12:30 | 显示全部楼层
原帖由 1241953088 于 2013-2-6 12:25 发表
那个~
怎么reindex lotconfig呢?
我找一下有没有这个选项~

好吧,八成就是这个问题了
任何exemplar修改后都要这么来一下~~~~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?入住

x

评分

参与人数 1模拟币 +10 收起 理由
1241953088 + 10 热心助人

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-6 12:34 | 显示全部楼层
多谢!我试一下~
不过是在任何位置右键都可以的吗?
回复 支持 反对

使用道具 举报

发表于 2013-2-6 12:37 | 显示全部楼层
原帖由 1241953088 于 2013-2-6 12:34 发表
多谢!我试一下~
不过是在任何位置右键都可以的吗?

是滴~~~~~~~~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-6 12:42 | 显示全部楼层
啊!问题果然如L大大所说的一样!神了!
不过我还有一个问题,就是修改后在LE里面找到的跟我保存的时候所命名的不一样?
比如我命名为“hepburn 2”   在LE里显示的是“Hepburn Apartment” ?

[ 本帖最后由 1241953088 于 2013-2-6 12:44 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2013-2-6 12:44 | 显示全部楼层
1.找個同性質的prop (是否偽3D / 是否有時間或季節顯示 / )→複製

2.貼上然後改
2-1.prop exemplar name
2-2.prop exemplar的InstanceID,TG可以甭理他
2-3.Occupant Size改成原building大小
2-4.原本有Building/prop Family的話,移除
2-5.看下Light / Is Ground Model在不在,多不管少就補
2-6.User Visible Name Key有用到的話指向你準備好的TEXT TGI

in last
請愛用reader 0.93......
新的不見得一定好用,我就用的非常不習慣

******************************************************************
補充:仔細看過後少一樣...
ResourceKeyTypeXX指向原building用的模型TGI
XX:常看到的~~~
1 偽3D模型用
4 真3D模型 / 偽3D模型于時間或季節 用
3嘛.....用的到的話,可以考慮參加NAM TEAM

[ 本帖最后由 smtfrank 于 2013-2-6 13:02 编辑 ]

评分

参与人数 2威望 +2 模拟币 +5 收起 理由
lrdcq + 2 热心助人
1241953088 + 5 内容独特

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-6 12:47 | 显示全部楼层
原帖由 smtfrank 于 2013-2-6 12:44 发表
1.找個同性質的prop (是否偽3D / 是否有時間或季節顯示 / )→複製

2.貼上然後改
2-1.prop exemplar name
2-2.prop exemplar的InstanceID,TG可以甭理他
2-3.Occupant Size改成原building大小
2-4.原本有Building/prop ...

多谢!
新的也不会不习惯——也许是我需要用到的东西太少了?
回复 支持 反对

使用道具 举报

发表于 2013-2-6 12:49 | 显示全部楼层
原帖由 1241953088 于 2013-2-6 12:42 发表
啊!问题果然如L大大所说的一样!神了!
不过我还有一个问题,就是修改后在LE里面找到的跟我保存的时候所命名的不一样?
比如我命名为“hepburn 2”   在LE里显示的是“Hepburn Apartment” ? ...

= = 这个prop名字是exemplar name的样子。不是的是不是没改上还是怎么的。。
原帖由 smtfrank 于 2013-2-6 12:44 发表
in last
請愛用reader 0.93......
新的不見得一定好用,我就用的非常不習慣

+1,新的bug多太多了。。
但是新的reader读文件速度有很大提升,也集成了一些常用工具(比如转换fsh格式)
lua批处理虽然各种硬伤,但是也还能用,,,,
回复 支持 反对

使用道具 举报

发表于 2013-2-6 12:54 | 显示全部楼层
來遲了......

但還是想說一句...
其實可以如下圖亂數產生一個新的IID的...

這樣比較不容易衝突,記得在SC4D的一帖看過,其實LE-PM等生成的ID只有第一位是亂數,其他7位是計算從1997年開始過去的秒數...
而Reader生成的ID是完全亂數生成...

[ 本帖最后由 GN-Drive 于 2013-2-6 13:00 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?入住

x

评分

参与人数 1威望 +2 收起 理由
lrdcq + 2 热心助人

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-6 12:55 | 显示全部楼层
原帖由 lrdcq 于 2013-2-6 12:49 发表

= = 这个prop名字是exemplar name的样子。不是的是不是没改上还是怎么的。。

+1,新的bug多太多了。。
但是新的reader读文件速度有很大提升,也集成了一些常用工具(比如转换fsh格式)
lua批处理虽然各种硬伤,但是也还能用,,,,x ...


exemplar name 那行的确没改动呵~
话说新版的bug对于我们这些只是用其皮毛的新手来说问题不大吧?

哦对了这有视频呵
http://www.simcity.cn/forum.php?mod=viewthread&tid=115881&highlight=
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-6 12:56 | 显示全部楼层
原帖由 GN-Drive 于 2013-2-6 12:54 发表
來遟了......

但還是想說一句...
其實可以如下圖亂數產生一個新的IID的...
259509
這樣比較不容易衝突,記得在SC4D的一帖看過,其實LE-PM等生成的ID只有第一位是亂數,其他7位是計算從1997年開始過去的秒數...
而Reade ...

哦,这个挺好的!
不过生成新的Instance后就不用再去改了对吧?

[ 本帖最后由 1241953088 于 2013-2-6 13:00 编辑 ]
回复 支持 反对

使用道具 举报

发表于 2013-2-6 13:05 | 显示全部楼层

回复 27# 的帖子

不用再去File Info改IID的了,這個會自動改掉的...
回复 支持 反对

使用道具 举报

发表于 2013-2-6 13:09 | 显示全部楼层
原帖由 smtfrank 于 2013-2-6 12:44 发表
補充:仔細看過後少一樣...
ResourceKeyTypeXX指向原building用的模型TGI
XX:常看到的~~~
1 偽3D模型用
4 真3D模型 / 偽3D模型于時間或季節 用
3嘛.....用的到的話,可以考慮參加NAM TEAM

RKT3的话主要还是为了解决高视野的贴图锯齿问题和性能问题(远视野用粗略模型)而设立的
要用的话那些真3D车辆船只什么的都可以用用~~~~
原帖由 1241953088 于 2013-2-6 12:55 发表
哦对了这有视频呵
http://www.simcity.cn/forum.php?mod=viewthread&tid=115881&highlight=

好吧你不知道那是我马甲~~液~~~

[ 本帖最后由 lrdcq 于 2013-2-6 13:12 编辑 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-6 13:14 | 显示全部楼层
原帖由 lrdcq 于 2013-2-6 13:09 发表

RKT3的话主要还是为了解决高视野的贴图锯齿问题和性能问题(远视野用粗略模型)而设立的
要用的话那些真3D车辆船只什么的都可以用用~~~~

好吧你不知道那是我马甲~~液~~~ ...

原来是
马甲

好吧~
今后总算知道了~
回复 支持 反对

使用道具 举报

发表于 2013-2-6 13:21 | 显示全部楼层
原帖由 GN-Drive 于 2013-2-6 12:54 发表
來遲了......

但還是想說一句...
其實可以如下圖亂數產生一個新的IID的...
259509
這樣比較不容易衝突,記得在SC4D的一帖看過,其實LE-PM等生成的ID只有第一位是亂數,其他7位是計算從1997年開始過去的秒數...
而Reade ...

個人喜歡IID排排站~~~只要沒佔到simcity_1.dat的位置就行


VIP CarPack裡面找90度方向的車給T21路邊停車用......

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?入住

x
回复 支持 反对

使用道具 举报

发表于 2013-2-6 13:40 | 显示全部楼层
抓到了,之前所說的SC4D上關於ID生成的一帖:http://sc4devotion.com/forums/index.php?topic=11987.msg352276#msg352276
表示本人用機翻,不知有沒有誤解了他的意思...
不知有沒有人可以幫忙翻一翻譯...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 入住

本版积分规则

小黑屋|手机版|模拟城市中文网

GMT+8, 2024-4-24 00:52 , Processed in 0.034784 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表