You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

166 lines
3.8 KiB

  1. local wanfa={
  2. {
  3. playnum = {
  4. {name="2人",value=2},
  5. {name="3人",value=3},
  6. {name="4人",value=4},
  7. {name="快速成局",value=-1},
  8. },
  9. },
  10. {
  11. deductRule={
  12. {name="房主支付",value=0},
  13. {name="AA支付",value=1},
  14. },
  15. },
  16. {
  17. highLimit={
  18. {name="无封顶",value=0},
  19. {name="160分",value=160},
  20. },
  21. },
  22. {
  23. specialRule={
  24. {name="自摸翻倍",value=0x0001},
  25. {name="可无胡",value=0x0200},
  26. {name="圈牌",value=0x0400},
  27. {name="整胡翻倍",value=0x0080},
  28. {name="放炮包赔",value=0x0008},
  29. {name="查叫",value=0x0100},
  30. {name="归翻倍",value=0x0002},
  31. {name="单杀",value=0x0800},
  32. {name="小家可看庄牌",value=0x0020},
  33. {name="吃对家",value=0x0040},
  34. },
  35. isAndOr = true;
  36. },
  37. {
  38. fourpeopleRule={
  39. {name="满底6分",value=6},
  40. {name="满底12分",value=12},
  41. },
  42. },
  43. {
  44. baseMulti = {
  45. {name = "积分倍数x"}
  46. }
  47. },
  48. -- {
  49. -- forbidProp = {
  50. -- {name = "屏蔽聊天与互动道具", value = 1, hide = false},
  51. -- {name = "屏蔽聊天与互动道具", value = 0, hide = true},
  52. -- }
  53. -- }
  54. {
  55. forbidProp = {
  56. {name = "屏蔽聊天与互动道具", value = 1, hide = false},
  57. {name = "屏蔽聊天与互动道具", value = 0, hide = true},
  58. }
  59. },
  60. {
  61. forbidVoice = {
  62. {name = "屏蔽语音", value = 1, hide = false},
  63. {name = "屏蔽语音", value = 0, hide = true},
  64. }
  65. }
  66. }
  67. wanfa.clubWanFaTitle = {
  68. playnum = "玩家人数",
  69. deductRule = "房费",
  70. highLimit = "封顶",
  71. specialRule = "玩法",
  72. fourpeopleRule = "分数",
  73. baseMulti="积分倍数",
  74. forbidProp= "其他",
  75. }
  76. wanfa.ruleStr = ""
  77. --获取茶馆玩法规则
  78. function wanfa.getClubRuleInfo(ruleStr)
  79. if not ruleStr then
  80. ruleStr = app.room.roomInfo.strGameInfo
  81. end
  82. local strGameInfo = json.decode(ruleStr)
  83. local temp = {}
  84. wanfa.ruleStr = ""
  85. for k,v in ipairs(wanfa) do
  86. for serverKey,serverValue in pairs(strGameInfo) do
  87. if v[serverKey] then
  88. if v.isAndOr then
  89. for i,data in ipairs(v[serverKey]) do
  90. if not data.hide then
  91. if getNumBand(serverValue,data.value) > 0 then
  92. table.insert(temp,{name=wanfa.clubWanFaTitle[serverKey] or "",value={data.name}})
  93. wanfa.ruleStr = wanfa.ruleStr..data.name.." "
  94. end
  95. end
  96. end
  97. else
  98. for i,data in ipairs(v[serverKey]) do
  99. if serverKey == "baseMulti" then
  100. table.insert(temp,{name=wanfa.clubWanFaTitle[serverKey] or "",value={data.name .. serverValue}})
  101. wanfa.ruleStr = wanfa.ruleStr..data.name .. serverValue .. " "
  102. break;
  103. end
  104. if serverValue == data.value and not data.hide then
  105. table.insert(temp,{name=wanfa.clubWanFaTitle[serverKey] or "",value={data.name}})
  106. wanfa.ruleStr = wanfa.ruleStr..data.name.." "
  107. break
  108. end
  109. end
  110. end
  111. break;
  112. end
  113. end
  114. end
  115. return temp,wanfa.ruleStr
  116. end
  117. --获取玩法规则
  118. function wanfa.getRuleInfo(ruleStr)
  119. if wanfa.ruleStr ~= "" then
  120. return wanfa.ruleStr;
  121. else
  122. local temp,tempStr = wanfa.getClubRuleInfo(ruleStr)
  123. return tempStr;
  124. end
  125. end
  126. function wanfa.getClubTableWanFaInfo(ruleStr,key)
  127. local strGameInfo = json.decode(ruleStr)
  128. local temp = ""
  129. local word = key or "highLimit"
  130. for serverKey,serverValue in pairs(strGameInfo) do
  131. if serverKey == word then
  132. for k,v in ipairs(wanfa) do
  133. if v[serverKey] then
  134. if v.isAndOr then
  135. for i,data in ipairs(v[serverKey]) do
  136. if getNumBand(serverValue,data.value) > 0 then
  137. temp = data.name.." "
  138. end
  139. end
  140. else
  141. for i,data in ipairs(v[serverKey]) do
  142. if serverKey == "baseMulti" then
  143. temp = temp .. data.name .. serverValue .. " "
  144. break;
  145. end
  146. if serverValue == data.value then
  147. temp = data.name.." "
  148. break
  149. end
  150. end
  151. end
  152. break
  153. end
  154. end
  155. break
  156. end
  157. end
  158. return temp
  159. end
  160. return wanfa