「BCDice/TRPGツールからの呼び出し方/Onset!」の版間の差分

提供: TRPGツール開発・運用Wiki
ナビゲーションに移動 検索に移動
タグ: モバイルウェブ編集 モバイル編集
(0ヴ (トーク) による版 185 を取り消し)
タグ: 取り消し
3行目: 3行目:
 
ツール本体は[[PHP]]製だが、[[Ruby]]で書かれた簡潔なラッパースクリプトを[[CGI]]で呼び出している。
 
ツール本体は[[PHP]]製だが、[[Ruby]]で書かれた簡潔なラッパースクリプトを[[CGI]]で呼び出している。
  
__TOC_
+
__TOC__
  
 
== Onset/public_html/bcdice/roll.rb L31-L36 ==
 
== Onset/public_html/bcdice/roll.rb L31-L36 ==

2020年8月27日 (木) 07:44時点における版

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