模组介绍:【星露谷物语】你想要一群可爱可编程的工作机器人吗?Farmtronics模组介绍_哔哩哔哩_bilibili

参考文档

Farmtronics使用的编程语言语法 MiniScript-QuickRef.pages

Api 接口参考 ·乔斯特劳特/法姆电子学维基 ·吉特哈布 (github.com)

使用版本

Farmtronics.zip-10634-1-2-0-1658871311

SMAPI 3.16.2

一些笔记

1.机器人使用笛卡尔坐标系

2.玩家最好不要站在机器人行动的路径上

3.机器人面对的方向(bot.facing)  0为up 1为right 2为down 3为left

4.机器人模组里面一些名称(Name)

Hoe锄头 Pickaxe十字镐 Scythe镰刀 Axe斧头 Watering Can喷壶

Weeds纤维(杂草) Twig木头 Stone石头

5.type:Clump为大石头和大树桩 其中Name:Boulder为石头  Name:Stump为大树桩

使用clearAhead及clearAndMove时 如果工具不能破开这些障碍物 机器人会一直使用工具尝试破坏

6.如果前面的地类型为"HoeDirt"(就是耕过的地)

使用clearAhead及clearAndMove时会用锄头把这片地清掉(无论是否有作物)

因此可以用bot.ahead.Crop == null 判断是否有作物

7.脚本一般保存在 C:\Users\用户名\AppData\Roaming\StardewValley\Saves\存档\usrdisk(即为新手教程toDo中的usr路径)此处的用户名和存档是实际名字

话不多说 上代码

我的代码包含了按行列浇水 自动补充喷壶 自动归位的功能 但是有些地方还需要优化(随缘吧)

这里是全局参数

WaitTime为机器人前进一步后等待的时间(需要让电脑反应过来 否则下一步会前进不了)

Line和Column为需要浇水的行数和列数 你可以自由设置

WaitTime = 0.3
Line = 3
Column = 3

转向函数 使机器人转到某个方向  Facing为方向(类型为整型) 对应本文章-->一些笔记3.

TurnTo = function(Facing)while bot.facing != Facingbot.rightend while
end function

直线寻路 判断障碍是否存在并清除 Facing为面对的方向 Steps为移动的距离

第一行的bot.可以不用加 不过我的代码里面加了我就懒得改了

还有一些寻路的部分没写(随缘补充)

bot.moveStraight= function(Facing, Steps)//先转向TurnTo(Facing)for i in range(Steps-1)//清除障碍 需要考虑大树桩和大石头这些大障碍 还有水池(type:Property) 水池的判断没有写if bot.ahead != null then//如果前面不为耕过的地(有的话bot.clearAhead也会一起清除)且不为大障碍if bot.ahead.name != "HoeDirt" and bot.ahead.type !="Clump" thenbot.clearAhead//如果无法清除的障碍不为终点就绕过去//如果无法清除的障碍为终点则跳出循环//还要判断是否有水池end ifend ifbot.forwardwait(WaitTime)end for
end function

移动至目标位置 ToX为X的目标坐标 Y坐标同理

bot.position.x为获取当前的x坐标

bot.moveTo = function(ToX,ToY)moveX = ToX - bot.position.xmoveY = ToY - bot.position.ybotTurnTo = 1//X轴面对的方向if moveX < 0 thenmoveX=-moveXbotTurnTo = 3end if
//在X轴移动
if moveX !=0 thenbot.moveStraight(botTurnTo, moveX)end if
//Y轴面对的方向
if moveY > 0 thenbotTurnTo = 2
else if moveY < 0 thenmoveY = -moveYbotTurnTo = 0
end if
//Y轴移动
if moveY !=0 thenbot.moveStraight(botTurnTo, moveY)end if
end function

使用水壶并往前移动一格

判断水壶是否为空 可以使用bot.inventory[index].waterLeft
这里index为水壶的序号 可以用bot.inventory[index].Name=="Watering Can"获得index

这里装水的位置(72,27)为图中红圈 你可以自由设置

UseWateringCanAhead = functionbot.select "Watering Can"bot.useTool//这里为判断浇水后此地是否干燥if bot.ahead.dry ==1 thenStX = bot.position.xStY = bot.position.y//在72,27装水bot.moveTo(72,27)TurnTo(2)bot.select "Watering Can"bot.useToolbot.moveTo(StX,StY)//重新浇水TurnTo(3)bot.select "Watering Can"bot.useToolend ifbot.forwardwait(WaitTime)
end function

浇水主函数

浇水的起始位置我设为白圈处 即田地最右上角的那块地的右一格

WaterMain = function(line, column)//获取浇水前的位置WaterOriginX = bot.position.xWaterOriginY = bot.position.yTurnTo(3)//逐行列浇水
for c in range(1,column)for l in range(1,line)UseWateringCanAheadend forbot.moveTo(WaterOriginX, WaterOriginY+c)TurnTo(3)
end for//回到原位bot.moveTo(WaterOriginX,WaterOriginY)
end function

最后别忘了运行函数

WaterMain(Line,Column)

程序使用方法

1.将上述代码按文章顺序复制 用记事本之类的软件打开 保存为.ms文件

2.将这个.ms文件放置在 本文章的一些笔记-->7. 所说的usr路径里面

3.右击机器人 输入代码

load "文件名"
run

这里我将文件保存为"water.ms"

星露谷物语(Stardew Valley)Mod Farmtronics 机器人自动浇水代码相关推荐

  1. 星露谷物语json_星露谷物语 NPC地图显示MOD 怎么让地图显示NPC

    星露谷物语 NPC地图显示MOD 怎么让地图显示NPC MOD说明: 地图上实时显示npc的位置. 使用方法: 通过游戏菜单或者按快捷键"M"打开地图界面.使用TAB按键来打开Mo ...

  2. 星露谷物语json_星露谷物语人物美化mod大全 最新mod第二弹

    今天琵琶网小编给各位小伙伴带来星露谷物语人物美化mod大全,这是小编给大家收集到的 最新mod第二弹,赶紧随小编一起去看看最全mod下载地址汇总吧(•̀ᴗ•́)و ̑̑ 星露谷物语mod大全: Ene ...

  3. 星露谷物语多玩家不显示服务器模式,《星露谷物语》多人模式最新详情 玩家之间可结婚!...

    <星露谷物语(Stardew Valley)>开发团队今日带来了有关本作多人模式的最新消息.他们预计将在今年年底前为Steam用户开放beta测试,并在这期间鼓励Mod作者更新他们的Mod ...

  4. 星露谷物语服务器没有空闲位置什么意思,星露谷物语没有按照任务去找巫师 | 手游网游页游攻略大全...

    发布时间:2016-04-10 星露谷物语孤单之石怎么去?在星露谷物语里,会有着各种各样的玩法,其中就有玩家问孤单之石怎么去呢?下面就给各位玩家介绍一下. 我玩到第四年试了些方法去不了,理论上不应该是 ...

  5. 星露谷物语联机服务器位置已满,《星露谷物语》将于明年更新多人联机模式,年底先在Steam平台开放测试...

    星露谷物语(Stardew Valley)相信大家都不陌生,如果游戏中加入了联机模式,一定会更加欢乐--于是,游戏的官方博客上更新了一篇关于多人联机模式的消息. 撰写本篇博客的是游戏发行商Chuckl ...

  6. 星露谷物语联机开服务器的人不在线,《星露谷物语》多人联机模式细节公布 竟可与NPC结婚!...

    <星露谷物语>多人联机模式细节公布 竟可与NPC结婚! 2017-08-02 12:34:28来源:游戏下载编辑:评论(0) 今天,Chucklefish宣布,旗下模拟经营游戏<星露 ...

  7. 星露谷物语json_《星露谷物语》MAC版MOD使用教程

    导 读 <星露谷物语>MAC版MOD怎么安装使用,不少MAC版玩家为此很苦恼,MAC要怎么才能使用MOD呢,今天小编就为大家带来了星露谷物语MAC版MOD使用教程,还不会的小伙伴赶紧来瞧瞧 ...

  8. html怎么安装整合包,星露谷物语|SMAPI安装教程,MOD推荐!

    星露谷物语在steam上面没有创意工坊,所以如果在游戏的游玩中需要使用MOD的话,我们只能去NEXUSMODS第三方网站下载安装MODS.而在安装MODS之前,需要先安装SMAPI才可以正常使用MOD ...

  9. 星露谷物语的MOD加载教程

    星露谷物语MOD安装教程 1:先安装最新版本的SMAPI 第1部分:安装SMAPI 第2部分:配置Steam 1.保持SMAPI的安装程序窗口打开. 2.在安装程序窗口中复制如下所示的文本(请参阅如何 ...

最新文章

  1. ALD技术,相机去噪,图像传感器
  2. windows照片查看器无法显示此图片_Real3d PhotoViewer下载-照片查看器 v1.2.2 官方版...
  3. JS排序算法之插入排序
  4. 数据结构与算法 - 稀疏数组(理解+代码实现案例)
  5. JVM虚拟机-Class文件之访问标志
  6. NFT火了,12岁男孩用 Python 写了一个「表情包」,赚了250万
  7. java se development kit可以卸载吗_首款纯电版MINI COOPER详细评测,或将国产,值得等吗?...
  8. Oracle 安装报错 [INS-06101] IP address of localhost could not be determined 解决方法[转]
  9. [Java] 蓝桥杯ALGO-62 算法训练 平方计算
  10. MOQL—过滤器(Filter)
  11. I2S原理分析(二十九)
  12. aGlass 2 绘出射线的交点并用红色小球显示
  13. java pdf 转tif_JAVA中 PDF文件转成TIFF文件的2种方式
  14. kNN_hand_writing(机器学习)
  15. unity3d 获取 Advertising ID
  16. 阿斯利康联手多家诊断公司,共建肺癌诊疗生态圈
  17. opencv+mnist识别手写数字串
  18. Rolling In The Deep中文歌词翻译能对的上节奏
  19. https://vkceyugu.cdn.bspapp.com/VKCEYUGU-5e444e88-b038-4060-8096-b66a1ee2f304/e7274947-16bb-444a-ae8
  20. CE162Lec06的学习记录

热门文章

  1. 华龙进城 一家河北农村草根起家的企业发展史(图)
  2. Windows 2003 server 搭建拨号服务器
  3. Docker下elasticsearch8部署、扩容、基本操作实战(含kibana)
  4. C# WinIo获取键盘记录
  5. 跟java有关的搞笑句子,有关搞笑的经典语句
  6. linux webdav 乱码,webDav遇到的乱码问题
  7. 核心单词Word List 42
  8. 火焰检测 python
  9. DNS云学堂 | 权威DNS那些事儿(上)
  10. private static final long serialVersionUID = 1L 是什么意思