差分

ページの作成:「Onset!からのBCDiceの呼び出し方。[https://github.com/kiridaruma/Onset/releases/tag/v2.1.3 v2.1.3]のソースコードを参考にしている。 ツ…」
[[Onset!]]からの[[BCDice]]の呼び出し方。[https://github.com/kiridaruma/Onset/releases/tag/v2.1.3 v2.1.3]のソースコードを参考にしている。

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

__TOC__

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

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

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

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

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

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

ダイスロールを行う。

<syntaxhighlight lang="ruby">
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
</syntaxhighlight>

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

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

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

<syntaxhighlight lang="ruby">
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
</syntaxhighlight>

[[Category:BCDice/TRPGツールからの呼び出し方]]