wada/jr-web Wiki

pages 43wiki option PUBLIC

建築イベント実装手順

建築イベント実装手順.md / updated 2023-07-27 18:19:31 +0900

ソースコード

報酬設定

lib/conf/class/BuildEventItemConfig.class.php

/**********建築イベント*********************/
//建築イベントレベル達成ボーナス
//type7(クリスタル)、type4(船素材)の時はitemをコメントアウト
$this->_config[1][3]  = $pre_config->getItem($pre_config::GOLD, 70000);		// 70000GOLD
$this->_config[1][7]  = $pre_config->getItem($pre_config::CRYSTAL, 10);	// クリスタル 10
$this->_config[1][12]  = $pre_config->getItem($pre_config::FLAG, 1);	// 必勝フラッグ
$this->_config[1][17] = $pre_config->getItem($pre_config::MATE_WOOD, 50);	// 木材 50
$this->_config[1][20] = $pre_config->getItem($pre_config::EXP_12000, 1);		// 伝説の海賊の魂 1
  • $this->_config[1][3]<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['event_object']['small']  = 6118;//小
$this->_config['event_object']['middle'] = 6119;//中
$this->_config['event_object']['big']    = 6120;//大
$bonus_big_object = 6121;//建築イベント大2つ目

//結果発表(建築イベント
$this->_config['ranking']['info_no'] = 2293;//info
$this->_config['ranking']['swf_no']  = 695;//swf
  • 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
...
}else{
	$build_name = $_df['event_build_item_name'];
//通常建築イベント
	$object_status = array();
...
$object_status['obj_id']			 = 6118;
$object_status['obj_name']			 = $build_name.'【小】';
$object_status['obj_lv']			 = 50;
$object_status['population']		 = 10;	//人口
$object_status['peace']				 = 10;	//統率
$object_status['business']			 = 0;	//生産
$object_status['item']				 = 0;	//bonus_rato:0-×:1-◯:2-◎ 10以上は期間限定特別アイテム
$object_status['popular']			 = 50;	//人口増加率
$object_status['plus_popular']		 = 1;	//人口増加数
$object_status['cost']				 = 4490;//need_gold
$object_status['build_time']		 = 6*3600;
$object_status['step']				 = 5;	//全lv固定
$object_status['collect_time']	 =  20*3600;	//集金時間
$object_status['collect_money']	 = 3000;	//集金額
$object_status['need_business']	 = 99999999;
$object_status['bonus_type']		 = 0;//スペシャル効果 1:アイテム、2:人口
$object_status['bonus_time']		 = 0;//期限
$object_status['function_no']		 = 0;//1:背景変化
$object_status['background_name'] = '';//背景の名前
$object_status['release_no'] = $release_no++;
...

仕様書「建物ステータス」を参照に数値を調整<br>
建築イベントの場合、【小】、【中】、【大】、【大】SPの設定が必要

  • $build_background<br>

建築イベントは2固定

  • $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;">![スクリーンショット 2023-06-28 17](スクリーンショット 2023-06-28 17.34.58.png)</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の更新はなし