内置JAPI

来自咸鱼维基
跳转至: 导航 搜索

魔兽地图编辑器导航

内置JAPI是延伸自JAPI的一种技术。
内置JAPI是利用Return Bug实现的对魔兽地图编辑器内核功能的拓展。这个技术的出现使得魔兽地图的底层功能被解放,开发者可以使用内置JAPI来自行改写GUI底层、撰写网络协议、实现服务器链接等功能。

内置JAPI技术的研究者有w4454962飝夫斯基,现唯一维护者为w4454962。

支持魔兽争霸3版本为1.24至1.28(以最新版内置JAPI为准)
不兼容原因

  1. 因为内置JAPI使用了哈希表,所以war31.24以前的版本无法使用内置JAPI。
  2. 因为war31.29修复了return bug,所以war31.29无法使用内置JAPI。

注意!内置japi长期未更新对各大平台的兼容度随时间推移逐渐下降


已发布版本[编辑]

1.34[编辑]

更新内容

  1. 修复了 获取图像像素高 错误的bug
  2. 修复了 设置图像Y轴 后鼠标移动事件无效的bug
  3. 修复了 腾讯平台 小退后再次玩图崩溃的bug
  4. 修复了 错误的图片路径创建对象 导致崩溃的bug
  5. 修复了 设置伤害函数,伤害类型函数有几率崩溃的bug
  6. 修复了 获取文字字符串错误的bug
  7. 修复了 cj编译器崩溃的问题
  8. 新增 jass崩溃跟踪器
  9. 新增 异步掉线跟踪器 (ps:包括掉线包括跟踪lua引擎)
  10. 兼容了openGL模式 不崩溃 d3d效果无效而已

提示

  • 8跟9地图里有使用的例子 触发里打开之后才会启动。

1.33[编辑]

更新内容

  1. 修复设置文字时间崩溃的bug
  2. 修复最小化窗口加载地图时崩溃的bug
  3. 修复本地发布目标命令崩溃的bug
  4. 修复本地发布无目标命令时显示 调试信息的bug
  5. 修复japi常量库里有错误的代码导致保存地图时报错的bug
  6. 修复了崩溃时遗留文件的bug
  7. 修复了 获取触发按键操作 获取 按下 弹起 是相反的bug
  8. 重写了部分底层实现
  9. 增加 获取地图名字的japi
  10. 修复了 SetTexture 更新图像没有 重新设置显示矩形的bug

Q & A

  • JAPI常量库的代码报错,怎么解决?
    • 手动将JAPI常量库的代码复制到“自定义代码区”顶部即可。

1.32[编辑]

更新内容

  1. 修复了网易平台全屏不拉伸崩溃的bug
  2. 修复了网易平台看录像,观战崩溃的bug
  3. 修复了11平台崩溃的bug
  4. 修复了11平台全屏不拉伸崩溃的bug
  5. 修复了内置RB语法检测 返回整数在实数类型被错认为是 rb语法
  6. 重写jass脚本代码 剔除cjass语法 删除lua预处理 增加兼容性

1.31[编辑]

更新内容

  1. 修复联网崩溃的bug

1.3[编辑]

更新内容

修复

  1. 修复 获取 修改图像绘制优先级的错误
  2. 修复 lua引擎里,伤害跟获取单位攻击之类的japi无效的错误
  3. 修复 鼠标快速移动时,鼠标移动事件不响应的bug
  4. 修复 输入框状态下,由于输入法导致按键事件错误响应

更改

  1. 更改 去除字体的 设置下划线
  2. 更改 去除字体的 设置删除线
  3. 更改 去除获取地形鼠标位置的z轴
  4. 更改 改动屏幕坐标系 改为 左下角(0,0) 右上角(1024,768)
  5. 更改 字体大小按窗口比例计算
  6. 更改 优化屏幕绘制的性能,且d3d9.0b更新为d3d9.0c性能再之提升
  7. 更改 lua引擎增加所有自定义接口
  8. 更改 显示、隐藏 魔兽的fps文字的实现 并且增加在j的接口里
  9. 更改 获取当前魔兽的fps值的实现,并且增加在j接口里。

新增

  1. 新增 模拟聊天的japi
  2. 新增 自动暗图标的japi,不用再暗图标路径了
  3. 新增 异步发布无目标命令,异步发布目标命令
  4. 新增 获取鼠标当前指向的单位,物品,可破坏物
  5. 新增 获取聊天输入框打开、关闭状态
  6. 新增 设置按键 按下、弹起(模拟按键)
  7. 新增 关闭、打开 图像触发器
  8. 新增 获取图像像素
  9. 新增 获取、设置 图形的旋转角度(图像自转)
  10. 新增 获取、设置 图像的绘制矩形(图像裁剪,可以切割显示一部分图像)
  11. 新增 隐藏魔兽ui的japi
  12. 新增 获取窗口宽、高

提示

  • 移植触发 japi别类里的触发 还有输入管理器里的 callback 跟 wenhao_plugin.tga 这2个文件按原名移植 到你的地图里即可。

早期版本[编辑]

功能列表(只列举内置japi1.34)[编辑]

移植方法[编辑]

  1. 下载最新版内置japi演示地图(此处以1.34为例子)
  2. 用YDWE打开演示地图(使用YDWE打开前,先复制一份地图。有些YDWE可能会出错,换一版本就行了)
  3. 保存并测试地图,确认可以正常运行。如果打算在对战平台上使用,需先用演示图去平台上测试是否可用且功能正常。
  4. 复制文件和触发到新的地图内置japi使用1.png
    内置japi使用2.png

使用须知[编辑]

  1. 使用YDWE的japi可以直接用YDWE提供的UI,内置japi可以兼容。题外话,因为就是移植YDWE的japi,所以一模一样,包括bug。
  2. 使用了内置japi后,就不能使用return bug。因为内置japi自带rb语法检测器,会让地图无法使用。题外话,1.24的rb无法正常通过YDWE的代码编译(大概是pjass),会被强制修改代码,使rb失效。
  3. 使用内置japi和japi一样,调用那些函数即可,要学这个魔兽地图编辑器:脚本语言(注意jass,vjass必须会点,Lua可选)。题外话,使用难度和制作内置japi,japi的难度比,完全不是一个次元的。

功能展示[编辑]

相关话题[编辑]