天下無双の賞金首実装手順
管理画面から登録
アイテムデータ登録
アイテム系 > アイテム一覧を選択<br>
仕様書「強化アイテム等」のアイテムが登録されているか確認<br>
- 公開状態<br>
非公開の場合、変更するで公開に変更
専用ドリンク登録
アイテム一覧で専用ドリンクを検索した際に、カード名・効果量の記載がない場合に対応<br>データ登録系 > アイテム編集を選択<br>
アイテムNoを入力、残りの各情報を入力し登録<br>
イベント報酬登録
イベントのデータ登録系 > 賞金首報酬登録を選択<br>
今回のイベントIDの報酬が登録されていないか確認し、インポートを押す<br>
報酬登録は、達成報酬,個人ランキング報酬どちらも対応<br>
- イベント番号<br>
仕様書「概要」のイベントIDを入力
- 報酬設定<br>
仕様書「インポート用」の対応する報酬リストを貼り付け(数値のみ)
確認リスト内に登録されていない〇〇ですと表示された報酬がある場合、先にカード/アイテム登録を実施<br>
確認内容に問題がなければ登録<br>
カード登録
カード/船系 > カード検索を選択<br>
仕様書「報酬カード」が登録されているか確認<br>
- スキル1~4<br>
スキル名が赤文字の場合、スキル名リンク先でスキル公開
- アルバム<br>
(非公開)の場合、変更するで(公開)に変更
覚醒ボーナス設定
データ登録系 > 覚醒ボーナスカード一覧を選択<br>
すでに登録されていないか確認し、新規登録を押す<br>
設定内容は、仕様書「報酬カード」を参照<br>
転生後カードは、転生登録時に自動設定されるため登録不要<br>
転生登録
データ登録系 > 転生カード一覧を選択<br>
すでに登録されていないか確認し、新規転生登録を押す<br>
転生情報は、仕様書「報酬カード」を参照<br>
- タイプ<br>
クリスタル50個を選択
- 開始日時<br>
仕様書を確認
トレード解禁登録
データ登録系 > 自動トレード解禁を選択<br>
すでに登録されていないか確認し、イベント限定カード・枚数(転生カードを除く登録カード枚数)を選択し新規登録を押す<br>
転生後のカードは自動登録されるので、転生前のカードNoだけ入力<br>
- イベント名<br>
仕様書「概要」を参照<br>
前後期は入力不要
- 解禁時間<br>
イベント開始日時を同じ
トレード解禁告知を同時作成するのチェックを外して登録する
CSV出力
ソースコード実装
masterからイベントブランチを作成して作業<br>
・ブランチ名は、イベント内容が認識できる文字列<br>
・作業ブランチには、master以外をマージしない<br>
詳細は、過去の天下無双の賞金首イベントコードレビューを参照
基本設定
- lib/conf/class/BattleEventConfig.class.php<br>
変更箇所は仕様書を確認
#基本的な変更箇所
$this->_config['start'] = strtotime("2023-05-24 17:00:00"); //開始
$this->_config['end'] = strtotime("2023-06-01 16:59:59"); //終了
$this->_config['event_no'] = 26; // イベント番号
$this->_config['info_notice'] = 2267; // 予告番号
$this->_config['info_no'] = 2268; // 告知番号
$this->_config['info_ranking'] = 2269; // 告知番号 報酬一覧
$this->_config['ranking_info_no'] = 2270; // 結果発表の告知番号
#船情報の追加
// フリゲート
$this->_config['ship_bonus_frigate'] = array(
'ship_no' => array(
10045, // フリゲート
10046, // イエローフリゲート
10047, // ブラックフリゲート
10048 // レッドフリゲート
),
'bonus' => 50, // 倍率
'type_name' => 'フリゲート'
);
$this->_config['ship_bonus_list'] = [
//day -> 船データ
1 => [ $this->_config['ship_bonus_caravel'],$this->_config['ship_bonus_galley'] ],
2 => [ $this->_config['ship_bonus_nagasun'],$this->_config['ship_bonus_rabbit'] ],
3 => [ $this->_config['ship_bonus_carrack'],$this->_config['ship_bonus_frigate'] ],
// ↓ loopでない場合 ↓
4 => [ $this->_config['ship_bonus_caravel'],$this->_config['ship_bonus_galley'] ],
5 => [ $this->_config['ship_bonus_nagasun'],$this->_config['ship_bonus_rabbit'] ],
6 => [ $this->_config['ship_bonus_carrack'],$this->_config['ship_bonus_frigate'] ],
7 => [ $this->_config['ship_bonus_caravel'],$this->_config['ship_bonus_galley'] ],
8 => [ $this->_config['ship_bonus_nagasun'],$this->_config['ship_bonus_rabbit'] ],
];- ship_bonus_{船シリーズ名}<br>
新たに船ボーナスの設定が必要なら追加<br>
- ship_bonus_list<br>
仕様書を参照して、船ボーナス設定のindex名を設定
GK設定
- lib/conf/define_y.inc<br>
設定する内容は、仕様書を参照
#追加
#index = 10000+カードNo
$limited_skill_time_start[{index}] = strtotime('2023-06-06 16:00:00'); //イベント開始日時
$limited_skill_time_start[{index}] = strtotime('2023-08-06 23:59:59'); //GK期間
//2倍攻撃:[card_no => key]
$card_no803 = array(
#追加
);- limited_skill_time_start,limited_skill_time_start<br>
indexは、10000+対象のカードNo
デバッグ対応
#DB関連
#初期化
UPDATE `user_mission` SET `m_event_limit` = '0', `m_event_info` = '20', `event_bonus_limit` = '0', `m_event_stamina_limit` = '23';
#確認
SELECT `user_no`,`m_event_limit`,`m_event_info`,`event_bonus_limit`,`m_event_stamina_limit` FROM `user_mission` ORDER BY `m_event_limit` DESC;
***m_event_limitは海賊バトル保証カウンタ 賞金首イベント中でなくても、モンスターを討伐すると必ず加算される。***