Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

204 lignes
7.3 KiB

  1. local yibinmajiangSound = MJFramework.MJFrameworkClassImprot("mj.luaScript.MJSound")
  2. local MJDefine = MJFramework.MJImport("mj.luaScript.MJDefine")
  3. local path = "mj/res/sound"
  4. local yibinmajiangPath = "mj/res/sound"
  5. yibinmajiangSound.man = "c_man"
  6. yibinmajiangSound.women = "c_women"
  7. yibinmajiangSound.pre = "c_"
  8. yibinmajiangSound.soundType = 1
  9. -- 吃操作
  10. --[[yibinmajiangSound.OperateSoundConfig[MJDefine.MJOperateType.OPREATE_CHI] = "chi"
  11. yibinmajiangSound.OperateSoundConfig[MJDefine.MJOperateType.OPREATE_MANGANG] = "gang"--]]
  12. local function dealSex(s)
  13. local sex=tonumber(s)
  14. if sex~=1 and sex~=2 then
  15. sex=1
  16. end
  17. return sex
  18. end
  19. -- sound_t 1 普通话 2 方言
  20. function yibinmajiangSound.setSoundType( sound_t )
  21. -- 强制使用方言
  22. local sound_t = 2
  23. if sound_t == 1 then
  24. yibinmajiangSound.man = "c_man"
  25. yibinmajiangSound.women = "c_women"
  26. yibinmajiangSound.pre = "c_"
  27. yibinmajiangSound.soundType = 1
  28. yibinmajiangPath = "mj_yibinmajiang/res/sound"
  29. else
  30. yibinmajiangSound.man = "f_man"
  31. yibinmajiangSound.women = "f_women"
  32. yibinmajiangSound.pre = "f_"
  33. yibinmajiangPath = "mj_yibinmajiang/res/sound"
  34. yibinmajiangSound.soundType = 2
  35. end
  36. end
  37. yibinmajiangSound.OperateSoundConfig={
  38. -- [MJDefine.MJOperateType.OPREATE_CHI] = "", --吃操作
  39. [MJDefine.MJOperateType.OPREATE_PENG] = "peng", --碰操作
  40. [MJDefine.MJOperateType.OPREATE_ZHIGANG] = "gang", --直杠操作
  41. [MJDefine.MJOperateType.OPREATE_BAGANG] = "gang", --巴杠
  42. [MJDefine.MJOperateType.OPREATE_ANGANG] = "gang", --暗杠
  43. [MJDefine.MJOperateType.OPREATE_DIANPAOHU] = "hu", --点炮胡牌
  44. [MJDefine.MJOperateType.OPREATE_ZIMOHU] = "zimo", --自胡牌
  45. [MJDefine.MJOperateType.OPREATE_QIANG_GANG_HU] = "qiangganghu", --抢杠胡
  46. [MJDefine.MJOperateType.OPREATE_FEI] = "fei", --飞
  47. [MJDefine.MJOperateType.OPREATE_TI] = "ti", --提
  48. }
  49. -- 1是男,2是女
  50. local OperateSoundCount = {
  51. [1] = {
  52. [MJDefine.MJOperateType.OPREATE_PENG] = 2, --碰操作
  53. [MJDefine.MJOperateType.OPREATE_ZHIGANG] = 2, --直杠操作
  54. [MJDefine.MJOperateType.OPREATE_BAGANG] = 2, --巴杠
  55. [MJDefine.MJOperateType.OPREATE_ANGANG] = 2, --暗杠
  56. [MJDefine.MJOperateType.OPREATE_DIANPAOHU] = 2, --点炮胡牌
  57. [MJDefine.MJOperateType.OPREATE_ZIMOHU] = 2, --自胡牌
  58. [MJDefine.MJOperateType.OPREATE_QIANG_GANG_HU] = 1, --抢杠胡
  59. [MJDefine.MJOperateType.OPREATE_FEI] = 2, --飞
  60. [MJDefine.MJOperateType.OPREATE_TI] = 2, --提
  61. },
  62. [2] = {
  63. [MJDefine.MJOperateType.OPREATE_PENG] = 2, --碰操作
  64. [MJDefine.MJOperateType.OPREATE_ZHIGANG] = 2, --直杠操作
  65. [MJDefine.MJOperateType.OPREATE_BAGANG] = 2, --巴杠
  66. [MJDefine.MJOperateType.OPREATE_ANGANG] = 2, --暗杠
  67. [MJDefine.MJOperateType.OPREATE_DIANPAOHU] = 2, --点炮胡牌
  68. [MJDefine.MJOperateType.OPREATE_ZIMOHU] = 2, --自胡牌
  69. [MJDefine.MJOperateType.OPREATE_QIANG_GANG_HU] = 1, --抢杠胡
  70. [MJDefine.MJOperateType.OPREATE_FEI] = 2, --飞
  71. [MJDefine.MJOperateType.OPREATE_TI] = 2, --提
  72. }
  73. }
  74. function yibinmajiangSound.PlayOperateSound(sex,opType)
  75. local opName = yibinmajiangSound.OperateSoundConfig[opType];
  76. if opName then
  77. sex = dealSex(sex)
  78. local gender = (sex == 1) and yibinmajiangSound.man or yibinmajiangSound.women;
  79. local name = ""
  80. if yibinmajiangSound.soundType == 1 then
  81. name = string.format("%s/%s/%syibinmajiang_mj_%s_%s.ogg", yibinmajiangPath, gender, yibinmajiangSound.pre, sex, opName)
  82. else
  83. local opCount = OperateSoundCount[sex][opType];
  84. local index = math.random(1, opCount);
  85. name = string.format("%s/%s/%syibinmajiang_mj_%s_%s_%d.ogg", yibinmajiangPath, gender, yibinmajiangSound.pre, sex, opName, index);
  86. end
  87. playVoice(name)
  88. end
  89. if opType == MJDefine.MJOperateType.OPREATE_DIANPAOHU then
  90. local name = "mj_yibinmajiang/res/sound/yibinmajiang_dianpao.ogg";
  91. playVoice(name)
  92. end
  93. end
  94. function yibinmajiangSound.PlayOutCard()
  95. playVoice("mj_yibinmajiang/res/sound/yibinmajiang_card_dis.ogg")
  96. end
  97. function yibinmajiangSound.PlayClickCard()
  98. playVoice("mj_yibinmajiang/res/sound/yibinmajiang_card_click.ogg")
  99. end
  100. local MahjongCardSoundCount = {
  101. [1] = {
  102. [11] = 4, [12] = 4, [13] = 4, [14] = 3, [15] = 4, [16] = 3, [17] = 4, [18] = 3, [19] = 2,
  103. [21] = 4, [22] = 3, [23] = 3, [24] = 4, [25] = 3, [26] = 3, [27] = 4, [28] = 3, [29] = 3,
  104. },
  105. [2] = {
  106. [11] = 4, [12] = 4, [13] = 4, [14] = 3, [15] = 4, [16] = 3, [17] = 4, [18] = 3, [19] = 2,
  107. [21] = 4, [22] = 3, [23] = 3, [24] = 4, [25] = 3, [26] = 3, [27] = 4, [28] = 3, [29] = 3,
  108. }
  109. }
  110. function yibinmajiangSound.PlayMJSound(sex,value)
  111. sex = dealSex(sex)
  112. local name
  113. if yibinmajiangSound.soundType == 1 then
  114. -- name = string.format("%s/%s/%syibinmajiang_mj_%s_%x.ogg", yibinmajiangPath,sex ==1 and yibinmajiangSound.man or yibinmajiangSound.women, yibinmajiangSound.pre, sex, value)
  115. -- 使用基类
  116. name = string.format("%s/%s/%sbase_mj_%s_%x.ogg", "mj/res/sound", (sex == 1) and "c_man" or "c_women", "c_", sex, value)
  117. else
  118. -- 没有多种声音,只有1中,所有不需要使用随机
  119. -- local v = tonumber(string.format("%x", value));
  120. -- local mjCount = MahjongCardSoundCount[sex][v];
  121. -- local index = math.random(1, mjCount);
  122. -- name = string.format("%s/%s/%syibinmajiang_mj_%s_%x_%d.ogg", yibinmajiangPath,sex ==1 and yibinmajiangSound.man or yibinmajiangSound.women, yibinmajiangSound.pre, sex, value, index)
  123. name = string.format("%s/%s/%syibinmajiang_mj_%s_%x.ogg", yibinmajiangPath,sex ==1 and yibinmajiangSound.man or yibinmajiangSound.women, yibinmajiangSound.pre, sex, value)
  124. end
  125. playVoice(name)
  126. end
  127. --飘音效
  128. function yibinmajiangSound.PlayPiaoSound(sex, value)
  129. -- sex = dealSex(sex)
  130. -- local name = ""
  131. -- if sex == 1 then
  132. -- name = string.format("%s/%s/%sbase_mj_%s_piao.ogg", "mj/res/sound","c_man", "c_", sex)
  133. -- else
  134. -- name = string.format("%s/%s/%sbase_mj_%s_piao.ogg", "mj/res/sound","c_women", "c_", sex)
  135. -- end
  136. -- playVoice(name)
  137. sex = dealSex(sex)
  138. local value = value or 0
  139. local name
  140. if yibinmajiangSound.soundType == 1 then
  141. if value == 1 then
  142. name = string.format("%s/%s/%sbase_mj_%s_piao.ogg", "mj/res/sound", (sex == 1) and "c_man" or "c_women", "c_", sex)
  143. end
  144. else
  145. name = string.format("%s/%s/%syibinmajiang_mj_%s_piao_%d.ogg", yibinmajiangPath, (sex == 1) and yibinmajiangSound.man or yibinmajiangSound.women, yibinmajiangSound.pre, sex, value)
  146. end
  147. if name then
  148. playVoice(name)
  149. end
  150. end
  151. function yibinmajiangSound.PlayGameBGM(bgmType)
  152. stopBGMusic()
  153. bgmType = bgmType or 1;
  154. -- if bgmType == 1 then
  155. -- playBGMusic("MJ_GameBGM", string.format("mj_yibinmajiang/res/sound/bgm/yibinmajiang_bgm_%d.ogg", bgmType));
  156. -- else
  157. -- playBGMusic("MJ_GameBGM", "mj_yibinmajiang/res/sound/bgm/yibinmajiang_bgm_2.ogg");
  158. -- end
  159. -- 只有1种BGM
  160. playBGMusic("MJ_GameBGM", "mj_yibinmajiang/res/sound/bgm/yibinmajiang_bgm_1.ogg");
  161. end
  162. function yibinmajiangSound.PlayBenJinSound ()
  163. local name = "mj_yibinmajiang/res/sound/yibinmajiang_fanluobo.ogg";
  164. playVoice(name)
  165. end
  166. function yibinmajiangSound.PlayGameStartSound (sex)
  167. sex = dealSex(sex)
  168. local name = string.format("mj_yibinmajiang/res/sound/yibinmajiang_zhengqi_%s.ogg", sex);
  169. playVoice(name)
  170. end
  171. --刮风音效
  172. function yibinmajiangSound.PlayWindSound()
  173. playVoice("mj_yibinmajiang/res/sound/yibinmajiang_wind.ogg")
  174. end
  175. --下雨音效
  176. function yibinmajiangSound.PlayRainSound()
  177. playVoice("mj_yibinmajiang/res/sound/yibinmajiang_rain.ogg")
  178. end
  179. return yibinmajiangSound