3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 4152|回复: 9
打印 上一主题 下一主题

[求助] 菜鸟再次提个小问题,player.placeatme设了距离后为什么经常还会在身边出来?

[复制链接]

23

主题

318

帖子

391

积分

高级玩家

Rank: 4

贡献度
30
金元
2709
积分
391
精华
0
注册时间
2005-6-29
跳转到指定楼层
主题
发表于 2011-8-29 08:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如我用player.placeatme XXX 1 3000 0
这个XXX应该是在离我3000的地方出来才对,但经常会变成在我身边出现。如果数量设高了就是部分在远部分在身边。

请问有没有什么方法可以避免这种情况,比如地点挡不能刷的话就在距离内最远的地方刷,不要直接刷在我身边
回复

使用道具 举报

5

主题

576

帖子

1451

积分

游戏狂人

Rank: 6Rank: 6

贡献度
248
金元
4592
积分
1451
精华
0
注册时间
2008-7-18
舒服的沙发
发表于 2011-8-29 08:52 | 只看该作者
本帖最后由 StayLight 于 2011-8-29 08:55 编辑

GECK官网里貌似有提到PlaceAtMe后面两个parameter根本没用..
实际使用过程中好像的确如此..
想要让物品出现在指定的距离的话需要创建一个Ref然后用set ref to xx.PlaceAtMe 1这样的句式在创建角色的同时get到它的reference,最后根据对玩家的GetPos获得的结果对它使用SetPos,以达到每个目标都出现在相对玩家同样方向的效果..
不过具体怎么写这个才能让物件不会卡在地形里的方法我目前不清楚..建议参考FO3的Enclave Commander,记得里面有这个..
回复 支持 反对

使用道具 举报

140

主题

1万

帖子

9694

积分

3DM创意工坊

老神仙

Rank: 11Rank: 11Rank: 11Rank: 11

贡献度
588
金元
73218
积分
9694
精华
2
注册时间
2010-11-16
硬硬的板凳
发表于 2011-8-29 09:02 | 只看该作者
本帖最后由 真永恒之心 于 2011-8-29 09:03 编辑

回复 1# lynzxcv


    Placeatme的距离参数只对Leveled 数据起作用,直接对NPC或Creature进行操作没有距离效果。你应该多分析一下别人的程序例子,例如我发的僵尸世界。
回复 支持 反对

使用道具 举报

23

主题

318

帖子

391

积分

高级玩家

Rank: 4

贡献度
30
金元
2709
积分
391
精华
0
注册时间
2005-6-29
冰凉的地板
 楼主| 发表于 2011-8-29 09:48 | 只看该作者
谢谢光大和猫大,我先试一试,有不懂的问题下次再向各位请教。
另外我是对Leveled 数据操作的,就是加NPC的那个,不是怪物的那个,应该都有效吧?
是部分出现在远处,部分出现在近处,郁闷啊
回复 支持 反对

使用道具 举报

23

主题

318

帖子

391

积分

高级玩家

Rank: 4

贡献度
30
金元
2709
积分
391
精华
0
注册时间
2005-6-29
5#
 楼主| 发表于 2011-8-29 09:50 | 只看该作者
另外Enclave Commander也在研究过,看的我脑仁都疼......................
回复 支持 反对

使用道具 举报

23

主题

318

帖子

391

积分

高级玩家

Rank: 4

贡献度
30
金元
2709
积分
391
精华
0
注册时间
2005-6-29
6#
 楼主| 发表于 2011-8-29 12:26 | 只看该作者
本帖最后由 lynzxcv 于 2011-8-29 12:34 编辑
GECK官网里貌似有提到PlaceAtMe后面两个parameter根本没用..
实际使用过程中好像的确如此..
想要让物品出现 ...
StayLight 发表于 2011-8-29 08:52



看的不太明白呀,我这方面太弱了~~~~~~~~
比如set ref to asdf001.PlaceAtMe 1   这时ref得到的值是什么? 好像我看到一个MOD,REF作用是指向的是地图上某物体的ID吧

然后对玩家的GetPos获得的结果对它使用SetPos

这个无法理解意思...
比如我要让asdf001这个物件在我每次执行 player.PlaceAtMe asdf001 10 3000的时候,在3000的距离出现10个asdf001要怎么做?

ref asdf001
set ref to asdf001.placeatme 1
player.PlaceAtMe ref 10 3000

这个样子吗?顺便说一下以上写的是啥我自己跟本不明白

PS:这个物件原来在地图上不存在的,set ref 有用吗?
回复 支持 反对

使用道具 举报

23

主题

318

帖子

391

积分

高级玩家

Rank: 4

贡献度
30
金元
2709
积分
391
精华
0
注册时间
2005-6-29
7#
 楼主| 发表于 2011-8-29 12:53 | 只看该作者
本帖最后由 lynzxcv 于 2011-8-29 12:55 编辑

回复 2# StayLight


    或者是不是这样?
ref getplayer.PlaceAtMe asdf001 1

ref 10 3000

另外REF好像用get和my都有效,这两个有什么区别?my是指向属于玩家的物件?
回复 支持 反对

使用道具 举报

5

主题

576

帖子

1451

积分

游戏狂人

Rank: 6Rank: 6

贡献度
248
金元
4592
积分
1451
精华
0
注册时间
2008-7-18
8#
发表于 2011-8-29 13:08 | 只看该作者
回复 6# lynzxcv

ref可以代表一切FormID,也就是说游戏里的一切物件都可以用它来代表,无论是Base Object还是放在地图上的副本..

set ref to asdf001.PlaceAtMe 1 这样的句式同时有两个作用..一个是PlaceAtMe正常的功能,还有就是把新创建的物体的FormID写入名为ref的ref里,方便日后操作..

如果要运用SetPos来修改新物体的位置的话就可以完全跳过PlaceAtMe里关于距离和方向的设定..
之后需要做的就是对player使用GetAngle Z和GetPos,然后根据取得的角度值和座标值利用三角函数得出新的座标值,最后用SetPos来移动刚刚PlaceAtMe创建的物体..
但是这么做没有考虑到地形,这就是为什么我之前说你还是得参考Enclave Commander的写法..
你要找的东西应该是在和那个召唤Marker有关的脚本里,好好找找吧..
回复 支持 反对

使用道具 举报

5

主题

576

帖子

1451

积分

游戏狂人

Rank: 6Rank: 6

贡献度
248
金元
4592
积分
1451
精华
0
注册时间
2008-7-18
9#
发表于 2011-8-29 13:11 | 只看该作者
回复 7# lynzxcv



   这样写自然是错了..GECK脚本里的ref其实就相当于可以存储formID的变量,是需要在脚本一开始来指定的..
   因此像我刚才的写法就需要在脚本头部再加上ref ref来指定一个名为ref的ref变量..
回复 支持 反对

使用道具 举报

23

主题

318

帖子

391

积分

高级玩家

Rank: 4

贡献度
30
金元
2709
积分
391
精华
0
注册时间
2005-6-29
10#
 楼主| 发表于 2011-8-29 13:28 | 只看该作者
回复  lynzxcv

ref可以代表一切FormID,也就是说游戏里的一切物件都可以用它来代表,无论是Base Object还 ...
StayLight 发表于 2011-8-29 13:08



看来这个还不是我目前能搞定的问题,另外发现placeatme对NPC操作时并不是距离不起作用,而是对第一个不起作用。比如数量为5就是第一个没用,后面4个有效
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2025-2-15 12:09 , Processed in 0.110311 second(s), 15 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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