これって簡略化できない?(長文)(質問掲示板)
投稿: rdjk5242
投稿:2012/02/10 20:23:10(最新:2012/02/11 10:56:11)
ランダムの練習で作った開始スクリプトです。
また、giveEquipment(10289)
は魔法です。
タイトルに書いたように,もっと簡単に書く方法はないですか?
よろしくお願いします。
ツイート
また、giveEquipment(10289)
は魔法です。
giveEquipment(10289) speak("主人公の初期Lvは4です。") speak("目の前の敵を倒して10Lvになったらクリアです。\n\nLvアップの桁がランダムになっています。") def a() a=0 b=0 speak("戦闘終了後、ランダムで経験値を獲得します。\n\nちなみに負けてもOKです。") startTurnBattle(8677) a=a+rand(6) if a==0 speak("Lvは上がらなかった・・・") end if a==1 levelUp() speak("Lvが1上がった!") end if a==2 while b<2 levelUp() b=b+1 end speak("Lvが2上がった!") end if a==3 while b<3 levelUp() b=b+3 end speak("Lvが3上がった!") end if a==4 while b<4 levelUp() b=b+4 end speak("Lvが4上がった!") end if a==5 while b<5 levelUp() b=b+5 end speak("Lvが5上がった!") end addPlayerHP(999) addPlayerMP(999) speak("現在のLv",getLevel()) a=0 b=0 if getLevel()>=10 speak("これで終わります。") goEnding() end end
タイトルに書いたように,もっと簡単に書く方法はないですか?
よろしくお願いします。
コメントする
コメントするには、ログインする必要があります。
コメント一覧
なとおとき(投稿日:2012/02/11 10:56,
履歴)
パーティーメンバーレベルアップの関数を使えばいいとおもいま~す
>パーティーメンバーの一人一人で個別にレベルアップ
うーん・・やっぱりそれは別に作るしかないかもです・・
それと、2つ下の事についてですけど、
いちいち自動開始で確認しなくても、
def文でまとめて、敵のスクリプトに入れれば大丈夫ですよ!(たぶん・・)
こうすればもっといいと思いますw
うーん・・やっぱりそれは別に作るしかないかもです・・
それと、2つ下の事についてですけど、
いちいち自動開始で確認しなくても、
def文でまとめて、敵のスクリプトに入れれば大丈夫ですよ!(たぶん・・)
#開始スクリプト setVariable("経験値",0) c=10 def lvup() if c<=getVariable("経験値") levelUp() speak("Lvが上がった!") setVariable("経験値",getVariable("経験値"))=0 c+2 end if getlevel==10 #技を取得 end if getlevel==20 #技を取得 end if getlevel==20 #技を取得 end ・ ・ ・ end
#敵のイベント a=0;b=0 startTurnBattle(8677) a = a + rand(3)+1 while b < a setVariable("経験値",getVariable("経験値")+1) b = b + 1 end a=0;b=0 lvup()
こうすればもっといいと思いますw
長文回答ありがとうございます。
う~ん・・・
簡潔なikosamiさんの案を使ってみることにします。
これ本当は経験値制レベルアップにしようと思っているのですが、
setVariable("経験値",0)で、経験値制にして、
例えば、5から6になるときは10P必要で、
6から7になるときは12P必要のように、
すこしずつ増えるようにするにはどうしたらいいですか?
自分の考え↓
もっとこうするといいよというのがあったら教えて下さい。
う~ん・・・
簡潔なikosamiさんの案を使ってみることにします。
これ本当は経験値制レベルアップにしようと思っているのですが、
setVariable("経験値",0)で、経験値制にして、
例えば、5から6になるときは10P必要で、
6から7になるときは12P必要のように、
すこしずつ増えるようにするにはどうしたらいいですか?
自分の考え↓
#開始スクリプト setVariable("経験値",0) c=10
#敵のイベント a=0;b=0 startTurnBattle(8677) a = a + rand(3)+1 while b < a setVariable("経験値",getVariable("経験値")+1) b = b + 1 end a=0;b=0 setFlag("Lv",ture)
#自動開始イベント,発生条件はgetFlag("経験値") setFlag("Lv",false) if c<=getVariable("経験値") levelUp() speak("Lvが上がった!") setVariable("経験値",getVariable("経験値"))=0 c+2 end if getlevel==10 #技を取得 end if getlevel==20 #技を取得 end if getlevel==20 #技を取得 end ・ ・ ・
もっとこうするといいよというのがあったら教えて下さい。
こんどこそこれ。
システムはこれでいいはず!
命をかけて!
システムはこれでいいはず!
命をかけて!
giveEquipment(10289) speak("主人公の初期Lvは4です。") speak("目の前の敵を倒して10Lvになったらクリアです。\n\nLvアップの桁がランダムになっています。") setVariable("a", 0) setVariable("b", 0) speak("戦闘終了後、ランダムで経験値を獲得します。\n\nちなみに負けてもOKです。") startTurnBattle(8677) a = rand(6) if a==0 speak("Lvは上がらなかった・・・") elsif a==1 setVariable("a", getVariable("a")+1) while getVariable("b") > 1 levelUp() setVariable("a", getVariable("a")-1) end speak("Lvが1上がった!") elsif a==2 setVariable("a", getVariable("a")+2) while getVariable("b") < getVariable("a") levelUp() setVariable("a", getVariable("a")-1) end speak("Lvが2上がった!") elsif a==3 setVariable("a", getVariable("a")+3) while getVariable("b") < getVariable("a") levelUp() setVariable("a", getVariable("a")-1) end speak("Lvが3上がった!") elsif a==4 setVariable("a", getVariable("a")+4) while getVariable("b") < getVariable("a") levelUp() setVariable("a", getVariable("a")-1) end speak("Lvが4上がった!") elsif a==5 setVariable("a", getVariable("a")+5) while getVariable("b") < getVariable("a") levelUp() setVariable("a", getVariable("a")-1) end speak("Lvが5上がった!") end addPlayerHP(999) addPlayerMP(999) speak("現在のLv",getLevel()) setVariable("a", 0) setVariable("b", 0) if getLevel()>=10 speak("これで終わります。") goEnding() end
あ、こっちだった長文すみません^^;
間違ってれば参考程度に
間違ってれば参考程度に
giveEquipment(10289) speak("主人公の初期Lvは4です。") speak("目の前の敵を倒して10Lvになったらクリアです。\n\nLvアップの桁がランダムになっています。") setVariable("a", 0) setVariable("b", 0) speak("戦闘終了後、ランダムで経験値を獲得します。\n\nちなみに負けてもOKです。") startTurnBattle(8677) a = rand(6) if a==0 speak("Lvは上がらなかった・・・") elsif a==1 while getVariable("b") < 1 levelUp() setVariable("b", getVariable("b")+1) speak("Lvが1上がった!") end elsif a==2 while getVariable("b") < 2 levelUp() setVariable("b", getVariable("b")+2) speak("Lvが2上がった!") end elsif a==3 while getVariable("b") < 3 levelUp() setVariable("b", getVariable("b")+3) speak("Lvが3上がった!") end elsif a==4 while getVariable("b") < 4 levelUp() setVariable("b", getVariable("b")+4) speak("Lvが4上がった!") end elsif a==5 while getVariable("b") < 5 levelUp() setVariable("b", getVariable("b")+5) speak("Lvが5上がった!") end end addPlayerHP(999) addPlayerMP(999) speak("現在のLv",getLevel()) setVariable("a", 0) setVariable("b", 0) if getLevel()>=10 speak("これで終わります。") goEnding() end
giveEquipment(10289) speak("主人公の初期Lvは4です。") speak("目の前の敵を倒して10Lvになったらクリアです。\n\nLvアップの桁がランダムになっています。") setVariable("a", 0) setVariable("b", 0) speak("戦闘終了後、ランダムで経験値を獲得します。\n\nちなみに負けてもOKです。") startTurnBattle(8677) a = rand(6) if a==0 speak("Lvは上がらなかった・・・") elsif a==1 while getVariable("b") < 1 levelUp() getVariable("b")=getVariable("b")+1 speak("Lvが1上がった!") end elsif a==2 while getVariable("b") < 2 levelUp() getVariable("b")=getVariable("b")+2 speak("Lvが2上がった!") end elsif a==3 while getVariable("b") < 3 levelUp() getVariable("b")=getVariable("b")+3 speak("Lvが3上がった!") end elsif a==4 while getVariable("b") < 4 levelUp() getVariable("b")=getVariable("b")+4 speak("Lvが4上がった!") end elsif a==5 while getVariable("b") < 5 levelUp() getVariable("b")=getVariable("b")+5 speak("Lvが5上がった!") end end addPlayerHP(999) addPlayerMP(999) speak("現在のLv",getLevel()) getVariable("a") = 0 getVariable("b") = 0 if getLevel()>=10 speak("これで終わります。") goEnding() end
これでエラーでなければ...
giveEquipment(10289) speak("主人公の初期Lvは4です。") speak("目の前の敵を倒して10Lvになったらクリアです。\n\nLvアップの桁がランダムになっています。") def a() a = 0; b = 0 speak("戦闘終了後、ランダムで経験値を獲得します。\n\nちなみに負けてもOKです。") startTurnBattle(8677) a = a + rand(6) if a==0 speak("Lvは上がらなかった・・・") else while b < a levelUp() b = b + 1 end speak("Lvが",b,"上がった!") end addPlayerHP(999) addPlayerMP(999) speak("現在のLv",getLevel()) if getLevel() >= 10 speak("これで終わります。") goEnding() end end
こうだと思いますが、これって、a()を何度か繰り返すんですよね?