島テーマ実装手順
ソースコード
報酬設定
lib/conf/class/BuildEventItemConfig.class.php
/**********島テーマ*********************/
//島テーマはエクストラステージがない&報酬建物はレベルMAXで配布するという形で作成している。
$this->_config[2][2] = [
'type' => PresentBoxContent::TYPE_CARD,
'present_id' => 9006,
'count' => 1,
'item_name' => "酒のみのとくぱん"
];$this->_config[2][2]<br>
最初のindexが島テーマ判別用、次のindexがレベル<br>
イベント設定
lib/conf/class/BuildEventConfig.class.php
$this->_config['start_time'] = strtotime("2023-06-02 16:00:00");//開始日時
$this->_config['end_time'] = strtotime("2023-06-11 23:59:59");//終了日時
$this->_config['announcement_info'] = 2290;//予告告知No
$this->_config['info_no'] = 2291;//告知No
$this->_config['info_present'] = 2292;//報酬ページ(島テーマは告知
$this->_config['info_reward'] = $this->_config['info_present'];//報酬ページ
$this->_config['type'] = 1;//1:建築イベント、2:島テーマイベント
$this->_config['event_build_no'] = 10040;//イベントで立てる建物
$this->_config['build_item_name'] = "白ヘビの神殿";//報酬建物名
$this->_config['build_name'] = $this->_config['build_item_name'];//建てるイベント建物名
$this->_config['event_name'] = "白ヘビの神殿";//イベント名(島テーマの背景名)
/////////////// 以下は対応するイベントでのみ編集が必要 //////////////////////////////
//報酬建物(島テーマ
$this->_config['sp_object']['bonus_ratio'] = 2;//島テーマの早期建物の倍率
$this->_config['sp_object']['end_time'] = strtotime('2023-05-23 23:59:59');//終了日時
$this->_config['theme_object'] = 6199;//島テーマイベントで配布する建物番号(Main.tplで呼び出しており、エラー回避のためこの位置で定義)
$bonus_theme_object = 6200;//島テーマイベントで配布する期間限定建物番号- type<br>
2つの建築系イベントを管理しているため、切り分けのため設定
- event_build_no<br>
仕様書「イベント建物ID」
- bonus_ratio<br>
スペシャル効果の倍率<br>
仕様書「変更内容」を確認
- end_time<br>
仕様書「スペシャル効果終了日時」
- theme_object<br>
仕様書「報酬建物」
- $bonus_theme_object<br>
仕様書「報酬建物SP」
建物データ生成スクリプト
lib/exec/tool_jrce_status.php
$build_background = 2;
$release_no = 102; //今回割り振りたいrelease_no
...
if($build_background == 1){
//島テーマイベント
...
$object_status['obj_lv'] = 50;
$object_status['population'] = 0;
$object_status['peace'] = 30;
$object_status['business'] = 0;
$object_status['item'] = 0;//10以上は期間限定特別アイテム
$object_status['popular'] = 0;
$object_status['plus_popular'] = 0;
$object_status['cost'] = 10405;
$object_status['build_time'] = 6*3600;
$object_status['step'] = 2;
$object_status['collect_time'] = 0;
$object_status['collect_money'] = 0;
$object_status['need_business'] = 99999999;
$object_status['bonus_type'] = 0;//スペシャル効果 1:アイテム、2:人口
$object_status['bonus_time'] = 0;//期限
$object_status['function_no'] = 1;//1:背景変化
...
//先着で特殊効果がつく為もう一つ追加
...
$object_status['obj_lv'] = 50;
$object_status['population'] = 0;
$object_status['peace'] = 30;
$object_status['business'] = 0;
$object_status['item'] = $_df['event_build_sp_object_bonus_ratio'];//10以上は期間限定特別アイテム bonus_typeが3のときはアイテムの倍率
$object_status['popular'] = 0;
$object_status['plus_popular'] = 0;
$object_status['cost'] = 10405;
$object_status['build_time'] = 6*3600;
$object_status['step'] = 2;
$object_status['collect_time'] = 0;
$object_status['collect_money'] = 0;
$object_status['need_business'] = 99999999;
$object_status['bonus_type'] = 3;//スペシャル効果 1:アイテム、2:人口、3:GOLD×2倍 アイテム×2倍 住民×2倍 特殊効果での取得アイテム×2倍
$object_status['bonus_time'] = $_df['objectSP_end_time'];//期限
$object_status['function_no'] = 1;//1:背景変化仕様書「建物ステータス」を参照に数値を調整
- $build_background<br>
島テーマは1固定
- $release_no<br>
現在の数値+10
建物データ登録
報酬建物
スクリプトで生成<br>
cd /jr-web/Docker_ds #環境によって変化
docker-compose exec web bash
cd /home/web/jr-web/lib/exec/
ENVIRONMENT=develop PF=yamada HTTP_HOST=127.0.0.1 IS_DOCKER=true php tool_jrce_status.phpイベント建物
<span style="color:red;">その他のデータ登録をローカルで実施しているため、ローカル環境の管理画面から登録</span><br>イベントのデータ登録系 > イベント建築登録 を選択<br>
<div style="width:300px;"></div>
ID検索にイベント建物IDを入れて検索<br>
対象の建物の編集ボタンを押す<br>
各項目を仕様書を参考に入力
- 必要建築時間(秒)<br>
仕様書「建物時間」シートのB列の必要建築時間(秒)をコピー
- 建築必要GOLD<br>
仕様書「建物時間」シートのE列の建築必要GOLDをコピー
入力内容を確認し登録
csv出力
cd ./jrye-db
php bin/mysql2csv.php jrye master_object_data master_object_data_detail master_object_data_lvもし建築情報に変更がなければ、master_object_data_detail,master_object_data_lvの更新はなし