Skip to content
This repository was archived by the owner on Mar 16, 2019. It is now read-only.

Repository files navigation

DataProvider

Build Status データを格納するためのプラグイン。テーブルの粒度は小さめに!

テーブル

accounts

ColumnTypeDescription
idint登録したときに自動的に付与されます
namestringプレイヤーの名前です。

 UserdataProviderで基本となる情報を扱うテーブルです。ここに記載されたIDをもとに各テーブルの管理を行います。
sqlite.sql上ではidをメインにやり取りしていますが、デベロッパーが扱う際はラップしたクラス群の関数を使ってください。

ffapvp

ColumnTypeDescription
idintプレイヤーと対応するaccountsテーブルのid
killintキル数
deathintデス数
expintEXP

dual

ColumnTypeDescription
idintプレイヤーと対応するaccountsテーブルのid
killintキル数
deathintデス数
winint勝利数
loseint敗北数

corepvp

ColumnTypeDescription
idintプレイヤーと対応するaccountsテーブルのid
killintキル数
deathintデス数
winint勝利数
loseint敗北数
expintexp

使い方

publicfunctiononEnable()
{
$this->accounts = $this->getServer()->getPluginManager()->getPlugin('UserdataProvider')->getManager()->getAccounts();
}
public funciton onPlayerJoin(PlayerJoinEvent $event)
{
$this->accounts->get(
$event->player,
function(array$rows) use($player): void
{
if($rows[0] !== null)
{
$player->sendMessage("あなたのIDは$raws[0][id]です");
}
},
function(SqlError$error, ?Exception$trace): void//https://github.com/poggit/libasynql/blob/master/libasynql/src/poggit/libasynql/base/DataConnectorImpl.php#L196
{
var_dump($error, $trace);
}
);
}

 クエリの終了時、またはエラー時の際の処理をクロージャで渡してください。
終了時の引数はarray $rowsで結果が$rows[<順番>][<カラム名>]で格納されます。エラー時の引数は上記の通りSqlError $error, ?Ecxeption $traceとなります。SqlErrorについてはSqlErrorを参照してください。
$raws[<int>]に格納されているデータは基本的にaccountsnameカラムとそれぞれのテーブルのカラムを複合したものになります。`

About

データを格納するためのプラグイン

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages