hxp
2026-01-16 9b15449a269ca6abc9bb37baeb75dcd7f22027fd
438 【方案】方案预设-服务端
22个文件已修改
3个文件已添加
78 ■■■■■ 已修改文件
ZoneServerGroup/map1_8G/MapServer/MapServerData/MapServerConfig.ini 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBGameRec.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintFightPower.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Arena.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerArena.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMingge.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPreset.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCache.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.pyc 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/ServerConfig/m_10010/PySysDB/FuncConfig.txt 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/ServerConfig/m_10010/PySysDB/PresetUnlock.txt 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/ServerConfig/m_10020/PySysDB/FuncConfig.txt 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/ServerConfig/m_10020/PySysDB/PresetUnlock.txt 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZoneServerGroup/map1_8G/MapServer/MapServerData/MapServerConfig.ini
@@ -76,6 +76,6 @@
;武将英雄背包
PackCnt35=500
;命格卦玉背包
PackCnt36=36
PackCnt36=60
;命格推演背包
PackCnt37=10
ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
@@ -1311,6 +1311,30 @@
PacketSubCMD_4=0x53
PacketCallFunc_4=OnMinggeQiling
;预设
[PlayerPreset]
ScriptName = Player\PlayerPreset.py
Writer = hxp
Releaser = hxp
RegType = 0
RegisterPackCount = 4
PacketCMD_1=0xB2
PacketSubCMD_1=0x60
PacketCallFunc_1=OnFuncPresetUnlock
PacketCMD_2=0xB2
PacketSubCMD_2=0x61
PacketCallFunc_2=OnFuncPresetUpdName
PacketCMD_3=0xB2
PacketSubCMD_3=0x62
PacketCallFunc_3=OnFuncPresetSwitch
PacketCMD_4=0xB2
PacketSubCMD_4=0x63
PacketCallFunc_4=OnBatPresetSwitch
;武将
[PlayerHero]
ScriptName = Player\PlayerHero.py
@@ -1357,7 +1381,7 @@
PacketCMD_10=0xB4
PacketSubCMD_10=0x12
PacketCallFunc_10=OnHeroLineupSave
PacketCallFunc_10=OnHeroPresetSave
PacketCMD_11=0xB2
PacketSubCMD_11=0x39
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/DB/StructData/DBGameRec.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/EventReport.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintFightPower.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Arena.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerArena.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMingge.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPreset.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCache.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.pyc
Binary files differ
ZoneServerGroup/map1_8G/MapServer/MapServerData/ServerConfig/m_10010/PySysDB/FuncConfig.txt
@@ -408,7 +408,7 @@
HeroWash    10    [20,40,60,100,150,230]    5        
HeroRebirth    1    2    max(0,heroLV-40)    100    80
HeroRebirth2    max(0,breakLV-4)*10                
HeroAttrFormula    (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue)*(1+lineupHaloPer+realmPer+gubaoPer+hjgPer+horsePer+beautyPer+fatesPer+cardPer)*(inheritPer+fetterPer+starTalentPer+breakLVPer+awakeTalentPer)*(1+dingjungePer)+heroSelfValue+heroLVValue    (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue)+(heroSelfValue+lineupHaloValue+starTalentValue+breakLVValue+awakeTalentValue)+fetterValue    long(Atk*AtkRatio+MaxHP*MaxHPRatio+Def*DefRatio+AtkSpeed*AtkSpeedRatio+(StunRate*StunRateRatio+SuperHitRate*SuperHitRateRatio+ComboRate*ComboRateRatio+MissRate*MissRateRatio+ParryRate*ParryRateRatio+SuckHPPer*SuckHPPerRatio+StunRateDef*StunRateDefRatio+SuperHitRateDef*SuperHitRateDefRatio+ComboRateDef*ComboRateDefRatio+MissRateDef*MissRateDefRatio+ParryRateDef*ParryRateDefRatio+SuckHPPerDef*SuckHPPerDefRatio+FinalDamPer*FinalDamPerRatio+FinalDamPerDef*FinalDamPerDefRatio+PhyDamPer*PhyDamPerRatio+PhyDamPerDef*PhyDamPerDefRatio+MagDamPer*MagDamPerRatio+MagDamPerDef*MagDamPerDefRatio+NormalSkillPer*NormalSkillPerRatio+NormalSkillPerDef*NormalSkillPerDefRatio+AngerSkillPer*AngerSkillPerRatio+AngerSkillPerDef*AngerSkillPerDefRatio+SuperDamPer*SuperDamPerRatio+SuperDamPerDef*SuperDamPerDefRatio+CurePer*CurePerRatio+CurePerDef*CurePerDefRatio+ShieldPer*ShieldPerRatio+ShieldPerDef*ShieldPerDefRatio+DOTPer*DOTPerRatio+DOTPerDef*DOTPerDefRatio+WeiFinalDamPer*WeiFinalDamPerRatio+WeiFinalDamPerDef*WeiFinalDamPerDefRatio+ShuFinalDamPer*ShuFinalDamPerRatio+ShuFinalDamPerDef*ShuFinalDamPerDefRatio+WuFinalDamPer*WuFinalDamPerRatio+WuFinalDamPerDef*WuFinalDamPerDefRatio+QunFinalDamPer*QunFinalDamPerRatio+QunFinalDamPerDef*QunFinalDamPerDefRatio+PVPDamPer*PVPDamPerRatio+PVPDamPerDef*PVPDamPerDefRatio+Guanchuan*GuanchuanRatio+GuanchuanDef*GuanchuanDefRatio+Zhaojia*ZhaojiaRatio+ZhaojiaDef*ZhaojiaDefRatio)/100.0-55000)    SkillPower*OfficialLV
HeroAttrFormula    (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue+minggeValue)*(1+lineupHaloPer+realmPer+gubaoPer+hjgPer+horsePer+beautyPer+fatesPer+cardPer+minggePer)*(inheritPer+fetterPer+starTalentPer+breakLVPer+awakeTalentPer)*(1+dingjungePer)+heroSelfValue+heroLVValue    (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue+minggeValue)+(heroSelfValue+lineupHaloValue+starTalentValue+breakLVValue+awakeTalentValue)+fetterValue    long(Atk*AtkRatio+MaxHP*MaxHPRatio+Def*DefRatio+AtkSpeed*AtkSpeedRatio+(StunRate*StunRateRatio+SuperHitRate*SuperHitRateRatio+ComboRate*ComboRateRatio+MissRate*MissRateRatio+ParryRate*ParryRateRatio+SuckHPPer*SuckHPPerRatio+StunRateDef*StunRateDefRatio+SuperHitRateDef*SuperHitRateDefRatio+ComboRateDef*ComboRateDefRatio+MissRateDef*MissRateDefRatio+ParryRateDef*ParryRateDefRatio+SuckHPPerDef*SuckHPPerDefRatio+FinalDamPer*FinalDamPerRatio+FinalDamPerDef*FinalDamPerDefRatio+PhyDamPer*PhyDamPerRatio+PhyDamPerDef*PhyDamPerDefRatio+MagDamPer*MagDamPerRatio+MagDamPerDef*MagDamPerDefRatio+NormalSkillPer*NormalSkillPerRatio+NormalSkillPerDef*NormalSkillPerDefRatio+AngerSkillPer*AngerSkillPerRatio+AngerSkillPerDef*AngerSkillPerDefRatio+SuperDamPer*SuperDamPerRatio+SuperDamPerDef*SuperDamPerDefRatio+CurePer*CurePerRatio+CurePerDef*CurePerDefRatio+ShieldPer*ShieldPerRatio+ShieldPerDef*ShieldPerDefRatio+DOTPer*DOTPerRatio+DOTPerDef*DOTPerDefRatio+WeiFinalDamPer*WeiFinalDamPerRatio+WeiFinalDamPerDef*WeiFinalDamPerDefRatio+ShuFinalDamPer*ShuFinalDamPerRatio+ShuFinalDamPerDef*ShuFinalDamPerDefRatio+WuFinalDamPer*WuFinalDamPerRatio+WuFinalDamPerDef*WuFinalDamPerDefRatio+QunFinalDamPer*QunFinalDamPerRatio+QunFinalDamPerDef*QunFinalDamPerDefRatio+PVPDamPer*PVPDamPerRatio+PVPDamPerDef*PVPDamPerDefRatio+Guanchuan*GuanchuanRatio+GuanchuanDef*GuanchuanDefRatio+Zhaojia*ZhaojiaRatio+ZhaojiaDef*ZhaojiaDefRatio)/100.0-55000)    SkillPower*OfficialLV
DownReward    [[1,100,1]]     1            
DailyPackBuyGift    {"0":[[20,10,0]], "1":[[2222,1,0],[1099,1,0],[20,100,0]], "2":[[2222,1,0],[4694,1,0],[20,50,0]], "3":[[2222,3,0],[1099,3,0],[20,150,0]]}    {"1":[146], "2":[147], "3":[148]}    [149]    10    
PlayerMaxLV    1000    -1    0    0    0
@@ -465,5 +465,5 @@
DailyTehui    [220,221,222]    223    36        
Dingjunge    2    [6,7,8,9,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,44,45,46,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80]    [3,10,400]        
DingjungeEff    [0,0,0,1010,2010,2210,2510,3010]    10    3    5    
MinggeCfg    3    30    31
MinggeCfg        30    31
MinggeTY    7|10    [-3, 2]    long(round(baseValue*plusValue*attrProportion*randfloat(0.9,1.1)))    [201,202,203,204]    [9000011,9000021,9000031,9000041]
ZoneServerGroup/map1_8G/MapServer/MapServerData/ServerConfig/m_10010/PySysDB/PresetUnlock.txt
New file
@@ -0,0 +1,21 @@
PresetType    UnlockType    UnlockValue
1    0    0
1    1    100
1    1    200
1    1    300
1    1    500
1    1    1000
1    1    1500
1    1    2000
1    1    2500
2    0    0
2    1    200
2    1    300
2    1    500
2    1    1000
2    1    2000
3    0    0
3    1    300
3    1    500
3    1    1000
3    1    2000
ZoneServerGroup/map1_8G/MapServer/MapServerData/ServerConfig/m_10020/PySysDB/FuncConfig.txt
@@ -408,7 +408,7 @@
HeroWash    10    [20,40,60,100,150,230]    5        
HeroRebirth    1    2    max(0,heroLV-40)    100    80
HeroRebirth2    max(0,breakLV-4)*10                
HeroAttrFormula    (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue)*(1+lineupHaloPer+realmPer+gubaoPer+hjgPer+horsePer+beautyPer+fatesPer+cardPer)*(inheritPer+fetterPer+starTalentPer+breakLVPer+awakeTalentPer)*(1+dingjungePer)+heroSelfValue+heroLVValue    (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue)+(heroSelfValue+lineupHaloValue+starTalentValue+breakLVValue+awakeTalentValue)+fetterValue    long(Atk*AtkRatio+MaxHP*MaxHPRatio+Def*DefRatio+AtkSpeed*AtkSpeedRatio+(StunRate*StunRateRatio+SuperHitRate*SuperHitRateRatio+ComboRate*ComboRateRatio+MissRate*MissRateRatio+ParryRate*ParryRateRatio+SuckHPPer*SuckHPPerRatio+StunRateDef*StunRateDefRatio+SuperHitRateDef*SuperHitRateDefRatio+ComboRateDef*ComboRateDefRatio+MissRateDef*MissRateDefRatio+ParryRateDef*ParryRateDefRatio+SuckHPPerDef*SuckHPPerDefRatio+FinalDamPer*FinalDamPerRatio+FinalDamPerDef*FinalDamPerDefRatio+PhyDamPer*PhyDamPerRatio+PhyDamPerDef*PhyDamPerDefRatio+MagDamPer*MagDamPerRatio+MagDamPerDef*MagDamPerDefRatio+NormalSkillPer*NormalSkillPerRatio+NormalSkillPerDef*NormalSkillPerDefRatio+AngerSkillPer*AngerSkillPerRatio+AngerSkillPerDef*AngerSkillPerDefRatio+SuperDamPer*SuperDamPerRatio+SuperDamPerDef*SuperDamPerDefRatio+CurePer*CurePerRatio+CurePerDef*CurePerDefRatio+ShieldPer*ShieldPerRatio+ShieldPerDef*ShieldPerDefRatio+DOTPer*DOTPerRatio+DOTPerDef*DOTPerDefRatio+WeiFinalDamPer*WeiFinalDamPerRatio+WeiFinalDamPerDef*WeiFinalDamPerDefRatio+ShuFinalDamPer*ShuFinalDamPerRatio+ShuFinalDamPerDef*ShuFinalDamPerDefRatio+WuFinalDamPer*WuFinalDamPerRatio+WuFinalDamPerDef*WuFinalDamPerDefRatio+QunFinalDamPer*QunFinalDamPerRatio+QunFinalDamPerDef*QunFinalDamPerDefRatio+PVPDamPer*PVPDamPerRatio+PVPDamPerDef*PVPDamPerDefRatio+Guanchuan*GuanchuanRatio+GuanchuanDef*GuanchuanDefRatio+Zhaojia*ZhaojiaRatio+ZhaojiaDef*ZhaojiaDefRatio)/100.0-55000)    SkillPower*OfficialLV
HeroAttrFormula    (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue+minggeValue)*(1+lineupHaloPer+realmPer+gubaoPer+hjgPer+horsePer+beautyPer+fatesPer+cardPer+minggePer)*(inheritPer+fetterPer+starTalentPer+breakLVPer+awakeTalentPer)*(1+dingjungePer)+heroSelfValue+heroLVValue    (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue+minggeValue)+(heroSelfValue+lineupHaloValue+starTalentValue+breakLVValue+awakeTalentValue)+fetterValue    long(Atk*AtkRatio+MaxHP*MaxHPRatio+Def*DefRatio+AtkSpeed*AtkSpeedRatio+(StunRate*StunRateRatio+SuperHitRate*SuperHitRateRatio+ComboRate*ComboRateRatio+MissRate*MissRateRatio+ParryRate*ParryRateRatio+SuckHPPer*SuckHPPerRatio+StunRateDef*StunRateDefRatio+SuperHitRateDef*SuperHitRateDefRatio+ComboRateDef*ComboRateDefRatio+MissRateDef*MissRateDefRatio+ParryRateDef*ParryRateDefRatio+SuckHPPerDef*SuckHPPerDefRatio+FinalDamPer*FinalDamPerRatio+FinalDamPerDef*FinalDamPerDefRatio+PhyDamPer*PhyDamPerRatio+PhyDamPerDef*PhyDamPerDefRatio+MagDamPer*MagDamPerRatio+MagDamPerDef*MagDamPerDefRatio+NormalSkillPer*NormalSkillPerRatio+NormalSkillPerDef*NormalSkillPerDefRatio+AngerSkillPer*AngerSkillPerRatio+AngerSkillPerDef*AngerSkillPerDefRatio+SuperDamPer*SuperDamPerRatio+SuperDamPerDef*SuperDamPerDefRatio+CurePer*CurePerRatio+CurePerDef*CurePerDefRatio+ShieldPer*ShieldPerRatio+ShieldPerDef*ShieldPerDefRatio+DOTPer*DOTPerRatio+DOTPerDef*DOTPerDefRatio+WeiFinalDamPer*WeiFinalDamPerRatio+WeiFinalDamPerDef*WeiFinalDamPerDefRatio+ShuFinalDamPer*ShuFinalDamPerRatio+ShuFinalDamPerDef*ShuFinalDamPerDefRatio+WuFinalDamPer*WuFinalDamPerRatio+WuFinalDamPerDef*WuFinalDamPerDefRatio+QunFinalDamPer*QunFinalDamPerRatio+QunFinalDamPerDef*QunFinalDamPerDefRatio+PVPDamPer*PVPDamPerRatio+PVPDamPerDef*PVPDamPerDefRatio+Guanchuan*GuanchuanRatio+GuanchuanDef*GuanchuanDefRatio+Zhaojia*ZhaojiaRatio+ZhaojiaDef*ZhaojiaDefRatio)/100.0-55000)    SkillPower*OfficialLV
DownReward    [[1,100,1]]     1            
DailyPackBuyGift    {"0":[[20,10,0]], "1":[[2222,1,0],[1099,1,0],[20,100,0]], "2":[[2222,1,0],[4694,1,0],[20,50,0]], "3":[[2222,3,0],[1099,3,0],[20,150,0]]}    {"1":[146], "2":[147], "3":[148]}    [149]    10    
PlayerMaxLV    1000    -1    0    0    0
@@ -465,5 +465,5 @@
DailyTehui    [220,221,222]    223    36        
Dingjunge    2    [6,7,8,9,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,44,45,46,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80]    [3,10,400]        
DingjungeEff    [0,0,0,1010,2010,2210,2510,3010]    10    3    5    
MinggeCfg    3    30    31
MinggeCfg        30    31
MinggeTY    7|10    [-3, 2]    long(round(baseValue*plusValue*attrProportion*randfloat(0.9,1.1)))    [201,202,203,204]    [9000011,9000021,9000031,9000041]
ZoneServerGroup/map1_8G/MapServer/MapServerData/ServerConfig/m_10020/PySysDB/PresetUnlock.txt
New file
@@ -0,0 +1,21 @@
PresetType    UnlockType    UnlockValue
1    0    0
1    1    100
1    1    200
1    1    300
1    1    500
1    1    1000
1    1    1500
1    1    2000
1    1    2500
2    0    0
2    1    200
2    1    300
2    1    500
2    1    1000
2    1    2000
3    0    0
3    1    300
3    1    500
3    1    1000
3    1    2000