スクリプト/配列を使わない経験値制Lvアップ
最終投稿者:
___
更新:2013/04/18 18:26:55
配列を使わない、初心者でもできる(?)経験値制LVアップスクリプトの書き方をやっていきます。
※wiki投稿は今回が初めてなので、説明が変になったりするかもしれません。指摘はびしばしお願いします
先に経験値を使う方法を考えてくれた方々には悪いのですが、
正直、配列はよくわからない・・・
僕は配列を使わずにいろいろやってきたので、その1つ、経験値制LVアップを教えます。
それでは、説明しましょう。
※2DRPGで使用することを目的しています。2Dアクションで使用するとエラーが発生し兼ねませんので注意。
開始スクリプトには
ごちゃごちゃした変数の説明をしますね。
変数「LVアップまでの経験値」この数値を超えるとLVアップします。
変数「ゲット経験値」敵から手に入れた経験値。
変数「総合経験値」今まで溜めた経験値。
変数名長すぎますね。自分でわかるなら短くしてもらってもかまいませんです
敵に書くスクリプト
変数「ゲット経験値」に適量の経験値を設定してください
めんどくさいですが、敵に変数「ゲット経験値」一つ一つ設定する必要があります。
そこらへんは配列を必要としない方法なので、我慢してください(殴
スタートターンバトルのところは、設定したい敵のidに変えてください。
変えないと動作しません。
有効条件にはこう書いてください
敵を復活させるには、「スクリプト/コツ/敵を倒すとお金が手に入る」を参考にしてみてください
敵復活を必要としない場合は、ENEMYに
と書くだけで十分です。あ、もちろん経験値は変えてください
説明はこれでオワリです。お疲れ様です。
たぶんいまのままじゃ、文章的にわかりにくいと思うので、
わかりやすく書き直してほしいです。すみません。
ちなみに、この方法はさんぽクエスト - 【2DRPG】に使っています。
どんな感じになるか、見てみるのもいいかもしれませんね。
ツイート
※wiki投稿は今回が初めてなので、説明が変になったりするかもしれません。指摘はびしばしお願いします
先に経験値を使う方法を考えてくれた方々には悪いのですが、
正直、配列はよくわからない・・・
僕は配列を使わずにいろいろやってきたので、その1つ、経験値制LVアップを教えます。
それでは、説明しましょう。
※2DRPGで使用することを目的しています。2Dアクションで使用するとエラーが発生し兼ねませんので注意。
開始スクリプトには
setVariable("LVアップまでの経験値", 10)
setVariable("総合経験値", 1)
def exp()
speak("ゲット!\n経験値 " , getVariable("ゲット経験値") , "")
setVariable("総合経験値" , getVariable("総合経験値") + getVariable("ゲット経験値"))
# ↓今持っている経験値が、次LVアップする数値を超えている場合
if getVariable("総合経験値") > getVariable("LVアップまでの経験値")
speak("LVアップ!")
levelUp()
speak("LV." , getLevel() , "になった\nいろいろ能力が上がった(笑)")
# ↓次LVアップするまでの経験値を10足します。
setVariable("LVアップまでの経験値" , getVariable("LVアップまでの経験値") + 10)
setVariable("総合経験値" , 1)
end
end
ごちゃごちゃした変数の説明をしますね。
変数「LVアップまでの経験値」この数値を超えるとLVアップします。
変数「ゲット経験値」敵から手に入れた経験値。
変数「総合経験値」今まで溜めた経験値。
変数名長すぎますね。自分でわかるなら短くしてもらってもかまいませんです
敵に書くスクリプト
startTurnBattle(7637, 7637, 7637)
if getTurnBattleResult() ==
getTurnBattleWin()
#勝ったとき
setVariable("ゲット経験値", 15)
exp()
setFlag("1", true)
elsif getTurnBattleResult() ==
getTurnBattleLose()
#負けたとき
elsif getTurnBattleResult() ==
getTurnBattleRunAway()
#逃げたとき
end
変数「ゲット経験値」に適量の経験値を設定してください
めんどくさいですが、敵に変数「ゲット経験値」一つ一つ設定する必要があります。
そこらへんは配列を必要としない方法なので、我慢してください(殴
スタートターンバトルのところは、設定したい敵のidに変えてください。
変えないと動作しません。
有効条件にはこう書いてください
!getFlag("1")
敵を復活させるには、「スクリプト/コツ/敵を倒すとお金が手に入る」を参考にしてみてください
敵復活を必要としない場合は、ENEMYに
setVariable("ゲット経験値", 15)
exp()
と書くだけで十分です。あ、もちろん経験値は変えてください
説明はこれでオワリです。お疲れ様です。
たぶんいまのままじゃ、文章的にわかりにくいと思うので、
わかりやすく書き直してほしいです。すみません。
ちなみに、この方法はさんぽクエスト - 【2DRPG】に使っています。
どんな感じになるか、見てみるのもいいかもしれませんね。
コメントする
コメントするには、ログインする必要があります。
コメント一覧
これだと仲間には経験値入らないのが欠点ですなー。
だり(死
どうせなら運営さんが基本関数として作ってくれれば早いんですけどね^^
お店も基本関数になったし、今の運営さんならできるはずです!
お店も基本関数になったし、今の運営さんならできるはずです!
if getVariable("総合経験値") > getVariable("LVアップまでの経験値")
speak("LVアップ!")
levelUp()
speak("LV." , getLevel() , "になった\nいろいろ能力が上がった(笑)")
# ↓次LVアップするまでの経験値を10足します。
setVariable("LVアップまでの経験値" , getVariable("LVアップまでの経験値") + 10)
setVariable("総合経験値" , 1)
end
とありますが、一度に2LV以上上がるように、こうするのもいいと思います。
# ifをwhileにして、次LVアップする数値を超えている間ずっとにします。
while getVariable("総合経験値") > getVariable("LVアップまでの経験値")
speak("LVアップ!")
levelUp()
speak("LV." , getLevel() , "になった\nいろいろ能力が上がった(笑)")
# ↓次LVアップするまでの経験値を10足す前に、使った経験値を引きます。
setVariable("総合経験値" ,
getVariable("LVアップまでの経験値") - getVariable("LVアップまでの経験値"))
setVariable("LVアップまでの経験値" , getVariable("LVアップまでの経験値") + 10)
end
初心者が作ったので、あってるかどうか分かりませんが…
setVariable("LVアップまでの経験値", createArray()) setVariable("総合経験値", createArray()) getVariable("LVアップまでの経験値")[0] = 10 getVariable("総合経験値")[0] = 0 getVariable("LVアップまでの経験値")[1] = 18 getVariable("総合経験値")[1] = 0 getVariable("LVアップまでの経験値")[2] = 12 getVariable("総合経験値")[2] = 0 getVariable("LVアップまでの経験値")[3] = 15 getVariable("総合経験値")[3] = 0 def exp(a,b) speak(getVariable("ゲット経験値") , "経験値獲得した!") setVariable("総合経験値" , getVariable("総合経験値") + getVariable("ゲット経験値")) while getVariable("総合経験値") > getVariable("LVアップまでの経験値") speak("LVアップ!") levelUpPartyMember(a) speak("LV." , getLevelPartyMember(a) , "になった\n能力が上がった!") # ↓次LVアップするまでの経験値を10足す前に、使った経験値を引きます。 setVariable("総合経験値" , getVariable("LVアップまでの経験値") - getVariable("LVアップまでの経験値")) setVariable("LVアップまでの経験値" , getVariable("LVアップまでの経験値") * getVariable("LVアップまでの経験値")[b]) end endsetVariable("LVアップまでの経験値", createArray()) setVariable("総合経験値", createArray()) getVariable("LVアップまでの経験値")[0] = 10 getVariable("総合経験値")[0] = 0 getVariable("LVアップまでの経験値")[1] = 18 getVariable("総合経験値")[1] = 0 getVariable("LVアップまでの経験値")[2] = 12 getVariable("総合経験値")[2] = 0 getVariable("LVアップまでの経験値")[3] = 15 getVariable("総合経験値")[3] = 0 def exp(a,b) speak(getVariable("ゲット経験値") , "経験値獲得した!") setVariable("総合経験値" , getVariable("総合経験値") + getVariable("ゲット経験値")) while getVariable("総合経験値") > getVariable("LVアップまでの経験値") speak("LVアップ!") levelUpPartyMember(a) speak("LV." , getLevelPartyMember(a) , "になった\n能力が上がった!") setVariable("総合経験値" , getVariable("LVアップまでの経験値") - getVariable("LVアップまでの経験値")) setVariable("LVアップまでの経験値" , getVariable("LVアップまでの経験値") + getVariable("LVアップまでの経験値")[b]) endでした^^;
end
[code setVariable("LVアップまでの経験値", createArray()) setVariable("総合経験値", createArray()) getVariable("LVアップまでの経験値")[0] = 10 getVariable("総合経験値")[0] = 0 getVariable("LVアップまでの経験値")[1] = 18 getVariable("総合経験値")[1] = 0 getVariable("LVアップまでの経験値")[2] = 12 getVariable("総合経験値")[2] = 0 getVariable("LVアップまでの経験値")[3] = 15 getVariable("総合経験値")[3] = 0 def exp(a,b) speak(getVariable("ゲット経験値") , "経験値獲得した!") setVariable("総合経験値" , getVariable("総合経験値") + getVariable("ゲット経験値")) while getVariable("総合経験値") > getVariable("LVアップまでの経験値") speak("LVアップ!") levelUpPartyMember(a) speak("LV." , getLevelPartyMember(a) , "になった\n能力が上がった!") # ↓次LVアップするまでの経験値を10足す前に、使った経験値を引きます。 setVariable("総合経験値" , getVariable("LVアップまでの経験値") - getVariable("LVアップまでの経験値")) setVariable("LVアップまでの経験値" , getVariable("LVアップまでの経験値") * getVariable("LVアップまでの経験値")[b]) end end]
最後です…
setVariable("LVアップまでの経験値", createArray()) setVariable("総合経験値", createArray()) getVariable("LVアップまでの経験値")[0] = 10 getVariable("総合経験値")[0] = 0 getVariable("LVアップまでの経験値")[1] = 18 getVariable("総合経験値")[1] = 0 getVariable("LVアップまでの経験値")[2] = 12 getVariable("総合経験値")[2] = 0 getVariable("LVアップまでの経験値")[3] = 15 getVariable("総合経験値")[3] = 0 def exp(a,b) speak(getVariable("ゲット経験値") , "経験値獲得した!") setVariable("総合経験値" , getVariable("総合経験値") + getVariable("ゲット経験値")) while getVariable("総合経験値") > getVariable("LVアップまでの経験値") speak("LVアップ!") levelUpPartyMember(a) speak("LV." , getLevelPartyMember(a) , "になった\n能力が上がった!") setVariable("総合経験値" , getVariable("LVアップまでの経験値") - getVariable("LVアップまでの経験値")) setVariable("LVアップまでの経験値" , getVariable("LVアップまでの経験値") + getVariable("LVアップまでの経験値")[b]) end end配列を使ったが故にエラー出してるとか大問題でしょw