跨区域复制建筑UI输入框脚本迷你世界

7d59013d332a4b2e94e399bd173dce2c.jpg

0ead2f307d144dfd94d64e510a35e0df.jpg 

5c6a429cf0b24d389f7f96da34dafde3.jpg 

 

--复制区域文件
--设置坐标起点,终点
--创建区域
--获取坐标id,data
--星空露珠工作室制作
local pos1={x=-16,y=7,z=28}
local pos2={x=28,y=44,z=-9}
local block={num=0}
local str={}
local str0={}
local num=0
local count=0
local ui=6 --几个输入框  
local ro=math.random(33,65)
local io=[=[
 --别墅脚本
 --跨图复制脚本直接粘贴这里 
 --local strio={}
--核心解析脚本勿动,坐标可以修改
local x0,y0,z0=0,7,0 -- 生成坐标
local ro=str.ro
local function setBlock(x,y,z,id,data) print(x+x0,y+y0,z+z0,id,data) end --Block:setBlockAll(x+x0,y+y0,z+z0,id,data)
local function ay(id,te) setBlock(string.byte(te,1)-ro,string.byte(te,2)-ro,string.byte(te,3)-ro,id,string.byte(te,4)-ro) end
 for k,v in pairs(strio) do  print(k.."_长度"..string.len(v).."_块数"..string.len(v)/4)  while string.len(v)>2 and k~="ro" do local s0=string.sub(v,1,4) v=string.sub(v,5) ay(k,s0) threadpool:wait(time) end   end
print("生成成功")
]=]
--破坏方块
local function destoryBlock(x,y,z)  Block:destroyBlock(x,y,z,false) end
--放置方块
local function setBlock(x,y,z,id,data) Block:setBlockAll(x,y,z,id,data) end
--获取方块id并返回
local function getblockid(x,y,z) local result,id=Block:getBlockID(x,y,z)  return id end 
local function getblockdata(x,y,z) local result,data=Block:getBlockData(x,y,z) return data end
--创建一个区域
local result,areaid=Area:createAreaRectByRange(pos1,pos2)
--获取指定区域的起点和终点坐标,参数为区域id
local result,posBeg,posEnd=Area:getAreaRectRange(areaid)
print(posBeg)
print(posEnd)
local x,y,z=posBeg.x,posBeg.y,posBeg.z
str0={[1]="--跨图粘贴建筑\n--复制的文件  粘贴在下面 ( local str={}) \n local strio={"}
  for i=0,posEnd.y-posBeg.y do
    for j=0,posEnd.x-posBeg.x do
      for k=0,posEnd.z-posBeg.z do       
       if getblockid(x+j,y+i,z+k)~=0 and getblockid(x+j,y+i,z+k)~=4095 then           
        local id,data=getblockid(x+j,y+i,z+k), getblockdata(x+j,y+i,z+k) 
        local char=string.char(j+ro,i+ro,k+ro,data+ro)
          if block[id]~=true then block[id],block.num=true,block.num+1 print(id) 
          str[id]={[1]="["..id.."] =[=["..char}
          else 
          if string.len(str[id][#str[id]])+200>6000 then
          str[id][#str[id]+1]=char
         else
          str[id][#str[id]]=str[id][#str[id]]..char    
          end
         end
         count=count+1
       end        
      end 
     end
   end
print('获取完成共有方块:'..count.."\n共有几种:"..block.num)
Chat:sendSystemMsg("获取完成共有方块:"..tostring(count).."\n共有几种:"..tostring(block.num))
for k,v in pairs(str) do 
 for k0,v0 in pairs(v) do
  if string.len(str0[#str0])+string.len(v0)>10000 then     
   if k0==1 then str0[#str0]=str0[#str0].."]=],\n" 
      str0[#str0+1]=v0      
     if k0==#v then str0[#str0]=str0[#str0].."]=],\n" end
   else
     if k0==#v then str0[#str0+1]=v0.."]=]\n"  else str0[#str0+1]=v0 end
   end
  
  else 
   if k0==1 then str0[#str0]=str0[#str0].."]=],\n"..v0
     if k0==#v then str0[#str0]=str0[#str0].."]=],\n" end
   else
     if k0==#v then str0[#str0]=str0[#str0]..v0.."]=],\n"    else str0[#str0]=str0[#str0]..v0 end
   end
  end
 end
end
str0[#str0]=str0[#str0].."]=],ro="..ro.."}".."\n"..io
print("需要写入原件共需要:"..tostring(#str0).."个,每次点击按钮可写入"..tostring(ui).."个")
Chat:sendSystemMsg("需要写入原件共需要:"..tostring(#str0).."个,每次点击按钮可写入"..tostring(ui).."个")
for k,v in pairs(str0) do  print(string.len(v))  end
local num=0
local function o(e)
 if num==-1  then return end
 print("按钮点击:"..num+1)
 Chat:sendSystemMsg("当前写入第几页:"..tostring(num+1))
 for i=1,ui do
   if ui*num+i<=#str0 then local code = Customui:setText(e.eventobjid,e.CustomUI,e.CustomUI.."_"..i,str0[ui*num+i])     else  print("endend")  Chat:sendSystemMsg("完整获取,可重复循环")  num=0  return end          
 end
 num=num+1  
end
ScriptSupportEvent:registerEvent("UI.Button.Click",o)
--eventobjid,CustomUI,uielement
--UI.Button.Click

--[[
--跨图粘贴建筑
--复制的文件  粘贴在下面 ( local str={})

local str={}


--核心解析脚本勿动,坐标可以修改

local x,y,z=0,7,0 -- 生成坐标
local ro=str.ro
local function ay(id,te) setBlock(x+string.byte(te,1)-ro,y+string.byte(te,2)-ro,z+string.byte(te,3)-ro,id,string.byte(te,4)-ro) end
 for k,v in pairs(str) do   
    print(k.."_长度"..string.len(v).."_块数"..string.len(v)/4)
    while string.len(v)>2 and k~="ro" do local s0=string.sub(v,1,4) v=string.sub(v,5) ay(k,s0) end  
 end
print("生成成功")

]]
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/410707.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

辽宁博学优晨教育视频剪辑培训探索学习新意义

在当今数字化快速发展的时代&#xff0c;视频已成为信息传达的重要载体。辽宁博学优晨教育视频剪辑培训应运而生&#xff0c;不仅为学员提供了专业的学习平台&#xff0c;更在探索学习的意义方面赋予了新的内涵。 视频剪辑作为现代媒体行业的重要技能&#xff0c;其学习意义不仅…

武汉建筑安全员ABC小题库不存在未雨绸缪“时间够”

武汉建筑安全员ABC小题库不存在未雨绸缪“时间够” 关于武汉三类人员&#xff08;安全员ABC&#xff09;考试小题库&#xff0c;一般都是考试时间出来&#xff0c;准考证下来了&#xff0c;匹配题库&#xff0c;好好看题&#xff08;认真练习即可&#xff09;&#xff0c;一般…

如何在Linux搭建MinIO服务并实现无公网ip远程访问内网管理界面

文章目录 前言1. Docker 部署MinIO2. 本地访问MinIO3. Linux安装Cpolar4. 配置MinIO公网地址5. 远程访问MinIO管理界面6. 固定MinIO公网地址 前言 MinIO是一个开源的对象存储服务器&#xff0c;可以在各种环境中运行&#xff0c;例如本地、Docker容器、Kubernetes集群等。它兼…

微信小程序(四十五)登入界面-简易版

注释很详细&#xff0c;直接上代码 上一篇 此文使用了vant组件库&#xff0c;没有安装配置的可以参考此篇vant组件的安装与配置 新增内容&#xff1a; 1.基础组件的组合 2.验证码倒计时的逻辑处理 源码&#xff1a; app.json {"usingComponents": {"van-field…

数据结构知识点总结-绪论 数据结构基本术语 算法及评价

要求 &#xff08;1&#xff09;对数据结构这么课学了哪些知识有个清楚的认知&#xff1b; &#xff08;2&#xff09;掌握目录结构&#xff0c;能复述出来每个知识点下都有哪些内容。 如下图所示&#xff0c;可自行制作思维导图&#xff0c;针对自己薄弱的地方进行复习。 …

签三方协议?大家一定要注意的问题!

签三方协议&#xff1f;大家一定要注意的问题&#xff01; 一、三方协议是什么&#xff1f;二、签三方协议要注意什么&#xff1f;1、待遇问题2、发展机会3、违约金 三、三方协议的一些疑问&#xff1f;1、三方协议和劳动合同的区别&#xff1f;2、签了三方会失去应届生身份嘛&…

Bentley全球COO康岷思:中国市场特别且重要

吴付标 疫情之后&#xff0c;中国再次敞开国门&#xff0c;欢迎四海友人。Bentley全球首席运营官康岷思正是其中的一位。 康岷思三年前加入Bentley管理团队。笔者在2023年10月份在新加坡召开的纵览基础设施大会暨光辉大奖盛典上第一次见到他。中国基础设施数字化先锋们所讲述的…

Vue:基本命令的使用(代码 + 效果)

文章目录 Hello Vue!el: 挂载点datamethods vue命令v-textv-htmlv-on v-showv-ifv-bindv-forv-model Hello Vue! <!DOCTYPE html> <html><head><title>Hello Vue!</title></head><body><div id"app">{{ message }}…

RabbitMq:RabbitMq消息中的相关处理 ③

一、解耦思想 在 RabbitMQ 在设计的时候&#xff0c;特意让生产者和消费者分离&#xff0c;也就是消息的发布和消息的消费之间是解耦的。 生产者与消费者之间的直连&#xff0c;少了很多的灵活性和策略的制定。还有一种解耦的思想存在。 二、消息的可靠性保证与性能关系 消息的…

Nacos简易示例

目录 步骤&#xff1a; 1. 下载并启动 Nacos Server 2. 创建用户订单微服务 2.1 创建 Spring Boot 项目 2.2 添加依赖 2.3 配置 Nacos 2.4 编写业务逻辑 3. 注册服务到 Nacos 4. 测试服务 Nacos 是一个开源的服务发现和配置管理系统&#xff0c;可以用于微服务架构中的…

QT数据库

八、数据库 准备工作 Qt本身并没有数据库功能&#xff0c;但是Qt支持调用其他主流的数据库产品。并且这些数据库产品指定了统一的Qt接口&#xff0c;实际上是一种数据库的中间件。 Qt支持以下数据库类型&#xff1a; 嵌入式常用的数据库式SQLite3&#xff0c;本体只有几兆大小&…

Linux进程 ----- 信号处理

前言 从信号产生到信号保存&#xff0c;中间经历了很多&#xff0c;当操作系统准备对信号进行处理时&#xff0c;还需要判断时机是否 “合适”&#xff0c;在绝大多数情况下&#xff0c;只有在 “合适” 的时机才能处理信号&#xff0c;即调用信号的执行动作。 一、信号的处理…

什么是代码签名证书中的“硬证书”?

代码签名证书是用于验证和签名软件程序的一种数字证书。使用代码签名证书&#xff0c;可以保护代码完整性、防止非法篡改&#xff0c;标识软件发行商的身份并确保软件来源可信。按不同验证级别&#xff0c;代码签名证书分为扩展验证型EV代码签名证书、企业验证型OV代码签名证书…

babylonjs入门模

基于babylonjs封装的一些功能和插件 &#xff0c;希望有更多的小伙伴一起玩babylonjs&#xff1b; 欢迎加群&#xff1a;464146715 官方文档 中文文档 最小模版 ​ 代码如下&#xff1a; 在react中使用 import React, { FC, useCallback, useEffect, useRef, useState } f…

LINE封号全面解析:原因、判断方法与申诉渠道

在LINE中被封锁有两个方面&#xff1a;一是你被好友屏蔽&#xff0c;另一是遭到平台官方的封锁。通常用户会用“停权”来代表LINE的官方封锁&#xff0c;在实际操作上&#xff0c;所谓的停权并不意味着你的账户完全无法使用&#xff0c;只是没办法与好友发送消息&#xff0c;更…

聊一聊EGO-Planner膨胀系数的大小对无人机避障飞行的影响

EGO-Planner简介 EGO-Planner作为业界知名的无人机轨迹规划算法&#xff0c;其优势在于能够在复杂环境中快速规划出安全、平滑且动态可行的飞行轨迹。在这个算法中&#xff0c;膨胀系数发挥着关键作用。它通过扩大障碍物的感知范围&#xff0c;提供额外的安全边距&#xff0c;…

如何使用Lychee+cpolar搭建本地私人图床并实现远程访问存储图片

文章目录 1.前言2. Lychee网站搭建2.1. Lychee下载和安装2.2 Lychee网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 图床作为图片集中存放的服务网站&#xff0c;可以看做是云存储的一部分&#xff0c;既可…

c++ Qt 网络连接

1、基础概念 1.1 TCP/UDP TCP 是一种面向连接的传输层协议&#xff0c;它能提供高可靠性通信(即数据无误、数据无丢失、 数据无失序、数据无重复到达的通信) 适用情况&#xff1a; 1.SN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议 2、适合于对传输质量要求较…

网站开发--详解Servlet

&#x1f495;"Echo"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;网站开发–详解Servlet 一.基本介绍 tomcat是Java中开发服务器的重要的一个工具,任何开发的服务器都要部署在tomcat之上,可以说tomcat是所有服务器的底座,为了更好的操作http,to…