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

注册 登录

QQ登录

只需一步,快速开始

查看: 7336|回复: 8
打印 上一主题 下一主题

[修改] 通用内置修改器的一点小修改

  [复制链接]

3

主题

40

帖子

147

积分

中级玩家

Rank: 3Rank: 3

贡献度
13
金元
946
积分
147
精华
0
注册时间
2011-5-11
跳转到指定楼层
主题
发表于 2013-5-2 21:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先感谢blackgodx的无私奉献,修改器参见原帖:
[首发]《饥荒》全版本通用内置修改器。纯脚本。(更新若干新功能2/19)
http://bbs.3dmgame.com/forum.php?mod=viewthread&tid=3530975&fromuid=3455207

拿过来后发现用着不是很顺手,只支持10个物品创建,而且修改后必须保存游戏再读档重进,于是简单修改了下:
(添加到main.lua的末尾)
----from here
temp_copy_entity = nil;
-- copy inst
TheInput:AddKeyUpHandler(KEY_C, function()
if TheInput:IsKeyDown(KEY_CTRL) then
  local target = nil
  local ent = TheInput:GetWorldEntityUnderMouse()
  if ent and not ent:HasTag("player") then
   target = ent
  end
  temp_copy_entity = target
end
end
);

-- paste inst
TheInput:AddKeyUpHandler(KEY_V, function()
if TheInput:IsKeyDown(KEY_CTRL) and temp_copy_entity ~= nil then
  if temp_copy_entity.prefab ~= "" then
   local inst = Spawn(temp_copy_entity.prefab)
   inst.Transform:SetPosition(TheInput:GetMouseWorldPos():Get())
  end
end
end
);

-- del inst
TheInput:AddKeyUpHandler(KEY_D, function()
if TheInput:IsKeyDown(KEY_CTRL) and temp_copy_entity ~= nil then
  temp_copy_entity:Remove()
  temp_copy_entity = nil
end
end
);

-- move inst
TheInput:AddKeyUpHandler(KEY_X, function()
if TheInput:IsKeyDown(KEY_CTRL) and temp_copy_entity ~= nil and temp_copy_entity.Transform then
  temp_copy_entity.Transform:SetPosition(TheInput:GetMouseWorldPos():Get())
end
end
);

--to here
大意是Ctrl+C 复制鼠标指向的对象,Ctrl+V 复制一份到鼠标位置,Ctrl+D是删除(不要乱用!), Ctrl+X自然是把刚复制的对象移动到鼠标制定位置。

最近简单读了下游戏的源码和结构,发现还是很好懂的,简单改了几个像蜂巢存储蜂蜜上限和背包特异功能等,觉得这游戏就是用来改的嘛~

最后还是得郑重提醒: 修改游戏会导致游戏失去初始的乐趣,不喜勿入!
回复

使用道具 举报

318

主题

2756

帖子

5035

积分

版主

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

贡献度
495
金元
30545
积分
5035
精华
0
注册时间
2009-7-12
舒服的沙发
发表于 2013-5-3 00:08 | 只看该作者
CTRL + V 會錯誤當機

其他功能正常...

我要 ctrl + v ><
回复 支持 反对

使用道具 举报

2

主题

460

帖子

902

积分

超级玩家

Rank: 5Rank: 5

贡献度
3
金元
8903
积分
902
精华
0
注册时间
2012-9-1
硬硬的板凳
发表于 2013-5-3 07:25 来自手机 | 只看该作者
lz的这个办法好
回复 支持 反对

使用道具 举报

3

主题

40

帖子

147

积分

中级玩家

Rank: 3Rank: 3

贡献度
13
金元
946
积分
147
精华
0
注册时间
2011-5-11
冰凉的地板
 楼主| 发表于 2013-5-3 20:06 | 只看该作者
top10001 发表于 2013-5-3 00:08
CTRL + V 會錯誤當機

其他功能正常...

能不能贴个错误图片或错误提示给我,我这试过能用的;
回复 支持 反对

使用道具 举报

2

主题

7349

帖子

6183

积分

游戏精英

Rank: 8Rank: 8

贡献度
0
金元
61829
积分
6183
精华
0
注册时间
2013-2-25
5#
发表于 2013-5-3 20:10 | 只看该作者
发个修改好的文件吧。
回复 支持 反对

使用道具 举报

3

主题

40

帖子

147

积分

中级玩家

Rank: 3Rank: 3

贡献度
13
金元
946
积分
147
精华
0
注册时间
2011-5-11
6#
 楼主| 发表于 2013-5-3 20:36 | 只看该作者
quishuang 发表于 2013-5-3 20:10
发个修改好的文件吧。

不是我不发啊:
1 这个是有版权的啊,先发的大大们会不开心的
2 这里包含我自己的一些习惯修改,如果你不想用,还是手动添加那段吧~
   跑速加速我改成了2, 鼠标传送我改成了按键Z,不需要Ctrl,去掉了原来末尾的那段调试,还有前面数组里的创造物件也全动过了。

将就着用吧,希望大大们看了别见怪。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

318

主题

2756

帖子

5035

积分

版主

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

贡献度
495
金元
30545
积分
5035
精华
0
注册时间
2009-7-12
7#
发表于 2013-5-5 20:49 | 只看该作者
我 ctrl + v 出現的錯誤,其他都正常><

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

3

主题

40

帖子

147

积分

中级玩家

Rank: 3Rank: 3

贡献度
13
金元
946
积分
147
精华
0
注册时间
2011-5-11
8#
 楼主| 发表于 2013-5-6 19:21 | 只看该作者
top10001 发表于 2013-5-5 20:49
我 ctrl + v 出現的錯誤,其他都正常><

你有没有用我贴中提到的原版修改器啊?
这个是在那个基础上添加的功能,需要那个修改器里的一个函数支持;
如果你没用的话,那就把这段添到main.lua前面:
local Spawn = function(aa)
TheSimoadPrefabs({aa})
return SpawnPrefab(aa)
end
回复 支持 反对

使用道具 举报

3

主题

40

帖子

147

积分

中级玩家

Rank: 3Rank: 3

贡献度
13
金元
946
积分
147
精华
0
注册时间
2011-5-11
9#
 楼主| 发表于 2013-5-6 19:22 | 只看该作者
额,该死的表情转义:<
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-8 07:08 , Processed in 0.096416 second(s), 15 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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