開始スクリプト2 メモ(透過前景・経験値制レベルアップ・プレイヤー変更)
投稿者:
cdv30200
投稿日:2014/10/15 01:54
開始スクリプト その2
ツイート
#ここから経験値制レベルアップと、獲得ゴールドの設定
# sv=setVariable , gv=getVariable
def sv(a,b)
setVariable(a, b)
end
def gv(a)
return getVariable(a)
end
def addv(a,b)
sv(a, gv(a) + b)
end
def pow(a, b)
v = 1; i = 0; g = 0
while(i < b)
v = v * a
i = i + 1
end
while(g < b)
g = g + 1
end
return v
end
#シャインの初期値
sv("exp",0); sv("totalexp",0); sv("totalexp2",0); sv("next", 10);
#レインの初期値
sv("exp2",0); sv("totalexp3",0); sv("totalexp4",0); sv("next2", 20) ;
#アメジストの初期値
sv("exp3",0); sv("totalexp5",0); sv("totalexp6",0); sv("next3", 50) ;
#獲得ゴールドの初期値
sv("gold", 0); sv("totalgold", 0)
#個々の敵キャラのゴールドをidから求めます。
def go(id)
case id
#----ゴールド ザコ敵 フェイワ地方----
#スライム
when 27685
return 4
#グリーンスライム
when 27684
return 6
#イエロースライム
when 27683
return 14
#コボルト
when 27854
return 10
#コボルト中堅
when 27852
return 12
#ブラッドスライム
when 30167
return 60
#----ゴールド ザコ敵 レヴェラ地方 西----
#マイマイ
when 19794
return 22
#サクラマイマイ
when 19795
return 30
#盗賊(新入り)
when 16472
return 20
#盗賊(下っ端)
when 16118
return 18
#盗賊(中堅)
when 15996
return 24
#----ゴールド ザコ敵 レヴェラ地方 東----
#大蛇
when 28106
return 32
#おサルさん
when 29081
return 30
#風の精・フー
when 28966
return 200
#----ゴールド ザコ敵 乾燥地帯 ----
#グレートおサル
when 29165
return 42
#ジュモクイカ
when 29080
return 38
#ピンクスライム
when 27682
return 15
#スライムゴールド
when 27674
return 300
#----ゴールド ザコ敵 ゾイブルグ地方 ----
#骸骨
when 29517
return 10
#サクライカ
when 29691
return 40
#ブラッドマイマイ 大規模RPG用
when 29785
return 33
#ドラゴンフライ
when 29806
return 35
#----ゴールド フェイワロー城 ----
#グレースライム
when 27679
return 40
#----ゴールド ゾイブルグ城 ----
#マウルス魔導士
when 29944
return 30
#----ゴールド 氷の大陸 ----
#アイスマイマイ
when 19796
return 28
#スノウマン
when 29884
return 32
#----ゴールド 氷の洞窟 ----
#アイスマイマイ改
when 19803
return 48
#ゴブリン
when 30151
return 30
#ミノタウロス
when 29796
return 100
#----ゴールド 岩山のほこら ----
#エテキチの幻
when 29928
return 40
#マウルス魔導士の幻
when 29945
return 50
#りかぴーの幻
when 29953
return 50
#----ゴールド 魔王の城 ----
#スノウドラゴン
when 30748
return 40
#スライムシルバー
when 27680
return 300
#ゴーレム
when 30749
return 30
#風の精・フー(強)
when 29990
return 300
#水の精・スイ(強)
when 29991
return 300
#----ゴールド 海全域 ----
#人食い魚
when 29811
return 28
#特大イカ
when 29812
return 24
#足なしクラゲ
when 29814
return 16
#----ゴールド ボスモンスター ----
#コボルト親分
when 27853
return 100
#盗賊のボス
when 16468
return 130
#炎の精・フィーユ(強)
when 29042
return 800
#炎の精・フィーユ(弱)
when 29082
return 800
#エテキチ
when 29166
return 300
#炎の精・フォンヌ
when 30303
return 1000
#----ゴールド 武術大会 ----
#普通の侍A
when 29460
return 0
#普通の侍B
when 29461
return 0
#強い侍A
when 29462
return 0
#強い侍B
when 29464
return 0
#とても強い侍
when 29450
return 0
#超強い侍
when 29469
return 0
#タゴサク
when 29451
return 0
#関係ないものは0で片付ける
else
return 0
end
end
#獲得ゴールドの計算
def gtg(a)
gold = 0
#シャインが戦闘不能になった時
if getPlayerHP() == 0
#さらにレインが戦闘不能になった時
if getPartyMemberHP(27671) == 0
killCounts2 = getKillCountPartyMember(27672)
else
killCounts2 = getKillCountPartyMember(27671)
end
g = 0
while g < getArrayLength(killCounts2)
#倒した敵の種類と数から獲得ゴールドを計算
gold = gold + go(killCounts2[g][0]) * killCounts2[g][1]
g = g + 1
end
#シャインが戦闘不能になっていない時
else
killCounts2 = getKillCount()
g = 0
while g < getArrayLength(killCounts2)
#倒した敵の種類と数から獲得ゴールドを計算
gold = gold + go(killCounts2[g][0]) * killCounts2[g][1]
g = g + 1
end
end
G = gold
gold = gold - gv("totalgold")
sv("totalgold", G)
return gold
end
#個々の敵キャラの経験値をidから求めます。
def gee(id)
case id
#----経験値 ザコ敵 フェイワ地方----
#スライム
when 27685
return 3
#グリーンスライム
when 27684
return 6
#イエロースライム
when 27683
return 14
#コボルト
when 27854
return 12
#コボルト中堅
when 27852
return 16
#ブラッドスライム
when 30167
return 50
#----経験値 ザコ敵 レヴェラ地方 西----
#マイマイ
when 19794
return 20
#サクラマイマイ
when 19795
return 28
#盗賊(新入り)
when 16472
return 22
#盗賊(下っ端)
when 16118
return 16
#盗賊(中堅)
when 15996
return 25
#----経験値 ザコ敵 レヴェラ地方 東----
#大蛇
when 28106
return 16
#おサルさん
when 29081
return 32
#風の精・フー
when 28966
return 200
#----経験値 ザコ敵 乾燥地帯----
#グレートおサル
when 29165
return 42
#ジュモクイカ
when 29080
return 48
#ピンクスライム
when 27682
return 32
#スライムゴールド
when 27674
return 28
#----経験値 ゾイブルグ地方----
#骸骨
when 29517
return 45
#サクライカ
when 29691
return 52
#ブラッドマイマイ 大規模RPG用
when 29785
return 40
#ドラゴンフライ
when 29806
return 70
#----経験値 フェイワロー城 ----
#グレースライム
when 27679
return 70
#エオリアン
when 27748
return 600
#----経験値 ゾイブルグ城 ----
#マウルス魔導士
when 29944
return 220
#----経験値 氷の大陸 ----
#アイスマイマイ
when 19796
return 28
#スノウマン
when 29884
return 46
#----経験値 氷の洞窟 ----
#アイスマイマイ改
when 19803
return 40
#ゴブリン
when 30151
return 30
#ミノタウロス
when 29796
return 200
#----経験値 岩山のほこら ----
#エテキチの幻
when 29928
return 200
#マウルス魔導士の幻
when 29945
return 300
#りかぴーの幻
when 29953
return 350
#----経験値 魔王の城 ----
#スノウドラゴン
when 30748
return 100
#スライムシルバー
when 27680
return 60
#ゴーレム
when 30749
return 90
#風の精・フー(強)
when 29990
return 500
#水の精・スイ(強)
when 29991
return 500
#----経験値 海全域 ----
#人食い魚
when 29811
return 34
#特大イカ
when 29812
return 42
#足なしクラゲ
when 29814
return 30
#----経験値 ボスモンスター ----
#コボルト親分
when 27853
return 40
#盗賊のボス
when 16468
return 200
#炎の精・フィーユ(強)
when 29042
return 600
#炎の精・フィーユ(弱)
when 29082
return 600
#エテキチ
when 29166
return 400
#炎の精・フォンヌ
when 30303
return 800
#----経験値 武術大会 ----
#普通の侍A
when 29460
return 60
#普通の侍B
when 29461
return 80
#強い侍A
when 29462
return 90
#強い侍B
when 29464
return 110
#とても強い侍
when 29450
return 130
#超強い侍
when 29469
return 150
#タゴサク
when 29451
return 180
#関係ないものは0で片付ける
else
return 0
end
end
#経験値の計算
def gte(a)
exp = 0
if getPlayerHP() == 0
#シャインが戦闘不能になった時
#さらにレインが戦闘不能になった時
if getPartyMemberHP(27671) == 0
killCounts = getKillCountPartyMember(27672)
else
killCounts = getKillCountPartyMember(27671)
end
i = 0
while i < getArrayLength(killCounts)
#倒した敵の種類と数から経験値を計算
exp = exp + gee(killCounts[i][0]) * killCounts[i][1]
i = i + 1
end
else
#シャインが戦闘不能になっていない時
killCounts = getKillCount()
i = 0
while i < getArrayLength(killCounts)
#倒した敵の種類と数から経験値を計算
exp = exp + gee(killCounts[i][0]) * killCounts[i][1]
i = i + 1
end
end
if getFlag("レイン加入")
exp2 = exp
else
end
if getFlag("アメジスト加入")
exp3 = exp
else
end
A = exp
exp = exp - gv("totalexp2")
sv("totalexp2", A)
return exp
B = exp2
exp2 = exp2 - gv("totalexp4")
sv("totalexp4", B)
return exp2
C = exp3
exp3 = exp3 - gv("totalexp5")
sv("totalexp6", C)
return exp3end
end
def levelUpCheck()
#BGMのためのスクリプト
if getFlag("船に乗る") && !getFlag("魔法施設に入る")
fadeOutMusicFadeIn(50, 223450, 50)
elsif getFlag("洞窟に入る")
fadeOutMusicFadeIn(50, 34876, 50)
elsif getFlag("塔に入る")
fadeOutMusicFadeIn(50, 83, 50)
elsif getFlag("ほこらに入る")
fadeOutMusicFadeIn(50, 236868, 50)
elsif getFlag("風の精・フーとの戦闘開始") || getFlag("スライムとの戦闘開始") || getFlag("エオリアンとの戦闘開始")
fadeOutMusicFadeIn(50, 223451, 50)
elsif getFlag("魔法施設に入る")
fadeOutMusicFadeIn(50, 236843, 50)
elsif getFlag("武術大会")
#武術大会はBGMを変えない
else
#フィールド上にいる
fadeOutMusicFadeIn(50, 223435, 50)
end
getE = gte()
getG = gtg()
#戦闘終了後、生き残ったメンバーだけ経験値を加算、ゴールドは必ず加算
addv("gold", getG)
if getPlayerHP() >= 1
addv("exp", getE); addv("totalexp", getE)
s = ""
else
s = ""
end
if getFlag("レイン加入") && getPartyMemberHP(27671) >= 1
addv("exp2", getE);addv("totalexp3", getE)
s = ""
else
s = ""
end
if getFlag("アメジスト加入") && getPartyMemberHP(27672) >= 1
addv("exp3", getE);addv("totalexp5", getE)
s = ""
else
s = ""
end
speak(s + getE + " 経験値を獲得!\n" + getG + " Gを手に入れた!")
addMoney(getG);setFlag("テキスト",true)
#氷の洞窟 3分の1の確率で「脱出石」を入手
if getFlag("氷の洞窟")
r = rand(3)
if r == 1
#「脱出石」入手
speak("敵は何かを持っていた。")
speak("脱出石を手に入れた!")
playSound(89930)
setVariable("脱出石の数", getVariable("脱出石の数")+1)
setFlag("脱出石入手", true)
else
#「脱出石」入手しない
end
else
end
while gv("exp") >= gv("next")
levelUp()
addv("exp", gv("next") * -1); addv("next", getLevel() *10)
playSound(89930)
speak("シャインがレベルアップ!\nLV." + getLevel() + "になった!")
if getFlag("船に乗る")
setVariable("船のレベル", getVariable("船のレベル")+1)
else
setVariable("シャインのレベル", getVariable("シャインのレベル")+1)
end
end
if getFlag("レイン加入")
while gv("exp2") >= gv("next2")
levelUpPartyMember(27671)
addv("exp2", gv("next2") * -1); addv("next2", getLevelPartyMember(27671) *12)
playSound(89930)
speak("レインがレベルアップ!\nLV." + getLevelPartyMember(27671) + "になった!")
end
else
end
if getFlag("アメジスト加入")
while gv("exp3") >= gv("next3")
levelUpPartyMember(27672)
addv("exp3", gv("next3") * -1); addv("next3", getLevelPartyMember(27672) *15)
playSound(89930)
speak("アメジストがレベルアップ!\nLV." + getLevelPartyMember(27672) + "になった!")
end
else
end
end
#-----------------------------------------------------------------
#船に乗った時に使うスクリプト
def sea()
a = getVariable("船のレベル")
l = getLevel()
h = getPlayerHP()
m = getPlayerMP()
setVariable("シャインのHP", getVariable("シャインのHP")+h)
setVariable("シャインのMP", getVariable("シャインのMP")+m)
#プレイヤーを主人公から船に変更
setEventCharacter("playerCharacterEvent", 27833)
while a < l
levelUp()
setVariable("船のレベル", getVariable("船のレベル")+1)
a = a + 1
end
subPlayerHP(getPlayerMaxHP())
addPlayerHP(h)
subPlayerMP(getPlayerMaxMP())
addPlayerMP(m)
#海上での戦闘後(海の洞窟内を除く)と、海の洞窟内で船に乗った時は、BGMの変更を省略する。
if getFlag("戦闘開始海の洞窟01") || getFlag("戦闘開始海の洞窟02") || getFlag("戦闘開始海の洞窟03") || getFlag("戦闘開始海の洞窟04")
setFlag("船に乗る", true)
# fadeOutMusicFadeIn(50, 236843, 50)
elsif getFlag("魔法施設に入る")
setFlag("船に乗る", true)
elsif getFlag("船に乗る")
else
fadeOutMusicFadeIn(400, 223450, 400)
#speak("船に乗りました。")
setFlag("船に乗る", true)
end
end
#-----------------------------------------------------------------
#鳥に乗った時に使うスクリプト
def sky()
a = getVariable("鳥のレベル")
l = getLevel()
h = getPlayerHP()
m = getPlayerMP()
setEventCharacter("playerCharacterEvent", 21378)
while a < l
levelUp()
setVariable("鳥のレベル", getVariable("鳥のレベル")+1)
a = a + 1
end
subPlayerHP(getPlayerMaxHP())
addPlayerHP(h)
subPlayerMP(getPlayerMaxMP())
addPlayerMP(m)
fadeOutMusicFadeIn(400, 223452, 400)
#命名前はこのセリフを省略
if getFlag("はじめて鳥に乗る")
else
#speak("レインボー弐号に乗りました。")
end
setFlag("鳥に乗る", true)
setFlag("船に乗る", true)
end
#------------------------------------------------------------------
#上陸した時に使うスクリプト
def field()
a = getVariable("シャインのレベル")
l = getLevel()
h = getPlayerHP()
m = getPlayerMP()
if getFlag("鳥に乗る")
setFlag("鳥に乗る", false)
else
end
setFlag("船に乗る", false)
#プレイヤーを船から主人公に変更
setEventCharacter("playerCharacterEvent", 27670)
while a < l
levelUp()
setVariable("シャインのレベル", getVariable("シャインのレベル")+1)
a = a + 1
end
subPlayerHP(getPlayerMaxHP())
addPlayerHP(h)
subPlayerMP(getPlayerMaxMP())
addPlayerMP(m)
#海の洞窟内で上陸した時は、BGMの変更を省略する。
if getFlag("魔法施設に入る")
else
fadeOutMusicFadeIn(400, 223435, 400)
end
end
#-----------------------------------------------------------------
#ローブを着る時に使うスクリプト
def kiru()
a = getVariable("ローブ姿のレベル")
l = getLevel()
h = getPlayerHP()
m = getPlayerMP()
#プレイヤーをローブ姿に変更
setEventCharacter("playerCharacterEvent", 30002)
while a < l
levelUp()
setVariable("ローブ姿のレベル", getVariable("ローブ姿のレベル")+1)
a = a + 1
end
subPlayerHP(getPlayerMaxHP())
addPlayerHP(h)
subPlayerMP(getPlayerMaxMP())
addPlayerMP(m)
speak("シャインはローブを着ました。")
setFlag("ローブを着る", true)
end
#-----------------------------------------------------------------
#ローブを脱いだ時に使うスクリプト
def nugu()
a = getVariable("シャインのレベル")
l = getLevel()
h = getPlayerHP()
m = getPlayerMP()
#プレイヤーをローブ姿からから主人公に変更
setEventCharacter("playerCharacterEvent", 27670)
while a < l
levelUp()
setVariable("シャインのレベル", getVariable("シャインのレベル")+1)
a = a + 1
end
subPlayerHP(getPlayerMaxHP())
addPlayerHP(h)
subPlayerMP(getPlayerMaxMP())
addPlayerMP(m)
setFlag("ローブを着る", false)
end
#-----------------------------------------------------------------コメントする
コメントするには、ログインする必要があります。
コメント一覧
コメントはありません。