BCDice/TRPGツールからの呼び出し方/Onset!

提供: TRPGツール開発・運用Wiki
< BCDice‎ | TRPGツールからの呼び出し方
2019年6月28日 (金) 22:13時点におけるOchaochaocha3 (トーク | 投稿記録)による版 (読みを設定する)
ナビゲーションに移動 検索に移動
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Onset!からのBCDiceの呼び出し方。v2.1.3のソースコードを参考にしている。

ツール本体はPHP製だが、Rubyで書かれた簡潔なラッパースクリプトをCGIで呼び出している。

Onset/public_html/bcdice/roll.rb L31-L36

https://github.com/kiridaruma/Onset/blob/297e66de6b799198cdf17036e12f89c7506fcd65/Onset/public_html/bcdice/roll.rb#L31-L36

クエリパラメータ list=1 がついていた場合、ゲームシステム一覧を出力する。

if(params['list'][0] == "1")
  $allGameTypes.each do |var|
    puts var + "\n"
  end
  exit
end

Onset/public_html/bcdice/roll.rb L47-L55

https://github.com/kiridaruma/Onset/blob/297e66de6b799198cdf17055e12f89c7506fcd65/Onset/public_html/bcdice/roll.rb#L47-L55

ダイスロールを行う。

bcmaker = OnsetBCDiceMaker.new
bcdice = bcmaker.newBcDice()

bcdice.setGameByTitle(params['sys'][0])
bcdice.setMessage(params['text'][0])
bcdice.setNick('onset')
hoge, foo = bcdice.dice_command

puts hoge

Onset/public_html/bcdice/roll.rb L11-L24

https://github.com/kiridaruma/Onset/blob/297e66de6b799198cdf17055e12f89c7506fcd65/Onset/public_html/bcdice/roll.rb#L11-L24

OnsetBCDice クラスは、Onset!のインターフェースに合わせてニックネームを設定する機能を付加している。OnsetBCDiceMaker クラスは、BCDiceのインスタンス作成時に OnsetBCDice クラスを使うようにする。

class OnsetBCDiceMaker < BCDiceMaker
  
  def newBcDice
    bcdice = OnsetBCDice.new(self, @cardTrader, @diceBot, @counterInfos, @tableFileData)
    return bcdice
  end
end

class OnsetBCDice < BCDice
  
  def setNick(nick)
    @nick_e = nick
  end
end