<style> .markdown-body { max-width: 1280px; } </style> --- title: '產魚腳本 theme.json 介紹' ---[TOC] # 產魚腳本格式介紹 | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | Group_Appear_Data | obj | 決定每種魚的出現機率和出現秒數和出現的時間間隔 | | Fish_Appear_Rate | obj | 決定每種魚的出現機率和出現秒數 | | Fish_Pic_Size | obj | | | Fish_Data | obj | 描述每隻魚的基礎資訊 | | Formation_Round | obj | 魚陣 | | Fish_path_group_id | obj | 魚的路徑 | | Bet_Ratio | obj | 待補 | | Bet_Hit_Value | obj | 待補 | | Normal_Fish_Pool | obj | 待補 | | Special_Fish_Pool | obj | 待補 | | Special_Weapon | obj | 待補 | | Pirate_Ship | obj | 待補 | | Pirate_Ship_Round | obj | 待補 | | Boss_Round | obj | 待補 | | Controll_Value | obj | 目前已知功用<br> 1.決定魚群FISH_SMALL是否出現, 且控制出現數量<br> 2.待補 | | BG_Control | obj | 待補 | ## Group_Appear_Data | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | A | string | BOSS魚 | | B | string | 小BOSS魚 | | C | string | 大型魚(含組合魚) | | D | string | 倍率魚 | | E | string | 中型魚 | | F | string | 小型魚 | | G | string | 特殊魚種(道具魚) | | S | string | 海盜船 | | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | appear_gap | int | 產魚間隔秒數 | | rate | int | 產魚機率 | | time_before | int | 魚可以出現的時間(起始) | | time_after | int | 魚可以出現的時間(結束) | ## Fish_Appear_Rate 基本資料同 | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | fish_id | array[int] | 此魚出現時的fish_id | | fish_rate | array[int] | 產魚機率 | ## Fish_Pic_Size | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | AAAAA | obj | 待補 | ## Fish_Data | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | 0 | obj | 基礎描述-波浪魚 | | 1 | obj | 基礎描述-小魚 | | ..... | obj | .... | | ..... | obj | .... | | 71 | obj | 基礎描述-八爪魚 | | 72 | obj | 基礎描述-海盜船 | | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | Fish_id | int | 基礎描述-波浪魚 | | Fish_group | int | 基礎描述-小魚 | | Fish_name | string | 魚的中文名稱 | | Bet_ratio | int | 待補 | | Ratio_Random | int | 待補 | | Speed | int | 基礎速度 | | Speed_Random_Value | int | 亂數速度 | | Kill_rate | int | 初始致死率 | | Kill_flag | int | 待補 | | Special_Weapon_Invalid | int | 待補 | | Move_path_group_id | int | 游動路徑的群組Id, 再從群組內隨機挑一個path來決定游動路徑 | | Formation | int | 待補 | | Fish_Pic | string | 圖片名稱 | ``` javascript // 處理速度 ( 基礎速度 + 亂數速度) scriptData.speed = fishData.Speed + parseInt(Math.random() * fishData.Speed_Random_Value); // 處理路徑 var pathGroupData = totalFishPathGroupId[fishData.Move_path_group_id]; // 找出哪一個group scriptData.path_id = pathGroupData[parseInt(Math.random() * pathGroupData.length)]; // 該group中, 隨機rand 一個游動路徑 ``` ## Formation_Round | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | Rate | array[int] | 待補 | | Formation_Data | array[obj] | 魚陣游動物件 | [基礎游動表](#基礎游動表) ## Fish_path_group_id | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | 1 | array[int] | 有分兩組陣列, 描述一些路徑編號, 後續傳給Client去撥放魚的路徑 | | 2 | array[int] | 有分兩組陣列, 描述一些路徑編號, 後續傳給Client去撥放魚的路徑 | ## Bet_Ratio | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | AAAAA | obj | 待補 | ## Bet_Hit_Value | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | AAAAA | obj | 待補 | ## Normal_Fish_Pool | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | AAAAA | obj | 待補 | ## Special_Fish_Pool | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | AAAAA | obj | 待補 | ## Special_Weapon | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | AAAAA | obj | 待補 | ## Pirate_Ship | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | AAAAA | obj | 待補 | ## Pirate_Ship_Round | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | Rate | array | 決定海盜船出現機率 | | Pirate_Data | array[obj] | 決定海盜船的游動資訊 | ## Boss_Round | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | AAAAA | obj | 待補 | ## Controll_Value | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | Fish_group | int | 亂數值比這大, 就開始生產魚群 => FISH_SMALL | | Line_path_rate | int | 線性魚出現的機率 | | Fish_group_min | int | 決定魚群要生產幾隻 | | Random_value | int | 決定魚群要生產幾隻 | | Boss_appear_rate | float | 疑似未使用 | | Laser_max_execute_rate | int | 遊戲畫面左邊UI, 雷射充能條最大值 | | Laser_pool_ratio | int | 待補 | | Normal_pool_rate | int | 待補 | | Weapon_pool_rate | int | 待補 | | All_pool_rate | int | 進水量 | | Max_win | int | 待補 | ``` javascript // 決定魚群要生產幾隻 var fishGroupCount = parseInt(Math.random() * controllValue.Random_value + controllValue.Fish_group_min); ``` ## BG_Control | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | AAAAA | obj | 待補 | ## 基礎游動表 | 欄位名稱 | 資料型態 | 說明 | | -------- | -------- | -------- | | Fish_Start | array[int] | 待補 | | Fish_Speed | array[obj] | 速度 | | Fish_id | array[obj] | 魚陣要產哪一種Fish_id | | Fish_Path | array[obj] | 魚陣游動路徑 | # 目前產魚資料 ``` json ```