【RGSS3】逃走すると確率で所持金の10%を落とすスクリプト

返信する
NEMUI
記事: 51
登録日時: 2020年4月26日(日) 11:17

【RGSS3】逃走すると確率で所持金の10%を落とすスクリプト

投稿記事 by NEMUI »

RGSS3で敵から逃げているとお金を落としてしまうというペナルティを着けたいです。
どなたかよろしくお願いします。
TOMO
記事: 350
登録日時: 2015年11月16日(月) 20:12
連絡する:

Re: 【RGSS3】逃走すると確率で所持金の10%を落とすスクリプト

投稿記事 by TOMO »

メッセージありだと多分こんな感じです

コード: 全て選択

module BattleManager
  #--------------------------------------------------------------------------
  # ● 逃走の処理
  #--------------------------------------------------------------------------
  def self.process_escape
    $game_message.add(sprintf(Vocab::EscapeStart, $game_party.name))
    success = @preemptive ? true : (rand < @escape_ratio)
    Sound.play_escape
    if success
      # 追加
      n = $game_party.gold / 10 # 現在所持金の10%
      $game_message.add("%s達は%d\\G落とした。", $game_party.name, n)
      $game_party.lose_gold(n)  # 所持金減少
      # ここまで
      process_abort
    else
      @escape_ratio += 0.1
      $game_message.add('\.' + Vocab::EscapeFailure)
      $game_party.clear_actions
    end
    wait_for_message
    return success
  end
end
仕様上、競合対策は出来ません


メッセージなしだと多分こんな感じです

コード: 全て選択

class << BattleManager
  #--------------------------------------------------------------------------
  # ● 逃走の処理
  #--------------------------------------------------------------------------
  alias tomo_escape_lose_gold_process_escape process_escape
  def process_escape
    success = tomo_escape_lose_gold_process_escape
    $game_party.lose_gold($game_party.gold / 10) if success
    success
  end
end
こっちは競合対策が可能です
現在サポート終了中

※年末にブログとサイト両方を閉鎖します。詳しくはX(旧Twitter)
NEMUI
記事: 51
登録日時: 2020年4月26日(日) 11:17

Re: 【RGSS3】逃走すると確率で所持金の10%を落とすスクリプト

投稿記事 by NEMUI »

TOMO様、ご対応ありがとうございます。
確率を変える場合はどうしたら良いですか?
TOMO
記事: 350
登録日時: 2015年11月16日(月) 20:12
連絡する:

Re: 【RGSS3】逃走すると確率で所持金の10%を落とすスクリプト

投稿記事 by TOMO »

「確率を変える場合」って、
パーティの誰かが特定の装備をしてると、落とすお金の割合が変わるとかですか?

もうちょっと詳しく書いて下さい

※例
・所持金の10%前後でランダムにする
・特定の装備をしていると落とさなくなる(0%固定)
・特定の装備をしていると落とす割合が変わる(割合を指定)
etc
現在サポート終了中

※年末にブログとサイト両方を閉鎖します。詳しくはX(旧Twitter)
NEMUI
記事: 51
登録日時: 2020年4月26日(日) 11:17

Re: 【RGSS3】逃走すると確率で所持金の10%を落とすスクリプト

投稿記事 by NEMUI »

説明不足ですみません。
逃げた時に所持金を落とす確率です。
TOMO
記事: 350
登録日時: 2015年11月16日(月) 20:12
連絡する:

Re: 【RGSS3】逃走すると確率で所持金の10%を落とすスクリプト

投稿記事 by TOMO »

メッセージありは

コード: 全て選択

module BattleManager
  #--------------------------------------------------------------------------
  # ● 逃走の処理
  #--------------------------------------------------------------------------
  def self.process_escape
    $game_message.add(sprintf(Vocab::EscapeStart, $game_party.name))
    success = @preemptive ? true : (rand < @escape_ratio)
    Sound.play_escape
    if success
      # 追加
      if rand < 0.5
        n = $game_party.gold / 10 # 現在所持金の10%
        $game_message.add("%s達は%d\\G落とした。", $game_party.name, n)
        $game_party.lose_gold(n)  # 所持金減少
      end
      # ここまで
      process_abort
    else
      @escape_ratio += 0.1
      $game_message.add('\.' + Vocab::EscapeFailure)
      $game_party.clear_actions
    end
    wait_for_message
    return success
  end
end
メッセージなしは

コード: 全て選択

class << BattleManager
  #--------------------------------------------------------------------------
  # ● 逃走の処理
  #--------------------------------------------------------------------------
  alias tomo_escape_lose_gold_process_escape process_escape
  def process_escape
    success = tomo_escape_lose_gold_process_escape
    $game_party.lose_gold($game_party.gold / 10) if success && rand < 0.5
    success
  end
end
とすれば可能なはずです
(50%の確率で所持金の10%を落とすようになります)

※他の割合にする人用
10%という事で

コード: 全て選択

$game_party.gold / 10
としてますが、3%とかだと

コード: 全て選択

$game_party.gold * 3 / 100

コード: 全て選択

($game_party.gold * 0.03).truncate
となります
(「* 3 / 100」は、逆順だと計算結果がズレる可能性があります)

小数を掛けると計算結果も小数になるので、
truncate等で整数に戻す必要があります
現在サポート終了中

※年末にブログとサイト両方を閉鎖します。詳しくはX(旧Twitter)
johnwhite
記事: 4
登録日時: 2026年9月19日(土) 01:56

Re: 【RGSS3】逃走すると確率で所持金の10%を落とすスクリプト

投稿記事 by johnwhite »

Fremtidens gamblingsikkerhed i online casinoer i 2026 vil i høj grad afhænge af avancerede cybersikkerhedsforanstaltninger. Med den stigende digitalisering og kompleksiteten i cybertruslerne investerer casinoer nu i intelligente algoritmer og kunstig intelligens for at opdage og forhindre svindel i realtid. https://hitnspin.casino/da/ Blockchain-teknologi forventes også at spille en central rolle i at sikre gennemsigtighed og sikkerhed i transaktioner. Derudover vil stærkere krypteringsmetoder og multifaktorgodkendelse beskytte brugernes personlige oplysninger og finansielle data. Disse tiltag er nødvendige for at opretholde spillerens tillid og sikre et sikkert spillemiljø, hvilket vil være afgørende for væksten af online gamblingindustrien.
返信する

“VX / Ace:スクリプト素材のリクエスト”に戻る