バグ?ミス?使用?(バグ報告掲示板

投稿:       mini ilikerubikcube 投稿:2010/05/02 17:00:02(最新:2010/05/06 16:04:06)
runEventMove関数がたまに上手く動作しないときがあるんですが、
バグなのか?こちらのスクリプトの書き方が悪いのか?それとも元からこうなのか?わからなくなったのでとりあえず立てました。

具体的には、特定のマスに乗れなくなったり、動かなかったりです。

必要ならばスクリプトも乗せます。

コメントする

コメントするには、ログインする必要があります。

コメント一覧

      mini ilikerubikcube(投稿日:2010/05/06 16:04, 履歴)
ありがとうございますm(__)m
Zararu128x128 mini dycoon(投稿日:2010/05/04 18:34, 履歴)
スクリプト実行状態が連続して起こると
重なっている判定がクリアされないため
このような症状が発生してしまったようです。

修正をおこないましたので直っているかと思います。

よろしくお願いします。
      mini ilikerubikcube(投稿日:2010/05/04 08:25, 履歴)
回答ありがとうございますm(__)m

修正よろしくお願いします。
Zararu128x128 mini dycoon(投稿日:2010/05/03 22:36, 履歴)
ご迷惑をおかけしてすみません。
Rmakeのバグです。

修正する方向で調査および作業をしたいと考えております。

よろしくお願いします。


      mini ilikerubikcube(投稿日:2010/05/03 12:50, 履歴)
すいません。

スクリプトは、まず下記のスクリプトを開始スクリプトに記述します。
setVariable("X",4)
setVariable("Y",8)
setVariable("S",1)

def KeyboardEvent(u,l,r,d,s)
startInput()
loop = true
while loop
while hasInput()
takeInput()
if isKeyDown("UP")
if u >= s
setVariable("Y",getVariable("Y")-s)
loop = false
setFlag("loop2",false)
else
setVariable("Y",getVariable("Y")-u)
if u >= 1
loop = false
setFlag("loop2",false)
end
end
elsif isKeyDown("LEFT")
if l >= s
setVariable("X",getVariable("X")-s)
loop = false
setFlag("loop2",false)
else
setVariable("X",getVariable("X")-l)
if l >= 1
loop = false
setFlag("loop2",false)
end
end
elsif isKeyDown("RIGHT")
if r >= s
setVariable("X",getVariable("X")+s)
loop = false
setFlag("loop2",false)
else
setVariable("X",getVariable("X")+r)
if r >= 1
loop = false
setFlag("loop2",false)
end
end
elsif isKeyDown("DOWN")
if d >= s
setVariable("Y",getVariable("Y")+s)
loop = false
setFlag("loop2",false)
else
setVariable("Y",getVariable("Y")+d)
if d >= 1
loop = false
setFlag("loop2",false)
end
end
elsif isKeyDown("1")
setVariable("S",1)
loop = false
elsif isKeyDown("2")
setVariable("S",2)
loop = false
elsif isKeyDown("3")
setVariable("S",3)
loop = false
elsif isKeyDown("4")
setVariable("S",4)
loop = false
elsif isKeyDown("5")
setVariable("S",5)
loop = false
elsif isKeyDown("6")
setVariable("S",6)
loop = false
elsif isKeyDown("7")
setVariable("S",7)
loop = false
elsif isKeyDown("8")
setVariable("S",8)
loop = false
elsif isKeyDown("9")
setVariable("S",9)
loop = false
end
end
end
endInput()
end


そして、次のスクリプトをマップチップ単位でひとつづつ記述します。


setFlag("loop2",true)
while getFlag("loop2")
KeyboardEvent(u,l,r,d,getVariable("S"))
end
setEventTarget("playerCharacterEvent", getVariable("X"), getVariable("Y"))
runEventMove()


ここで、u,l,r,dはそれぞれ「上下左右にどれだけ進めるか」の値です。また、sは「どれだけ進むか」です。

このスクリプトを実行すると、始めのほうは上手く動作してくれるんですが、しばらくやっていると突然動きにくくなったり、また特定のマスに乗れなくなったりします。

特に、マップの端で上を押したときなどに起こりやすいです。

また、マップに設定するほうのスクリプトに、そのスクリプトより先に実行するようにspeak関数やwarp関数を指定すると、たまにそれらの関数が実行されません。

ゲームID5382でこれらのスクリプトを使用中です。

原因がよくわかりません。こちらのミスかどうかもよくわからないので、
指摘していただければ早急にスクリプトを書き直します。

検討よろしくお願いします。
Zararu128x128 mini dycoon(投稿日:2010/05/03 11:25, 履歴)
Rmakeのご利用ありがとうございます。

バグ報告をされるときは以下を参照して
文章を書いていただけると問題が解決しやすいかと思います。
http://rmake.jp/boards/3

スクリプトおよび、問題が起きるゲームのidなどを
伝えていただけると対処できるかもしれません。

よろしくお願いします。