查看: 2706|回复: 6

[胡扯] 【JGSS1脚本】事件自动追逐主角

[复制链接]

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2015-10-16 14:23:27 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

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

×
本帖最后由 喵呜喵5 于 2015-10-16 14:37 编辑

使用说明:
将对应事件的移动路径的脚本中输入
  1. M5Script.m5_20151016_fr.move_to(this,$gamePlayer.x,$gamePlayer.y)
复制代码
之后该事件就会接近主角并自动寻路,同理,你也可以将后面两个参数换成其他内容,例如
  1. M5Script.m5_20151016_fr.move_to(this,3,3)
复制代码
事件就会自动朝坐标(3,3)移动

更更特殊的用法,在移动路径中输入脚本:
  1. M5Script.m5_20151016_fr.move_to(3,3,3)
复制代码
控制3号事件向(3,3)移动一步
  1. M5Script.m5_20151016_fr.move_to(-1,3,3)
复制代码
控制主角向(3,3)移动一步

脚本本体:

[pre lang="javascript"]var M5Script = window.M5Script || { alias : {}, imported : {} }
M5Script.imported["m5_20151016_fr"] = 20151016
M5Script.alias["m5_20151016_fr"] = {
    method1 : Game_Character.prototype.searchLimit
}
M5Script.m5_20151016_fr = {
    get_character : function (param){
        if ( isNaN(param) ) return param
        if (param == -1) return $gamePlayer
        return $gameMap.event(param)
    },
    move_to : function (character,x,y){
        var character = this.get_character(character)
        direction = character.findDirectionTo(x, y)
        if (direction > 0) character.moveStraight(direction)
    }
}[/pre]

如何插入脚本:

我也不知道……我又没有MV= =,脚本是看着之前范例工程的源代码写的= =
这个脚本更类似于一个练习,alias啦imported啦这些没必要的东西都先弄出来了,等到MV实际发售时再看看官方MV的代码规范是怎么样的吧……



P.S

如何不想插入这个脚本,你可以直接输入
  1. (function(){ if ( (var d = findDirectionTo(x, y) != 0 ) moveStraight(d) })()
复制代码
来实现相同的效果(未测试)

等我完全搞懂了JS的对象和继承之后再写一个能一条指令走到底的版本……

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-10-16 15:41:43 | 显示全部楼层
本帖最后由 taroxd 于 2015-10-16 15:58 编辑

[pre lang="javascript"]
root.__defineGetter__('M5Script', function(){});
[/pre]

要不喵呜喵先适应一下 camelCase?

点评

骆驼箱子,不对,是骆驼祥子!  发表于 2015-10-16 19:36
回复

使用道具 举报

百合控

梦石
0
星屑
6548
在线时间
1275 小时
注册时间
2013-8-21
回帖
3522

开拓者

发表于 2015-10-16 15:43:59 | 显示全部楼层
M5Script = 1
回复

使用道具 举报

梦石
10
星屑
1516
在线时间
1088 小时
注册时间
2013-9-4
回帖
1254
发表于 2015-10-16 16:40:41 | 显示全部楼层
都看不懂。。。。以后就是喵咪的天下了,单身狗默默路过。。。。。
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
88
在线时间
631 小时
注册时间
2014-8-4
回帖
3243
发表于 2015-10-16 19:19:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
48
在线时间
784 小时
注册时间
2013-1-4
回帖
1057
发表于 2015-10-16 20:46:49 | 显示全部楼层
this._windowLayer is undefined
这是肿么了QAQ

点评

“只是修改原版的结果出这种状况了”你信不信我能找出一百种方式弄出你所回复的这个错误?  发表于 2015-10-16 23:11
RM-GUI延期。。。最近被黑心老板压迫T_T
二次元少女的shitake,长着长脸,身高165,蓝色卷双马尾,FCUP,瞳色黑色,病气和御宅属性,是天才少女。
回复

使用道具 举报

梦石
0
星屑
45
在线时间
47 小时
注册时间
2009-6-1
回帖
112
发表于 2015-10-16 21:39:03 | 显示全部楼层
墨凌羽 发表于 2015-10-16 20:46
this._windowLayer is undefined
这是肿么了QAQ

可能是插錯地方,執行到的時候那個變數還沒被定義,所以就跳出錯誤了

Java Script有個需要注意的地方是變數除了有值以外,還有null與undefined這兩個類型
雖然同樣都是沒有值,但null與undefined還是有不少差異

null是有這變數但是變數沒有值,undefined則是根本還沒有這變數
前者的話Java Script還會傳回null給你,後者你試圖呼叫的時候因為找不到,所以就報錯了

点评

↓……连原型继承都搞不清楚就能做到用js新建一个类了啊  发表于 2015-10-16 23:23
感谢回复。。。我没插上边的脚本 只是修改原版的结果出这种状况了【自己新建了一个window类 nill和undefined我是知道的。。。不过原型继承什么的就.....   发表于 2015-10-16 22:23
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部