目录结构调整

This commit is contained in:
2026-02-04 23:47:45 +08:00
parent 6938c911c3
commit 6b22238c6e
8780 changed files with 15333 additions and 574 deletions

View File

@@ -0,0 +1,656 @@
(function(wnd, undef){
//复制json对象
function min_copyjson(json)
{
return JSON.parse(JSON.stringify(json));
}
//json对象转字符串
function min_jsontostr(json) {
return JSON.stringify(json);
}
//字符串转json对象
function min_strtojson(str) {
return JSON.parse(str);
}
//字符串转整型 def:转换失败时返回的默认值
function min_strtoint(str, def) {
var i = parseInt(str);
if (i == 0) {
return 0;
};
if (!i) { //=0也会进来
if (!def) {
def = 0;
};
i = def;
}
return i;
};
//整型转字符串
function min_inttostr(i) {
return i.toString();
};
//整除
function min_div(i, b)
{
if (!b) {
return parseInt(i);
}
return parseInt(i / b);
};
//取余数
function min_mod(a, b){
return a % b;
};
//取绝对值
function min_abs(b) {
return Math.abs(b);
};
//取随机数
function min_random(min, max) {
var Range = max - min;
var Rand = Math.random();
return (min + Math.round(Rand * Range));
};
//取随机数1
function min_random1(num) {
return parseInt(Math.random()*num);
};
//随机字符串
function min_randomChar(length){
var x = "0123456789";
var y = "qwertyuioplkjhgfdsazxcvbnm";
var z = "QWERTYUIOPLKJHGFDSAZXCVBNM";
var tmp = "";
for (var i = 0; i < length; i++) {
switch(min_random(0, 2)) {
case 0:
tmp += x.charAt(Math.ceil(Math.random()*100000000)%x.length);
break;
case 1:
tmp += y.charAt(Math.ceil(Math.random()*100000000)%y.length);
break;
case 2:
tmp += z.charAt(Math.ceil(Math.random()*100000000)%z.length);
break;
default:
break;
}
}
// var timestamp = new Date().getTime();
// return timestamp + tmp;
return tmp;
}
//取长度
function min_length(key) {
if (typeof(key) != "string") {
var key = key + "";
}
return key.length;
}
//字符全替换
function min_replaceAll(str, str_old, str_new, ignoreCase)
{
if (!RegExp.prototype.isPrototypeOf(str_old)) {
return str.replace(new RegExp(str_old, (ignoreCase ? "gi": "g")), str_new);
} else {
return str.replace(str_old, str_new);
}
}
//取本地当前时间格式yyyy-MM-dd HH:MM:SS
function min_now()
{
var date = new Date();
var seperator1 = "-";
var seperator2 = ":";
var month = date.getMonth() + 1;
var strDate = date.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
+ " " + date.getHours() + seperator2 + date.getMinutes()
+ seperator2 + date.getSeconds();
return currentdate;
}
//本地存储数据
function min_writefile_gameid(msg, gameid, fileid) {
localStorage.setItem("file_" + gameid + "_" + fileid, msg);
}
//读取本地数据
function min_readfile_gameid(gameid, fileid) {
return localStorage.getItem("file_" + gameid + "_" + fileid);
}
//取当前页面url中的参数值 def:没取到时返回的默认值
function min_getQueryString(name, def) {
var self = window;
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = self.location.search.substr(1).match(reg);
if (r != null) {
return unescape(r[2])
} else {
if (def) {
return def;
} else {
return null;
}
}
}
//获取当前页面的路径
function min_getUrlRootPath() {
var curWwwPath = window.location.host;
var pathName = window.location.pathname;
return curWwwPath + pathName.substr(0,pathName.lastIndexOf('/'));
}
//设置cookie
function min_setCookie(name, value, exp_minute) {
if (!exp_minute) {
exp_minute = 20; //默认时效20分钟
}
var exp = new Date();
exp.setTime(exp.getTime() + exp_minute*60*1000);
document.cookie = name + "=" + value + ";expires=" + exp.toGMTString()+';path=/';
}
//读取cookie
function min_getCookie(name) {
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null)
return arr[2];
return null;
}
//删除cookie
function min_delCookie(name) {
var value = min_getCookie(name);
if (value) {
min_setCookie(name, value, 0);
}
}
//获取一个dom
function min_getdom(id)
{
return document.getElementById(id);
};
//设置一个dom属性值 iddom、或dom的id、或实列key属性val
function min_setdom(id, key, val) {
var obj;
if (typeof(id) == 'string') {
obj = min_getdom(id);
}
else {
obj = id;
}
obj.setAttribute(key, val);
}
//添加一段innerHTML
function min_uphtml(id, str, isadd) {
/*
setAttribute是设置网页元素的属性就是在标签里内如<img />标签的src属性。
innerHTML不是属性只是JS里内代表一个双标记中间的文本如:<span> </span>中间的字符。
*/
var obj = window.document.getElementById(id);
if (isadd) {
obj.innerHTML = obj.innerHTML + str;
}
else {
obj.innerHTML = str;
}
}
//新建一个定时器每隔time毫秒执行一次func函数函数返回定时器id
function min_ontime(func, time)
{
return setInterval(func, time);
}
//新建一个定时器time毫秒后执行一次func函数只执行一次函数返回定时器id
function min_ontimeout(func, time)
{
return setTimeout(func, time);
}
//关闭定时器id为timerid的定时器
function min_closetime(timerid)
{
return clearTimeout(timerid);
}
//encode转码
function min_encode(s)
{
return encodeURIComponent(s);
}
//decode解码
function min_decode(s)
{
return decodeURIComponent(s);
}
//新建一个tcp连接
function min_tcp(config)
{
var ws = new WebSocket("ws://" + config.ipport); //"127.0.0.1:5414"
//连接上服务器后触发的事件
if (config.onopen) {
ws.onopen = config.onopen;
};
//收到服务器发来的数据包后触发的事件onmessage函数会有一个底层的msg参数其中msg.data才是服务器发过来的业务数据
if (config.onmessage) {
ws.onmessage = config.onmessage;
};
//断开与服务器的连接后触发的事件
if (config.onclose) {
ws.onclose = config.onclose; //断开连接的事件
};
return ws;
}
//http请求
function min_http(config) {
/*
config =
{
url: "http://127.0.0.1:5414/index.html",
type: "POST", //GET or POST 方法
data: "", //请求的数据
success: func_callback_succ, //请求成功后的回调函数function(data,status,callbackdata)
error: func_callback_err, //请求失败后的回调函数function(data,status)
callbackdata: "", //作为回调函数第三个参数带入回调函数的数据
//enurl: 0, //是否encodeURIComponent转码, 默认0不转码
//deurl: 0, //是否decodeURIComponent解码默认0不解码
debugLog: false, //是否输出debug日志默认false
method: "(OPTIONAL) True for async and False for Non-async | By default its Async"
}
*/
if (!config.debugLog) {
config.debugLog = false;
}
if (!config.enurl) {
config.enurl = 0;
}
if (!config.deurl) {
config.deurl = 0;
}
if (!config.method) {
config.method = true;
}
if (!config.url) {
if (config.debugLog == true) {
console.log("No Url!");
}
return;
};
if (!config.type) {
if (config.debugLog == true) {
console.log("No Default type (GET/POST) given!");
}
return;
}
var xmlhttp = initXMLhttp();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200 && config.success)
{
var responseText = mydecodeURIComponent(xmlhttp.responseText, config.deurl);
if (!config.callbackdata) {
config.success(responseText, xmlhttp.readyState);
}
else {
config.success(responseText, xmlhttp.readyState, config.callbackdata);
}
if (config.debugLog == true) {
console.log("SuccessResponse");
}
if (config.debugLog == true) {
console.log("Response Data:" + xmlhttp.responseText);
}
}
else
{
if (xmlhttp.readyState == 4 && config.error)
{
if (!config.callbackdata) {
config.error(xmlhttp.readyState, xmlhttp.status);
}
else {
config.error(xmlhttp.readyState, xmlhttp.status, config.callbackdata);
}
}
if (config.debugLog == true) {
console.log("FailureResponse --> readyState:" + xmlhttp.readyState + ", Status:" + xmlhttp.status);
}
}
}
var sendString = [],
sendData = config.data;
if (typeof sendData === "string") {
var tmpArr = String.prototype.split.call(sendData, '&');
for (var i = 0, j = tmpArr.length; i < j; i++) {
var datum = tmpArr[i].split('=');
if (datum[1]) {
sendString.push(myencodeURIComponent(datum[0], config.enurl) + "=" + myencodeURIComponent(datum[1], config.enurl));
}
else {
sendString.push(myencodeURIComponent(datum[0], config.enurl));
}
}
}
else if (typeof sendData === 'object' && !(sendData instanceof String || (FormData && sendData instanceof FormData))) {
for (var k in sendData) {
var datum = sendData[k];
if (Object.prototype.toString.call(datum) == "[object Array]") {
for (var i = 0, j = datum.length; i < j; i++) {
sendString.push(myencodeURIComponent(k, config.enurl) + "[]=" + myencodeURIComponent(datum[i], config.enurl));
}
}
else {
sendString.push(myencodeURIComponent(k, config.enurl) + "=" + myencodeURIComponent(datum, config.enurl));
}
}
}
sendString = sendString.join('&');
if (config.type == "GET") {
var g;
var i = config.url.lastIndexOf("?");
if (i > 8) {
g = "&";
} else {
g = "?";
}
var ddata = new Date().getMilliseconds();
if (sendString == "") {
sendString = '#dfw1977=' + (ddata + min_random(1, 99999) * 1000);
} else {
sendString = sendString + '#dfw1977=' + (ddata + min_random(1, 99999) * 1000);
}
xmlhttp.open("GET", config.url + g + sendString, config.method);
xmlhttp.send();
if (config.debugLog == true) {
console.log("GET fired at:" + config.url + "?" + sendString);
}
}
if (config.type == "POST") {
xmlhttp.open("POST", config.url, config.method);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(sendString);
if (config.debugLog == true) {
console.log("POST fired at:" + config.url + " || Data:" + sendString);
}
}
}
function initXMLhttp() {
var xmlhttp;
if (window.XMLHttpRequest) {
//code for IE7,firefox chrome and above
xmlhttp = new XMLHttpRequest();
} else {
//code for Internet Explorer
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
return xmlhttp;
}
//转码
function myencodeURIComponent(s, ifif)
{
if (ifif == 1) {
return min_encode(s);
} else {
return s;
}
}
//解码
function mydecodeURIComponent(s, ifif)
{
if (ifif == 1) {
return min_decode(s);
} else {
return s;
}
}
//在数组中根据元素值查找下标
function min_ary_indexof(array1, val, name)
{
for (var i = 0; i < array1.length; i++)
{
if (!name)
{
if (array1[i] == val)
return i;
}
else
{
if (array1[i][name] == val)
return i;
}
}
return -1;
};
//在数组中根据值删除元素
function min_ary_delval(array1, val, name)
{
var index = min_ary_indexof(array1, val, name);
if (index > -1)
{
array1.splice(index, 1);
}
};
//在数组中根据下标删除诺干个元素
function min_ary_delfromto(array1, from, to)
{
var rest = array1.slice((to || from) + 1 || array1.length);
array1.length = from < 0 ? array1.length + from : from;
array1.push.apply(array1, rest);
};
//在数组中删除某一对象元素
function min_ary_delobj(array1, object)
{
for (var i = 0; i < array1.length; ++i)
{
if (array1[i] === object)
{
array1.splice(i, 1);
break;
}
}
};
//数组包含
function min_ary_include(aryparent, arychild){
for (var i = 0; i < arychild.length; i++) {
var found = false;
for (var j = 0; j < aryparent.length; j++) {
if (aryparent[j] == arychild[i]){
found = true;
break;
}
}
if (!found){
return false;
}
}
return true;
};
//数组相减
function min_ary_deduct(aryparent, arychild){
var re = [];
for (var i = 0; i < aryparent.length; i++){
var found = false;
for (var j = 0; j < arychild.length; j++){
if (aryparent[i] == arychild[j]){
found = true;
break;
}
}
if (!found){
re.push(aryparent[i])
}
}
return re;
};
//是否存在指定函数
function min_ExitsFunction(funcName)
{
try
{
if (typeof(funcName) == "function")
{
return true;
}
}
catch(e)
{}
return false;
}
//按顺序加载js文件
function min_loadJsFile(str_jsfile, func_succ, NoRandomFlag)
{
var domScript = document.createElement('script');
if (!NoRandomFlag)
{
// str_jsfile = str_jsfile + '?' + Math.random() * 10000;
// str_jsfile = str_jsfile + '?' + min_random(1, 10000000);
str_jsfile = str_jsfile + '?' + min_timestamp();
}
domScript.src = str_jsfile;
func_succ = func_succ || function(){};
domScript.onload = domScript.onreadystatechange = function() {
if (!this.readyState || 'loaded' === this.readyState || 'complete' === this.readyState) {
func_succ();
this.onload = this.onreadystatechange = null;
this.parentNode.removeChild(this);
}
}
document.getElementsByTagName('head')[0].appendChild(domScript);
}
//生成一个GUID
function min_guid()
{
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
return v.toString(16);});
}
//获取时间戳
function min_timestamp()
{
return new Date().getTime();
}
wnd.min_copyjson = min_copyjson; //复制json对象
wnd.min_jsontostr = min_jsontostr; //json转字符串
wnd.min_strtojson = min_strtojson; //字符串转json
wnd.min_inttostr = min_inttostr; //整型转字符型
wnd.min_strtoint = min_strtoint; //字符型转整型
wnd.min_div = min_div; //整除
wnd.min_mod = min_mod; //取余数
wnd.min_abs = min_abs; //取绝对值
wnd.min_random = min_random; //取随机数
wnd.min_random1 = min_random1; //取随机数1
wnd.min_randomChar = min_randomChar; //随机字符串
wnd.min_length = min_length; //取长度
wnd.min_replaceAll = min_replaceAll; //字符全替换
wnd.min_now = min_now; //取本地当前时间
wnd.min_guid = min_guid; //生成一个GUID
wnd.min_getQueryString = min_getQueryString; //取当前页面url中的参数值
wnd.min_getUrlRootPath = min_getUrlRootPath; //获取当前页面的路径
wnd.min_setCookie = min_setCookie; //设置cookie
wnd.min_getCookie = min_getCookie; //读取cookie
wnd.min_delCookie = min_delCookie; //删除cookie
wnd.min_getdom = min_getdom; //获取一个dom
wnd.min_setdom = min_setdom; //设置一个dom属性值
wnd.min_uphtml = min_uphtml; //添加一段innerHTML
wnd.min_ontime = min_ontime; //新建一个周期性的定时器
wnd.min_ontimeout = min_ontimeout; //新建一个一次性的定时器
wnd.min_closetime = min_closetime; //关闭定时器
wnd.min_writefile_gameid = min_writefile_gameid; //本地存储数据
wnd.min_readfile_gameid = min_readfile_gameid; //读取本地数据
wnd.min_encode = min_encode; //encodeURIComponent转码
wnd.min_decode = min_decode; //decodeURIComponent解码
wnd.min_tcp = min_tcp; //新建一个tcp连接
wnd.min_http = min_http; //http请求
wnd.min_ary_indexof = min_ary_indexof; //在数组中根据元素值查找下标
wnd.min_ary_delval = min_ary_delval; //在数组中根据值删除元素
wnd.min_ary_delfromto = min_ary_delfromto; //在数组中根据下标删除诺干个元素
wnd.min_ary_delobj = min_ary_delobj; //在数组中删除某一对象元素
wnd.min_ary_include = min_ary_include; //数组包含
wnd.min_ary_deduct = min_ary_deduct; //数组相减
wnd.min_ExitsFunction = min_ExitsFunction; //是否存在函数
wnd.min_loadJsFile = min_loadJsFile; //加载js文件
wnd.min_guid = min_guid; //生成一个GUID
wnd.min_timestamp = min_timestamp; //获取时间戳
})(window);

View File

@@ -0,0 +1,822 @@
var AppList = AppList||{};
var RouteList = RouteList||{};
var RpcList = RpcList||{};
//--------------AppList---------------
AppList.app = "youle";
//-----------RouteList-------------
RouteList.platform = "platform";
RouteList.agent="agent";
RouteList.room="room";
//----------------RpcList--------------
RpcList.player_login = "player_login";
RpcList.self_join_room = "self_join_room";
RpcList.create_room = "create_room";
RpcList.self_break_room = "self_break_room";
RpcList.other_break_room = "other_break_room";
RpcList.other_join_room = "other_join_room";
RpcList.self_exit_room = "self_exit_room";
RpcList.other_exit_room = "other_exit_room";
RpcList.self_apply_free_room = "self_apply_free_room";
RpcList.other_apply_free_room = "other_apply_free_room";
RpcList.self_agree_free_room = "self_agree_free_room";
RpcList.other_agree_free_room = "other_agree_free_room";
RpcList.self_refuse_free_room = "self_refuse_free_room";
RpcList.other_refuse_free_room = "other_refuse_free_room";
RpcList.free_room = "free_room";
RpcList.over_game = "over_game";
RpcList.get_player_grade1 = "get_player_grade1";
RpcList.get_player_grade2 = "get_player_grade2";
RpcList.update_roomcard = "update_roomcard";
RpcList.other_offline = "other_offline";
RpcList.other_online = "other_online";
RpcList.send_voice = "send_voice";
RpcList.play_voice = "play_voice";
RpcList.send_text = "send_text";
RpcList.receive_chat = "receive_chat";
RpcList.get_player_task = "get_player_task";
RpcList.player_finish_task = "player_finish_task";
RpcList.get_task_award = "get_task_award";
RpcList.can_award = "can_award";
RpcList.kick_offline = "kick_offline";
RpcList.call_phone = "call_phone";
RpcList.other_callphone = "other_callphone";
RpcList.hangup_phone = "hangup_phone";
RpcList.other_hangup = "other_hangup";
RpcList.self_makewar = "self_makewar";
RpcList.other_makewar = "other_makewar";
RpcList.agentserver_game="agentserver_game";
RpcList.send_gift="send_gift";
RpcList.other_send_gift="other_send_gift";
RpcList.send_voice="send_voice";
RpcList.play_voice="play_voice";
RpcList.connect_roomserver="connect_roomserver";
RpcList.connect_agentserver="connect_agentserver";
RpcList.broadcast="broadcast";
RpcList.send_phiz="send_phiz";
RpcList.submit_opinion = "submit_opinion";
RpcList.kick_server = "kick_server";
RpcList.get_paylist = "get_paylist";
RpcList.pay_succ = "pay_succ";
RpcList.submit_location = "submit_location";
RpcList.binding_invitecode = "binding_invitecode";
RpcList.update_bean = "update_bean";
RpcList.get_player_invitecode = "get_player_invitecode";
RpcList.beanroom_surrender = "beanroom_surrender";
RpcList.player_prepare = "player_prepare";
RpcList.share_room = "share_room";
RpcList.get_share_room = "get_share_room";
RpcList.quick_enter_share_room = "quick_enter_share_room";
RpcList.advanced_roomlist = "advanced_roomlist";
RpcList.advanced_createroom = "advanced_createroom";
RpcList.change_room = "change_room";
RpcList.change_seat = "change_seat";
RpcList.set_bankpwd = "set_bankpwd";
RpcList.binding_phone = "binding_phone";
RpcList.send_phone_checkcode = "send_phone_checkcode";
RpcList.send_phone_code_wechat = "send_phone_code_wechat";
RpcList.get_treasurelist = "get_treasurelist";
RpcList.change_star = "change_star";
RpcList.submit_phoneinfo = "submit_phoneinfo";
RpcList.update_charm = "update_charm";
RpcList.setSign = "setSign";
RpcList.switchRoomList = "switchRoomList";
RpcList.getInfoByShortCode = "getInfoByShortCode";
RpcList.optBanList = "optBanList";
RpcList.getShortCodeRankList = "getShortCodeRankList";
RpcList.setAllCharm = "setAllCharm";
RpcList.getVipRankList = "getVipRankList";
RpcList.playerBehavior = "playerBehavior";
RpcList.setVipForbidSelect = "setVipForbidSelect";
RpcList.topup_card = "topup_card";
RpcList.query_player2 = "query_player2";
RpcList.giveCoin = "giveCoin";
RpcList.getPlayerWhiteList = "getPlayerWhiteList";
RpcList.optWhiteList = "optWhiteList";
var h5RpcList={}
h5RpcList.joinRoom = "joinRoom";
//----------------------------end------------------------------
var ClickBtn = [3,5,7,13,14,15,10,11,12,25,17,9,47,51,53,55,58,59,76,60,61,74,75,80,115,183,150,151,153,181,201,202,183,184,185,205,206,207,208,209,210,211,212,166,167,168,169,170,124,127,130,
133,233,245,246,247,253,248,249,253,256,257,258,259,260,261,262,263,550,177,283,375,391,392,393,394,395,396,397,
398,399,400,401,402,403,366,367,386,464,234,345,483,484,493,509,512,513,514,515,519,520,521,568,569,570,571,572,579,
602,626,604,656,661,662,663,664,665,666,667,668,669,670,671,3000,3004,3007,3008,3009,3010,3011,3014,3016,3017,3018,3019,
3034,3035,3044,3045,3046,3047,3048,3049,3050,3051,3052,3053,3054,3055,3057,3043,3038,3039,3067,3068,3087,3088,3089,3096,3075,3076,3097,3111,3120,92,93,97,
99,104,105,106,107,3133,3139,3140,3144,3145,3149,3155,3159,679,3182,3184,3175,3194,3195,3199,3214,3215,3205,3206,3210,
3203,3216,3217,3222,3231,3232,3233,3235,3240,3251,3253,3243,3244,3245,3255,3256,3258,3260,3264,3265,3266,3268,3269,3289,3281,3276,3274];
var C_PageOne = {
Tag:1,
X:1100,
Y:160,
H:80
};
var C_PageTwo = {
Tag:1,
X:1100,
Y:160,
H:80
};
var UnClickBtn = [8,50,225,227,228,229,699,161,162,164,165,370,426,427,428,429,430,431,432,433,434,435,446,447,448,449,450,451,452,453,454,455,468,469,470,471,472,473,474,475,476,477,498,499,500,501,
502,503,504,505,506,507,81,573,574,575,629,630,631,632,633,3056,3040,3058,3041,3061,3062,3071,3072,3069,3070,3090,3091,3092,3093,3094,3095,3098,3104,3108,3115,3116,3118,3119,
102,336,337,338,155,154,156,110,111,3127,3128,3141,3142,3146,3147,3151,3157,3099,3197,3212,3237,3246,3247,3248,3249,3250,3291,3280,3288,3283,3279,3292
];
var exceptSrc = [115,5,253,338,339,340,21,361,362,363,364,365,366,367,368,369,370,371,372,396];
var ConstVal=ConstVal||{};
ConstVal.Max = {
ShowChat:2000,
textlength:20,
headImgTimer:200,
heartbeat:30000
};
ConstVal.Tips={
width:30,
time:3000,
};
ConstVal.Kick={
text:"网络出现异常!",
tip:"(请重启游戏)"
};
ConstVal.screenShotParam = 0.7;
ConstVal.ShareTaskId="TJnueK1103Xgwj2o79xM2nvSe0WN6rzp";
ConstVal.iMessage={
text_y1:-60,
text_y2:25,
icon_x:20,
icon_y1:-65,
icon_y2:20,
close_x:1205,
close_y1:-60,
close_y2:25,
bg_y1:-85,
bg_y2:0,
time:500,
x1:85,
x2:1205,
y:0,
h:85,
speed:0.05,
max_length:60
};
ConstVal.Emotion = {
//动画帧间隔200
mode:1,//表情播放时间模式1->按帧数确定时间2->按照show_time_list确定
count:20,
f_spid:467,
tag:1,
rate:100,
col_num:4,//一行上的个数
spid_list:[528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547],//表情精灵列表序号对应
src_list:[147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166],//表情对应资源号
frame_list:[5,25,31,30,14,7,8,17,3,8,30,14,35,24,23,15,6,24,31,9],//表情对应帧数
show_time_list:[147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166],//表情播放时间
x:20,
y:20,
dis_x:20,
dis_y:20,
w:100,
h:100,
clip_x:0,
clip_y:0,
clip_h:0,
clip_w:0
}
ConstVal.Com_History = {
//动画帧间隔200
f_spid:696,
head_tag:1,
page_count:5,
text_width:12.5,
bubble_tag:10000,
content_tag:20000,
time_tag:30000,
time_length:[10,30,60,90,120,300],
bubble_width:[100,140,180,220,260,300,340],//气泡长度
head_res_id:116,
head_x:20,
head_y:30,
head_h:60,
head_dis_y:35,
time_bubble_dis_x:10,
head_bubble_dis_x:78,
bubble_content_dis_x:25,
head_bubble_dis_y:0,
head_content_1_dis_y:13,
head_content_2_dis_y:13,
time_bubble_dis_y:13,
clip_x:0,
clip_y:0,
clip_h:0,
clip_w:0
}
ConstVal.Task = {
f_spid:176,//父精灵
bg_spid:120,//背景精灵
task_des_spid:135,//任务描述精灵
reward_des_spid:307,//任务奖励描述
proc_bg_spid:311,//任务进度背景
proc_spid:315,//任务进度前景
proc_des_spid:319,//任务进度文字描述
get_reward_btn_spid:124,//领取任务按钮
isreward_spid:328,//已领取
tofinish_btn_spid:125,//去完成任务
//tag值
bg_tag:1,
task_des_tag:1000,
reward_des_tag:2000,
proc_bg_tag:3000,
proc_tag:4000,
proc_des_tag:5000,
get_reward_btn_tag:6000,
isreward_tag:7000,
tofinish_btn_tag:8000,
//位置
bg_x:0,
bg_y:0,
bg_w:0,//动态获取
bg_dis_x:0,
task_des_x:30,
task_des_y:30,
reward_des_y:265,
proc_bg_y:380,
proc_y:380,
proc_des_y:380,
get_reward_btn_y:368,
isreward_y:365,
tofinish_btn_y:330,
clip_x:110,
clip_y:170,
clip_w:0,
clip_h:0
}
ConstVal.Launch_mode={
name:"Launchtype",
from_hall:1,
from_self:0
};
ConstVal.OS = {//操作系统类型
apple:1,//苹果
android:2,//安卓
winphone:3,//windowsphone
other:4//其他
};
ConstVal.InterEffSoundsList = ["00001.mp3","00002.mp3","00003.mp3","00004.mp3"];
ConstVal.soudsSpidList = [235,13,5,6,7,9,339,11,12,14,15,249,10,376,377,378,379,380,381,382,383,384,385,150,153,151,283,181,513,233,185];
ConstVal.Broadcast = {
textwidth:18,
speed:0.1,
clip_x:0,
clip_y:0,
clip_w:0,
clip_h:0
};
ConstVal.Notice = {
replaceOldWord:"#",
replaceNewWord:"\n",
lineHeight:60,
textHeight:30,
textWidth:14,
clip_x:0,
clip_y:0,
clip_w:725,
clip_h:450,
img_clip_x:366,
img_clip_y:156,
img_clip_w:765,
img_clip_h:483,
};
ConstVal.payConfig = {
enablePay:false
};
ConstVal.loginButton = {
key:"loginimage",
type1:[1,22],//0->类型值 1->图片资源ID
type2:[2,203]
}
ConstVal.userAgent = {
paraName:"",
uAgent_1:1,
uAgent_2:2,
uAgent_3:3
};
ConstVal.worldRoom = {
f_sp_1:522,
f_sp_2:523,
bg_sp_1:524,
bg_sp_2:525,
top_sp_1:526,
top_sp_2:563,
des_sp_1:527,
des_sp_2:564,
starbg_sp_1:566,
starbg_sp_2:567,
star_sp_1:562,
star_sp_2:565,
mult_sp_1:3020,
mult_sp_2:3021,
join_sp_1:3022,
join_sp_2:3023,
pCount_sp_1:3024,
leave_sp_2:3025,
topImg_sp:96,
title_sp:3165,
multIcon_sp:94,
multImg_sp:95,
imgList:[361,362,363,364,365,366,367,368,369,370,371,372],
multIcon_y:100,
multImg_y:119,
topImg_y:25,
multImgWidth:25,
multIconImgSpace:20,
pCountIcon_sp_2:3026,
pCount_sp_2:3027,
roomCode_sp_2:3028,
bg_sp_tag_1:1,
top_sp_tag_1:2000,
des_sp_tag_1:4000,
starbg_sp_tag_1:6000,
star_sp_tag_1:8000,
mult_sp_tag_1:10000,
pCount_sp_tag_1:12000,
join_sp_tag_1:14000,
multIcon_tag:16000,
multImg_tag:18000,
topImg_tag:20000,
bg_sp_tag_2:1,
top_sp_tag_2:2000,
des_sp_tag_2:4000,
starbg_sp_tag_2:6000,
star_sp_tag_2:8000,
mult_sp_tag_2:10000,
leave_sp_tag_2:12000,
roomCode_sp_tag_2:14000,
pCountIcon_sp_tag_2:16000,
join_sp_tag_2:18000,
pCount_sp_tag_2:20000,
title_tag:40000,
clip_x_1:0,
clip_x_2:0,
clip_y_1:0,
clip_y_2:0,
clip_w_1:1050,
clip_w_2:1150,
clip_h_1:512,
clip_h_2:465,
bg_sp_x_1:0,
bg_sp_x_2:0,
bg_sp_y_1:0,
bg_sp_y_2:0,
//bg_sp_y_2:43,
bg_sp_space_1:6,
bg_sp_space_2:15,
top_sp_x_1:25,
top_sp_x_2:25,
top_sp_y_1:35,
top_sp_y_2:20,
top_sp_width_1:20,
top_sp_width_2:13,
top_sp_space_1:6,
top_sp_space_2:6,
des_sp_x_1:25,
des_sp_x_2:30,
title_sp_x:20,
title_sp_y:3,
des_sp_y_1:80,
des_sp_y_2:45,
des_sp_width_1:11,
des_sp_width_2:11,
des_sp_space_1:6,
des_sp_space_2:6,
//mult_sp_x_1:10000,
pCount_sp_x_1:80,
join_sp_x_1:302,//靠右显示
mult_sp_y_1:74,
pCount_sp_y_1:193,
join_sp_y_1:193,
mult_sp_x_2:30,
roomCode_sp_x_2:775,
pCountIcon_sp_x_2:170,
join_sp_x_2:700,//靠右显示
leave_sp_x_2:700,//靠右显示
pCountIcon_pCount_space_2:10,
pCount_space_2:8,
//mult_sp_y_2:72,
//roomCode_sp_y_2:25,
//pCountIcon_sp_y_2:76,
//join_sp_y_2:72,
//leave_sp_y_2:23,
//pCount_sp_y_2:81,
mult_sp_y_2:92,
roomCode_sp_y_2:45,
pCountIcon_sp_y_2:96,
join_sp_y_2:92,
leave_sp_y_2:45,
pCount_sp_y_2:101,
starbg_sp_x_1:35,
starbg_sp_x_2:35,
starbg_sp_y_1:182,
starbg_sp_y_2:182,
starbg_sp_space_1:6,
starbg_sp_space_2:6,
star_sp_x_1:35,
star_sp_x_2:35,
star_sp_y_1:189,
star_sp_y_2:189,
star_sp_space_1:6,
star_sp_space_2:6,
mult_sp_w_1:13,
join_sp_w_1:10,
join_sp_w_2:12,
leave_sp_w_2:12,
mult_sp_w_2:13,
roomCode_sp_w_2:16,
bgSpaceX:438,
bgSpaceY:250,
};
ConstVal.snrRoomList ={
f_spid:611,
bg_spid:622,
rcode_bg_spid:623,
rcode_spid:624,
close_spid:625,
update_spid:626,
switch_spid:627,
info_spid:600,
profit_spid:601,
video_spid:3138,
bg_tag:1,
rcode_bg_tag:200,
rcode_tag:400,
close_tag:600,
update_tag:800,
switch_tag:1000,
info_tag:1200,
profit_tag:1400,
video_tag:1600,
clip_x:0,
clip_y:0,
clip_w:900,
clip_h:0,
bg_x:15,
rcode_bg_x:33,
rcode_x:35,
close_x:70,
update_x:20,
switch_x:150,
info_x:35,
profit_x:150,
video_x:420,
bg_y:10,
rcode_bg_y:260,
rcode_y:28,
close_y:260,
update_y:90,
switch_y:90,
info_y:80,
profit_y:25,
video_y:20,
profit_w:12,
bg_space:5,
rcode_bg_space:35,
rcode_space:50,
close_space:300,
update_space:400,
switch_space:500,
bksp:3137,
};
ConstVal.rankList ={
f_spid:609,
bg_spid:610,
badge_spid:629,
headimg_spid:630,
headfront_spid:631,
name_spid:632,
star_spid:633,
bg_tag:1,
badge_tag:100,
headimg_tag:200,
headfront_tag:300,
name_tag:400,
star_tag:500,
clip_x:0,
clip_y:0,
clip_w:0,
clip_h:511,
bg_x:0,
badge_x:-20,
headimg_x:93,
headfront_x:85,
name_x:190,
star_x:190,
bg_y:0,
badge_y:-5,
headimg_y:12,
headfront_y:5,
name_y:8,
star_y:42,
space:13,
headsrc:262
};
ConstVal.MenuScene = {
createBtn_1:[780,182],//有星星场
joinBtn_1:[780,320],
starBtn:[780,458],
createBtn_2:[780,230],
joinBtn_2:[780,405]
};
//仓库
ConstVal.wareHouse = {
tableBgX:[41,33],
tableTextX:[57,51],
passWordLength:6,
};
ConstVal.sysNotice = {
f_spid:3109,
bubble_spid:163,
msg_spid:3110,
msg_width:11,
msg_tag:50000,
msg_rOld:"#",
msg_rNew:"\n",
lineHeight:25,
limit:10000,
bubble_tag:1,
x:20,
y:20,
spaceX:40,
spaceY:40,
bm_space_x:20,
bm_space_y:35,
lineSpace:30,// 行距
noteSpace:40,//每条的距离
clip_x:0,
clip_y:0,
clip_h:0,
clip_w:0
}
ConstVal.starConfig = {
resList:[214,214],
}
ConstVal.Animation = {
time1:1200,
time2:2000,
fundTime:5230,
deltaTime:1000,
};
ConstVal.myRoomList ={
maxLength:5,
fSpid:98,
bgSp:100,
roomCodeSp:102,
bgTag:1,
roomCodeTag:100,
placeX:0,
placeY:95,
bgX:8,
bgY:55,
space:5,
rCodeX:140,
rCodeY:85,
//clip_x:8,
//clip_y:160,
//clip_w:265,
//clip_h:450,
roomCodeWidth:14,
}
ConstVal.netType = 0;
ConstVal.isGameHall = false;
ConstVal.vipRoomList1 = {
f_spid:3172,
bg_spid:3176,
title_spid:3177,
code_spid:3178,
owner_spid:3179,
count_spid:3180,
del_spid:3181,
des_spid:3189,
enter_spid:3192,
bg_tag:1,
title_tag:1000,
code_tag:2000,
owner_tag:3000,
count_tag:4000,
des_tag:5000,
del_tag:6000,
enter_tag:7000,
clip_x:0,
clip_y:0,
clip_w:0,
clip_h:460,
space:199,
title_x:20,
code_x:70,
des_x:25,
owner_x:270,
count_x:525,
del_x:583,
enter_x:514,
title_y:3,
code_y:148,
des_y:50,
owner_y:146,
count_y:146,
del_y:0,
enter_y:42,
}
ConstVal.vipRoomList2 = {
f_spid:3185,
bg_spid:3186,
code_spid:3187,
count_spid:3188,
bg_tag:1,
code_tag:1000,
count_tag:2000,
clip_x:0,
clip_y:0,
clip_w:0,
clip_h:460,
spaceX:285,
spaceY:145,
code_x:56,
count_x:50,
code_y:25,
count_y:65,
countW:12,
}
ConstVal.blackList = {
f_spid:3204,
bg_spid:3207,
id_spid:3209,
del_spid:3208,
bg_tag:1,
id_tag:10000,
del_tag:20000,
clip_x:0,
clip_y:0,
clip_w:0,
clip_h:0,
id_x:25,
del_x:330,
id_y:12,
del_y:4,
space:8,
};
ConstVal.vipRank = {
f_spid:3227,
bg_spid:3223,
txt_spid:3229,
rank_spid:3228,
score_spid:3230,
bg_tag:1,
txt_tag:10000,
rank_tag:20000,
score_tag:30000,
clip_x:0,
clip_y:0,
clip_w:0,
clip_h:0,
txt_x:70,
rank_x:0,
score_x:230,
txt_y:10,
rank_y:4,
score_y:10,
rank_space:10,
space:8,
rank_w:25,
};
ConstVal.whiteList = {
f_spid:3272,
bg_spid:3277,
id_spid:3279,
del_spid:3278,
charm_spid:3292,
bg_tag:1,
id_tag:10000,
del_tag:20000,
charm_tag:30000,
clip_x:0,
clip_y:0,
clip_w:0,
clip_h:0,
id_x:25,
del_x:450,
charm_x:200,
id_y:12,
del_y:4,
charm_y:12,
space:8,
};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,582 @@
/*var returnCitySN = {"cip": "171.34.213.118", "cid": "360000", "cname": "江西省"}*/
var C_Player;
var InfoSex=0;
var arrBan=[];
var RoomCode = "";
var RoomNum = -1;
var CombatCount = 0;
var CombatPage = 0;//战绩页码
var CombatPageTwoIndex = 0;//大局标号
var CombatPageThreeIndex = 0;//小局标号
var CombatInfo = [];//战绩详情
var C_PageOneBtn = [];//战绩页一按钮id
var C_PageTwoBtn = [];//战绩页二按钮id
var CombatBackHeight = 0;//战绩背景高度
var TaskInfo = [];//任务详情
var VoteTime=0;//投票倒计时秒
var GameData=GameData||{};
GameData.HallServer="";
GameData.Server="";
GameData.AjaxUrl="";
GameData.scrollmsg="";
GameData.wechat_gzh="";
GameData.wechat_kfh="";
GameData.qq = "";
GameData.tel = "";
GameData.gzhcolor1 = "";
GameData.gzhcolor2 = "";
GameData.telcolor = "";
GameData.errorMsg = null;
GameData.tcpConnect=true;
GameData.tcpConnectState = false;
GameData.TimerID=0;
GameData.TimerID_2=0;
GameData.timer=10000;
GameData.time_2=15000;
GameData.NetType=0;//是否为首次连接
GameData.Protocol_H=1;
GameData.ProtocolIndex=true;
GameData.isLoad=true;
GameData.LoadCount=0;
GameData.Timesup=false;
GameData.InteractPlayer = -1;
GameData.isCallback=false;
GameData.isBoard=true;
GameData.ConnectType=false;//1->更换服务器不需要重连
GameData.ConnectRpc="";//更换服务器成功后发包的RPC
GameData.ConnectPack={};//更换服务器成功后发包数据
GameData.Battery = 0;//电量
GameData.NetWork = 0;//网络情况1 未连接网络 2 连接wifi 3 连接2G/3G/4G
GameData.WifiLevel = 0;//WiFi强度
GameData.wechat_ewm = "";//二维码
GameData.appstate=true;//true程序前台运行false程序后台运行
GameData.OS = ConstVal.OS.other;//1->IOS 2->Android 3->wp 4->other
GameData.isLogin = false;//是否已登录
GameData.leaveTime=0;//
GameData.disType = false;
GameData.reconnectTimer=0;
GameData.isClose = false;
GameData.isCloseTimer = null;
GameData.firstConnect = true;//第一次连接
GameData.firstConnect_Succ = false;//第一次连接成功
GameData.firstConnect_Timer = null;//第一次连接定时器
GameData.loginTimer = null;
GameData.tryTimes = 0;//链接尝试次数
GameData.isReconnect = false;
GameData.isCreateEmotion = false;
GameData.ChatPage = 1;
GameData.slidEmotion = false;
GameData.communionHistory=[];//聊天历史//二维数组[[方位类型1-文字2语音内容,时长]]
GameData.createHistoryLen = 0;//以创建的精灵的长度
GameData.slideHistory = false;
GameData.TcpTimer = null;//tcp连接失败判断定时器
GameData.slideTask = false;//是否滑动任务
GameData.copyTaskTagList = [];//任务复制精灵tag列表
GameData.versionState = 0;//苹果审核结果
GameData.visitorserver = "";//游客服务器地址
GameData.isVisitor = false;
GameData.shakeID = 0;//摇一摇事件ID
GameData.isRecord = false;
GameData.LaunchMode = ConstVal.Launch_mode.from_self;
GameData.Multiple = "";
GameData.OrgArr=[];
GameData.MultiArr = [];
GameData.isFirstLogin = true;//是否是第一次登陆
GameData.payList = null;
GameData.payData = [0,0];
GameData.visitorClick = 0;
GameData.Scene = 0;
GameData.urlFail = false;
GameData.BroadcastArray = [];
GameData.isBoardcast = false;
GameData.tcpState = [0,0];
GameData.Notice ={
heigth:0,
lineSum:0,
width:0
}
GameData.marketID = 0;
GameData.getJSONState = false;//JSON获取成功状态
GameData.Config = null;//服务器配置json
GameData.AgentLoginImg = "";//代理商图片
GameData.TopUpUrl = "";//索要房卡地址
GameData.tryConnect = false;
GameData.hallConfigName = ["enablePay",
"logoffCallback",//不通知
'worldRoomList',//星星争霸是否可用
'max:',
'min',
'unit',
'shareMsg',
'autoWorldRoomList',//是否自动弹出星星争霸场
'rankList',//是否显示排行榜按钮1模拟排行2真实排行
'groupMsg',//试玩群信息
'isReSetOwnerNote',//是否替换签名
'activity',//是否显示活动如果显示则为[x,y,w,h/*,isOpen,btnUrl,url,actid*/]
'actData:',//常驻活动按钮 [imgUrl,isOpen,jumpUrl,actUrl]
'shareButton:',//是否显示分享到平台
'enableQuickEnter',//是否隐藏快速加入
'storeUrl',//商城url
'bagUrl',//背包url
'shareDesc',//平台分享描述信息
'wareHouse',//是否开启仓库功能0->不开启1->开启保险箱不开启赠送2->开启赠送不开启保险箱3->开启星星赠送(开启保险箱)4->开启房卡赠送(开启保险箱)5->开启星星房卡赠送(开启保险箱)
'betaText',//版本号后的beta显示内容
'launchImgUrl',//启动页图片地址
'shareType:',//分享朋友圈类型0->链接分享 1->图片分享
'shareImgUrl',//分享朋友圈图片链接
'launchWaitTime',//启动等待时间
'shareBgUrl',//分享背景图片
'qqLogin',//是否显示qq登录
'androidPay',//是否开启安卓支付
'channelKey',//支付key
'payCSS',//支付css
'payJS',//支付js
'openVideo'
];//是否开启视频];
GameData.hallConfig = {
enablePay:0,
logoffCallback:0,//不通知
worldRoomList:0,//星星争霸是否可用
max:100,
min:0,
unit:1,
shareMsg:"",
autoWorldRoomList:0,//是否自动弹出星星争霸场
rankList:0,//是否显示排行榜按钮1模拟排行2真实排行
groupMsg:"",//试玩群信息
isReSetOwnerNote:0,//是否替换签名
activity:0,//是否显示活动如果显示则为[x,y,w,h/*,isOpen,btnUrl,url,actid*/]
actData:0,//常驻活动按钮 [imgUrl,isOpen,jumpUrl,actUrl]
shareButton:1,//是否显示分享到平台
enableQuickEnter:1,//是否隐藏快速加入
storeUrl:"",//商城url
bagUrl:"",//背包url
shareDesc:"",//平台分享描述信息
wareHouse:0,//是否开启仓库功能0->不开启1->开启保险箱不开启赠送2->开启赠送不开启保险箱3->开启星星赠送(开启保险箱)4->开启房卡赠送(开启保险箱)5->开启星星房卡赠送(开启保险箱)
betaText:"",//版本号后的beta显示内容
launchImgUrl:"",//启动页图片地址
shareType:0,//分享朋友圈类型0->链接分享 1->图片分享
shareImgUrl:"",//分享朋友圈图片链接
launchWaitTime:10,//启动等待时间
shareBgUrl:"",//分享背景图片
qqLogin:0,//是否显示qq登录
androidPay:0,//是否开启安卓支付
channelKey:"",//支付key
payCSS:"",//支付css
payJS:"",//支付js
openVideo:0,//是否开启视频
};
GameData.starName = "星星";
GameData.roomCardName = "房卡";
GameData.gameConfig = {};
GameData.playerHeadImgState = false;//玩家主界面头像加载状态
GameData.matchhtml = "";//比赛链接地址
GameData.Validator = null;
GameData.loginBtnType = ConstVal.loginButton.type1[0];//登录按钮样式
GameData.netWorkSate = false;
GameData.heartBeatTimer = null;//心跳事件定时器ID
GameData.heartBeatStage = false;//提示框是否处于心跳提示事件
GameData.telSpid = 179;//拨打电话精灵号
GameData.matchInfo = null;//比赛场信息
GameData.agentmode = 1;//邀请码模式
GameData.infMode = 0;//是否为无限局
GameData.infClickCount = 0;//点击次数
GameData.checkType = 1;//确认面板事件类型 1->解散房间 2->退出房间 3->投降
GameData.roomList = [];//房间列表
GameData.sendLoginTimer = null;//发送重连登录包定时器
GameData.loginList = [];//
GameData.isConnected = false;
GameData.isSendLoginState = false;//是否在等待登录包
GameData.isSendLoginTimer = null;//登录包收包定时器
GameData.isTcpConnect = false;//是否在连接状态
GameData.TcpID = 0;//tcpid
GameData.websocketList=[];
GameData.pack="";
GameData.infoSeat = -1;
GameData.sendLoginTimes = 0;
GameData.backUrl = "";
GameData.playerid = "";
GameData.serverConfig = {};
GameData.userAgent = ConstVal.userAgent.uAgent_1;
GameData.getbattery = "";
GameData.getbatteryPack = {};
GameData.getnetwork = "";
GameData.getnetworkPack = {};
GameData.getVersionState = "";
GameData.getVersionStatePack = {};
GameData.getchannelName = "";
GameData.getchannelNamePack = {};
GameData.getmarketname = "";
GameData.getmarketnamePack = {};
GameData.gamepastetext = "";
GameData.gamepastetextPack = {};
GameData.worldRoomSys=[];
//玩家房间数据
GameData.worldRoomPly=[];
GameData.worldRoomSysSlide = false;
GameData.worldRoomPlySlide = false;
GameData.menuNotice = null;
GameData.advertInfo_1 = {
type:0,//是否使用默认的文字通知
imgUrl:"",//图片地址
imgAdUrl:"",//图片跳转链接地址
height:1,//图片高度
msg:"",
url:"",
};
GameData.advertInfo_2 = {
type:0,
imgUrl:"",
imgAdUrl:"",
height:1,
msg:"",
url:"",
};
GameData.advertInfo_0 = {
type:0,
imgUrl:"",
imgAdUrl:"",
height:1,
msg:"",
url:"",
};
GameData.noticePage = 0;
GameData.noticePara = [[0,0],[0,0],[0,0]];
GameData.snrOption = {
profit:0,
roomcode:"",
};
GameData.snrRoomList = {
roomlist:[],
roomtype:[],
tea:1000,
shortcode:888
};
GameData.snrRoomListSlide = false;
GameData.snrOptionLength = 0;
GameData.snrOptionRoomTag = 0;
GameData.snrOptionMode = 0;
GameData.snrOptionRoomtype = "";
GameData.snrOptionDes = "";
GameData.snrOptionProfit=0;
GameData.shortCode = "";
GameData.isShowWorldRoomList = true;
GameData.shareMsg = "";
GameData.rankList = [];
GameData.rankListTag = 0;
GameData.ranListLength = 0;
GameData.rankListSlide = false;
GameData.h5Version = 0;
//
var shareParam = {
appid: "14936872341446",
devkey: "14915485974028"
}
GameData.shareTimeline = {//朋友圈
title: "",
desc: "",
link: "",
imgUrl: ""
}
GameData.shareAppMessage = {//好友
title: "",
desc: "",
link: "",
imgUrl: ""
}
GameData.gameData = "";
GameData.fromH5GameData = {};
GameData.isJoinRoomFromH5 = false;
GameData.h5ShareImage = "";
GameData.screenShotStage = 0;
GameData.screenShotSpidList = [];
GameData.ownerNote = "";
GameData.isDebugger = 0;
GameData.returnUrl = "";
GameData.configData = "";
GameData.h5ShareUrl = "";
GameData.inputPanelData = "";
GameData.inputCallBack = null;
GameData.isShowNeighbor = true;
GameData.nameImgFrame_1 = 1;//房卡图片帧数
GameData.nameImgFrame_2 = 1;//星星图片帧数
GameData.surrendCount = 0;
GameData.htmlCode = "";
GameData.htmlId = "";
GameData.serverIndex = 0;//连接地址下标
GameData.tryReconnectTimes = 0;
GameData.isChangeServer = false;
GameData.shareFrom = 0;//0->框架分享 1->游戏分享
GameData.activityType = 0;//子游戏调用类型
GameData.activityData = null;//子游戏调用类型
GameData.shareTimes = 0;//分享次数
GameData.sharePostUrl = "http://localhost:4477/testurl";//截图分享链接
//保险箱
GameData.wareHouse = {
page:1,//当前页
safeInputType:1,//保险箱存入取出类型
safeInputCount:-1,//保险箱存入取出数量
safePassWord:-1,//保险箱存入取出密码
inputNumber:0,//输入的数字
selectType:1,//选择的当前输入框
initPassWord1:-1,//初始化密码
initPassWord2:-1,//确认初始化密码
pId:0,//赠送id
pImg:"",//赠送头像
pNickName:"",//赠送昵称
pInputType:1,//赠送类型
pInputId:-1,//输入id
pInputCount:-1,//赠送数量
pInputPassWord:-1,//赠送密码
};
GameData.openVideo = 0;//是否开启视频功能
GameData.imgAdIsSlide = false;
GameData.launchImgLoaded = false;//启动页图片是否从网络加载完成
GameData.configSuccess = false;//配置文件读取成功
GameData.launchWaitTime = 0;
GameData.adTimer = null;
GameData.sysNotice = [];//系统公告 {msg:"",read:false,line:1}
GameData.sysCreateLength = 0;
GameData.selectSysNotice = false;//是否勾选发送系统公告
GameData.sysNoticeCost = 0;
GameData.sysNoticeLimit = 0;
GameData.mainMenuAniTimer = null;
GameData.worldRoomPage = 0;
GameData.createMyRoomListLength = 0;
GameData.starCount = 0;
GameData.roomCardCount=0;
GameData.loginPlayerid = false;//登录是否带上playerid
GameData.matchId = null;
GameData.chatLine = null;
GameData.chatInfo = null;
GameData.isService = false;
GameData.submitLocation = false;
GameData.submitPhoneInfo = false;
GameData.submitAddressBook = false;
GameData.getConfigTimer = null;
GameData.clickChat = 0;
GameData.phoneInfo = null;
GameData.addressBook = null;
//GameData.sysConfigName=[];
GameData.sysConfigName=["hideEscape","charmName","hideTaskBtn","miniPro","videoConfig","ofcShortCode","ofcTips","ofcWx","ofcImg",
"managerUrl","rebateConfig","gameNoticeShow","hallNoticeShow","ofcAutoEnter","vipFlushTime","vipWx","h5PayUrl","appShareH5",
"vipRankLimit","behaviorList","deviceLogin","hideWxShare","hideRoomCard","hideSpid","cdKey","otherShare","avatarRange","avatarUrl","whiteListManager","nnLocal"];
GameData.sysConfig={
hideEscape:0,
charmName:"魅力",
hideTaskBtn:0,//是否隐藏任务按钮
miniPro:0,//是否小程序/小游戏 (隐藏更多选项、分享朋友圈、聊天按钮、录音调整)
videoConfig:null,//{type:1,profitMode:1,profit:3}
ofcShortCode:null,//官方短号
ofcImg:"",//官方按钮链接
managerUrl:"",//管理后台地址
rebateConfig:null,//抽成配置
gameNoticeShow:0,//子游戏弹窗时间间隔 0每次都弹 -1不弹
hallNoticeShow:0,//大厅弹窗时间间隔 0每次都弹 -1不弹
ofcAutoEnter:0,//是否自动进入官方短号
vipFlushTime:10000,//vip房间列表刷新间隔
vipWx:"",//成为vip联系微信
h5PayUrl:"",//h5支付地址
appShareH5:"",//app分享的h5地址
vipRankLimit:10,//vip排行显示个数
behaviorList:null,//用户行为
deviceLogin:0,//是否显示设备登录显示了设备登录就会显示手机号登录就会隐藏微信登录
hideWxShare:0,//是否隐藏微信分享
hideRoomCard:1,//隐藏主界面房卡 1 不隐藏 2隐藏
hideSpid:null,//隐藏的精灵id
cdKey:1,//是否显示CDKEY 1不显示 2显示
otherShare:1,//开启新分享 1 关闭2开启
avatarRange:[100,10000],//设备登录的头像列表
avatarUrl:"https://projectimage.tscce.cn/image_132/",
whiteListManager:2, //是否开启在游戏中管理白名单
nnLocal:2,//
};
GameData.inputCallBack2 = null;
GameData.topInfoTimer = null;
GameData.iscloseVideo = true;//是否开战关闭视频
GameData.textCallback = null;
GameData.isLocation = false;
GameData.otherLocation = false;//
GameData.otherLocationTimes = 0;
GameData.otherLocationAllTimes = 1;
GameData.hallLogin = true;
GameData.senRoomState = 0;
GameData.rebateConfig = null;
GameData.vipRoomPage = 0;
GameData.vipRoomCode = 0;
GameData.vipRoomData = [];
GameData.vipRoomTimer1 = false;
GameData.vipRoomIsOpen = false;
GameData.vipRoomShortList = [];
GameData.vipRoomJump = false;
GameData.vipRoomPageOne = {
cLength:0,
slide:false,
}
GameData.vipRoomPageTwo = {
cLength:0,
slide:false,
data:null,
}
GameData.tipTimer1 = null;
GameData.tipTimer2 = null;
GameData.initCard = 0;
GameData.initBean = 0;
GameData.brNumber=0;
GameData.isKick = false;
GameData.blackList = {
data:[],
length:0,
breakRoom:false,
selectTag:0,
slide:false,
inputId:"",
idWidth:12,
}
GameData.allCharm = 0;
GameData.vipRank = {
data:{
rankList:[],
myRank:1,
myScore:100
},
length:0,
//selectTag:0,
slide:false,
//inputId:"",
//idWidth:12,
}
GameData.rankType = false;
GameData.coinMp3Time = 0;
GameData.coinMp3Length = 3000;
GameData.brRebateUnit = 10000;
GameData.phoneCodeTime = 0;
GameData.phoneCode = "";
GameData.phoneNumber = "";
GameData.phoneType = 0;
GameData.isGetPhoneInfo = false;
GameData.isDeviceLogin = false;
GameData.begin0 = false;
GameData.vipConfig = null;
GameData.feedMode = 0;
GameData.fromMiniProData = {};
GameData.shareFriendInfo = {};
GameData.deviceAvatarList = [];
GameData.whiteList = {
data:[],
length:0,
breakRoom:false,
selectTag:0,
slide:false,
inputId:"",
inputCharm:"",
searchId:"",
idWidth:12,
delPid:"",
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,553 @@
function Player(seat){
this.openid = "";//id
this.playerid = -1;//playerid
this.nickname = "";//昵称
this.avatar = "";//头像地址
this.sex = 0;//性别
this.ip = "";//ip地址
this.province = "";//微信信息省份
this.city = "";//微信信息城市
this.roomcard = -1;//房卡数量
this.taskstate = 0;//任务状态
this.unionid = 0;//平台唯一表示
this.seat = seat; //座位号
this.score = 0;
this.state = -1;//玩家状态0->默认值 -1->申请解散 1->同意解散 2->拒绝解散
this.status = 0;//0->默认值 1->房主 2->非房主
//this.offline = 0;//玩家是否离线0->否 1->离线
this.canexit=1;//是否可以直接离开
this.onstate=0;//0:在线1:离线2:通话中
this.addr = null;
this.invitecode = "";//邀请码
this.isStart = false;//能否点击按钮开始游戏
this.bean = 0;//玩家豆子数量
this.initialBean = 0;//玩家豆子初始值
this.isprepare = 0;//玩家是否准备
this.advanced = 0;//玩家是否有高级选项
this.paycode = "";//吱口令
this.wareHouseStarCount = 0;//仓库库存星星
this.bankpower = 0;//是否有仓库权限
this.bankpwd = 0;//是否设置仓库密码
this.charm = undefined;
this.sign = "";//签名
this.tel = "";//绑定手机号
}
//玩家信息初始化
if(typeof(Player.prototype.Init) == "undefined"){
Player.prototype.Init = function(bTemp){
this.openid = "";//id
this.playerid = -1;//playerid
this.nickname = "";//昵称
this.score = 0;
this.avatar = "";//头像地址
this.sex = 0;//性别
this.ip = "";//ip地址
this.province = "";//省份
this.city = "";//城市
this.roomcard = 0;//房卡数量
this.taskstate = 0;//任务状态
this.unionid = 0;//平台唯一表示
if(bTemp)this.seat = -1; //座位号
this.state = -1;//玩家状态0->默认值 1->申请解散 2->同意解散 3->拒绝解散
this.status = 0;//0->默认值 1->房主 2->非房主
this.offline = 0;//玩家是否离线0->否 1->离线
this.canexit=1;//是否可以直接离开
this.onstate=0;//0:在线1:离线2:通话中
this.addr = null;
this.invitecode = "";//邀请码
this.isStart = false;//能否点击按钮开始游戏
this.bean = 0;//玩家豆子数量
this.initialBean = 0;//玩家豆子初始值
this.isprepare = 0;//玩家是否准备
this.advanced = 0;//玩家是否有高级选项
this.paycode = "";//吱口令
this.wareHouseStarCount = 0;//仓库库存星星
this.bankpower = 0;//是否有仓库权限
this.bankpwd = 0;//是否设置仓库密码
this.charm = undefined;
this.sign = "";//签名
this.tel = "";//绑定手机号
};
}
//玩家微信信息初始化
if(typeof(Player.prototype.SetWxInfo) == "undefined"){
Player.prototype.SetWxInfo = function(openid,headimgurl,nickname,sex,city,Province,unionid){
this.openid = openid;//id
this.nickname = nickname;//昵称
this.avatar = headimgurl;//头像地址
this.sex = sex;//性别
this.city = city;//城市
this.province = Province;//省
this.unionid=unionid;//开放平台id
//alert("设置玩家信息");
};
}
//玩家游戏信息初始化
if(typeof(Player.prototype.SetMyInfo) == "undefined"){
//Player.prototype.SetMyInfo = function(_playerid,_roomcard,_taskstate,_ip,_score,_bean,_paycode){
Player.prototype.SetMyInfo = function(object){
this.playerid = object.playerid;
this.roomcard = object.roomcard;
this.taskstate = object.taskstate;
this.ip=object.ip;
this.score = object.score;
this.bean = object.bean;
this.initialBean = object.bean;
this.bankpower = object.bankpower;
if(object.bank){
this.wareHouseStarCount = Number(object.bank);//仓库库存星星
}else{
this.wareHouseStarCount = 0;
}
if(object.bankpwd){
this.bankpwd = Number(object.bankpwd);//仓库库存星星
}else{
this.bankpwd = 0;
}
this.charm = object.charm;
this.sign = object.sign;
this.tel = object.tel;
//this.setTel();
//this.bankpwd = object.bank;//是否设置仓库密码 this.bankpwd = 0;//是否设置仓库密码
//this.paycode = _paycode;
};
}
//设置玩家位置
if(typeof(Player.prototype.SetLocationInfo) == "undefined"){
Player.prototype.SetLocationInfo = function(_locationinfo){
this.addr = _locationinfo;
set_self(200,7,C_Player.addr.province+"-"+C_Player.addr.city,0,0);
};
}
//设置玩家座位
if(typeof(Player.prototype.SetSeat) == "undefined"){
Player.prototype.SetSeat = function(seat){
this.seat = seat;
};
}
//设置玩家邀请码
if(typeof(Player.prototype.setInvitecod) == "undefined"){
Player.prototype.setInvitecod = function(_invitecode){
this.invitecode = _invitecode;
};
}
//修改房卡
if(typeof(Player.prototype.UpdateRoomcard) == "undefined"){
Player.prototype.UpdateRoomcard = function(_msg){
this.roomcard = _msg.data.roomcard;
//set_self(157,7,C_Player.roomcard,0,0);
//set_self(157,18,get_self(287,18,0,0,0)+get_self(287,20,0,0,0)/2-String(C_Player.roomcard).length*7,0,0);
GameUI.setHallRoomCard();
if(_msg.data.text){
GameUI.Openupdataroomcard(_msg.data.text);
}
};
}
//修改豆豆
if(typeof(Player.prototype.update_bean) == "undefined"){
Player.prototype.update_bean = function(_msg){
this.bean = _msg.data.bean;
GameUI.setHallStar();
//set_self(497,7,C_Player.bean,0,0);
//set_self(497,18,get_self(496,18,0,0,0)+get_self(496,20,0,0,0)/2-String(C_Player.bean).length*7,0,0);
set_self(510,7,GameData.starName+""+C_Player.bean,0,0);
GameUI.openUpdateBean(_msg.data.text);
if(C_Player.seat>-1){//在房间内
var pobj = Desk.GetPlayerBySeat(C_Player.seat);
pobj.bean = C_Player.bean;
pobj = null;
if(C_Player.seat == GameData.infoSeat){
set_self(511,7,GameData.starName+""+C_Player.bean,0,0);
}
}
};
}
//修改豆豆
if(typeof(Player.prototype.update_bean2) == "undefined"){
Player.prototype.update_bean2 = function(_bean){
this.bean = _bean;
GameUI.setHallStar();
//set_self(497,7,C_Player.bean,0,0);
//set_self(497,18,get_self(496,18,0,0,0)+get_self(496,20,0,0,0)/2-String(C_Player.bean).length*7,0,0);
set_self(510,7,GameData.starName+""+C_Player.bean,0,0);
if(C_Player.seat>-1){//在房间内
var pobj = Desk.GetPlayerBySeat(C_Player.seat);
pobj.bean = C_Player.bean;
pobj = null;
if(C_Player.seat == GameData.infoSeat){
set_self(511,7,GameData.starName+""+C_Player.bean,0,0);
}
}
};
}
//修改豆豆
if(typeof(Player.prototype.changeBean) == "undefined"){
Player.prototype.changeBean = function(_bean){
this.bean = this.initialBean + _bean;
GameUI.setHallStar();
//set_self(497,7,C_Player.bean,0,0);
//set_self(497,18,get_self(496,18,0,0,0)+get_self(496,20,0,0,0)/2-String(C_Player.bean).length*7,0,0);
set_self(510,7,GameData.starName+""+C_Player.bean,0,0);
if(C_Player.seat>-1){//在房间内
var pobj = Desk.GetPlayerBySeat(C_Player.seat);
pobj.bean = C_Player.bean;
pobj = null;
if(C_Player.seat == GameData.infoSeat){
set_self(511,7,GameData.starName+""+C_Player.bean,0,0);
}
}
};
}
//设置房卡
if(typeof(Player.prototype.setRoomcard) == "undefined"){
Player.prototype.setRoomcard = function(_roomcard){
this.roomcard = _roomcard;
GameUI.setHallRoomCard();
};
}
//设置房卡
if(typeof(Player.prototype.addRoomCard) == "undefined"){
Player.prototype.addRoomCard = function(value,text){
this.roomcard += value;
GameUI.setHallRoomCard();
if(text){
GameUI.Openupdataroomcard(text);
}
};
}
if(typeof(Player.prototype.setBean) == "undefined"){
Player.prototype.setBean = function(value){
this.bean = value;
GameUI.setHallStar();
};
}
if(typeof(Player.prototype.addBean) == "undefined"){
Player.prototype.addBean = function(value,text){
this.bean += value;
GameUI.setHallStar();
if(text){
GameUI.Openupdataroomcard(text);
}
};
}
//设置吱口令
if(typeof(Player.prototype.setPayCode) == "undefined"){
Player.prototype.setPayCode = function(_paycode){
if(_paycode){
this.paycode = _paycode;//吱口令
}else{
this.paycode = "";//吱口令
}
};
}
//绑定邀请码
if(typeof(Player.prototype.binding_invitecode) == "undefined"){
Player.prototype.binding_invitecode = function(_msg){
if(_msg.data.state == 0){
this.invitecode = _msg.data.invitecode;
}
GameUI.OpenTips(_msg.data.error,ConstVal.Tips.time);
};
}
//设置牌桌内玩家数据
if(typeof(Player.prototype.SetDeskInfo) == "undefined"){
Player.prototype.SetDeskInfo = function(_data,bTemp){
this.playerid=_data.playerid;
this.nickname=_data.nickname;
this.avatar=_data.avatar;
this.sex=_data.sex;
this.ip=_data.ip;
this.onstate=_data.onstate;
this.bean = _data.bean;
if(!bTemp){
this.initialBean = _data.bean;//玩家豆子初始值
}else{
this.initialBean = _data.initialBean;//玩家豆子初始值
}
this.isprepare = _data.isprepare;//玩家是否准备
if(_data.paycode){
this.paycode = _data.paycode;
}else{
this.paycode = "";
}
this.charm = _data.charm;
this.sign = _data.sign;
};
}
//获取牌桌内玩家数据
if(typeof(Player.prototype.getDeskInfo) == "undefined"){
Player.prototype.getDeskInfo = function(){
var rValue = {};
rValue.playerid=this.playerid;
rValue.nickname=this.nickname;
rValue.avatar=this.avatar;
rValue.sex=this.sex;
rValue.ip=this.ip;
rValue.onstate=this.onstate;
rValue.bean = this.bean;
rValue.initialBean = this.initialBean;//玩家豆子初始值
rValue.isprepare = this.isprepare;//玩家是否准备
if(this.paycode){
rValue.paycode = _data.paycode;
}else{
rValue.paycode = "";
}
rValue.charm = this.charm;
return rValue;
};
}
//房间解散
if(typeof(Player.prototype.BreakRoom) == "undefined"){
Player.prototype.BreakRoom = function(){
this.seat = -1; //座位号
this.state = -1;//玩家状态0->默认值 1->申请解散 2->同意解散 3->拒绝解散
this.status = 0;//0->默认值 1->房主 2->非房主
this.isStart = false;//能否点击按钮开始游戏
//this.paycode = "";
};
}
//申请解散房间
if(typeof(Player.prototype.ApplyBreakRoom) == "undefined"){
Player.prototype.ApplyBreakRoom = function(){
this.state = 0;//玩家状态0->默认值 1->申请解散 2->同意解散 3->拒绝解散
};
}
//同意解散房间
if(typeof(Player.prototype.AgreeBreakRoom) == "undefined"){
Player.prototype.AgreeBreakRoom = function(){
this.state = 1;//玩家状态0->默认值 1->申请解散 2->同意解散 3->拒绝解散
};
}
//拒绝解散房间
if(typeof(Player.prototype.RefuseBreakRoom) == "undefined"){
Player.prototype.RefuseBreakRoom = function(){
this.state = 2;//玩家状态0->默认值 1->申请解散 2->同意解散 3->拒绝解散
};
}
//更改玩家是否可以直接退出
if(typeof(Player.prototype.ChangeExit) == "undefined"){
Player.prototype.ChangeExit = function(v){
this.canexit = v;
switch(v){
case 1:
if(this.status == 1){
set_self(181,43,4,0,0);
}else{
set_self(181,43,3,0,0);
}
break;
case 0:
GameUI.hideExitBtn();
set_self(181,43,1,0,0);
break;
}
};
}
//更改玩家通话状态
if(typeof(Player.prototype.phonestate) == "undefined"){
Player.prototype.phonestate = function(state){
state=Number(state);
C_Player.onstate=state;
var pobj=Desk.GetPlayerBySeat(C_Player.seat);
if(!pobj){return;}
pobj.onstate=state;
GameUI.SetOnState(C_Player.seat.seat,state);
switch(state){
case 0://挂断
var data={};
data.agentid=GameData.AgentId;
data.gameid=GameData.GameId;
data.playerid=C_Player.playerid;
data.roomcode=Desk.roomcode;
Net.Send_hangup_phone(data);
break;
case 1://接起电话
var data={};
data.agentid=GameData.AgentId;
data.gameid=GameData.GameId;
data.playerid=C_Player.playerid;
data.roomcode=Desk.roomcode;
Net.Send_call_phone(data);
break;
case 2://电话进来
var data={};
data.agentid=GameData.AgentId;
data.gameid=GameData.GameId;
data.playerid=C_Player.playerid;
data.roomcode=Desk.roomcode;
Net.Send_call_phone(data);
break;
case 3://去电
var data={};
data.agentid=GameData.AgentId;
data.gameid=GameData.GameId;
data.playerid=C_Player.playerid;
data.roomcode=Desk.roomcode;
Net.Send_call_phone(data);
break;
}
};
}
//更改玩家任务提醒状态
if(typeof(Player.prototype.ChangeTaskstate) == "undefined"){
Player.prototype.ChangeTaskstate = function(v){
this.taskstate = v;
};
}
//分享回调
if(typeof(Player.prototype.sharesuccess) == "undefined"){
Player.prototype.sharesuccess = function(success,type){
if(success==2 && type == 2){//分享成功
var data={};
data.agentid=GameData.AgentId;
data.playerid=this.playerid;
data.taskid=ConstVal.ShareTaskId;
Net.Send_player_finish_task(data);
}else{
//GameUI.OpenTips("分享失败!",ConstVal.Tips.time);
}
if(success == 2 && GameData.shareFrom == 1){//截图分享成功
try{
GameData.shareTimes++;
if(isArray(GameData.hallConfig.actData)){
if(GameData.hallConfig.actData[1] == 0){//活动关闭
return;
}
switch(GameData.activityType){//
case 1://大赢家
if(GameData.shareTimes == 1){
var sendUrl = GameData.hallConfig.actData[3];
var event = 3;
Logic.sendToWeb2(sendUrl,event);
}
break;
}
}
//if(!isArray(GameData.hallConfig.activity)){//
//return;
//}else{
//if(GameData.hallConfig.activity.length>=5){
//if(GameData.hallConfig.activity[4] == 0){
//return;
//}
//}
//}
//logmessage("大赢家截图分享成功!"+GameData.shareTimes+"、"+GameData.activityType,1);
//switch(GameData.activityType){//
//case 1://大赢家
//if(GameData.shareTimes == 1){
//var sendUrl = "http://discount.0791ts.cn/api/add_game_times";
//var actId = 1;
//if(GameData.hallConfig.activity.length > 5){
//sendUrl = GameData.hallConfig.activity[6];
//actId = GameData.hallConfig.activity[7];
//}
//Logic.sendToWeb(sendUrl,actId);
//}
//break;
//}
}catch(e){
}
}
GameData.activityType = 0;
GameData.activityData = null;
};
}
//有
if(typeof(Player.prototype.player_finish_task) == "undefined"){
Player.prototype.player_finish_task = function(_msg){
if(_msg.data.state==1 && C_Player.taskstate==0){
C_Player.taskstate=1;
}
};
}
//领取任务奖励
if(typeof(Player.prototype.get_task_award) == "undefined"){
Player.prototype.get_task_award = function(_msg){
for(var i=0;i<TaskInfo.length;i++){
if(TaskInfo[i].taskid == _msg.data.taskid){
TaskInfo[i].state = 2;
}
}
this.taskstate=_msg.data.taskstate;
GameUI.CloseTask();
GameUI.OpenTask();
};
}
//设置是否已初始化密码
if(typeof(Player.prototype.setBankPwd) == "undefined"){
Player.prototype.setBankPwd = function(value){
this.bankpwd = value;
};
}
//设置库存星星数量
if(typeof(Player.prototype.setWareHouseStarCOunt) == "undefined"){
Player.prototype.setWareHouseStarCOunt = function(count){
if(count){
this.wareHouseStarCount = Number(count);
}else{
this.wareHouseStarCount = 0;
}
GameUI.setNumberImage(3033,C_Player.wareHouseStarCount,27);//仓库库存数量
};
}
//设置魅力值
if(typeof(Player.prototype.setCharm) == "undefined"){
Player.prototype.setCharm = function(count){
this.charm = count;
if(this.seat>-1){//在房间内
if(this.seat == GameData.infoSeat){
set_self(3125,7,GameData.sysConfig.charmName+""+count,0,0);
}
}
};
}
//设置魅力值
if(typeof(Player.prototype.setSign) == "undefined"){
Player.prototype.setSign = function(sign){
this.sign = sign;
GameUI.setSign(sign);
GameUI.closeTextInput();
};
}
if(typeof(Player.prototype.updateHallData) == "undefined"){
Player.prototype.updateHallData = function(data){
this.setSign(data.sign);
this.setRoomcard(data.roomcard);
this.update_bean2(data.bean);
};
}
if(typeof(Player.prototype.returnHallData) == "undefined"){
Player.prototype.returnHallData = function(data){
var obj={};
obj.sign = this.sign;
obj.roomcard = this.roomcard;
obj.bean = this.bean;
return obj;
};
}
//设置手机号
if(typeof(Player.prototype.setTel) == "undefined"){
Player.prototype.setTel = function(val){
this.tel = val;
// set_self(3256,43,2,0,0);
// play_ani(0,3256,35,255,100,0,1000,0,0,0,0,0,1);
};
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,886 @@
var Net = Net||{};
Net.tcp = {};
Net.tcp.isConnected = false;//已有连接连上
Net.tcp.tcpIDAva = 1;//用过的ID的最大值
Net.tcp.tcpIDList = [];//TCP ID列表
Net.tcp.connectCount = 3;//同时最多连接个数
Net.tcp.connectList = [];//tcp连接对象池
Net.tcp.connect = function(_id,ws){
}
Net.ws_tcp;
Net._SendData = function(_app,_route,_rpc,_data){
var _msg = {};
_msg.app = _app,
_msg.route = _route;
_msg.rpc = _rpc;
_msg.data = _data;
if(ConstVal.netType == 0){
Net.ws_tcp.send(JSON.stringify(_msg));
}else{
var putMsg='';
if(_msg.rpc == RpcList.player_login){putMsg="playerLogin"}
Func.AjaxHttp2(GameData.Server,_msg,
function(_msg,state,input_msg){
console.log(_msg,state,input_msg);
if (typeof(_msg) == 'string')
{
_msg = JSON.parse(_msg);
}
if(_msg.route==RouteList.platform||_msg.route==RouteList.agent||_msg.route==RouteList.room){
if(min_ExitsFunction(Net[_msg.rpc])){
Net[_msg.rpc](_msg);
}
}else{
Game_Modify._ReceiveData(_msg);
}
},function(_msg,state,input_msg){
if(input_msg == "playerLogin"){
GameUI.OpenTips("网络状况不好");
}
},putMsg);
}
if(Game_Config.Debugger.isDebugger){
console.log("发送数据:");
console.log(_msg);
}
}
Net.submit_error = function(_packet,_msg){
//提交错误
if(GameData.errorMsg != _msg){
GameData.errorMsg = _msg;
}else {
return;
}
var msg = {
app:"youle",
route:"agent",
rpc:"submit_error",
data:{
packet:_packet,
msg:_msg,
playerid:C_Player.playerid,
agentid:GameData.AgentId,
gameid:GameData.GameId,
}
}
try{
Net.ws_tcp.send(JSON.stringify(msg));
}catch(e){
}
}
Net.submit_log = function(_packet,_msg){
var msg = {
app:"youle",
route:"agent",
rpc:"submit_error",
data:{
packet:_packet,
msg:_msg,
playerid:C_Player.playerid,
agentid:GameData.AgentId,
gameid:GameData.GameId
}
}
console.log(_packet);
console.log(_msg);
try{
Net.ws_tcp.send(JSON.stringify(msg));
}catch(e){
}
}
//发送创建房间
Net.Send_create_room = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.create_room,_data);
}
//接收创建房间
Net.create_room = function(_msg){
//Logic.CreateRoom(_msg.data);
Desk.create_room(_msg);
GameUI.EndLoad();
Game_Modify.createRoom(_msg.data.roomtype,_msg.data.infinite);
if(Game_Modify.onCreateRoom){
Game_Modify.onCreateRoom(_msg.data);
}
}
//发送登录请求
Net.Send_login = function(_data){
//console.log(returnCitySN);
if(typeof returnCitySN != "undefined"){
_data.ip = returnCitySN.cip;
}
if(ConstVal.isGameHall){
if(!GameData.hallLogin){
return ;
}
}
_data.machineid = Logic.getMachineId();
_data.machineroom = Utl.getRoomcode();
//alert("进入Net.Send_login方法");
GameUI.StartLoad();
if(GameData.loginPlayerid){
var _playerid = Logic.readPlayerId();
if(_playerid){
_data.playerid = _playerid;
}
}
GameData.loginList.push(GameData.TcpID);
//GameData.isChangeServer = false;
//if(ConstVal.netType == 0){
GameData.isSendLoginState = true;
GameData.sendLoginTimes++;
if(!ConstVal.isGameHall){
if(GameData.sendLoginTimer == null){
GameData.isSendLoginTimer = setTimeout(function(){
GameData.ConnectType = false;
GameData.disType = true;
GameData.NetType=1;
GameUI.StartLoad();
GameData.isClose = true;
Net.ws_tcp.close();
GameData.isCloseTimer = setInterval(function(){
if(GameData.isClose){
Net.ws_tcp.close();
}
},5000);
},4000);
}
}else{
/*
if(GameData.sendLoginTimes >3){
if(GameData.isSendLoginTimer){
window.clearTimeout(GameData.isSendLoginTimer);
GameData.isSendLoginTimer = null;
}
GameUI.EndLoad();
GameUI.OpenKick("网络繁忙,请退出游戏,稍后登录!");
return;
}
if(GameData.sendLoginTimer == null){
GameData.isSendLoginTimer = setTimeout(function(){
var data={};
data.agentid = GameData.AgentId;
data.openid = C_Player.openid;
data.gameid = GameData.GameId;
data.nickname = C_Player.nickname;
data.avatar = C_Player.avatar;
data.sex = C_Player.sex;
data.province = C_Player.province;
data.unionid=C_Player.unionid;
data.city = C_Player.city;
data.version = GameData.versionCode;
data.channelid = GameData.ChannelId;
data.marketid = GameData.marketID;
},4000);
}
*/
}
//if(GameData.sendLoginTimes>=2){
//if(GameData.isSendLoginTimer){
//window.clearTimeout(GameData.isSendLoginTimer);
//GameData.isSendLoginTimer = null;
//}
//if(GameData.isClose){
//GameData.isClose = false;
//window.clearTimeout(GameData.isCloseTimer);
//}
//if(GameData.sendLoginTimer){
//window.clearTimeout(GameData.sendLoginTimer);
//GameData.sendLoginTimer = null;
//}
//if(GameData.sendLoginTimer == null){
//GameData.isSendLoginTimer = setTimeout(function(){
//GameData.ConnectType = false;
//GameData.disType = true;
//GameData.NetType=1;
//GameUI.StartLoad();
//GameData.isClose = true;
//Net.ws_tcp.close();
//GameData.isCloseTimer = setInterval(function(){
//if(GameData.isClose){
//Net.ws_tcp.close();
//}
//},5000);
//},4000);
//}
////GameUI.EndLoad();
////GameUI.OpenKick("网络繁忙,请退出游戏,稍后登录!");
//}
Net._SendData(AppList.app,RouteList.agent,RpcList.player_login,_data);
}
//接收登录
Net.player_login = function(_msg){
if(GameData.isSendLoginTimer){
window.clearTimeout(GameData.isSendLoginTimer);
GameData.isSendLoginTimer = null;
}
GameUI.EndLoad();
Desk.login(_msg);
}
//发送玩家自己进入房间请求
Net.Send_self_join_room = function(_data){
GameUI.StartLoad();
GameData.shortCode = _data.roomcode;
this._SendData(AppList.app,RouteList.agent,RpcList.self_join_room,_data);
}
//接收玩家自己进入房间请求
Net.self_join_room = function(_msg){
Desk.self_join_room(_msg);
GameUI.EndLoad();
}
//发送未开局之前房主自己解散房间
Net.Send_self_break_room = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.room,RpcList.self_break_room,_data);
}
//接收未开局之前房主自己解散房间
Net.self_break_room = function(_msg){
Desk.self_break_room(_msg);
GameUI.EndLoad();
}
//接收未开局之前他人房主解散房间
Net.other_break_room = function(_msg){
Desk.other_break_room(_msg);
}
//接收其他玩家加入房间
Net.other_join_room = function(_msg){
if(Logic.checkRoom()){
return;
}
Desk.other_join_room(_msg);
GameUI.EndLoad();
}
//发送未开局之前自己退出房间
Net.Send_self_exit_room = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.room,RpcList.self_exit_room,_data);
}
//接收未开局之前自己退出房间
Net.self_exit_room = function(_msg){
GameUI.closeCheck();
Desk.self_exit_room(_msg);
GameUI.EndLoad();
}
//接收未开局之前其他玩家退出房间
Net.other_exit_room = function(_msg){
if(Logic.checkRoom()){
return;
}
Desk.other_exit_room(_msg);
}
//发送开局之后自己申请解散房间
Net.Send_self_apply_free_room = function(_data){
//GameUI.StartLoad();
this._SendData(AppList.app,RouteList.room,RpcList.self_apply_free_room,_data);
}
//接收开局之后自己申请解散房间
Net.self_apply_free_room = function(_msg){
Desk.self_apply_free_room(_msg);
GameUI.EndLoad();
}
//接收开局之后其他玩家申请解散房间
Net.other_apply_free_room = function(_msg){
Desk.other_apply_free_room(_msg);
}
//发送自己同意解散房间
Net.Send_self_agree_free_room = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.room,RpcList.self_agree_free_room,_data);
}
//接收自己同意解散房间
Net.self_agree_free_room = function(_msg){
Desk.self_agree_free_room(_msg);
GameUI.EndLoad();
}
//接收其他玩家同意解散房间
Net.other_agree_free_room = function(_msg){
Desk.other_agree_free_room(_msg);
GameUI.EndLoad();
}
//发送自己拒绝解散房间
Net.Send_self_refuse_free_room = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.room,RpcList.self_refuse_free_room,_data);
}
//接收自己拒绝解散房间
Net.self_refuse_free_room = function(_msg){
Desk.self_refuse_free_room(_msg);
GameUI.EndLoad();
}
//接收其他玩家拒绝解散房间
Net.other_refuse_free_room = function(_msg){
Desk.other_refuse_free_room(_msg);
GameUI.EndLoad();
}
//接收解散房间
Net.free_room = function(_msg){
Desk.free_room(_msg);
GameUI.EndLoad();
}
//发送获取战绩
Net.Send_get_player_grade1 = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.get_player_grade1,_data);
}
//接收获取战绩
Net.get_player_grade1 = function(_msg){
gameCombat.get_player_grade1(_msg);
GameUI.EndLoad();
//Logic.SetCombatInfo(_msg.data);
//GameUI.OpenCombat();
}
//发送获取战绩2
Net.Send_get_player_grade2 = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.get_player_grade2,_data);
}
//接收获取战绩2
Net.get_player_grade2 = function(_msg){
gameCombat.get_player_grade2(_msg);
GameUI.EndLoad();
}
//接收修改房卡
Net.update_roomcard = function(_msg){
if(typeof _msg.data.change == "undefined"){
C_Player.UpdateRoomcard(_msg);
}
}
//接收其他玩家离线
Net.other_offline = function(_msg){
Desk.other_offline(_msg);
}
//接收其他玩家上线
Net.other_online = function(_msg){
Desk.other_online(_msg);
}
//发送发送聊天消息
Net.Send_send_text = function(_data){
this._SendData(AppList.app,RouteList.room,RpcList.send_text,_data);
}
//接收发送聊天消息
Net.send_text = function(_msg){
Desk.send_text(_msg);
}
//发送获取任务列表
Net.Send_get_player_task = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.get_player_task,_data);
}
//接收获取任务列表
Net.get_player_task = function(_msg){
Desk.get_player_task(_msg);
//GameUI.SetTaskInfo(_msg);
GameUI.EndLoad();
}
//发送完成任务
Net.Send_player_finish_task = function(_data){
this._SendData(AppList.app,RouteList.agent,RpcList.player_finish_task,_data);
}
//接收完成任务
Net.player_finish_task = function(_msg){
C_Player.player_finish_task(_msg);
}
//发送领取任务奖励
Net.Send_get_task_award = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.get_task_award,_data);
}
//接收领取任务奖励
Net.get_task_award = function(_msg){
C_Player.get_task_award(_msg);
GameUI.EndLoad();
}
//发送有任务可领取
Net.Send_can_award = function(_data){
this._SendData(AppList.app,RouteList.agent,RpcList.refresh_task_state,_data);
}
//接收有任务可领取
Net.can_award = function(_msg){
C_Player.can_award(_msg);
}
//接收踢下线
Net.kick_offline = function(_msg){
Desk.kick_offline(_msg);
}
//发送自己打电话
Net.Send_call_phone = function(_data){
this._SendData(AppList.app,RouteList.room,RpcList.call_phone,_data);
}
//接收自己打电话
Net.call_phone = function(_msg){
Desk.call_phone(_msg);
}
//发送自己挂断电话
Net.Send_hangup_phone = function(_data){
this._SendData(AppList.app,RouteList.room,RpcList.hangup_phone,_data);
}
//接自己收挂断打电话
Net.hangup_phone = function(_msg){
Desk.hangup_phone(_msg);
}
//发送房主开局
Net.Send_self_makewar = function(_data){
//GameUI.StartLoad();
this._SendData(AppList.app,RouteList.room,RpcList.self_makewar,_data);
}
//接收房主开局
Net.self_makewar = function(_msg){
Desk.self_makewar(_msg);
//GameUI.EndLoad();
}
//接收房主开局
Net.other_makewar = function(_msg){
Desk.makewar(_msg);
}
//自己发送互动
Net.Send_send_gift=function(_data){
this._SendData(AppList.app,RouteList.room,RpcList.send_gift,_data);
}
Net.send_gift=function(_msg){
Desk.send_gift(_msg);
}
//自己发送语音
Net.Send_send_voice=function(_data){
this._SendData(AppList.app,RouteList.room,RpcList.send_voice,_data);
}
Net.send_voice=function(_msg){
Desk.send_voice(_msg);
}
//发送切换至房间服务器
Net.Send_connect_roomserver=function(_data){
this._SendData(AppList.app,RouteList.room,RpcList.connect_roomserver,_data);
}
Net.connect_roomserver=function(_msg){
GameData.ConnectType=true;
GameData.disType =false;
GameData.ConnectPack = _msg.data;
GameData.ConnectRpc = RpcList.connect_roomserver;
GameData.Server=_msg.data.roomserver;
//Logic.Connect();
Net.ws_tcp.close();
}
//发送切换至大厅服务器
Net.Send_connect_agentserver=function(_data){
this._SendData(AppList.app,RouteList.agent,RpcList.connect_agentserver,_data);
}
Net.connect_agentserver=function(_msg){
if(_msg.data.opt == RpcList.other_break_room || _msg.data.opt == RpcList.free_room){
GameUI.StartLoad();
}
GameData.ConnectType=true;
GameData.disType =false;
GameData.ConnectRpc = RpcList.connect_agentserver;
GameData.ConnectPack = _msg.data;
GameData.Server=_msg.data.agentserver;
//Logic.Connect();
Net.ws_tcp.close();
}
Net.Send_broadcast=function(_data){
this._SendData(AppList.app,RouteList.agent,RpcList.broadcast,_data);
}
//接收即时信息
Net.broadcast=function(_msg){
//
Desk.broadcast(_msg);
}
//发送互动
Net.Send_send_phiz=function(_data){
this._SendData(AppList.app,RouteList.room,RpcList.send_phiz,_data);
}
//接收互动
Net.send_phiz=function(_msg){
Desk.send_phiz(_msg);
}
//提交反馈
Net.Send_submit_opinion=function(_data){
this._SendData(AppList.app,RouteList.agent,RpcList.submit_opinion,_data);
}
//接收反馈
Net.submit_opinion=function(_msg){
Desk.submit_opinion(_msg);
}
//踢出玩家
Net.Send_kick_server=function(_data){
this._SendData(AppList.app,RouteList.agent,RpcList.kick_server,_data);
}
Net.kick_server=function(_msg){
Desk.kick_server(_msg);
}
//获取支付列表
Net.Send_get_paylist=function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.get_paylist,_data);
}
//接收支付列表
Net.get_paylist=function(_msg){
GameData.payList = _msg.data.paylist;
GameUI.OpenPay();
GameUI.EndLoad();
}
//支付成功后通知服务器
Net.Send_pay_succ=function(_data){
this._SendData(AppList.app,RouteList.agent,RpcList.pay_succ,_data);
}
//提交位置信息
Net.Send_submit_location=function(_data){
if(!ConstVal.isGameHall){
this._SendData(AppList.app,RouteList.agent,RpcList.submit_location,_data);
}
}
//提交位置信息
Net.submit_location=function(_msg){
Game.submit_location(_msg);
}
//发送绑定
Net.Send_binding_invitecode=function(_data){
//GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.binding_invitecode,_data);
}
//接收绑定
Net.binding_invitecode=function(_msg){
//GameUI.EndLoad();
C_Player.binding_invitecode(_msg);
}
//接收修改豆豆
Net.update_bean = function(_msg){
//C_Player.update_bean(_msg);
Desk.update_bean(_msg);
}
Net.Send_get_player_invitecode = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.get_player_invitecode,_data);
}
Net.get_player_invitecode = function(_msg){
GameUI.EndLoad();
C_Player.setInvitecod(_msg.data.invitecode);
GameUI.OpenBind();
}
Net.Send_beanroom_surrender = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.room,RpcList.beanroom_surrender,_data);
}
Net.beanroom_surrender = function(_msg){
GameUI.EndLoad();
GameUI.closeCheck();
if(_msg.data.state==0){
Game_Modify.onSurrender(_msg);
}else{//失败
if(_msg.data.showerror==1){
GameUI.OpenTips(_msg.data.error);
}
}
}
Net.Send_player_prepare = function(_data){
this._SendData(AppList.app,RouteList.room,RpcList.player_prepare,_data);
}
Net.player_prepare = function(_msg){
Desk.player_prepare(_msg);
}
Net.Send_share_room = function(_data){
this._SendData(AppList.app,RouteList.room,RpcList.share_room,_data);
}
Net.share_room = function(_msg){
Desk.share_room(_msg);
}
Net.Send_get_share_room = function(_data){
if(!ConstVal.isGameHall){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.get_share_room,_data);
}
}
Net.get_share_room = function(_msg){
Desk.get_share_room(_msg);
GameUI.EndLoad();
}
Net.Send_quick_enter_share_room = function(_data){
console.log(_data);
this._SendData(AppList.app,RouteList.agent,RpcList.quick_enter_share_room,_data);
}
Net.show_message = function(_msg){
GameUI.EndLoad();
Desk.show_message(_msg);
}
Net.Send_advanced_roomlist = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.advanced_roomlist,_data);
}
Net.advanced_roomlist = function(_msg){
GameUI.EndLoad();
Desk.advanced_roomlist(_msg);
}
Net.Send_advanced_createroom = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.advanced_createroom,_data);
}
Net.advanced_createroom = function(_msg){
GameUI.EndLoad();
Desk.advanced_createroom(_msg);
}
Net.Send_change_room = function(_data){
//GameUI.StartLoad();
this._SendData(AppList.app,RouteList.room,RpcList.change_room,_data);
}
Net.change_seat = function(_msg){
Desk.change_seat(_msg);
}
//财富榜
Net.Send_get_treasurelist = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.get_treasurelist,_data);
}
//财富榜
Net.get_treasurelist = function(_msg){
Desk.get_treasurelist(_msg);
GameUI.EndLoad();
}
//设置仓库密码
Net.Send_set_bankpwd = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.set_bankpwd,_data);
}
Net.set_bankpwd = function(_msg){
GameUI.EndLoad();
Desk.set_bankpwd(_msg);
}
//更改仓库星星
Net.Send_change_star = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.change_star,_data);
}
Net.change_star = function(_msg){
GameUI.EndLoad();
Desk.change_star(_msg);
}
//提交手机信息
Net.Send_submit_phoneinfo = function(_data){
if(!ConstVal.isGameHall){
this._SendData(AppList.app,RouteList.agent,RpcList.submit_phoneinfo,_data);
}
}
Net.submit_phoneinfo = function(_msg){
//GameData.submitPhoneInfo = true;
}
//提交手机信息
Net.Send_update_charm = function(_data){
this._SendData(AppList.app,RouteList.agent,RpcList.update_charm,_data);
}
Net.update_charm = function(_msg){
//GameData.submitPhoneInfo = true;
Desk.update_charm(_msg);
}
Net.Send_setSign = function(_data){
this._SendData(AppList.app,RouteList.agent,RpcList.setSign,_data);
}
Net.setSign = function(_msg){
C_Player.setSign(_msg.data.sign);
//GameUI.setSign(_msg.data.sign);
}
Net.Send_switchRoomList = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.switchRoomList,_data);
}
Net.switchRoomList = function(_msg){
GameUI.EndLoad();
Desk.switchRoomList(_msg);
//GameUI.setSign(_msg.data.sign);
}
Net.Send_getInfoByShortCode = function(_data){
//GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.getInfoByShortCode,_data);
}
Net.getInfoByShortCode = function(_msg){
GameUI.EndLoad();
Desk.getInfoByShortCode(_msg);
}
Net.Send_optBanList = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.optBanList,_data);
}
Net.optBanList = function(_msg){
GameUI.EndLoad();
Desk.optBanList(_msg);
}
Net.Send_getShortCodeRankList = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.getShortCodeRankList,_data);
}
Net.getShortCodeRankList = function(_msg){
GameUI.EndLoad();
Desk.getShortCodeRankList(_msg);
}
Net.Send_setAllCharm = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.setAllCharm,_data);
}
Net.setAllCharm = function(_msg){
GameUI.EndLoad();
Desk.setAllCharm(_msg);
}
Net.Send_getVipRankList = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.getVipRankList,_data);
}
Net.getVipRankList = function(_msg){
GameUI.EndLoad();
Desk.getVipRankList(_msg);
}
Net.Send_playerBehavior = function(tag){
//GameUI.StartLoad();
/*
var _data={};
_data.agentid = GameData.AgentId;
_data.gameid = GameData.GameId;
_data.playerid = C_Player.playerid;
_data.tag = tag;
this._SendData(AppList.app,RouteList.agent,RpcList.playerBehavior,_data);
*/
var url = "http://test3.1888day.com/api/gamedo/gamedo";
var cfg = {};
cfg.url = url;
cfg.type = "GET";
cfg.data = "agentid="+GameData.AgentId+"&gameid="+GameData.GameId+"&playerid="+C_Player.playerid+"&tag="+tag;
cfg.success = playerBehavior_Succ;
cfg.error = playerBehavior_Fail;
min_http(cfg);
}
var playerBehavior_Succ = function(_msg,state,input_msg){
console.log("Succ");
console.log(_msg,state,input_msg);
}
var playerBehavior_Fail = function(_msg,state,input_msg){
console.log("Fail");
console.log(_msg,state,input_msg);
}
Net.playerBehavior = function(_msg){
//GameUI.EndLoad();
Desk.playerBehavior(_msg);
}
Net.Send_binding_phone = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.binding_phone,_data);
}
Net.binding_phone = function(_msg){
GameUI.EndLoad();
Desk.binding_phone(_msg);
}
Net.Send_send_phone_checkcode = function(_data){
//GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.send_phone_checkcode,_data);
}
Net.send_phone_checkcode = function(_msg){
//GameUI.EndLoad();
Desk.send_phone_checkcode(_msg);
}
Net.Send_send_phone_code_wechat = function(_data){
//GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.send_phone_code_wechat,_data);
}
Net.send_phone_code_wechat = function(_msg){
//GameUI.EndLoad();
Desk.send_phone_code_wechat(_msg);
}
Net.Send_setVipForbidSelect = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.setVipForbidSelect,_data);
}
Net.setVipForbidSelect = function(_msg){
GameUI.EndLoad();
Desk.setVipForbidSelect(_msg);
}
Net.Send_topup_card = function(_data){
console.log(_data);
this._SendData(AppList.app,RouteList.agent,RpcList.topup_card,_data);
}
Net.topup_card = function(_msg){
Desk.topup_card(_msg);
}
Net.Send_query_player2 = function(_data){
this._SendData(AppList.app,RouteList.agent,RpcList.query_player2,_data);
}
Net.query_player2 = function(_msg){
Desk.query_player2(_msg);
}
Net.Send_giveCoin = function(_data){
this._SendData(AppList.app,RouteList.agent,RpcList.giveCoin,_data);
}
Net.giveCoin = function(_msg){
Desk.giveCoin(_msg);
}
Net.Send_getPlayerWhiteList = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.getPlayerWhiteList,_data);
}
Net.getPlayerWhiteList = function(_msg){
GameUI.EndLoad();
Desk.getPlayerWhiteList(_msg);
}
Net.Send_optWhiteList = function(_data){
GameUI.StartLoad();
this._SendData(AppList.app,RouteList.agent,RpcList.optWhiteList,_data);
}
Net.optWhiteList = function(_msg){
GameUI.EndLoad();
Desk.optWhiteList(_msg);
}

View File

@@ -0,0 +1,610 @@
var Game=Game||{};
Game.submit_location = function(_msg){
GameData.submitLocation = true;
if(_msg.data.wechat_gzh){
GameData.wechat_gzh = _msg.data.wechat_gzh;
set_self(340,41,0,0,0);
set_self(340,7,GameData.wechat_gzh,0,0);
set_self(339,20,GameData.wechat_gzh.gblen()*13,0,0);
set_self(340,18,get_self(16,18,0,0,0)+get_self(16,20,0,0,0)/2-GameData.wechat_gzh.gblen()*6.5,0,0);
set_self(339,18,get_self(16,18,0,0,0)+get_self(16,20,0,0,0)/2-GameData.wechat_gzh.gblen()*6.5,0,0);
}
if(_msg.data.wechat_ewm){
GameData.wechat_ewm=_msg.data.wechat_ewm;
}
if(_msg.data.wechat_kfh){
GameData.wechat_kfh=_msg.data.wechat_kfh;
set_self(179,7,GameData.wechat_kfh,0,0);
}
if(_msg.data.qq){
GameData.qq=_msg.data.qq;
set_self(682,7,GameData.qq,0,0);
}
if(_msg.data.tel){
GameData.tel=_msg.data.tel;
set_self(GameData.telSpid,20,String(GameData.tel).gblen()*14,0,0);
set_self(GameData.telSpid,7,GameData.tel,0,0);
}
if(_msg.data.invitecode){
C_Player.setInvitecod(_msg.data.invitecode);
GameUI.CloseBind();
}
}
//游戏其他信息
//Game.mainSceneInfo = {};
var recorderManager;
var innerAudioContext1;
/**
* ?????????? mdata ??????
* openId,avatarUrl,nickName, gender, city, province, unionId
*/
function getwxuserinfo(mdata) {
sharelogin(mdata.openId,mdata.avatarUrl,mdata.nickName,mdata.gender,mdata.city,mdata.province,mdata.unionId)
}
/**
* ????????
*/
function wxgameshow(mdata) {
appservice(1);
}
/**
* ????????
*/
function wxgamehide(mdata) {
appservice(2);
}
/**
* ?????? state ???? 1 ?? 2 ??
*/
function sharegameinfo(state) {
//if (state == 1) {
//}
//if (state == 2) {
//}
state = Number(state);
//type = Number(type);
C_Player.sharesuccess(state,1);
}
//Recorderload();
/**
* ???????
*/
function Recorderload(){
if(!innerAudioContext1){
innerAudioContext1 = wx.createInnerAudioContext();
}
var that = this;
recorderManager=wx.getRecorderManager()
recorderManager.onError(function(){
console.log("????!");
});
recorderManager.onStop(function(res){
console.log(res.tempFilePath );
console.log("????!");
//playRecord(res.tempFilePath);
getaudiourl(res.tempFilePath,5);
});
//innerAudioContext1.onError((res) => {
//console.log("??????!");
//})
//innerAudioContext1.onEnded((res) => {
//console.log("??????!");
//})
innerAudioContext1.onError(function(res){
console.log("??????!");
})
innerAudioContext1.onEnded(function(res){
console.log("??????!");
})
}
/**
* ??????????
*/
function isxiaowxgame(){
var iswxgame;
try{
var recorderManager = wx.getRecorderManager();
iswxgame=true;
}catch(e){
iswxgame=false;
}
return iswxgame;
}
function wxauthorize(){
}
/**
* ????
*/
function startRecordAac (){
console.log("开始录音");
recorderManager.start({
format: 'aac'
});
// wx.authorize({
// scope: 'scope.record',
// fail: function (res) {
// // iOS ? Android ????????? errMsg ????,?????????
// console.log("????");
// console.log(res);
// if (res.errMsg.indexOf('auth deny') > -1 || res.errMsg.indexOf('fail') > -1 || res.errMsg.indexOf('auth denied') > -1 ) {
// // ???????????
// console.log("????");
// wx.showModal({
// title: '??',
// content: '??????????????????->??(?????)->?????->??',
// showCancel:false,
// success: function (res) {
// if (res.confirm) {
// console.log('??????')
// } else if (res.cancel) {
// console.log('??????')
// }
// }
// })
// }
// },
// success:function (res) {
// console.log("????");
// recorderManager.start({
// format: 'aac'
// });
// }
// })
}
/**
* ????
*/
function stopRecord (){
console.log("结束录音");
// wx.authorize({
// scope: 'scope.record',
// fail: function (res) {
// console.log("fail????");
// },
// success:function (res) {
// console.log("stop????");
// }
// })
recorderManager.stop()
}
/***
* ????
*/
function playRecord (src) {
if(!innerAudioContext1){
innerAudioContext1 = wx.createInnerAudioContext();
}
//var that = this;
// var src = this.data.src;
if (src == '') {
console.log("????!");
return;
}
innerAudioContext1.src = src;
innerAudioContext1.play()
}
var Wxloginbutton;
/**
* ?????
*/
function initwxgame() {
gameshow();
gamehide();
}
//initwxgame();
/**
* ???????
*/
//function gameshow() {
//wx.onShow(data => {
//console.log("******" + data)
//console.log(data)
//wxgameshow(data);
//});
//}
function gameshow() {
wx.onShow(function(data){
console.log("******" + data)
console.log(data)
wxgameshow(data);
});
}
/**
* ???????
*/
//function gamehide() {
//wx.onHide(data => {
//wxgamehide(data)
//});
//}
function gamehide() {
wx.onHide(function(data){
wxgamehide(data)
});
}
/*
* ?????????
* wxgamew ?????? wxgameh ?????? imagex ???????? imagey ???????? imagew???? imageh ???? btnimageurl ????
*/
function WXgameloginbuttonshow(wxgamew, wxgameh, imagex, imagey, imagew, imageh, btnimageurl) {
var winh, winw;
try {
wx.getSystemInfo({
success: function (res) {
console.log(res.model)
console.log(res.pixelRatio)
console.log(res.windowWidth)
console.log(res.windowHeight)
winh = res.windowHeight;
winw = res.windowWidth;
}
})
var sh = winh / wxgameh;
var sw = winw / wxgamew;
console.log("sw=" + sw + "sh=" + sh);
imagew = parseInt(imagew * sw);
imageh = parseInt(imageh * sh);
imagex = parseInt(imagex * sw);
imagey = parseInt(imagey * sh);;
if (wx.createUserInfoButton) {
if (Wxloginbutton) {
console.log("??button");
Wxloginbutton.show();
Wxloginbutton.offTap();//????????
} else {
console.log("????button");
// console.log(document.title);
Wxloginbutton = wx.createUserInfoButton({
type: 'image',
image: btnimageurl,
style: {
left: imagex,
top: imagey,
width: imagew,
height: imageh
}
})
}
//Wxloginbutton.onTap((res) => {
//console.log(res)
//if (res.errMsg.indexOf('auth deny') > -1 || res.errMsg.indexOf('auth denied') > -1 || res.errMsg.indexOf('fail') > -1 ) {
//wx.showModal({
//title: '??',
//content: '??????????????????->??(?????)->?????->??',
//showCancel: false,
//success: function (res) {
//if (res.confirm) {
//console.log('??????')
//} else if (res.cancel) {
//console.log('??????')
//}
//}
//})
//} else {
//WXgameLogin(res);
//}
//})
Wxloginbutton.onTap(function(res){
console.log(res)
if (res.errMsg.indexOf('auth deny') > -1 || res.errMsg.indexOf('auth denied') > -1 || res.errMsg.indexOf('fail') > -1 ) {
wx.showModal({
title: '??',
content: '??????????????????->??(?????)->?????->??',
showCancel: false,
success: function (res) {
if (res.confirm) {
console.log('??????')
} else if (res.cancel) {
console.log('??????')
}
}
})
} else {
WXgameLogin(res);
}
})
} else {
// ???????????????????????,???????
console.log("????????");
wx.showModal({
title: '??',
content: '????????,???????,??????????????',
showCancel:false,
success: function (res) {
if (res.confirm) {
console.log('??????')
} else if (res.cancel) {
console.log('??????')
}
}
})
}
} catch (e) {
}
}
/**
* ????????
*/
function WXgameloginbuttonhide() {
if (Wxloginbutton) {
Wxloginbutton.hide();
}
}
function Decrypt(key, iv, word) {
// var openDataContext = wx.getOpenDataContext()
// openDataContext.postMessage({
// text: 'hello',
// year: (new Date()).getFullYear()
// })
var murl = "https://games.tscce.cn/wechatsmallgame/encrypt.php";
var date = {};
date.key = encodeURIComponent(key);
date.type = "decrypt";
date.iv = encodeURIComponent(iv);
date.data = encodeURIComponent(word);
wx.request({
url: murl,
data: date,
method: 'POST',
header: {
"Content-Type": "application/x-www-form-urlencoded"
},
success: function (res) {
if (res.statusCode == 200) {
if (res.data) {
var mdata = decodeURIComponent(res.data);
console.log('??------' + mdata)
mdata = JSON.parse(mdata);
try {
console.log("??");
Wxloginbutton.hide();
console.log("Wxloginbutton??");
getwxuserinfo(mdata);
} catch (e) {
}
// sharelogin(mdata.openId, mdata.avatarUrl, mdata.nickName, mdata.gender, mdata.city, mdata.province, mdata.unionId);
}
} else {
console.log('??!res.statusCode' + res.statusCode)
}
},
fail: function (res) {
console.log('??!')
}
});
}
function WXgameLogin(uesrdata) {
// ??
wx.login({
//success: res => {
//if (res.code) {
//var murl = "https://games.tscce.cn/wechatsmallgame/code2accessToken.php?appid=wxaeeca8ffffa94105" +"&secret=639a292164680d4cd87a024edae21f41"+"&js_code="+res.code;
//console.log("????res.code=" + res.code);
//wx.request({
//url: murl,
//method: 'GET',
//header: {
//'content-type': 'application/json'
//},
//success: function (res) {
//console.log('??' + JSON.stringify(res));
//console.log('res.statusCode' + res.statusCode);
//if (res.statusCode == 200) {
//var openid = res.data.openid;
//var unionid = res.data.unionid;
//var session_key = res.data.session_key;
//Decrypt(session_key, uesrdata.iv, uesrdata.encryptedData);
//} else {
//console.log('??!res.statusCode' + res.statusCode)
//}
//},
//fail: function (res) {
//console.log('??!')
//}
//});
//}
//}
success: function(res){
if (res.code) {
var murl = "https://games.tscce.cn/wechatsmallgame/code2accessToken.php?appid=wxaeeca8ffffa94105" +"&secret=639a292164680d4cd87a024edae21f41"+"&js_code="+res.code;
console.log("????res.code=" + res.code);
wx.request({
url: murl,
method: 'GET',
header: {
'content-type': 'application/json'
},
success: function (res) {
console.log('??' + JSON.stringify(res));
console.log('res.statusCode' + res.statusCode);
if (res.statusCode == 200) {
var openid = res.data.openid;
var unionid = res.data.unionid;
var session_key = res.data.session_key;
Decrypt(session_key, uesrdata.iv, uesrdata.encryptedData);
} else {
console.log('??!res.statusCode' + res.statusCode)
}
},
fail: function (res) {
console.log('??!')
}
});
}
}
});
}
/**
* ?????????
*/
function initgameshareinfo(sharetitle, shareimageurl) {
wx.showShareMenu({ withShareTicket: true });
//wx.onShareAppMessage(data => {
//return {
//title: sharetitle,
//imageUrl: shareimageurl,
//query: '',
//success: function (res) {
//console.log(res);
//console.log('??????');
//sharegameinfo(1);
//},
//fail: function (res) {
//console.log('??????');
//console.log(res);
//sharegameinfo(2);
//}
//}
//})
wx.onShareAppMessage(function(data){
return {
title: sharetitle,
imageUrl: shareimageurl,
query: '',
success: function (res) {
console.log(res);
console.log('??????');
sharegameinfo(1);
},
fail: function (res) {
console.log('??????');
console.log(res);
sharegameinfo(2);
}
}
})
}
/**
* ?????????
*/
function hidegameshareinfo(sharetitle, shareimageurl) {
wx.hideShareMenu();
}
/**
* ??????
*/
function Pullupgameshare(sharetitle, shareimageurl) {
wx.shareAppMessage({
title: sharetitle,
imageUrl: shareimageurl,
query: "",
success: function (res) {
console.log(res);
console.log('??????');
sharegameinfo(1);
},
fail: function (res) {
console.log('??????');
console.log(res);
sharegameinfo(2);
}
});
}
/**
* ???????
*/
function createGameClubButtonimage(mleft, mtop, mwidth, mheight) {
var button = wx.createGameClubButton({
type: 'image',
icon: 'green',
style: {
left: mleft,
top: mtop,
width: mwidth,
height: mheight
}
})
}
// var button = wx.createGameClubButton({
// type: 'text',
// icon: 'green',
// style: {
// left: 10,
// top: 76,
// width: 40,
// height: 40
// }
// })

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,143 @@
/*****************黄欢****************/
var Game_Config = Game_Config||{};//相关配置
Game_Config.Debugger={//调试配置
isDebugger : false,// debugger模式下会将所有收发的包输出到控制台(正式发布改为false)
AutoLogin : true,//debugger模式下是否需要记住登录状态自动登录(正式发布改为true)
isSubmitError : false,//是否需要服务器收集错误信息调试时可根据需要正式发布改为true
visitorLogin : true,//隐藏式游客登录
visiblePay:false,//审核通过后是否显示支付按钮
serverType:0,//0->正式服务器 1->测试服务器 2->本地服务器
//gameserver:"http://ou9ocm96z.bkt.clouddn.com/74update_json.txt"
//gameserver:"http://ovw4mqeln.bkt.clouddn.com/update_json/74update_json.txt"+"?"+ifast_random(100000)
//gameserver:"http://testgame.youlehdyx.com/update_json/ceshi_json.txt"+"?"+ifast_random(100000)
gameserver:"https://tsgames.daoqi88.cn/config/update_jsonv2.txt"
//gameserver:"http://120.25.60.74:1089/index.html"//"http://ylyxservice1.0791ts.cn:1089/index.html"//gameserver:"http://112.35.8.77:3089/index.html"http://120.26.52.206:8080
//gameserver:"http://127.0.0.1:1089/index.html"
};
Game_Config.Max = {
SumOfRoomtype:13,//创建时房间类型roomtype数组长度
ShowChat:2000,//聊天停留时间
PlayerCnt:4,//房间最大人数
group:500,//游戏最大群组号
showtime:10,//加载等待最少时间
reconnecttime:30000,//唤醒游戏间隔(超过间隔断线重连)
Mainnickname:20,//主界面玩家昵称显示长度(字符长度)
Infonickname:16//个人信息显示长度(字符长度)
};
Game_Config.Combat = {
height:80,//战绩页单行高度高度
up_y:190,//战绩页裁剪y坐标
bannerheight:60,//战绩横幅高度
bannery:80,//战绩横幅Y左边相对48精灵
btnbg:50
};
Game_Config.Info = {
Mainnickname:8,//游戏主界面玩家信息显示最大长度(字符)
textwidth_1:12.5,//聊天显示文字的宽度(未改动聊天显示文字大小无需改动无需修改)
textwidth_2:12.5,//聊天显示文字的宽度(未改动聊天显示文字大小无需改动无需修改)
otherPositionDefault:true,//其他主界面玩家信息(昵称、积分)是否采用默认对齐方式对齐居中点为头像中点
myPositionDefault:true,//其他主界面玩家信息(昵称、积分)是否采用默认对齐方式对齐居中点为头像中点
myPosition:43,//自己信息对齐点(根据游戏界面自行修改)
position:[1193+43-10,980+43,43+10,43+10],//其他主界面玩家信息昵称、积分居中对齐的x坐标 注意是其他玩家不包括自己从下家开始
TextContent:["不要吵了不要吵了,专心玩游戏吧。","不要走,决战到天亮!","大家好,很高兴见到各位。","各位真是不好意思,我要离开一会儿。","快点吧,我等的花儿都谢了!","再见了,我会想念大家的。","怎么又断线了,网络怎么这么差啊!"],//常用语内容
TextContentMp3:["","","","","","",""],
};
Game_Config.Share={//分享参数
appdownload:"http://www.tsysjw.com/game_dz.apk",//下载链接(无需配置,从服务器获取)
title:"吉水三缺一",//(分享标题)
description:"每天可领取免费房卡约麻将",//分享描述
gameTitle:"每天可领取免费房卡约麻将",//游戏中的分享标题模板工程会自动将游戏名字分享出去、不必写在这个变量里
gameDescription:"每天可领取免费房卡约麻将"//游戏中分享描述
};
Game_Config.Chat={//游戏内聊天配置信息
LimitLength:40,//聊天最大长度(字节长度)
textwidth:12.5,//聊天显示文字的宽度(未改动聊天显示文字大小无需改动无需修改)
ChatDis:[30,12],//聊天气泡与内容的间隔0位置左右间隔(最好不要低于30)1位置上下间隔
isLeft:[1,0,0,1,0],//聊天气泡是否为以左边为基准线
//ChatLoc:[[35,517],[1100,315],[1100,105],[175,105],[175,315]]//聊天气泡的基准点位置(注意是基准点位置!)
ChatLoc:[[21,418],[1090+127,175],[899+127,1],[23,167],[1034+127,302]]
};
Game_Config.Voice={//游戏内聊天配置信息
VoiceTime:600,//播放语音动画的时间一般情况无需无需修改
VoiceDis:[30,12],//语音气泡与内容的间隔0位置左右间隔(最好不要低于30)1位置上下间隔
isLeft:[1,0,0,1,0],//气泡是否为以左边为基准线
VoiceLoc:[[21,418],[1090+127,175],[899+127,1],[23,167],[1034+127,302]]//气泡的基准点位置(注意是基准点位置!)
};
Game_Config.Setting={
Ads1:"本游戏仅为娱乐休\n闲使用房卡所有\n友乐游戏通用\n\n游戏问题请联系微\n 信公众号:\n",
//Ads2:"\n 或客服号:\n",
board:"",//从后台获取设置无效
//info:[" 客服信息","QQ:","手机:","微信:"],//客服QQ提醒
info:["客服信息","QQ:","",""],//客服QQ提醒
board_blength:24,//通知页面一行最大字节数(无需设置)
charge:"关注友乐微信公众号充值",//充值提示
//BtnLoc : [751,833]//音效设置界面两个按钮的x坐标点
};
Game_Config.Protocol={
x:270,//协议图片初始x坐标
y:100,//协议图片初始y坐标
h:560,//协议图片显示高度
w:729//协议图片显示宽度
};
Game_Config.Help={//帮助
x:193,//帮助图片初始x坐标
y:160,//帮助图片初始y坐标
w:900,//帮助图片显示高度
h:450//帮助图片显示宽度
};
Game_Config.Notice={//滚动公告
x1:0,//无需设置
x2:0,//无需设置
y:0,//无需设置
h:0,//无需设置
//以上参数用来截取滚动公告的显示,截取位置是与滚动公告底大小位置一致
speed:0.1,//滚动公告的滚动速度
width:15//滚动公告的内容字体的字节长度(汉字是两个字节)
};
Game_Config.Feedback = {//反馈配置
maxLen:250 //反馈内容最大长度
};
Game_Config.shakeList ={//摇一摇事件的回调ID、需要添加时在此处添加回调事件写在Utl_Input.js中的Utl.shakeEvent()中
nil:0,
startwar:1
};
Game_Config.soundList ={//声音资源名
MenuSceneMusic:"00171.mp3",//大厅界面背景音
MainSceneMusic:"00171.mp3"//游戏主界面背景音
//Button:""//按钮音效
};
Game_Config.ClickButton = {//需要设置点击音效的按钮(只有有弹窗的按钮设置此音效有效、按钮已经设置好、子游戏不允许修改)
src_1:"00170.mp3",//点击时播放的声音资源文件( 不需要播放则不填,下同)
src_2:""//弹窗时播放的音效
}
Game_Config.MenuScene = {//主菜单界面
};
Game_Config.loginButton = {//登录按钮信息
x1:450,//非审核版本微信登录按钮x
x2:113,//审核版本微信登录按钮x
x3:488,//审核版本游客登录按钮x
};
Game_Config.sysConfig = {
mainMenuButton:false,//是否进入主菜单界面隐藏四个按钮
mainScenePlayerInfo:false,//是否隐藏主界面玩家信息
mainSceneButton:false,//是否隐藏主界面按钮
shareRoom:false,//接收到星星场是否屏蔽平台框架显示
changeSeat:false,//是否屏蔽平台自动刷新换座后界面
hideNotice:false,//隐藏公告栏
vipInfinite:false,//vip房是否默认开启无限局
}

View File

@@ -0,0 +1,668 @@
/*
默认动画:
放大缩小 zoom 参数:目标倍数,时间(不是秒,是一个值,自己调一调)
旋转 rotate 参数:目标倍数,时间(不是秒,是一个值,自己调一调)
定向移动 move 参数:方向,距离,时间(不是秒,是一个值,自己调一调)
定点移动 moveTo 参数:目标位置[100,100],时间(不是秒,是一个值,自己调一调)
是否正在播放
if (!AM.is_play(5)) {
同时播放:边放大,边旋转
放大到200
AM.add(5).bfunc(function(){
该链式动画开始之前执行
}).zoom(200,35).func(function(){
该链式动画完成时执行此时不能再次执行同一ID的动画
}).start();
同时旋转30度
AM.new(5).bfunc(function(){
该链式动画开始之前执行
}).rotate(get_self(5,34)+30,30).func(function(){
该链式动画完成时执行此时不能再次执行同一ID的动画
}).start();
}
是否正在播放
if (!AM.is_play(5)) {
逐步播放先放大到200然后旋转30度
先放大到200然后旋转30度
AM.add(5).bfunc(function(){
该链式动画开始之前执行
}).zoom(200,35).rotate(get_self(5,34)+30,30).func(function(){
该链式动画完成时执行此时不能再次执行同一ID的动画
}).start();
};
清除所有动画
AM.clear() 一个参数:
默认为false,会直接变为理想状态
true :回到未执行完的动画的初始状态。
AM.remove() 两个参数:
id:清除某ID的动画
默认为false,会直接变为理想状态
true :回到未执行完的动画的初始状态。
*/
function HAnimation(desc){
this.desc=desc||"";
var item=[];//动画序列
var playID=[];//l
var deploy=0;//延迟
var id=0,
duration=0;
var king={};
var currentPlay=null;
var currentP=[];
var pos=[];
var opos=[];
var self=this;
self.isPlaying=0;
var toO=false;
var toend=false;
var repp=false;
var func=function(){};
var bfunc=function(){};
var result={}
//var one_by_one={
//id:0,
//item:[],
//currentPlay:null,
//isPlaying:0,
//pos:[],
//opos:[],
//toO:false,
//repp:false,
//func:function(){},
//}
this.register=function(obj){
if (self.isPlaying == 1) {
//console.log("该动画已经在运行了");
return king;
}
id = obj;
pos = [];
opos = [];
currentPlay = null;
currentP = [];
self.isPlaying = 0;
pos = [get_self(id, 18, 0, 0), get_self(id, 19, 0, 0)];
opos = [get_self(id, 18, 0, 0), get_self(id, 19, 0, 0)];
return king;
};
king.bfunc=function(funcc){
bfunc = funcc||bfunc;
return king;
};
king.func=function(funcc){
func = funcc||func;
return king;
};
king.repeat=function(self){
if (self==0) {
stop();
}
repp=true;
return king;
};
this.set_end=function(end){
toend=end;
}
this.set_toO=function(O){
toO=O;
};
king.set_end=function(end){
toend=end;
};
king.set_toO=function(O){
toO=O;
};
//预设动画:左移,右移,上移,下移,定向移动
king.wait=function(time,func){
var tim=time||0;
var func=func||function(){};
var otime=tim;
var piecea=function(otime){
if (time==0) {
time=otime;
func();
return 2;
}
time=time-1;
return 1;
}
item[item.length]={id:item.length,state:0,argu:arguments,func:piecea,pos:pos}
return king;
}
king.path=function(mpos,time,func){
result[18]=mpos[0]
result[19]=mpos[1]
var pp=Math.abs(pos[1]-mpos[1])/time;
console.log(pos[1],mpos[1],time,pp)
var path=function(mpos){
var A=new Point(pos[0],pos[1]);
var B=new Point(mpos[0],mpos[1]);
if (get_self(id,18)<mpos[0]) {
set_self(id, 18,pp, 1, 0);
}else if (get_self(id,18)>mpos[0]){
set_self(id, 18,pp, 2, 0);
}
var y;
if (B.x==A.x) {
var y=B.y;
}else{
y=func(A,B,get_self(id, 18));
}
set_self(id, 19,y, 0, 0);
// get_self(id, 18, 0, 0)==mpos[0]&&get_self(id, 19, 0, 0)==mpos[1]
if (Math.abs(get_self(id, 18, 0, 0)-mpos[0])<10&&Math.abs(get_self(id, 19, 0, 0)-mpos[1])<10) {
set_self(id,18,mpos[0],0,0);
set_self(id,19,mpos[1],0,0);
return 2;
}
return 1;
}
item[item.length]={id:item.length,state:0,argu:arguments,func:path,pos:pos}
return king;
}
king.moveTo=function(mpos,time){
var pp;
if (pos[0]!=mpos[0]) {
pp=Math.abs(pos[0]-mpos[0])/time;
}else{
pp=Math.abs(pos[1]-mpos[1])/time;
}
result[18]=mpos[0]
result[19]=mpos[1]
var moveTo=function(mpos){
var A=new Point(pos[0],pos[1]);
var B=new Point(mpos[0],mpos[1]);
if ((B.y-A.y)==0&&(B.x-A.x)==0) {
return 2;
}
if (get_self(id,18)<mpos[0]) {
set_self(id, 18,pp, 1, 0);
}else if (get_self(id,18)>mpos[0]){
set_self(id, 18,pp, 2, 0);
}
var y;
if (B.x==A.x) {
var y=B.y;
}else{
y=(B.y-A.y)/(B.x-A.x)*(get_self(id, 18, 0, 0)-A.x)+A.y;
}
set_self(id, 19,y, 0, 0);
//if (get_self(id,19)<mpos[1]) {
////console.log("MOVETO"+get_self(id,19));
//set_self(id, 19,1, 1, 0);
//}else if (get_self(id,19)>mpos[1]){
////console.log("MOVETO"+get_self(id,19));
//set_self(id, 19,1, 2, 0);
//}
if (Math.abs(get_self(id, 18, 0, 0)-mpos[0])<10&&Math.abs(get_self(id, 19, 0, 0)-mpos[1])<10) {
//console.log("MOVETO",mpos[0],mpos[1]);
set_self(id,18,mpos[0],0,0);
set_self(id,19,mpos[1],0,0);
return 2;
}
return 1;
}
item[item.length]={id:item.length,state:0,argu:arguments,func:moveTo,pos:pos}
return king;
}
king.move=function(type,mile,time){
if (type=='right') {
result[18]=pos[0]+mile
}else if (type=='left') {
result[18]=pos[0]-mile
}else if (type=='up') {
result[19]=pos[1]-mile
}else if (type=='down') {
result[19]=pos[1]+mile
}
var pp=mile/time;
var moveGo=function(type,mile){
////console.log(type);
if (type=='right') {
set_self(id, 18,pp, 1, 0);
if ((get_self(id, 18, 0, 0)-pos[0])>= mile) {
pos[0]=pos[0]+mile;//-get_self(id, 20, 0, 0);
set_self(id,18,pos[0],0,0);
//console.log('right'+id);
return 2;
}
}else if (type=='left') {
set_self(id, 18,pp, 2, 0);
if ((pos[0]-get_self(id, 18, 0, 0))>= mile) {
pos[0]=pos[0]-mile;
//console.log('left'+id);
set_self(id,18,pos[0],0,0);
return 2;
}
}else if (type=='up') {
set_self(id, 19,pp, 2, 0);
if ((pos[1]-get_self(id, 19, 0, 0))>= mile) {
pos[1]=pos[1]-mile;
set_self(id,19,pos[1],0,0);
//console.log('up'+id);
return 2;
}
}else if (type=='down') {
set_self(id, 19,pp, 1, 0);
if ((get_self(id, 19, 0, 0)-pos[1])>= mile) {
pos[1]=pos[1]+mile;
set_self(id,19,pos[1],0,0);
//console.log('down'+id);
return 2;
}
}
return 1;
}
item[item.length]={id:item.length,state:0,argu:arguments,func:moveGo,pos:pos}
return king;
}
king.zoom=function(beishu,time){
//console.log("zoomBB");
var pp;
console.log(beishu)
if (beishu<0) {
pp=-beishu/time;
}else{
pp=beishu/time;
}
result[33]=beishu
var zoom=function(beishu){
//console.log(beishu);
if(beishu>=get_self(id,33,0,0)){
set_self(id,33,pp,1,0);
if (get_self(id,33,0,0)>=beishu) {
//console.log("zoomBB");
set_self(id,33,beishu,0,0);
return 2;
}
}else{
set_self(id,33,pp,2,0);
if (get_self(id,33,0,0)<=beishu) {
//console.log("zoomSS");
set_self(id,33,beishu,0,0);
return 2;
}
}
return 1;
}
item[item.length]={id:item.length,state:0,argu:arguments,func:zoom,pos:pos}
return king;
}
king.rotate=function(beishu,time){
//console.log("rotateAA");
var pp;
if (beishu<0) {
pp=-beishu/time;
}else if (beishu>0){
pp=beishu/time;
}else{
pp=(0-get_self(id,34,0,0))/time;
}
result[34]=beishu
var rotate=function(beishu){
if(beishu>=get_self(id,34,0,0)){
set_self(id,34,pp,1,0);
if (get_self(id,34,0,0)>=beishu) {
//console.log("rotateAA");
set_self(id,34,beishu,0,0);
return 2;
}
}else{
set_self(id,34,pp,2,0);
if (Math.abs(get_self(id,34,0,0))>=Math.abs(beishu)) {
//console.log("rotateBB",get_self(id,34,0,0),beishu);
set_self(id,34,beishu,0,0);
return 2;
}
}
return 1;
}
item[item.length]={id:item.length,state:0,argu:arguments,func:rotate,pos:pos}
return king;
}
king.alpha=function(beishu,time){
//console.log("rotateAA");
var pp;
var last=result[35]||255
if (result[35]!=undefined&&result[35]==0) {
last=0;
}
pp=Math.abs(last-beishu)/time;
console.log("pppp",last)
result[35]=beishu
var alpha=function(beishu){
if(beishu>=get_self(id,35,0,0)){
set_self(id,35,pp,1,0);
if (get_self(id,35,0,0)>=beishu) {
//console.log("rotateAA");
set_self(id,35,beishu,0,0);
return 2;
}
}else{
set_self(id,35,pp,2,0);
if (get_self(id,35,0,0)<=beishu) {
//console.log("rotateBB",get_self(id,34,0,0),beishu);
set_self(id,35,beishu,0,0);
return 2;
}
}
return 1;
}
item[item.length]={id:item.length,state:0,argu:arguments,func:alpha,pos:pos}
return king;
}
king.start=function(open){
if (item.length==0) {
return
}
//set_self(id,18,opos[0],0,0);
//set_self(id,19,opos[1],0,0);
//set_self(id,34,0,0,0);
//set_self(id,33,100,0,0);
currentPlay = null;
self.isPlaying = 1;
bfunc();
set_self(id, 57, 1, 0, 0);//开启定时器
}
this.start=function(open){
if (item.length==0) {
return
}
//set_self(id,18,opos[0],0,0);
//set_self(id,19,opos[1],0,0);
//set_self(id,34,0,0,0);
//set_self(id,33,100,0,0);
currentPlay = null;
self.isPlaying = 1;
bfunc();
set_self(id, 57, 1, 0, 0);//开启定时器
}
var stop=function(){
if (toO) {
set_self(id,18,opos[0],0,0);
set_self(id,19,opos[1],0,0);
set_self(id,34,0,0,0);
set_self(id,33,100,0,0);
}
currentPlay = null;
self.isPlaying = 0;
item = [];
}
this.show=function(){
//console.log(item);
}
this.end=function(O){
toO=O;
if (O==undefined) {
toO=false;
}
for (var key in result) {
set_self(id,parseInt(key),parseInt(result[key]),0,0);
//console.log("id=="+id+" key:"+key+",desc:"+result[key]);
}
stop();
func();
}
this.ontimer=function(gameid,spid){
if (spid!=id) {
return;
}
if (toend) {
if (toO) {
}else{
if (item.length!=0) {
for (var key in result) {
set_self(id,parseInt(key),parseInt(result[key]),0,0);
//console.log("id=="+id+" key:"+key+",desc:"+result[key]);
}
//console.log(result)
}
}
stop();
func();
}
if (item.length==0) {
return;
}
if (currentPlay==null) {
currentPlay=item[0];
currentPlay.state=1;
}
if (currentPlay.state==2) {//播放结束
if (currentPlay.id<item.length-1) {
currentPlay=item[currentPlay.id+1];
currentPlay.state=1;
}else{
if (repp==false) {
////console.log(item);
//console.log("执行结果:");
stop();
func();
return;
}else{
if (toO) {
set_self(id,18,opos[0],0,0);
set_self(id,19,opos[1],0,0);
set_self(id,34,0,0,0);
set_self(id,33,100,0,0);
}
pos=[opos[0],opos[1]];
currentPlay=item[0];
currentPlay.state=1;
}
}
}
////console.log(spid);
if (spid==id) {
if (currentPlay.state==1) {
var state=currentPlay.func.apply(null,currentPlay.argu);//Array.prototype.slice.call(arguments, 0));
currentPlay.state=state;
}
}
};
};
/*
*/
//var HA=app.register("Animation1",new HAnimation("1"));
//var HAn=app.register("Animation2",new HAnimation("2"));
//HA.item=[];
//HA.add=function(desc){
//HA.item.push(new HAnimation(desc))
//}
//HA.get=function(pos){
//if (!HA.item[pos]) {
//HA.item[pos]=new HAnimation("")
//}
//return HA.item[pos]
//}
function AManager(){
var self=this;
this.animantions={};
var king={};
this.add=function(id){
var animation;
if (!self.animantions[id]) {
self.animantions[id]=[];
animation=new HAnimation("")
//console.log(animation)
self.animantions[id].push(animation)
}
animation=self.animantions[id][self.animantions[id].length-1]
return animation.register(id)
}
this.new=function(id){
animation=new HAnimation("")
self.animantions[id].push(animation)
return animation.register(id)
}
this.action=function(id){
if (self.animantions[id]) {
animation = self.animantions[id]
for (var i = 0; i < animation.length; i++) {
animation[i].start();
}
}
}
this.get=function(id){
if (self.animantions[id]) {
return self.animantions[id]
}
return;
//throw "该 id=="+id+" 不存在或者没有动画列表"
}
this.is_play=function(id){
//this.get(id)
animation=this.get(id);
if (animation==undefined) {
return false;
}
for (var i = 0; i < animation.length; i++) {
if (animation[i].isPlaying==1) {
return true;
}
}
return false;
}
this.cls_id=function(id){
if (self.animantions[id]) {
set_self(id, 57, 0, 0, 0);
delete self.animantions[id];
}
}
this.remove=function(id,end){
if (self.animantions[id]) {
animation=self.animantions[id];
for (var i = 0; i < animation.length; i++) {
animation[i].end(end);
}
delete self.animantions[id];
}
}
this.mremove=function(id){
delete self.animantions[id];
}
this.clear=function(end){
if (end==undefined) {
end=false
}
for (var anim in self.animantions) {
animation=self.animantions[anim];
for (var i = 0; i < animation.length; i++) {
animation[i].end(end);
}
}
self.animantions={};
}
this.clear_exrepp=function(end){
if (end==undefined) {
end=false
}
for (var anim in self.animantions) {
animation=self.animantions[anim];
not=0;
for (var i = 0; i < animation.length; i++) {
if (animation[i].get_repeat()==true) {
not=animation;
break;
}
}
console.log(not);
if (not==0) {
for (var i = 0; i < animation.length; i++) {
animation[i].end(end);
}
delete self.animantions[anim];
}
}
}
this.ontimer=function(gameid,spid){
if (self.animantions[spid]==undefined) {
//if (spid!=800&&spid!=801&&spid!=802&&spid!=803&&spid!=804&&spid!=805) {
//set_self(spid, 57, 0, 0, 0);
//}
// set_self(spid, 57, 0, 0, 0);
//console.log(spid);
return;
}
animation=self.animantions[spid];
for (var i = 0; i < animation.length; i++) {
if (animation[i].isPlaying==1) {
return;
}
}
delete self.animantions[spid];
set_self(spid, 57, 0, 0, 0);
}
this.ex=function(){
var alist=[]
for (var anim in self.animantions) {
animation=self.animantions[anim];
for (var i = 0; i < animation.length; i++) {
alist.push(animation[i]);
}
}
return alist
}
}
AM=app.register_manager("AManager",new AManager());
//var AManager={
//animantions:{},
//add:function(id){
//if (!this.animantions[id]) {
//animation=new HAnimation("")
//this.animantions[id]=animation
//}else{
//this.animantions[id]
//}
//return animation
//}
//}

View File

@@ -0,0 +1,80 @@
(function(wnd) {
function Point(x,y){
this.x=x||0;
this.y=y||0;
}
window.Point=Point;
})(window);
var app=(function(){
var item={};
var manager={};
var register=function(name,KJ) {
item[name]=KJ;
return KJ;
};
var register_manager=function(name,KJ) {
manager[name]=KJ;
return KJ;
};
var remove=function (name) {
if (item[name]) {
delete item[name];
}
};
var get=function(name){
if (item[name]) {
return item[name];
}else{
return 0;
}
}
var have=function(name){
if (item[name]) {
return true;
}else{
return false;
}
}
var show=function(){
for (var key in item) {
console.log("key:"+key+",desc:"+item[key]['desc']);
}
}
var runmouse=function(func){
for (var key in item) {
if (item[key][func]) {
item[key][func].apply(item[key],Array.prototype.slice.call(arguments, 1));
}
}
for (var key in manager) {
if (manager[key]) {
if (manager[key][func]) {
manager[key][func].apply(manager[key],Array.prototype.slice.call(arguments, 1));
}
var list=manager[key].ex()
for (var i = 0; i < list.length; i++) {
if (list[i][func]) {
list[i][func].apply(list[i],Array.prototype.slice.call(arguments, 1));
}
}
}
}
//if (item[name][func]) {,name
//console.table(item[name].clickable)
//item[name][func].apply(item[name],Array.prototype.slice.call(arguments, 2));
//}
}
return {
manager:manager,
item:item,
register:register,
register_manager:register_manager,
remove:remove,
runmouse:runmouse,
get:get,
have:have,
show:show,
}
})();

View File

@@ -0,0 +1,80 @@
var Func=Func||{};
Func.set_text_adjust=function (textid,text) {
var w=String(text).length;
set_self(textid,20,30*w,0,0);
set_self(textid,7,text,0,0);
};
Func.bindFather=function(child,father,type,offset) {
var offset=offset||0;
if (type === 'bottom-mid') {
var X= get_self(father,18,0,0);//获取父控件X
var width=get_self(father,20,0,0);//获取父控件宽度
var child_width=get_self(child,20,0,0);
var startpos=X+width/2-child_width/2;
set_self(child,18,startpos+offset,0,0)
}else if(type === 'left-mid'){
var height=get_self(father,21,0,0);//获取父控件高度
var Y= get_self(father,19,0,0);//获取父控件Y
var child_height=get_self(child,21,0,0);
var startpos=Y+height/2-child_height/2;
set_self(child,19,startpos+offset,0,0)
}else if(type === 'right'){
var X= get_self(father,18,0,0);//获取父控件X
var width=get_self(father,20,0,0);//获取父控件宽度
var child_width=get_self(child,20,0,0);
var startpos=X+width-child_width;
set_self(child,18,startpos+offset,0,0)
}else if(type === 'next_right'){
var X= get_self(father,18,0,0);//获取父控件X
var width=get_self(father,20,0,0);//获取父控件宽度
var child_width=get_self(child,20,0,0);
var startpos=X+width;
set_self(child,18,startpos+offset,0,0)
}else if(type === 'left'){
var X= get_self(father,18,0,0);//获取父控件X
var width=get_self(father,20,0,0);//获取父控件宽度
var child_width=get_self(child,20,0,0);
var startpos=X;
set_self(child,18,startpos+offset,0,0)
}else if(type === 'next_left'){
var X= get_self(father,18,0,0);//获取父控件X
var width=get_self(father,20,0,0);//获取父控件宽度
var child_width=get_self(child,20,0,0);
var startpos=X-child_width;
set_self(child,18,startpos-offset,0,0)
}else if (type === 'mid') {
var X= get_self(father,18,0,0);//获取父控件X
var width=get_self(father,20,0,0);//获取父控件宽度
var child_width=get_self(child,20,0,0);
var height=get_self(father,21,0,0);//获取父控件高度
var Y= get_self(father,19,0,0);//获取父控件Y
var child_height=get_self(child,21,0,0);
set_self(child,18,X+width/2-child_width/2+offset,0,0)
set_self(child,19,Y+height/2-child_height/2+offset,0,0)
}
};
//-------------------------------------------------------------//
//获取一个控件的位置属性
//-------------------------------------------------------------//
function GS(spid){
var result={};
result.width=get_self(spid,20,0,0);
result.height=get_self(spid,21,0,0);
result.startX=get_self(spid,18,0,0);
result.endX=get_self(spid,18,0,0)+get_self(spid,20,0,0);
result.startY=get_self(spid,19,0,0);
result.endY=get_self(spid,19,0,0)+get_self(spid,21,0,0);
result.text=get_self(spid,7,0,0);
result.can_click=get_self(spid,41,0,0);
result.is_show=get_self(spid,37,0,0);
return result;
}

View File

@@ -0,0 +1,296 @@
//滑动
//-------------------------------------------------------------//
var SlideBar=function(desc){
this.desc=desc||"";
var btn=0,
bar=0,
text=0;
var data=[];
var oneFunc,
lastFunc;
var aline=false;
var frontValue=0;
var behindVlue=0;
this.currentValue=0;
this.currentValue_index=0;
var next_id=0;
var before_id=0;
var canclick=true;
this.init=function(obj){
btn=obj.btnId||0;
bar=obj.barId||0;
text=obj.textId||0;
next_id=obj.nextId||0;
before_id=obj.beforeId||0;
aline=obj.aline||false;
data=obj.data||[0,0];
oneFunc=obj.oneFunc||function(){return 0;};
frontValue=obj.frontValue||0;
behindVlue=obj.behindVlue||data.length-1;
var btnWidth=get_self(btn,20,0,0);
var barWidth=get_self(bar,20,0,0);
var btnHeight=get_self(btn,21,0,0);
var barHeight=get_self(bar,21,0,0);
var btnX=get_self(btn,18,0,0);
var btnY=get_self(btn,19,0,0);
var barX=get_self(bar,18,0,0);
var barY=get_self(bar,19,0,0);
var y= barY+barHeight/2-btnHeight/2;
var x= barX-btnWidth/2;
set_self(btn,18,x,0,0);
set_self(btn,19,y,0,0);
this.set_text(data[0]);
if (aline) {
//textWidth(get_self(text,7,0,0),text);
Func.bindFather(text,btn,"mid");
}
if (behindVlue>=frontValue) {
this.set_value(frontValue);
}
};
this.set_data=function(o_data){
data=o_data;
frontValue=0;
behindVlue=data.length-1;
this.set_value(this.currentValue_index);
this.currentValue=data[this.currentValue_index];
//textWidth(get_self(text,7,0,0),text);
};
this.set_text=function(ta){
var w=String(ta).length;
set_self(text,20,30*w,0,0);
set_self(text,7,ta,0,0);
}
this.get_data=function(){
return data;
}
this.hide_btn=function(){
set_self(btn,37,0,0,0);
this.can_click(false);
}
this.show_btn=function(){
if (get_self(bar,37,0,0)==1) {
set_self(btn,37,1,0,0);
}
this.can_click(true);
}
this.hide_text=function(){
set_self(text,37,0,0,0);
}
this.show_text=function(){
set_self(text,37,1,0,0);
}
this.can_click=function(click){
canclick=click;
}
this.set_limit=function(limit){
frontValue=limit.left||0;
behindVlue=limit.right||data.length-1;
if (behindVlue>=frontValue) {
this.set_value(frontValue);
//currentValue=data[frontValue];
}
}
this.set_value=function(item){
var rate=get_self(bar,20,0,0)/((data.length-1)*2);//一份的长度
var length=item*rate*2+get_self(bar,18,0,0);
set_self(btn,18,length-get_self(btn,20,0,0)/2,0,0);
oneFunc(data[item],data);
this.set_text(data[item]);
//textWidth(get_self(text,7,0,0),text);
this.currentValue=data[item];
this.currentValue_index=item;
}
this.mouseup=function(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2){
if (spid_up===spid_down && spid_up===next_id&&canclick) {
var item=this.currentValue_index;
item+=1;
if (item<frontValue) {
item=frontValue;
}else if (item>behindVlue) {//data.length-1
item=behindVlue;
}
this.set_value(item);
}
if (spid_up===spid_down && spid_up===before_id&&canclick) {
var item=this.currentValue_index;
item-=1;
if (item<frontValue) {
item=frontValue;
}else if (item>behindVlue) {//data.length-1
item=behindVlue;
}
this.set_value(item);
}
if (spid_up===spid_down && spid_up===bar&&canclick) {
var ux=upx-get_self(bar,18,0,0);
var rate=get_self(bar,20,0,0)/((data.length-1)*2);//一份的长度
var item=Math.round(parseInt(ux/rate)/2);//](get_self(btn,18,0,0)+get_self(btn,20,0,0)/2)
if (item<frontValue) {
item=frontValue;
}else if (item>behindVlue) {//data.length-1
item=behindVlue;
}
var length=item*rate*2+get_self(bar,18,0,0);
oneFunc(data[item],data)
this.currentValue=data[item];
this.currentValue_index=item;
this.set_text(data[item]);
set_self(btn,18,length-get_self(btn,20,0,0)/2,0,0);
//oneFunc(data[item]);
if (aline) {
//textWidth(get_self(text,7,0,0),text);
Func.bindFather(text,btn,"mid");
}
}
}
this.mousemove=function(gameid, spid, downx, downy, movex,movey ,timelong,offmovex, offmovey, no1){
if ( spid===btn&&canclick) {
var rate=get_self(bar,20,0,0)/((data.length-1)*2);//一份的长度
var item=parseInt((movex-get_self(bar,18,0,0))/rate);//](get_self(btn,18,0,0)+get_self(btn,20,0,0)/2)
item=Math.round(item/2);//ceil
if (item<frontValue) {
item=frontValue;
}else if (item>behindVlue) {
item=behindVlue;
}
var length=item*rate*2+get_self(bar,18,0,0);
oneFunc(data[item],data);
this.currentValue=data[item];
this.currentValue_index=item;
this.set_text(data[item]);
set_self(spid,18,length-get_self(btn,20,0,0)/2,0,0);
//oneFunc(data[item]);
if (aline) {
//textWidth(get_self(text,7,0,0),text);
Func.bindFather(text,btn,"mid");
}
//这里是滑动 ---------
//var length=offmovex;
//if ((get_self(btn,18,0,0)+get_self(btn,20,0,0)/2+offmovex)<get_self(bar,18,0,0)){
//length=-get_self(btn,18,0,0)-get_self(btn,20,0,0)/2+get_self(bar,18,0,0);
//}
//if ((get_self(btn,18,0,0)+get_self(btn,20,0,0)/2+offmovex)>(get_self(bar,18,0,0)+get_self(bar,20,0,0))){
//length= -get_self(btn,18,0,0)-get_self(btn,20,0,0)/2+(get_self(bar,18,0,0)+get_self(bar,20,0,0));
//}
//var rate=(get_self(btn,18,0,0)+get_self(btn,20,0,0)/2-get_self(bar,18,0,0))/get_self(bar,20,0,0);//多少分
//oneFunc(parseInt(rate*100));
//set_self(spid,18,length,1,0);
//set_self(text,7,parseInt(rate*100),0,0);
//这里是滑动---------
}
}
};
SB=app.register("TopValue",new SlideBar(""));
SB2=app.register("TopValue2",new SlideBar(""));
SB3=app.register("TopValue3",new SlideBar(""));
//===============================
var Input=function(desc){
this.desc=desc;
this.doorid=[];
this.valueid=-1;
this.limite=[0,99999];
this.current=-1;
this.lableid=-1;
this.title='';
this.realtitle='';
this.warning='',
this.success=function(){}
this.failed=function(){}
this.init=function(obj){
this.doorid=obj.door||this.doorid;
this.valueid=obj.value||this.valueid;
this.lableid=obj.lable||this.lableid;
this.realtitle=obj.title||'';
this.warning=obj.warning||'';
this.limite=obj.limite||this.limite;
this.current=this.limite[0];
this.success=obj.success||function(){}
this.failed=obj.failed||function(){}
if (this.valueid>0) {
Func.set_text_adjust(this.valueid,this.current);
this.success(this.current);
}
this.title=this.realtitle+'('+this.limite[0]+','+this.limite[1]+')';
if (this.lableid>0) {
set_self(this.lableid,7,this.title);
}
}
}
Input.prototype.setValue=function(type){
if (this.valueid<=0) {
return;
}
switch (type){
case 0:
this.current=this.limite[0];
Func.set_text_adjust(this.valueid,this.current);
this.success(this.current);
break;
case 1:
this.current=this.limite[1];
Func.set_text_adjust(this.valueid,this.current);
this.success(this.current);
break;
}
}
Input.prototype.updateLimted=function(value){
if (this.lableid<=0||this.valueid<=0) {
return;
}
this.limite=value||this.limite;
this.title=this.realtitle+'('+this.limite[0]+','+this.limite[1]+')';
set_self(this.lableid,7,this.title);
if (this.current<this.limite[0]||this.current>this.limite[1]) {
this.current=this.limite[0];
Func.set_text_adjust(this.valueid,this.current);
}
}
Input.prototype.mouseup=function(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2){
if (this.doorid.indexOf(spid_up)!=-1) {
this.openInput();
}
}
Input.prototype.openInput=function(){
var that=this;
Utl.openInputPanel(that.title,function (value) {
if (value>=that.limite[0]&&value<=that.limite[1]) {
that.current=value;
Func.set_text_adjust(that.valueid,value);
that.success(value);
Utl.closeInputPanel();
}else{
that.failed(value);
Utl.openTips(that.warning,2000)
}
})
}
sb1=app.register("In1",new Input(""));
sb2=app.register("In2",new Input(""));
sb3=app.register("In3",new Input(""));

View File

@@ -0,0 +1,497 @@
/*****************黄欢****************/
/**
* ————————
*游戏自定义接口
* ————————
* */
var RoomConfig = {
roomcode: 100000,
roomtype: [],
room_name_type: {},
turns: 0,
people: 2,
}
/*房间号,局数,游戏玩法,人数*/
function RoomInit(roomtype) {
RoomConfig.roomcode = Desk.roomcode || 100000;
if (Desk.roomtype && Desk.roomtype.length > 0) {
RoomConfig.roomtype = Desk.roomtype;
} else if (roomtype && roomtype.length > 0) {
RoomConfig.roomtype = roomtype;
} else {
RoomConfig.roomtype = [];
}
(function (roomtype) {
RoomConfig.turns = roomtype[1] * 8 || 0;
var peoples = [4, 4, 3, 2]
RoomConfig.people = (peoples[roomtype[6]]) || 4;
RoomConfig.room_name_type.jushu = roomtype[1];//局数
RoomConfig.room_name_type.buy_horse = roomtype[2];//买马
RoomConfig.room_name_type.limit = roomtype[3];//精分
RoomConfig.room_name_type.horse = roomtype[5];//几匹马
RoomConfig.room_name_type.top_limit = roomtype[6];//封顶 人数
RoomConfig.room_name_type.host2 = roomtype[7];//庄家翻倍
RoomConfig.room_name_type.base_score = roomtype[8];//底分
RoomConfig.room_name_type.piao = roomtype[9];//底分
RoomConfig.room_name_type.jia = roomtype[10];//底分
RoomConfig.room_name_type.start_hu = roomtype[11];//底分
RoomConfig.room_name_type.start_hu_arr = roomtype[12];//底分
RoomConfig.room_name_type.star = roomtype[13];//底分
RoomConfig.room_name_type.qiangganghu = roomtype[15];//底分
})(RoomConfig.roomtype);
}
//房间接口
var RoomFunc = {};
//房间变量池
var RoomPool = {};
//可能会执行很多次
//点击,永远可用
RoomFunc.c_click = function (spid_up, upx, upy, downx, downy, spid_down) {
if (spid_up == 1403) {
d.click_ready(1403);
set_group(208,37,0,0,0);
set_group(300,37,0,0,0);
}
if (spid_up == 2998) {
d.show_xiao_settle(1);
d.show_timeready(1);
}
if (spid_up != 2999 && get_self(1247, 37)) {//听牌显示
set_group(237, 37, 0, 0, 0);
}
if (spid_up == 2233) {//托管
RoomFunc.tuoguan();
}
if (spid_up == 2996 && d.huanpai2.length == 3) {//换三张
d.huanpai3(1);
}
if (spid_up == 2994) {//取消换三张
d.huanpai3(2);
}
if (d.replay == 0 && (spid_up == 2231 || spid_up == 2232)) {//取消托管
d.OverTime = 0;
d.jishi_chu = 0;
set_group(221, 37, 0, 0, 0);
set_self(2233, 43, 1, 0, 0);
if(d.user_ctrl[2] == C_Player.seat && d.replay==0) {
set_self (2895,37,1,0,0);
set_self (2896,37,1,0,0);
set_self (2897,37,1,0,0);
}
d.show_my13card();
d.show_14card();
}
if (spid_up == 2509) {//小局2
d.horse_time = 0;
d.compare_jing_time3 = 0;
if (get_self(1598, 37) == 1) {
d.a.show_history3_1();
} else {
d.show_xiao1_settle(1);
}
}
if (spid_up == 2510) {//小局2
set_group(260, 37, 0, 0, 0);
}
if (spid_up == 2656) {//精牌详情
d.horse_time = 0;
d.compare_jing_time3 = 0;
set_self(2656, 37, 0);
d.show_xiao2_settle(1);
set_group(214, 41, 0, 0, 0);
set_self(2657, 41, 1);
set_self(2787, 41, 1);
//if (get_self(1598,37) == 1) {
//d.a.show_history3_2();
//}else {
//d.show_xiao2_settle(1);
//}
}
if (spid_up == 2787 || spid_up == 2657) {//关闭精牌详情
set_self(2656, 37, 1);
set_group(214, 37, 0, 0, 0);
}
if (spid_up == 233) {//结算
d.compare_jing_time3 = 0;
}
if (spid_up == 700) {//关闭胡杠详情
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
for (var i = 0; i < person; i++) {
set_self(717 + i, 37, 1);
}
set_group(214, 37, 0, 0, 0);
}
if (spid_up == 2895 && d.replay==0) {
d.click_btn(0);
}
if (spid_up == 2896 && d.replay==0) {
// d.click_btn(1);
RoomFunc.click_tip();
}
if (spid_up == 2897 && d.replay==0) {
d.click_btn(2);
}
//console.log("roomfunc 点击,永远可用");
}
RoomFunc.click_tip = function(){
if(d.getEnumCard.flag){
// var tip = d.getEnumCard.value[d.getEnumCard.getIndex()];
var tip = d.getTip();
if (tip.length>0) {
for (var i = 0; i < 60; i++) {
if (get_self(817 + i, 19, 0, 0, 0) < 500) {
set_self(817 + i, 19, 500, 0, 0);
}
}
for (var i = 0; i < tip.length; i++) {
var index = d.hand[C_Player.seat][0].indexOf(tip[i]);
set_self(817 + index, 19, 480, 0, 0);
}
d.pai = d.c(tip);
d.show_btn();
}else{
d.click_btn(1);
}
}
}
//点击,游戏开始之后可用
RoomFunc.g_click = function (spid_up, upx, upy, downx, downy, spid_down) {
//console.log("roomfunc 点击,游戏开始之后可用");
}
//开战,是否发牌
RoomFunc.make_war = function (_msg) {
console.log("roomfunc RoomConfig一进去就开战");
return true;
}
//重连重绘之前,游戏开始后收到包就执行
RoomFunc.running_before = function (_msg) {
console.log("roomfunc RoomConfig重连重绘之前游戏开始后收到包就执行");
}
//重连重绘
RoomFunc.re_connect = function () {
console.log("roomfunc RoomConfig重连重绘")
}
//重连重绘之后,游戏开始后收到包就执行
RoomFunc.running_after = function (_msg) {
console.log("roomfunc RoomConfig重连重绘之后游戏开始后收到包就执行")
}
//点击牌的判断
RoomFunc.clickpai_before = function (spid, a) {
if (d.replay != 0) {
return false;
}
if (d.isEnd()) {
return false;
}
if (get_self(spid, 21) < 120) {
return false;
}
//if (d.ting_record[C_Player.seat] == 0) {
//return true;
//} else if (d.ting_record[C_Player.seat] == 1) {
//var pos = d.Ting_Tip.indexOf(get_self(spid, 43));
//if (pos != -1) {
//return true;
//}
//} else if (d.ting_record[C_Player.seat] == 3) {
//if (d.user_ctrl[3] == get_self(spid, 43) && spid >= 817 + d.hand[C_Player.seat][0].length) {
//return true;
//}
//}
return false;
}
//点击操作按钮,显示出操作图案之后
RoomFunc.operate_before = function (spid, num) {//num=7是自摸8是放炮 9?10?
if (num == 8) {
//return;
}
if (num == 20) {
num = 12;
}
if (!AM.is_play(spid)) {
AM.remove(spid, false)
var dh_bz = [0, 0, 634, 633, 630, 633, 633, 631, 631, 631, 632, 9, 632];//1吃,3杠,5胡,7碰,9听,
//var a=1;
AM.add(spid).bfunc(function () {
set_self(spid, 1, dh_bz[num], 0, 0);
set_self(spid, 37, 1, 0, 0);
set_self(spid, 33, 200, 0, 0);
set_self(spid, 43, 1, 0, 0);
}).zoom(300, 8).zoom(150, 3).wait(5, function () {
//set_self(spid,37,0,0,0);
//AM.cls_id(spid);
}).start();
}
var dh_bz2 = [0, 0, 634, 633, 630, 633, 633, 631, 631, 631, 632, 9, 632];//1吃,3杠,5胡,7碰,9听,
if (!AM.is_play(spid + 61)) {
AM.add(spid + 61).wait(3, function () {
set_self(spid + 61, 1, dh_bz2[num], 0, 0);
set_self(spid + 61, 18, get_self(spid, 18) - 90, 0, 0);
set_self(spid + 61, 19, get_self(spid, 19) - 90, 0, 0);
set_self(spid + 61, 37, 1, 0, 0);
set_self(spid + 61, 43, 2, 0, 0);
set_self(spid + 61, 35, 255, 0, 0);
set_self(spid + 61, 33, 0, 0, 0);
}).alpha(200, 8).zoom(200, 8).wait(10, function () {
//set_self(spid+61,43,4,0,0);
set_self(spid + 61, 37, 0, 0, 0);
set_self(spid, 37, 0, 0, 0);
AM.cls_id(spid);
AM.cls_id(spid + 61);
}).start();
}
if ((d.last_operate[0] == 2 || d.last_operate[0] == 4) && !d.isEnd()) {
//加杠动画 明杠动画
if (!AM.is_play(2394)) {
AM.add(2394).bfunc(function () {
set_self(2394, 37, 1, 0, 0);
set_self(2394, 43, 2, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 3, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 4, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 5, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 6, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 2, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 3, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 4, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 5, 0, 0);
}).wait(3, function () {
set_self(2394, 43, 6, 0, 0);
}).wait(3, function () {
}).func(function () {
set_self(2394, 37, 0, 0, 0);
set_self(2394, 43, 2, 0, 0);
AM.cls_id(2394);
}).start();
}
}
}
//点击操作按钮
RoomFunc.operate_click = function (spid_up) {
if (get_self(1965, 37) == 1) {
return false;
}
else {
return true;
}
}
//战局开始,牌显示之前
RoomFunc.showcard_before = function () {
set_self(2874, 43, 60, 0, 0);
//一般执行14次
return true;
}
//战局开始,牌显示之后
RoomFunc.showcard_after = function () {
//执行一次
console.log("roomfunc RoomConfig战局开始牌显示之后");
if (RoomFunc.hua()) {
d.hualen3 = [d.hua_hua[0].length, d.hua_hua[1].length, d.hua_hua[2].length, d.hua_hua[3].length];
d.hualen = d.hua_hua[0].length + d.hua_hua[1].length + d.hua_hua[2].length + d.hua_hua[3].length;
if (d.hualen > 0) {
set_self(346, 57, 1000, 0, 0);
}
}
d.playerid = [];
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
for (var i = 0; i < person; i++) {
d.playerid.push(Desk.PlayerList[i].playerid);
//d.grade_j.push[d.grade[i]];
}
}
//自己有摸牌,且是自己的控制權
RoomFunc.mopai_before = function (first_card, seat) {
//最新的牌
console.log("roomfunc RoomConfig自己有摸牌且是自己的控制權", first_card, seat);
}
//自己沒摸牌,且是自己的控制權
RoomFunc.nomopai_before = function (seat) {
console.log("roomfunc RoomConfig自己沒摸牌", seat);
}
//要不要顯示战绩,服务器判断要不要买马动画
RoomFunc.zhanji_before = function () {
console.log("roomfunc RoomConfig要不要顯示战绩");
if (RoomFunc.compare_jing() && d.compare_jing_time3 == 0) {
if (get_self(2377, 37) == 0) {
set_self(2377, 37, 1);
}
d.compare_jing_time3 = 1;
} else if (RoomFunc.buyhorse() && d.horse_time == 0) {
d.horse_time = 1;
} else {
return true;
}
return false;
}
//一小局的结束,显示了牌之后,还没有显示动画
RoomFunc.turn_over = function () {
for (var i = 936; i <= 954; i++) {
set_self(i, 1, 503, 0, 0);
}
}
//游戲中战绩显示,在其他数据全部显示之后
RoomFunc.game_show_settle = function (turn, identity, names, avatar, playerids, hand, turn_point, buyHorse, winHorse, Horse_vic_def, final_hu, settlePoint, hu_note_gang, roomtype, many_hu, start_hu, piao, sea_hua, peng_chi_num, hu_note_gang_jing, putJing, jing, jing_reduce) {
}
//大厅战绩显示,在其他数据全部显示之后,与上面的
RoomFunc.game_out_show_settle = function (js, js1) {
}
//绘制接口
RoomFunc.draw = function (spid) {
}
//超时自动出牌
RoomFunc.Overtime_chupai = function () {
var Overtime_chupai = Desk.roomtype[18];
if (Overtime_chupai == 2) {//快版
return true;
}
return false;
}
//托管
RoomFunc.tuoguan = function (mode) {
mode = mode || 0;
if (get_self(2233, 43) == 1 && mode == 0) {
set_self(2233, 43, 2, 0, 0)
d.show_tuoguan();
} else if (mode == 0 || mode == 1) {
set_self(2233, 43, 1, 0, 0)
d.OverTime = 0;
set_group(221, 37, 0, 0, 0);
if(d.user_ctrl[2] == C_Player.seat) {
//set_self (2895,37,1,0,0);
set_self (2896,37,1,0,0);
set_self (2897,37,1,0,0);
}
d.jishi_chu = 0;
}
}
//财神
RoomFunc.god = function () {
return false;
}
//财神
RoomFunc.mammon = function () {
var mammon = Desk.roomtype[11];
if (mammon == 1) {
return true;
} else {
return false;
}
}
//精分
RoomFunc.jingscore = function () {
return false;
}
//比精
RoomFunc.compare_jing = function () {
return false;
}
//买马
RoomFunc.buyhorse = function () {
return false;
}
//可以多人胡
RoomFunc.canManyHu = function () {
return true;
}
//花牌算分
RoomFunc.huascore = function () {
return false;
}
//花牌配置
RoomFunc.hua = function () {
return false;
}
//有抄庄
RoomFunc.can_chao_host = function () {
return false;
}
//血战玩法
RoomFunc.xue_zhan = function () {
return true;
}
//不同张牌数玩法
RoomFunc.num_pai = function () {
if (false) {
return 7;
} else if (true) {
return 10;
} else if (false) {
return 13;
}
return 13;
}

View File

@@ -0,0 +1,785 @@
RoomFunc.card_help = (function () {
var weight = {
'1': 14,
'2': 15,
'3': 3,
'4': 4,
'5': 5,
'6': 6,
'7': 7,
'8': 8,
'9': 9,
'10': 10,
'11': 11,
'12': 12,
'13': 13,
'16': 16,
'17': 17
}
var PaiConfig = {
'danshunNum': 5,
'duishunNum': 2,
'sandaiOrNot': 0,
'last4': 0
};
//数组去重
Array.unique = function (array) {
var obj = {};
var back = [];
array.forEach(item => {
!obj[item] && (obj[item] = 1, back.push(item));
})
return back;
}
//对象拷贝
Object.copyObject = function (obj) {
return JSON.parse(JSON.stringify(obj));
}
return function (handCards, putCards, pdkConfig) {
if (typeof (pdkConfig) != 'undefined') {
PaiConfig = pdkConfig;
}
var handArray = convertCard(handCards);
var putArray = convertCard(putCards);
var putType = getType(putArray);
try {
var hasSameType = enumCards(handArray, putArray, putType);
} catch (e) {
var hasSameType = [];
}
return convertBack(hasSameType, handArray);
}
function convertBack(array, handArray) {
if (!Array.isArray(array) || array.length == 0) return [];
var len = array.length;
var result = [];
var temp;
for (var i = 0; i < len; i++) {
temp = realConvert(array[i], handArray);
result.push(temp);
}
return result;
function realConvert(inArray, handArray) {
var len = inArray.length;
var handLen = handArray.length;
var result = [];
var outer = 0;
var inter = 0;
while (outer < len) {
while (inter < handLen) {
var item = handArray[inter];
if (item.weight == inArray[outer] && inArray.indexOf(item.orgin == -1)) {
result.push(item.orgin);
outer++;
if (result.length == len) return result;
}
inter++;
}
}
}
}
function getZha(countAll) {
var temp = [];
for (var item in countAll) {
if (countAll[item] == 4) {
var value = parseInt(item);
temp.push([value, value, value, value]);
}
}
return temp;
}
function enumCards(orignArray, targetArray, putType) {
function filterResult(parm) {
if (result.length != 0) {
var len = result.length;
var temp = [];
for (var i = 0; i < len; i++) {
if (countBaseAll[result[i][0]] == parm) {
temp.push(result[i]);
}
}
if (temp.length > 0) {
result = temp;
}
}
}
var countBaseAll = countAll(orignArray);
var zhaAcount = getZha(countBaseAll);
var result = [];
switch (putType.type) {
case 'dan':
for (var item in countBaseAll) {
var temp = parseInt(item)
temp > putType.value && result.push([temp]);
}
filterResult(1);
break;
case 'dui':
for (var item in countBaseAll) {
var num = countBaseAll[item];
var temp = parseInt(item)
if ((num > 1) && temp > putType.value) {
result.push([temp, temp]);
}
}
filterResult(2);
break;
case "liandui":
for (var item in countBaseAll) {
var temp = parseInt(item);
if (temp == 15) break;
if (temp > putType.value[0]) {
var build = buildArray(temp, putType.count);
if (hasPair(build, countBaseAll, 2)) {
result.push(doubleArray(build));
}
}
}
break;
case "shun":
var hasValue = [];
var baseLen = putType.value.length;
var start = putType.value[0];
for (var item in countBaseAll) {
var value = parseInt(item);
value < 15 && hasValue.push(parseInt(item));
}
hasValue.sort((a, b) => {
return a - b
});
var len = hasValue.length - baseLen;
for (var i = 0; i <= len; i++) {
var tempArr = hasValue.slice(i);
if (tempArr[0] > start && shun(tempArr, baseLen)) {
result.push(createShun(tempArr[0], baseLen));
}
}
break;
case "zha":
for (var item in countBaseAll) {
var temp = parseInt(item);
if (temp > putType.value && countBaseAll[item] == 4) {
result.push([temp, temp, temp, temp]);
}
}
break;
case "sanDai":
for (var item in countBaseAll) {
var temp = parseInt(item);
if (temp > putType.value[0] && countBaseAll[item] == 3) {
var wasteCard = PaiConfig.sandaiOrNot ? getWasteCard(Object.copyObject(countBaseAll), [temp]) : [];
result.push([temp, temp, temp].concat(wasteCard).sort((a, b) => {
return a - b
}));
}
}
break;
case "plane":
for (var item in countBaseAll) {
var temp = parseInt(item);
if (temp > putType.value[0] && countBaseAll[item] >= 3) {
var build = buildArray(temp, putType.count);
if (hasPair(build, countBaseAll, 3)) {
var temp = [];
var wasteCard = PaiConfig.sandaiOrNot ? getWasteCard(Object.copyObject(countBaseAll), build) : [];
build.forEach(item => {
temp = temp.concat([item, item, item]);
})
temp = temp.concat(wasteCard).sort((a, b) => {
return a - b;
});
result.push(temp);
}
}
}
break;
}
if (putType.type != "zha" && zhaAcount.length > 0) {
zhaAcount.forEach(item => {
result.push(item);
});
}
return result;
}
function createShun(start, len) {
var array = [];
for (var i = 0; i < len; i++) {
array.push(start + i);
}
return array;
}
function doubleArray(array) {
var temp = [];
array.forEach(item => {
temp = temp.concat([item, item]);
})
return temp;
}
function getWasteCard(obj, judgeArray) {
var needNum = judgeArray.length * 2;
var countValue = [{}, {}, {}, {}];
var array = [];
var count = 0;
var lastValue = [];
countValue.num = 0;
for (var item in obj) {
if (judgeArray.indexOf(parseInt(item)) != -1) {
obj[item] -= 3;
if (obj[item] == 0) continue;
}
var value = obj[item];
countValue[value - 1][item] = value;
countValue.num += value;
}
for (var i = 0; i < 4; i++) {
fitValue(countValue[i], i + 1);
}
if (count < needNum) {
for (var i = 0; i < 4; i++) {
if (JSON.stringify(countValue[i]) == '{}') continue;
for (var item in countValue[i]) {
var value = parseInt(item);
lastValue = lastValue.concat(new Array(countValue[i][item]).fill(value));
}
}
if (lastValue.length > 0) {
lastValue.sort((a, b) => {
return a - b;
});
array = array.concat(lastValue.slice(0, needNum - count));
}
}
return array;
function fitValue(obj, number) {
if (JSON.stringify(obj) == '{}') return;
if (count >= needNum) return;
for (var item in obj) {
var value = parseInt(item);
count += number;
if (count <= needNum) {
array = array.concat(new Array(number).fill(value));
delete obj[item];
if (count == needNum) {
return array;
}
} else {
count -= number;
}
}
}
}
function hasPair(array, obj, acount) {
var len = array.length;
for (var i = 0; i < len; i++) {
var item = array[i];
if (!obj[item]) return false;
if (obj[item] < acount) return false;
}
return true;
}
function buildArray(number, n) {
var array = [];
for (var i = 0; i < n; i++) {
array.push(number);
number++;
}
return array;
}
function countAll(orignArray) {
var obj = {};
orignArray.forEach(item => {
var value = item.weight;
obj[value] ? obj[value]++ : (obj[value] = 1);
})
return obj;
}
function getWeight(target) {
var obj = [];
target.forEach(item => {
obj.push(item.weight);
});
return obj;
}
//卡牌类型转换
function convertCard(array) {
var backArray = [];
var len = array.length;
var item;
for (var i = 0; i < len; i++) {
item = {};
item.value = array[i] % 20;
item.color = parseInt(array[i] / 20);
item.weight = weight[item.value];
item.orgin = array[i];
backArray.push(item);
}
sortCard(backArray);
return backArray;
}
//卡牌权重排序
function sortCard(array) {
Array.prototype.sort.call(array, (a, b) => {
var flag = a.weight - b.weight;
return flag == 0 ? a.color - b.color : flag;
})
}
//获取打出的牌类型
function getType(cards) {
var valueArray = [];
cards.forEach(item => {
valueArray.push(item.weight);
});
var type = null;
type = judgeDan(valueArray, type);
type = judgeDui(valueArray, type);
type = judgeShun(valueArray, type);
type = judgeZha(valueArray, type);
type = judgePlane(valueArray, type);
return type;
}
//单牌
function judgeDan(array, type) {
if (type) return type;
if (array.length == 1 && !type) {
type = {type: "dan", count: 1, value: array[0]};
}
return type;
}
//对子,包括连对
function judgeDui(array, type) {
if (type) return type;
var judge = Array.unique(array);
var tempArr = doubleArray(judge);
var len = judge.length;
var num = PaiConfig.duishunNum;
if (tempArr.toString() == array.toString()) {
if (judge.length == 1) {
type = {type: "dui", count: 1, value: judge[0]}
} else if (shun(judge, num)) {
type = {type: "liandui", count: len, value: judge}
}
}
return type;
}
//检测炸弹
function judgeZha(array, type) {
if (type) return type;
if (same(array, 4)) {
type = {type: "zha", count: 1, value: array[0]}
}
return type;
}
//检测顺子
function judgeShun(array, type) {
if (type) return type;
var num = PaiConfig.danshunNum;
if (shun(array, num)) {
type = {type: "shun", count: 1, value: [].concat(array)};
}
return type;
}
//检测3带2或者飞机
function judgePlane(array, type) {
if (type) return type;
var obj = {};
var count_three = 0;
var len = array.length;
var value = [];
array.forEach(item => {
!obj[item] ? (obj[item] = 1) : obj[item]++;
});
for (var item in obj) {
if (obj[item] >= 3) {
count_three++;
value.push(parseInt(item));
}
}
value.sort((a, b) => {
return a - b;
});
var count = Math.ceil(len / 5);
if (value.length > count) {
value = getValue(count, value);
}
type = {type: "sanDai", count: value.length, value: value};
if (type.count > 1) type.type = "plane";
return type;
function getValue(count, value) {
var len = value.length;
var doFor = len - count;
value.reverse();
var temp;
for (var i = 0; i <= doFor; i++) {
temp = value.slice(i, i + count);
if (shun(temp)) {
value = temp;
return value;
}
}
return [];
}
}
//检测顺子
function shun(array, count) {
if (!Array.isArray(array)) return false;
var len = array.length;
if (array.length == 0) return false;
if (count && count > len) return false;
array.sort((a, b) => {
return a - b;
});
var temp = array[0];
for (var i = 0; i < count; i++) {
if (array[i] != temp + i) return false;
}
return true;
}
//检测同张
function same(array, count) {
if (!Array.isArray(array)) return false;
var len = array.length;
if (count != len) return false;
var temp = array[0];
for (var i = 0; i < count; i++) {
if (array[i] != temp) return false;
}
return true;
}
}());
RoomFunc.tip_put_card = function (hand, pdkConfig) {
var result = {};
result.weight = [];
var backArr = [];
if (hand && Object.prototype.toString.call(hand) === '[object Array]' && hand.length) {
var jing = [];
var arr = [].concat(hand);
ord(arr);
arr.includes(101) && arr.splice(arr.indexOf(101), 1) && jing.push(101);
arr.includes(102) && arr.splice(arr.indexOf(102), 1) && jing.push(102);
if (!arr.length) {
return hand;
}
var processArr = [].concat(arr);
processArr = processArr.map(function (item) { //处理手牌
item = item % 20;
if (item < 3) {
return item + 13;
}
return item;
});
ord(processArr); //手牌排序
var single = [],
duizi = [],
kezi = [],
shunzi = [],
liandui = [],
feiji = [],
zha = [];
var countObj = [{}, {}, {}, {}];
processArr.forEach(function (item) {
processArr.indexOf(item) === processArr.lastIndexOf(item) && !single.includes(item) && single.push(item) && (countObj[0][item] = 1);
processArr.indexOf(item) + 1 === processArr.lastIndexOf(item) && !duizi.includes(item) && duizi.push(item) && (countObj[1][item] = 2);
processArr.indexOf(item) + 2 === processArr.lastIndexOf(item) && !kezi.includes(item) && kezi.push(item) && (countObj[2][item] = 3);
processArr.indexOf(item) + 3 === processArr.lastIndexOf(item) && !zha.includes(item) && zha.push(item) && (countObj[3][item] = 4);
});
var arr1 = [];
processArr.filter(function (item) { //手牌去重
return arr1.includes(item) ? '' : arr1.push(item);
});
shunzi = arr1.length ? check_shunzi(arr1, pdkConfig.danshunNum) : [];
liandui = duizi.length ? check_liandui(duizi, pdkConfig.duishunNum) : [];
feiji = kezi.length ? check_feiji(kezi, 2) : [];
var s = shunzi.length && shunzi.reduce(function (prev, cur) {
return prev.concat(cur);
});
if (s) {
single = single.filter(function (item) {
return !s.includes(item);
});
duizi = duizi.filter(function (item) {
return !s.includes(item);
});
}
process(liandui, 'liandui');
process(shunzi, 'shunzi');
process(duizi, 'duizi');
process(single, 'single');
process(kezi, 'kezi');
process(feiji, 'feiji');
process(zha, 'zha');
jing.length && (result[4] = jing);
}
return sortResult();
function sortResult() {
var array = ['feiji', 'shunzi', 'liandui'];
if (pdkConfig.sandaiOrNot) {
array.push('kezi');
}
result.weight.sort(function (a, b) {
return a[1] - b[1];
});
var len = result.weight.length;
for (var i = 0; i < len; i++) {
array.push(result.weight[i][0]);
}
array.push('zha');
var lastLen = array.length;
var temp;
var tempLen;
for (var i = 0; i < lastLen; i++) {
var temp = result[array[i]];
if (temp) {
tempLen = temp.length;
for (var j = 0; j < tempLen; j++) {
backArr.push(temp[j]);
}
}
}
return backArr;
}
function process(array, type) {
if (!array || !array.length) return;
var temp;
switch (type) {
case 'liandui':
temp = array.map(function (item) {
return convert(multArr(item, 2), hand);
});
break;
case 'shunzi':
temp = array.map(function (item) {
return convert(item, hand);
});
break;
case 'duizi':
result.weight.push(['duizi', array[0]]);
temp = array.map(function (item) {
return convert([item, item], hand);
});
break;
case 'single':
result.weight.push(['single', array[0]]);
temp = array.map(function (item) {
return convert([item], hand);
});
break;
case 'zha':
temp = array.map(function (item) {
return convert([item, item, item, item], hand);
});
break;
case 'kezi':
!pdkConfig.sandaiOrNot && result.weight.push(['kezi', array[0]]);
temp = array.map(function (item) {
return convert([item, item, item].concat(getWasteCard([item])), hand);
});
break;
case 'feiji':
temp = array.map(function (item) {
return convert(multArr(item, 3).concat(getWasteCard(item)), hand);
});
break;
}
result[type] = temp;
}
function multArr(array, num) {
var temp = [].concat(array);
var back = [];
for (var i = 0; i < num; i++) {
back = back.concat(temp);
}
return back;
}
function ord(arr) {
arr.sort(function (a, b) {
return a - b;
});
}
function getWasteCard(judgeArray) {
if (!pdkConfig.sandaiOrNot) {
return [];
}
var num = pdkConfig.daiNum ? pdkConfig.daiNum : 2;
var judgeLen = judgeArray.length;
var needNum = judgeLen * num;
var countValue = copyObj(countObj);
countValue.num = processArr.length;
var array = [];
var count = 0;
var lastValue = [];
var temp;
for (var i = 2; i < 4; i++) {
for (var j = 0; j < judgeLen; j++) {
temp = countValue[i][judgeArray[j]];
if (temp) {
temp -= 3;
countValue.num -= 3;
if (temp == 0) {
delete countValue[i][judgeArray[j]];
}
}
}
}
for (var i = 0; i < 4; i++) {
fitValue(countValue[i], i + 1);
}
if (count < needNum) {
for (var i = 0; i < 4; i++) {
if (JSON.stringify(countValue[i]) == '{}') continue;
for (var item in countValue[i]) {
var value = parseInt(item);
lastValue = lastValue.concat(new Array(countValue[i][item]).fill(value));
}
}
if (lastValue.length > 0) {
lastValue.sort((a, b) => {
return a - b;
});
array = array.concat(lastValue.slice(0, needNum - count));
}
}
return array;
function copyObj(obj) {
if (typeof(obj) == 'object') {
return JSON.parse(JSON.stringify(obj));
}
}
function fitValue(obj, number) {
if (JSON.stringify(obj) == '{}') return;
if (count >= needNum) return;
for (var item in obj) {
var value = parseInt(item);
count += number;
if (count <= needNum) {
array = array.concat(new Array(number).fill(value));
delete obj[item];
if (count == needNum) {
return array;
}
} else {
count -= number;
}
}
}
}
function convert(arr, hand) {
var arr1 = [].concat(hand);
var length = arr1.length;
var arr2 = [];
arr2 = arr.map(function (item, index) {
if (item > 13) {
item = item - 13;
}
for (var i = 0; i < length; i++) {
if (arr1[i] % 20 == item && arr1[i] < 100) {
item = arr1[i];
arr1.splice(i, 1);
break;
}
}
return item;
});
arrange_pai(arr2);
return arr2;
}
function arrange_pai(hand) {
hand.sort(function (a, b) {
var c = a % 20;
var d = b % 20;
c < 3 && (c += 20);
d < 3 && (d += 20);
var result = d - c;
if (d == c || a > 100 || b > 100) {
result = b - a;
}
return result;
})
}
function check_shunzi(hand, num) {
var arr = [].concat(hand);
var result = [],
i = 0;
result[i] = [arr[0]];
arr.reduce(function (prev, cur) {
cur - prev === 1 ? result[i].push(cur) : result[++i] = [cur];
return cur;
});
result = result.filter(function (item, index) {
return item.length > num - 1;
});
return result;
}
function check_liandui(hand, num) {
return check_shunzi(hand, num);
}
function check_feiji(hand, num) {
return check_shunzi(hand, num);
}
}
RoomFunc.compare_array = function (obj, target) {
var base = [].concat(obj).sort(function (a, b) {
return a - b;
});
var next = [].concat(target).sort(function (a, b) {
return a - b;
});
return base.toString() == next.toString();
}

View File

@@ -0,0 +1,382 @@
/*****************郑忠水****************/
//防作弊
d.send_ip = function (leave) {
if (C_Player.seat == -1) {
return;
}
d.set_png_pos(C_Player.seat);
var ipids = [1770, 1771, 1772, 1773];
var ips = [];
var seat = C_Player.seat;//lon1经度lat1纬度lon2经度lat2纬度
var msg = -1;
if (gameabc_face.ip) {
d.ip[seat] = gameabc_face.ip;
msg = d.ip[seat];
}
// if(C_Player.ip)
// {d.ip[seat]=C_Player.ip;
// msg=d.ip[seat];
// }
else {
d.ip = [];
for (var i = 0; i < 4; i++) {
set_self(ipids[d.pos[i]], 37, 0, 0, 0);
ips[i] = ["127.0.0.1" + String(4 - 1), i];
}
return;
}
//d.addr[seat]=[28.62354,115.900333];
//msg=d.addr[seat];
if (leave != undefined && leave != C_Player.seat) {
set_self(ipids[d.pos[leave]], 37, 0, 0, 0);
ips[leave] = ["127.0.0.1", leave];
d.ip[leave] = [];
return;
}
if (d.replay == 0) {
var send = {
"app": "youle",
"route": d.route,
"rpc": "ip",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"ip": msg
}
};
Net.ws_tcp.send(JSON.stringify(send));
}
}
d.show_ip = function (leave) {
if (C_Player.seat == -1) {
return;
}
d.set_png_pos(C_Player.seat);
var ipids = [1770, 1771, 1772, 1773];
//2人模式
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
if(person==2)
{ipids = [1770, 1772, 1772, 1772];}
var ips = [];
for (var i = 0; i < 4; i++) {
// if(Desk.PlayerList[i].ip!=undefined && Desk.PlayerList[i].ip.length>0)
// {set_self(ipids[d.pos[i]],37,1,0,0);
// set_self(ipids[d.pos[i]],43,3,0,0);
// ips[i]=[Desk.PlayerList[i].ip,i];
// }
if (d.ip[i] != undefined && d.ip[i].length > 0 && get_self(376 + d.pos[i], 37, 0, 0, 0) == 1) {
set_self(ipids[d.pos[i]], 37, 1, 0, 0);
set_self(ipids[d.pos[i]], 43, 3, 0, 0);
ips[i] = [d.ip[i], i];
//Desk.PlayerList[i].ip=d.ip[i];
}
else {
set_self(ipids[d.pos[i]], 37, 0, 0, 0);
ips[i] = ["z127.0.0.1", i];
}
}
if (leave != undefined) {
set_self(ipids[d.pos[leave]], 37, 0, 0, 0);
ips[leave] = ["z127.0.0.1", leave];
}
ips.sort(function (a, b) {
return a[0].localeCompare(b[0])
});
var n = [0];
var f = 2;
for (var i = 1; i < 4; i++) {
if (ips[0][0] === ips[i][0] && ips[0][0] != "z127.0.0.1") {
var pos = ips[0][1];
set_self(ipids[d.pos[pos]], 43, f, 0, 0);
var pos = ips[i][1];
set_self(ipids[d.pos[pos]], 43, f, 0, 0);
n[n.length] = i;
}
}
if (n.length >= 4) {
return;
}
if (n.length > 1) {
f = 1;
}
for (var i = 2; i < 4; i++) {
var ban = 0;
for (var j = 0; j < n.length; j++) {
if (i == n[j]) {
ban = 1;
break;
}
}
if (ban == 0 && ips[1][0] === ips[i][0] && ips[1][0] != "z127.0.0.1") {
var pos = ips[1][1];
set_self(ipids[d.pos[pos]], 43, f, 0, 0);
var pos = ips[i][1];
set_self(ipids[d.pos[pos]], 43, f, 0, 0);
n[n.length] = i;
}
}
if (n.length > 1) {
f = 1;
}
for (var i = 3; i < 4; i++) {
var ban = 0;
for (var j = 0; j < n.length; j++) {
if (i == n[j]) {
ban = 1;
break;
}
}
if (ban == 0 && ips[2][0] === ips[i][0] && ips[2][0] != "z127.0.0.1") {
var pos = ips[2][1];
set_self(ipids[d.pos[pos]], 43, f, 0, 0);
var pos = ips[i][1];
set_self(ipids[d.pos[pos]], 43, f, 0, 0);
}
}
}
d.send_distance = function (leave) {
if (C_Player.seat == -1) {
return;
}
if (leave == undefined)
{leave=-1;}
d.set_png_pos(C_Player.seat);
var Jids = [1482, 1489, 1496, 1503];
var Mids = [1762, 1763, 1764, 1765];
var Ms = [1766, 1767, 1768, 1769];
var ips = [];
var seat = C_Player.seat;//lon1经度lat1纬度lon2经度lat2纬度
var msg = -1;
//gameabc_face.locationinfo={};
//gameabc_face.locationinfo.latitude=28.62354;gameabc_face.locationinfo.longitude=115.900333;
if (gameabc_face.locationinfo) {
if (gameabc_face.locationinfo.latitude && gameabc_face.locationinfo.longitude) {
var lon1 = gameabc_face.locationinfo.longitude;
var lat1 = gameabc_face.locationinfo.latitude;
d.addr[seat] = [lon1, lat1];
msg = d.addr[seat];
}
}
// if(C_Player.addr)
// {var lon1=C_Player.addr.longitude;
// var lat1=C_Player.addr.latitude;
// d.addr[seat]=[lon1,lat1];
// msg=d.addr[seat];
// }
else {
d.addr = [];
for (var i = 0; i < 4; i++) {
set_self(Jids[d.pos[i]], 37, 0, 0, 0);
set_self(Mids[d.pos[i]], 37, 0, 0, 0);
set_self(Ms[d.pos[i]], 37, 0, 0, 0);
}
return;
}
if (leave != undefined && leave !=-1 && leave != C_Player.seat) {
set_self(Jids[d.pos[leave]], 37, 0, 0, 0);
set_self(Mids[d.pos[leave]], 37, 0, 0, 0);
set_self(Ms[d.pos[leave]], 37, 0, 0, 0);
d.addr[leave] = [];
}
if (d.replay == 0) {
var send = {
"app": "youle",
"route": d.route,
"rpc": "addr",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"addr": msg,
"leave":leave
}
};
Net.ws_tcp.send(JSON.stringify(send));
}
}
d.show_distance = function (leave) {
if (C_Player.seat == -1) {
return;
}
d.set_png_pos(C_Player.seat);
var Jids = [1482, 1489, 1496, 1503];
var Mids = [1762, 1763, 1764, 1765];
var Ms = [1766, 1767, 1768, 1769];
//2人模式
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
if(person==2)
{Jids = [1482, 1496, 1496, 1496];
Mids = [1762, 1764, 1764, 1764];
Ms = [1766, 1768, 1768, 1768];
}
var ips = [];
if (leave != undefined && leave < 4) {
set_self(Jids[d.pos[leave]], 37, 0, 0, 0);
set_self(Mids[d.pos[leave]], 37, 0, 0, 0);
set_self(Ms[d.pos[leave]], 37, 0, 0, 0);
d.addr[leave] = [];
}
var seat = C_Player.seat;//lon1经度lat1纬度lon2经度lat2纬度
// if(C_Player.addr)
// {var lon1=C_Player.addr.longitude;
// var lat1=C_Player.addr.latitude;
// d.addr[seat]=[lon1,lat1];
// }
if (d.addr[seat] && d.addr[seat].length > 0) {
var lon1 = d.addr[seat][0];
var lat1 = d.addr[seat][1];
d.addr[seat] = [lon1, lat1];
}
else {
d.addr = [];
for (var i = 0; i < 4; i++) {
set_self(Jids[d.pos[i]], 37, 0, 0, 0);
set_self(Mids[d.pos[i]], 37, 0, 0, 0);
set_self(Ms[d.pos[i]], 37, 0, 0, 0);
}
return;
}
//var addr=[[28.62354,115.900333],[28.62354,116.900333],[28.62354,118.900333],[24.62354,100.900333]];
//var lon1=addr[seat][0];
//var lat1=addr[seat][1];
for (var i = 0; i < 4; i++) {
// Desk.PlayerList[i].addr={};
// Desk.PlayerList[i].addr.longitude=addr[i][0];
// Desk.PlayerList[i].addr.latitude=addr[i][1];
//if(i!=seat && Desk.PlayerList[i].addr && Desk.PlayerList[i].addr.longitude)
if (i != seat && d.addr[i] && d.addr[i].length > 0 && get_self(376 + d.pos[i], 37, 0, 0, 0) == 1) {//var lon2=Desk.PlayerList[i].addr.longitude;
//var lat2=Desk.PlayerList[i].addr.latitude;
//var lon2=d.addr[i].longitude;
//var lat2=d.addr[i].latitude;
var lon2 = d.addr[i][0];
var lat2 = d.addr[i][1];
var Distance = d.GetDistance(lon1, lat1, lon2, lat2);
var l = String(Distance[0]).length;
set_self(1766 + d.pos[i], 37, 1, 0, 0);
set_self(1766 + d.pos[i], 7, Distance[0]);
set_self(1766 + d.pos[i], 20, l * 12, 0, 0);
set_self(Jids[d.pos[i]], 43, Distance[2], 0, 0)
if (Distance[2] == 1) {
set_self(1766 + d.pos[i], 18, get_self(Jids[d.pos[i]], 18, 0, 0, 0) + get_self(Jids[d.pos[i]], 21, 0, 0, 0), 0, 0);
}
else {
set_self(1766 + d.pos[i], 18, get_self(Jids[d.pos[i]], 18, 0, 0, 0) + get_self(Jids[d.pos[i]], 20, 0, 0, 0), 0, 0);
}
set_self(1766 + d.pos[i], 19, get_self(Jids[d.pos[i]], 19, 0, 0, 0) + 3, 0, 0);
set_self(1762 + d.pos[i], 37, 1, 0, 0);
set_self(1762 + d.pos[i], 43, Distance[1], 0, 0);
set_self(1762 + d.pos[i], 18, get_self(1766 + d.pos[i], 18, 0, 0, 0) + l * 12, 0, 0);
set_self(1762 + d.pos[i], 19, get_self(Jids[d.pos[i]], 19, 0, 0, 0), 0, 0);
set_self(Jids[d.pos[i]], 37, 1, 0, 0);
}
else {
set_self(1766 + d.pos[i], 37, 0, 0, 0);
set_self(1762 + d.pos[i], 37, 0, 0, 0);
set_self(Jids[d.pos[i]], 37, 0, 0, 0);
}
}
//var msg="";
//var msg1=["东家","南家","西家","北家"];
// for(var j=0;j<4;j++)
// {
// if(j!=seat)
// {var lon1=d.addr[j][0];
// var lat1=d.addr[j][1];
// for(var i=0;i<4;i++)
// {
//if(notice[j]==0 || notice[i]==0)
//{
// if(i!=j && i!=seat && d.addr[i] && d.addr[i].length>0)
// {var lon2=d.addr[i][0];
// var lat2=d.addr[i][1];
// var Distance=d.GetDistance(lon1,lat1,lon2,lat2);
// var l=String(Distance[0]).length;
//if(Distance[0]<=100 && Distance[1]==1)
//{msg=mag+msg1[j]+"和"+msg1[i]+"距离小于100米 ";}
////{msg=mag+Desk.PlayerList[j].nickname+"和"+Desk.PlayerList[i].nickname+"距离<100m ";}
// }
//}
// }
// }
// }
// if(msg.length>0)
// {GameUI.OpenTips(msg,3);}
}
d.show_distance_1=function(spid_up)
{d.set_png_pos_un(C_Player.seat);
var seat=d.pos_un[spid_up-376];
for(var i=0;i<4;i++)
{set_self(806+i,37,0,0,0);}
for(var i=0;i<4;i++)
{set_self(806+i,41,0,0,0);}
if(spid_up!=376 && d.addr && d.addr.length>1 && d.addr[seat] && d.addr[seat][0])
{set_self(806,37,1,0,0);
var msg="";
var msg0=["","<"];
var msg1=["m","km"];
var n=0;
var lon1=d.addr[seat][0];
var lat1=d.addr[seat][1];
for(var i=0;i<4;i++)
{console.log("1111");
if(i!=seat && d.addr[i] && d.addr[i].length>0 && Desk.PlayerList[i] && Desk.PlayerList[i].nickname)
{var lon2=d.addr[i][0];
var lat2=d.addr[i][1];
var Distance=d.GetDistance(lon1,lat1,lon2,lat2);
var name=d.getLen(Desk.PlayerList[i].nickname);
if(i==C_Player.seat)
{name="你";}
msg="他/她与"+name+"\n相距:"+msg0[Distance[2]-1]+Distance[0]+msg1[Distance[1]-1];
set_self(807+n,7,msg);
set_self(807+n,37,1,0,0);
n+=1;console.log("2222");
}
}
}
}
//lon1经度lat1纬度lon2经度lat2纬度
d.GetDistance = function (lon1, lat1, lon2, lat2) {
lon1=Number(lon1);
lat1=Number(lat1);
lon2=Number(lon2);
lat2=Number(lat2);
var EARTH_RADIUS = 6378137;
var radLat1 = lat1 * Math.PI / 180.0;
var radLat2 = lat2 * Math.PI / 180.0;
var a = radLat1 - radLat2;
var b = lon1 * Math.PI / 180.0 - lon2 * Math.PI / 180.0;
var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
s = s * EARTH_RADIUS;
s = Math.round(s * 10000) / 10000;
s = parseInt(s);
var s1 = 1;
if (s >= 1000) {
s = Math.round(s / 1000);
s1 = 2;
}
var s2 = 1;
if (s1 == 1) {
if (s < 100) {
s = 100;
s2 = 2;
}
else {
s = Math.round(s / 100) * 100;
}
}
var r = [s, s1, s2];
return r;
}

View File

@@ -0,0 +1,59 @@
d.get_handpos_byid=function (seat,cards)
{var pos_r=[];
for(var i=0;i<cards.length;i++)
{var pos=d.hand[seat][0].indexOf(cards[i]);
if(pos!=-1)
{pos_r[pos_r.length]=pos;
}
}
return pos_r;
}
//数组判断
d.isArray=function (obj){
return Object.prototype.toString.call(obj) === '[object Array]';
}
//截取昵称长度
d.getLen=function(str) {
// if (str == null) return 0;
// if (typeof str != "string"){
// str += "";
// }
// return str.replace(/[^\x00-\xff]/g,"01").length;
var l0=str.length;
var len = 0;
var l=0;
for (var i=0; i<str.length; i++) {
var c = str.charCodeAt(i);
if (len<=10-1 && (c >= 0 && c <= 128)) {
len++;l++;
}
else if(len<=10-2){
len+=2;l++;
}
else
{break;
}
}
str=str.slice(0,l);
if(l<l0)
{str=str+".."}
return str;
}
//得到长度
d.getLen1=function(str) {
var len = 0;
for (var i=0; i<str.length; i++){
var c = str.charCodeAt(i);
if ( c >= 0 && c <= 128){
len++;}
else{ len+=2;}
}
return len;
}

View File

@@ -0,0 +1,163 @@
/*****************郑忠水****************/
d.ob = new d.object();
d.c = function(marr){
if(!d.isArray(marr))
{return marr;}
var arr=[];
arr=[].concat(marr);
for(var i=0;i<marr.length;i++)
{
if(d.isArray(marr[i]))
{arr[i]=[].concat(marr[i]);
for(var i1=0;i1<marr[i].length;i1++)
{
if(d.isArray(marr[i][i1]))
{arr[i][i1]=[].concat(marr[i][i1]);
for(var i2=0;i2<marr[i][i1].length;i2++)
{
if(d.isArray(marr[i][i1][i2]))
{arr[i][i1][i2]=[].concat(marr[i][i1][i2]);
for(var i3=0;i3<marr[i][i1][i2].length;i3++)
{
if(d.isArray(marr[i][i1][i2][i3]))
{arr[i][i1][i2][i3]=[].concat(marr[i][i1][i2][i3]);
}
}
}
}
}
}
}
}
return arr;
};
//同意解散
d.a.agree_disband=function()
{
return;
var n=0;
var persons=[4,4,3,2];
var person=persons[d.roomtype[6]] || 4;
for(var i=0;i<person;i++)
{
if(d.agree[i]==i)
{n+=1;}
}
var agr=d.c(d.agree);
if(n>=person-1 && d.agree[C_Player.seat]==C_Player.seat)
{var data={};
data.agentid=GameData.AgentId;
data.gameid=GameData.GameId;
data.playerid=C_Player.playerid;
data.roomcode=Desk.roomcode;
Net.Send_self_agree_free_room(data);
}
set_self(369,7,"全部同意达成解散");
//投票通过
var ban=0;
for(var i=0;i<4;i++){
if(d.agree[i]==i)
{
for(var j=0;j<3;j++)
{
if(get_self(264+j,7)=="【"+Desk.PlayerList[i].nickname+"】")
{set_self(166+j,7,"同意",0,0);
break;
}
}
if(C_Player.seat==i)
{set_self(201,37,0,0,0);
set_self(202,37,0,0,0);
}
ban=1;
}
}
}
//退出
d.a.exit=function()
{
if(C_Player.status == 1){
GameData.checkType = 2;
GameUI.OpenCheckFree("房间仍存在,是否退出?");
}else{
var data={};
data.agentid=GameData.AgentId;
data.gameid=GameData.GameId;
data.playerid=C_Player.playerid;
data.roomcode=Desk.roomcode;
Net.Send_self_exit_room(data);
setTimeout(GameUI.OpenTips,0,"你被房主拒绝",1500);
}
}
//暂无意义
d.get_free_hu=function(seat)
{
var ids=[[1240,1241,1242,1243,1244,1245,1246,1268,1269,1270,1271,1928,1929,1930,1931,1932,1933,1934,1935,1936,1937,1938,1939,1940,1941],
[1247,1248,1249,1250,1251,1252,1253,1272,1273,1274,1275,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,1953,1954,1955],
[1254,1255,1256,1257,1258,1259,1260,1276,1277,1278,1279,1956,1957,1958,1959,1960,1961,1962,1963,1964,1965,1966,1967,1968,1969],
[1261,1262,1263,1264,1265,1266,1267,1280,1281,1282,1283,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983]
];
var id=0;
for(var i=0;i<11;i++)
{
if(get_self(ids[seat][i],37,0,0,0)==0)
{id=ids[seat][i];
break;
}
}
return id;
}
//暂无意义
d.get_free_point=function(seat)
{
var idsym=[];
var idnum=[];
for(var j=0;j<4;j++)
{idsym[j]=[];
idnum[j]=[];
for(var i=0;i<10;i++)
{idsym[j][i]=1774+j*20+i*2;
idnum[j][i]=1775+j*20+i*2;
}
for(var i=0;i<10;i++)
{idsym[j][i+10]=1984+j*20+i*2;
idnum[j][i+10]=1985+j*20+i*2;
}
}
var id=[];
for(var i=0;i<10;i++)
{
if(get_self(idsym[seat][i],37,0,0,0)==0 && get_self(idnum[seat][i],37,0,0,0)==0)
{id[0]=idsym[seat][i];
id[1]=idnum[seat][i];
break;
}
}
return id;
}
d.a.get_last_Storage=function(){
var last_Storage=0;
if(window.localStorage) {
last_Storage= 1024 * 1024 * 5 - unescape(encodeURIComponent(JSON.stringify(localStorage))).length;
}
return last_Storage;
}

View File

@@ -0,0 +1,197 @@
/*****************郑忠水****************/
/**
* ————————
*分享显示
* ————————
* */
//显示左上角房间的信息
d.a.share = function (roomtype) {
if(roomtype){
Desk.roomtype=roomtype;
}
if(Desk.roomtype.length==0){
return;
}
Desk.count = d.gameConfig.asetcount[Desk.roomtype[1]-1] || Desk.count;
Game_Config.Share.gameTitle = "\n房号:" + Desk.roomcode;
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
var deduct_card = Desk.roomtype[4] || 1;
var msg4 = ["","房主支付 ", "AA支付 ", "大赢家支付 "]; //4扣卡方法 1房主付卡,2AA付卡,3大赢家付卡
var tuoguan=Desk.roomtype[18] || 0;
var msg6 = ["","超时不托管 ","超时托管 "];//托管
var sheets = Desk.roomtype[11] || 0;
var msg3 = ["10张 顺子至少3连 三张不带牌 ","15张 顺子至少5连 三带二 ","16张 顺子至少5连 三带二 "]; //张数
var msg14 = ["","换三张 ",""];
var huan_T = Desk.roomtype[2] || 0;
var msg15 = ["","1倍 ","5倍 ","10倍 ","20倍 ","50倍 ","100倍 ",""];
var bei_S = Desk.roomtype[24] || 0;
var help= Desk.count + "局 ";
var beilv = Desk.roomtype[20] || 0;
var msg7 = [""];
if(Desk.roomtype[20]!=0){
deduct_card = 0;
msg7 = [beilv+"倍 "];
}
if(Utl.getIsInfinite()==1)
{
help="";
Game_Config.Share.gameDescription ="玩法:" + help + person +"人 " + msg3[sheets] ;
help= person +"人 ";
}
else{
Game_Config.Share.gameDescription ="玩法:" + help + person +"人 " + msg7[0] + msg4[deduct_card] + msg3[sheets] ;
help= person +"人 " + msg7[0] + msg4[deduct_card] + msg15[bei_S];
}
var show = "";
if(Utl.getIsInfinite()==1){
show ="玩法:" + "" + person +"人 " + msg3[sheets];
}else{
if (d.turn[1] < Desk.count) {
help= Desk.count + "局 " + "(" + (d.turn[1] + 1) + "/" + Desk.count + ") ";
}
else if (d.turn[1] == Desk.count) {
help = Desk.count + "局 " + "(" + (d.turn[1]) + "/" + Desk.count + ") ";
}
show ="玩法:" + "" + person +"人 " + msg7[0] + msg4[deduct_card] + msg3[sheets];
}
var msg_1 = "\n每天可领取免费房卡约麻将";
var l = d.getLen1(show);
set_self(2239, 7, show);
set_self(2239, 18, parseInt((1280 - l * 14) / 2), 0, 0);
up_imgurl(624,"http://testgame.youlehdyx.com/image_xgamehall/guanggao_01.png",1);//改变资源
d.a.help_txt();
}
d.a.help_re = function (roomtype) {
if (roomtype) {
Desk.roomtype = [].concat(roomtype);
}
if(d.gameConfig.horse){
//set_self(1891,7,d.gameConfig.horse,0,0);
var horse="";
if (d.gameConfig.horse=="买马") {
horse="匹 ";
}else if (d.gameConfig.horse=="扎鸟") {
horse="鸟 ";
}
}
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
var deduct_card = Desk.roomtype[4] || 1;
var msg4 = ["","房主支付 ", "AA支付 ", "大赢家支付 "]; //4扣卡方法 1房主付卡,2AA付卡,3大赢家付卡
var tuoguan=Desk.roomtype[18] || 0;
var msg6 = ["","超时不托管 ","超时托管 "];//托管
var sheets = Desk.roomtype[11] || 0;
var msg3 = ["10张 顺子至少3连 三张不带牌 ","15张 顺子至少5连 三带二 ","16张 顺子至少5连 三带二 "]; //张数
var msg14 = ["","换三张 ",""];
var huan_T = Desk.roomtype[2] || 0;
var msg15 = ["","1倍 ","5倍 ","10倍 ","20倍 ","50倍 ","100倍 ",""];
var bei_S = Desk.roomtype[24] || 0;
var help= Desk.count + "局 ";
if(Utl.getIsInfinite()==1)
{
help="";
help= "玩法:" + person +"人 " + msg3[sheets];
}else{
help= "玩法:" + person +"人 " + msg4[deduct_card] + msg3[sheets];
}
var show = "";
if(Utl.getIsInfinite()==1){
show ="玩法:" + "" + person +"人 " + msg3[sheets];
}else{
if (d.turn[1] < Desk.count) {
help= Desk.count + "局 " + "(" + (d.turn[1] + 1) + "/" + Desk.count + ") ";
}
else if (d.turn[1] == Desk.count) {
help = Desk.count + "局 " + "(" + (d.turn[1]) + "/" + Desk.count + ") ";
}
show ="玩法:" + person +"人 " + msg3[sheets] ;
}
var msg_1 = "\n每天可领取免费房卡约麻将";
var l = d.getLen1(show);
//set_self(2239, 7, show);
//set_self(2239, 18, parseInt((1280 - l * 14) / 2), 0, 0);
}
d.a.help_txt = function (tou) {
tou = tou || "";
if(d.gameConfig.horse){
//set_self(1891,7,d.gameConfig.horse,0,0);
var horse="";
if (d.gameConfig.horse=="买马") {
horse="匹 ";
}else if (d.gameConfig.horse=="扎鸟") {
horse="鸟 ";
}
}
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
var deduct_card = Desk.roomtype[4] || 1;
var msg4 = ["","房主支付 ", "AA支付 ", "大赢家支付 "]; //4扣卡方法 1房主付卡,2AA付卡,3大赢家付卡
var sheets = Desk.roomtype[11] || 0;
var msg3 = ["10张 顺子至少3连 三张不带牌 ","15张 顺子至少5连 三带二 ","16张 顺子至少5连 三带二 "]; //张数
var msg14 = ["","换三张 ",""];
var huan_T = Desk.roomtype[2] || 0;
var msg15 = ["","1倍 ","5倍 ","10倍 ","20倍 ","50倍 ","100倍 ",""];
var bei_S = Desk.roomtype[24] || 0;
var maaa="";
maaa = tou + "玩法:\n\n" + " 局数:" + Desk.count + "局\n\n" + " 人数:" + person +"人\n\n" + " 玩法:" + msg3[sheets];
txt =tou +maaa;
//set_self(2159, 7, txt);
}
d.a.help_txt1 = function (tou) {
tou = tou || "";
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
txt = tou + "玩法:\n\n " + "局数:" + Game_Modify.numOfgame * 8 + "局\n\n ";
//set_self(2159, 7, txt);
}

View File

@@ -0,0 +1,553 @@
/*****************郑忠水****************/
/**
* ————————
*计时器的相关操作 和 精灵绘画操作
* ————————
* */
//计时器动画集合 (开计时器做相关操作 8001秒 8010.1秒 8020.15秒 8030.3秒 8040.035秒 8050.6秒 );
d.sieve_flash = function (spid) {
if(spid == 800) {
var count = 0;
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
var ready_id = [1413, 1415, 1420, 1425];
for(var i = 0; i < 3; i++) {
if(get_self(ready_id[i],37) == 1) {
count++;
}
}
if(count == person && get_self(936, 37) == 0 && !d.debug_timer) {
d.debug();
d.debug_timer = 1;
}
}
if(spid == 801 && !d.isEnd() && get_self(817,37)==1){
d.show_time();
}
var flash_con = 0;
//if(spid==804 && d.replay==0 && get_self(1770,37,0,0,0)==0 && get_self(149,37,0,0,0)==1 && C_Player.seat>-1)
if (spid == 804 && d.replay == 0 && get_self(149, 37, 0, 0, 0) == 1 && C_Player.seat != undefined && C_Player.seat > -1 && Desk.count > 0) {
flash_con = 1;
if (d.other_join > -1 && d.other_join < 4) {
d.send_ip();
d.send_distance();
if(d.a.share)
{d.a.share();}
d.other_join = 4;
}
else if (d.join == 1) {
d.send_ip();
d.send_distance();
if(d.a.share)
{d.a.share();}
d.join = 2;
}
else if (d.recon1 == 0 || d.recon1 == 1) {
d.send_ip();
d.send_distance();
if(d.a.share)
{d.a.share();}
d.recon1 = 2;
if (!gameabc_face.locationinfo) {
// Func.startlocation(2);
d.re_distanse = 1;
}
}
if (get_self(192, 37, 0, 0, 0) == 1) {
if (get_self(187, 37, 0, 0, 0) == 1) {
set_group(30, 37, 0, 0, 0);
}
}
if (d.re_distanse == 1 && gameabc_face.locationinfo) {
d.re_distanse = 0;
d.send_distance();
}
}
if (spid == 804) {
var y = get_self(149, 19, 0, 0, 0);
if (y != 0) {
for (var i = 0; i < 300; i++) {
set_group(i, 19, y, 2, 0);
}
}
if (d.clear_replay == 0 && C_Player.playerid > 0) {
d.clear_replay = 1;
var msg = localStorage.getItem(C_Player.playerid);
var rooms = rooms || [];
if (msg) {
var rooms = JSON.parse(msg);
if (rooms.length > 3) {
localStorage.clear();
}
}
}
}
if (spid == 804 && d.operate_show_con>0 ) {
d.operate_show_con-=1;
if(d.operate_show_con==0 && get_self(1965, 37) == 0)
{
//d.show_operate();
}
}
if (spid == 804)
{
if(Utl.getIsInfinite()==1 && get_self(149,37)==1)
{
if(C_Player.isprepare==1)
{
if(d.status>0 && d.status<3 && C_Player.canexit==1)
{C_Player.ChangeExit(0);
}
else if(C_Player.canexit==0)
{
if(d.status<=0 || d.status>=3)
{C_Player.ChangeExit(1);}
}
}
if(get_self(181,37,0)==1)
{
if(d.status>0 && d.status<3 && !d.isEnd())
{set_self(181,37,0);}
else
{set_self(181,43,3);}
}
if(get_self(291,37,0)!=0)
{set_self(291,37,0);}
if(Utl.getIsInfinite()==1)
{
for(var i=0;i<4;i++)
{var arr_grade=[];
if(Desk.PlayerList[i] && Desk.GetPlayerBySeat(i).bean!=parseInt(get_self(436+d.pos[i],7)))
{var _bean=Desk.GetPlayerBySeat(i).bean;
Utl.setGrade(i,_bean);
if(_bean<0)
{var ready_id=[1413,1415,1420,1425];
//2人模式
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
if(person==2)
{ready_id=[1413,1420,1420,1420];
}
set_self(ready_id[d.pos[i]],37,0,0,0);
}
}
}
for(var i=0;i<4;i++)
{
if(Desk.PlayerList[i].playerid==-1 || Number(get_self(436+d.pos[i],7))<=0)
{var ready_id=[1413,1415,1420,1425];
//2人模式
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
if(person==2)
{ready_id=[1413,1420,1420,1420];
if(Desk.PlayerList[0].playerid==-1 || Desk.PlayerList[1].playerid==-1)
{set_self(ready_id[d.pos[i]],37,0,0,0);}
if(Desk.PlayerList[0].playerid>0 && Number(get_self(436+d.pos[0],7))<=0 || Desk.PlayerList[1].playerid>0 && Number(get_self(436+d.pos[1],7))<=0)
{set_self(ready_id[d.pos[i]],37,0,0,0);}
}
else
{set_self(ready_id[d.pos[i]],37,0,0,0);}
}
}
}
}
}
if (spid == 804 && Desk.stage != 0) {
if (d.operate_time > 0)//纠正计时器
{
d.operate_time -= 1;
if (d.operate_time == 0 && get_self(1013, 37, 0, 0, 0) == 1 && get_self(1013, 35, 0, 0, 0) != 255) {
set_group(206, 35, 255, 0, 0);
}
if (get_self(1013, 35, 0, 0, 0) == 255) {
d.operate_time = 0;
}
}
if (d.jing_time > 0)//纠正计时器
{
d.jing_time -= 1;
if (d.jing_time == 0) {//精
play_ani123(0, 1848, 18);
play_ani123(0, 1848, 19);
//set_self(1848, 37, 0, 0, 0);
}
}
if (d.put_time > 0)//纠正计时器
{
d.put_time -= 1;
if (d.put_time == 0) {
var throw_card_spid = d.act_put[2];
if (throw_card_spid > 0) {
play_ani123(0, throw_card_spid, 18);
play_ani123(0, throw_card_spid, 19);
set_self(throw_card_spid, 37, 0, 0, 0);
if (d.act_put[5] > 0) {
play_ani123(0, d.act_put[5], 18);
play_ani123(0, d.act_put[5], 19);
set_self(d.act_put[5], 37, 0, 0, 0);
}
}
if (d.card_14 > 0) {
play_ani123(0, d.card_14, 18);
}
d.card_14 = 0;
d.act[2] = 0;
d.act_put[2] = -1;
d.act_put[5] = -1;
//d.show_my13card();
//d.show_you13card();
//d.show_shang13card();
//d.show_zuo13card();
//d.show_14card();
//d.show_sea();
d.click_ban = 1;
}
}
if (cd_con[0] > 0 && cd_con[0] <= 5 && d.status >= 1) {
if (cd_con[0] == 5) {
var ready_id = [1413, 1415, 1420, 1425];
//2人模式
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
if(person==2)
{ready_id = [1413, 1420, 1420, 1420];
}
for (var i = 0; i < 4; i++) {
set_self(ready_id[i], 37, 0, 0, 0);
}
cd_con[1] = 1;
d.show_card_wall();
}
cd_con[0] += 1;
}
if (get_self(1022, 37, 0, 0, 0) == 0) {
play_ani123(0, 1022, 19);
}
}
if (spid == 801 && Desk.stage != 0) {
// var i = 1021;
// if (get_self(i, 37, 0, 0, 0) == 1) {
// set_self(i, 43, 1, 1, 0);
// if (get_self(i, 43, 0, 0, 0) > 8) {
// set_self(i, 43, 1, 0, 0);
// }
// }
var i = 810;
if (get_self(i, 37) == 1) {
set_self(i, 18, 100, 2, 0);
set_self(i, 43, 1, 1, 0);
if (get_self(i, 43) > 4) {
set_self(i, 43, 1, 0, 0);
}
if(get_self(i, 18)< -550){
set_self(i, 37, 0, 0, 0);
}
}
}
if (spid == 802 && Desk.stage != 0) {
for (var i = 0; i < 6; i++) {
var bird = i + 1241;
// if(get_self(bird,37,0,0,0)==1 && get_self(bird,34,0,0,0)<360)
// {set_self(bird,34,30,1,0);
// }
if (get_self(bird, 37, 0, 0, 0) == 1 && get_self(bird, 1, 0, 0, 0) == 518) {
set_self(bird, 43, 1, 1, 0);
if (get_self(bird, 43, 0, 0, 0) > 5) {
set_self(bird, 37, 0, 0, 0);
}
}
}
}
if (spid == 802 && Desk.stage != 0) {
for (var i = 0; i < 8; i++) {
var eft = i + 1812;
if (get_self(eft, 37, 0, 0, 0) == 1) {
set_self(eft, 43, 1, 1, 0);
if (get_self(eft, 43, 0, 0, 0) > 5) {
set_self(eft, 37, 0, 0, 0);
}
}
}
}
if(spid == 804 && d.isEnd() && Utl.getIsInfinite()==1){
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
var ready_id = [1413, 1415, 1420, 1425];
if(person==2){
var ready_id = [1413, 1420, 1420, 1420];
}
for(var i=0;i<person;i++){
if(get_self(ready_id[d.pos[i]],37)==1 && d.person_info[i] && person>2 &&(d.person_info[i].new_one==1 || Desk.PlayerList[i] && d.playerid[i] && d.playerid[i]!=Desk.PlayerList[i].playerid)){
set_self(2282+d.pos[i],37,0,0,0);
set_self(2286+d.pos[i],37,0,0,0);
for(var j=0;j<person;j++){
set_self(1730+j,37,0,0,0);
if(get_self(2286+j,37)==0){
set_self(436+d.pos[j],37,1,0,0);
set_self(1221+d.pos[j],37,1,0,0);
}
}
}else if(get_self(ready_id[d.pos[i]],37)==0 && d.person_info[i] && person>2 &&(d.person_info[i].new_one==1 || Desk.PlayerList[i] && d.playerid[i] && d.playerid[i]!=Desk.PlayerList[i].playerid)){
set_self(2282+d.pos[i],37,1,0,0);
set_self(2286+d.pos[i],37,1,0,0);
for(var j=0;j<person;j++){
set_self(1730+j,37,0,0,0);
if(get_self(2286+j,37)==1){
set_self(436+d.pos[j],37,0,0,0);
set_self(1221+d.pos[j],37,0,0,0);
}
}
}
if(get_self(1420,37)==1 && d.person_info[0] && person<=2 && C_Player.seat==1 &&(d.person_info[1].new_one==1 || Desk.PlayerList[0] && d.playerid[0] && d.playerid[0]!=Desk.PlayerList[0].playerid)){
set_self(2284,37,0,0,0);
set_self(2288,37,0,0,0);
set_self(439,37,1,0,0);
set_self(437,37,0,0,0);
set_self(1731,37,0,0,0);
set_self(1732,37,0,0,0);
set_self(1733,37,0,0,0);
}
else if(get_self(1420,37)==0 && d.person_info[0] && person<=2 && C_Player.seat==1 &&(d.person_info[1].new_one==1 || Desk.PlayerList[0] && d.playerid[0] && d.playerid[0]!=Desk.PlayerList[0].playerid)){
set_self(2284,37,1,0,0);
set_self(2288,37,1,0,0);
set_self(439,37,0,0,0);
set_self(437,37,0,0,0);
set_self(1731,37,0,0,0);
set_self(1732,37,0,0,0);
set_self(1733,37,0,0,0);
}
if(get_self(1420,37)==1 && d.person_info[1] && person<=2 && C_Player.seat==0 &&(d.person_info[1].new_one==1 || Desk.PlayerList[1] && d.playerid[1] && d.playerid[1]!=Desk.PlayerList[1].playerid)){
set_self(2284,37,0,0,0);
set_self(2288,37,0,0,0);
set_self(437,37,1,0,0);
set_self(439,37,0,0,0);
set_self(1731,37,0,0,0);
set_self(1732,37,0,0,0);
set_self(1733,37,0,0,0);
}else if(get_self(1420,37)==0 && d.person_info[1] && person<=2 && C_Player.seat==0 && (d.person_info[1].new_one==1 || Desk.PlayerList[1] && d.playerid[1] && d.playerid[1]!=Desk.PlayerList[1].playerid)){
set_self(2284,37,1,0,0);
set_self(2288,37,1,0,0);
set_self(439,37,0,0,0);
set_self(437,37,0,0,0);
set_self(1731,37,0,0,0);
set_self(1732,37,0,0,0);
set_self(1733,37,0,0,0);
}
}
}
}
//画相关 (在需要的精灵上绘画相应图片)
d.gamemydraw = function (spid) {
if (d.jing[0] || d.jing[1]) {
if(spid == 2874 && get_self(spid, 37, 0, 0, 0) ==1 && get_self(spid, 43, 0, 0, 0) == d.jing[1]){
ifast_mydrawbmp(spid, 636, 0, 0, 30, 30, 0, 0, 50, 50);//本
}
for(var i=0;i<d.Ting_ui.length;i++){
if(spid == 1248 + i && d.user_ctrl[2] != C_Player.seat && (d.Ting_ui[i] == d.jing[1] || d.Ting_ui[i] == d.jing[0]))
{
ifast_mydrawbmp(spid, 559, 1, 1, 53, 81, 0, 0, 55, 83);
}
}
for(var i=0;i<d.tips_tp.length;i++){
if(spid == 1248 + i && d.user_ctrl[2] == C_Player.seat && (d.tips_tp[i] == d.jing[1] || d.tips_tp[i] == d.jing[0]))
{
ifast_mydrawbmp(spid, 559, 1, 1, 53, 81, 0, 0, 55, 83);
}
}
}
if(get_self(1140, 37) == 1){
for (var i = 0; i < 9; i++) {
if (spid == 1131 + i && get_self(spid, 43, 0, 0, 0) == d.throw_card) {
ifast_mydrawbmp(spid, 515, 1, 1, get_self(spid, 20), get_self(spid, 21), 0, 0, get_self(spid, 20), get_self(spid, 21));//吃牌框
}
}
}
RoomFunc.draw(spid);
}
d.shanD = function(dry){
var hand_L = get_self(836+dry,20)*d.hand[C_Player.seat][0].length;
AM.remove(2862+dry);
AM.add(2862+dry).wait(2,function(){
set_self(2862+dry,18,get_self(836+dry,18),0,0);
set_self(2862+dry,19,569,0,0);
set_self(2862+dry,41,0,0,0);
set_self(2862+dry,20,Math.floor(hand_L/2),0,0);
set_self(2862+dry,37,1,0,0);
set_self(2862+dry,43,1,0,0);
}).wait(2,function(){
set_self(2862+dry,43,2,0,0);
}).wait(2,function(){
set_self(2862+dry,43,3,0,0);
}).wait(2,function(){
set_self(2862+dry,43,4,0,0);
}).wait(2,function(){
//set_self(2962,37,1,0,0);
set_self(2862+dry,43,5,0,0);
}).wait(2,function(){
set_self(2862+dry,43,6,0,0);
}).wait(2,function(){
set_self(2862+dry,43,7,0,0);
}).wait(2,function(){
set_self(2862+dry,43,8,0,0);
}).wait(2,function(){
set_self(2862+dry,37,0,0,0);
AM.cls_id(2862+dry);
}).start();
AM.remove(2863+dry);
AM.add(2863+dry).wait(2,function(){
set_self(2863+dry,18,get_self(2862+dry,18)+get_self(2862+dry,20) - 50,0,0);
set_self(2863+dry,19,569,0,0);
set_self(2863+dry,20,Math.floor(hand_L/2),0,0);
set_self(2863+dry,41,0,0,0);
set_self(2863+dry,37,1,0,0);
set_self(2863+dry,43,8,0,0);
}).wait(2,function(){
set_self(2863+dry,43,7,0,0);
}).wait(2,function(){
set_self(2863+dry,43,6,0,0);
}).wait(2,function(){
set_self(2863+dry,43,5,0,0);
}).wait(2,function(){
//set_self(2962,37,1,0,0);
set_self(2863+dry,43,4,0,0);
}).wait(2,function(){
set_self(2863+dry,43,3,0,0);
}).wait(2,function(){
set_self(2863+dry,43,2,0,0);
}).wait(2,function(){
set_self(2863+dry,43,1,0,0);
}).wait(2,function(){
set_self(2863+dry,37,0,0,0);
AM.cls_id(2863+dry);
}).start();
}

View File

@@ -0,0 +1,487 @@
/*****************赖传棋****************/
//显示大局结算界面
d.a.show_turnpoint=function (mode)
{var ban=0;
mode=mode || 0;
d.put_card=0;
d.p_card=0;
d.wos=0;
if(d.turn[1]==0 && !d.isEnd())
{
for(var i=0;i<4;i++)
{
if(d.user_point[i]!=0)
{ban=1;}
}
if(ban==0)
{
for(var i=0;i<4;i++)
{
if(d.turn_point[d.turn[1]] != undefined && d.turn_point[d.turn[1]][i] != undefined && d.turn_point[d.turn[1]][i]!=0)
{
d.user_point[i]+=d.turn_point[d.turn[1]][i];
ban=1;
}
}
}
}
else
{ban=1;}
// for(var i=0;i<d.turn[2];i++)
// {
// if(d.turn_point[i]!=undefined)
// {ban=1;
// break;
// }
// }
if(ban==0 || Utl.getIsInfinite()==1)
{d.ini_start();
Utl.Exit();
return;
}
//if(get_self(1348,37,0,0,0)==1)//大背景
//{return;}
d.replay_write();
for(var i=0;i<=Game_Config.Max.group;i++){
set_group(i,37,0,0,0);
}
set_group(247,37,0,0,0);
set_self(149,37,1,0,0);//桌面背景
set_group(222,37,1,0,0); //1426-1310
set_group(223,37,0,0,0);//数字
set_self(1348,41,1,0,0);//大背景
set_self(1414,41,1,0,0);//分享
set_self(1435,41,1,0,0);//关闭
var y=get_self(1354,19,0,0,0);
set_group(223,19,317-y,1,0);
for(var i=0;i<4;i++)
{set_self(150+i,37,0,0,0);
set_self(1453+i,37,1,0,0);
set_self(2300+i,37,1,0,0);
set_self(1436+i,37,0,0,0);
set_self(1445+i,37,0,0,0);
set_self(1449+i,37,0,0,0);
}
for(var i=0;i<4;i++)//头像ID等
{
set_self(1431+i,37,0,0,0);
set_self(2798+i,37,0,0,0);
if(Desk.PlayerList[i].nickname==undefined || String(Desk.PlayerList[i].nickname).length==0)
{set_self(1349+i,37,0,0,0);
set_self(2304+i,37,0,0,0);
set_self(1427+i,37,0,0,0);
set_self(1441+i,37,0,0,0);
set_self(1307+i,37,0,0,0);
set_self(1337+i,37,0,0,0);
set_self(1453+i,37,0,0,0);
set_self(2300+i,37,0,0,0);
set_self(1416+i,37,0,0,0);
set_self(1460+i,37,0,0,0);
set_self(1421+i,37,0,0,0);
}
}
// for(var i=0;i<d.turn[2];i++)//每局分数
// {
// if(d.turn_point[i] && d.turn_point[i].length>0)
// {
// for(var j=0;j<4;j++)
// {var point=0;
// if(i<12)
// {point=1354+i*5+j;}
// else if(i>=12)
// {point=2130+i-12+j*6;}
// if(Desk.PlayerList[j].nickname && d.turn_point[i].length>0 && d.turn_point[i][j]!=undefined && String(d.turn_point[i][j]).length>0)
// {set_self(point,7,"第"+String(i+1)+"局:"+d.turn_point[i][j]);}//
// else
// {set_self(point,37,0,0,0);}
// }
// }
// else
// {
// for(var j=0;j<4;j++)
// {
// if(i<12)
// {point=1354+i*5+j;}
// else if(i>=12)
// {point=2130+i-12+j*6;}
// set_self(point,37,0,0,0);
// }
// }
// }
var dianpao = [];
var statis_name=["自摸","炮胡","点炮","暗杠","明杠","表杠"];
for(var i=0;i<5;i++)//每局分数
{
for(var j=0;j<4;j++)
{var point=1932+j*5+i;
if(Desk.PlayerList[j].nickname && d.statis[j][i]!=undefined)
{
//if (i==2) {
//set_self(1934+j*5,7,statis_name[5]+"次数 "+d.statis[j][5]);
//}else{
set_self(point,7,statis_name[i]+"次数 "+d.statis[j][i]);
//}
dianpao[j]=d.statis[j][2];
}
else
{set_self(point,37,0,0,0);}
}
}
for(var i=0;i<4;i++)//昵称ID头像
{
d.point=d.c(d.user_point);
if(Desk.PlayerList[i].nickname!=undefined && String(Desk.PlayerList[i].nickname).length>0)
{
var max=Math.max.apply(null,dianpao);
if(d.statis[i][2]==max && d.statis[i][2]>0){
set_self(2798+i,37,1,0,0);//炮手
}else
{set_self(2798+i,37,0,0,0);}
var nickname=d.getLen(Desk.PlayerList[i].nickname);
//var l=nickname.gblen()*15;
var l=d.getLen1(nickname)*15;
set_self(1427+i,7,nickname);
//set_self(1427+i,18,get_self(1441+i,18,0,0,0)+parseInt((180-l)/2),0,0);
//set_self(1427+i,18,get_self(1349+i,18,0,0,0)+90,0,0); //1427-1430 昵称
set_self(1337+i,7,"ID:"+Desk.PlayerList[i].playerid);
//set_self(1337+i,18,get_self(1349+i,18,0,0,0)+90,0,0); //1337-1340 ID
//set_self(1337+i,20,String(Desk.PlayerList[i].playerid).length*17,0,0);
//if(Desk.PlayerList[i].avatar)
//{
//显示头像
var head_id=[116,117,118,119];
var head=head_id[d.pos[i]];
set_self(1349+i,1,head,0,0);
//}
// else
// {set_self(1349+i,1,131,0,0);
// }
var x=get_self(1436+i,18,0,0,0); //获取总积分x坐标
var w=String(ifast_abs(d.user_point[i])).length;
set_self(1445+i,37,1,0,0);
// set_self(1445+i,7,ifast_abs(d.user_point[i]));//大赢家
set_self(1445+i,7,d.user_point[i]);
// set_self(1445+i,20,37*w,0,0);
set_self(1445+i,18,x+140-parseInt(w*7/2),0,0); //移动总积分分数位置
if(d.user_point[i]<0)
{set_self(1449+i,37,1,0,0);//符号
w=w+1;
// set_self(1449+i,18,x+85-parseInt(w*37/2),0,0); //移动总积分分数符号位置
set_self(1445+i,18,x+140-parseInt(w*7/2),0,0); //移动总积分分数位置
// set_self(1445+i,1,521,0,0);
}
// else 总积分 正号也显示
// {set_self(1449+i,37,0,0,0);
// set_self(1445+i,1,520,0,0);
// }
var k=GameUI.getMultiple() || 1;
// set_self(1416+i,7,"计算后:"+d.user_point[i]*k);
// set_self(1416+i,18,x+85-(parseInt(String(get_self(1416+i,7)).length+2)*18/2));
var w=String(ifast_abs(d.user_point[i]*k)).length;
set_self(1421+i,7,ifast_abs(d.user_point[i]*k));
set_self(1421+i,20,30*w,0,0);
var l= w*30;
var w_under=get_self(1453+i,20,0,0,0);
var x0=get_self(1453+i,18,0,0,0)+ifast_div((w_under-l),2);
//set_self(1421+i,18,x0+30,0,0);
set_self(1460+i,18,x0,0,0);
if(d.user_point[i]<0)
{set_self(1460+i,37,1,0,0);
set_self(1453+i,43,2,0,0);
set_self(1421+i,18,x0+30,0,0);
}
else
{set_self(1460+i,37,0,0,0);
set_self(1453+i,43,1,0,0);
set_self(1421+i,18,x0,0,0);
}
// set_self(1416+i,18,x0,0,0);
//if(k==1)
//{set_self(1416+i,37,0,0,0);
//set_self(1421+i,37,0,0,0);
//set_self(1460+i,37,0,0,0);
//}
set_self(1436+i,37,1,0,0);
if(d.user_point[i]>=0)
{
var max=Math.max.apply(null,d.user_point);
if(d.user_point[i]==max && d.user_point[i]>0)
{
set_self(1431+i,37,1,0,0);
set_self(1436+i,37,0,0,0);
}
set_self(1460+i,37,0,0,0);//计算后
}
else{
//set_self(1427+i,37,1,0,0);//昵称
//set_self(1416+i,37,0,0,0);//计算后
//set_self(1421+i,37,0,0,0);//计算后
//set_self(1460+i,37,1,0,0);//计算后
set_self(1431+i,37,0,0,0);//大赢家
//set_self(1449+i,37,0,0,0);//总分符号
//set_self(1311+i,37,0,0,0);//分数背景
//set_self(1337+i,37,0,0,0);//ID
//set_self(1307+i,37,0,0,0);//ID
}
}
}
//var text="";
//var info="昵称+id+总分第1局昵称+id+总分+分数"
//Func.gameCopytext(text);
GameUI.showCalBtn();
d.ini_start();
}
d.show_xiao1_settle = function (makewar, turn, identity, names, avatar, playerids, hand, turn_point, buyHorse, winHorse, Horse_vic_def, final_hu, settlePoint, hu_note_gang, roomtype, many_hu, start_hu, piao, sea_hua, peng_chi_num, hu_note_gang_jing, putJing, jing, score,hua_hua,ting,zhuangtai,huscore,upscore,downscore,gangscore,smilescore) {
try{
var persons = [4, 4, 3, 2];
roomtype=roomtype||Desk.roomtype;
var person = persons[roomtype[6]] || 4;
var host = 0;
var ID = [2614, 2615, 2616, 2617];
for(var i=0;i<4;i++){
set_self(717+i,37,0);
}
if(RoomFunc.xue_zhan()){
for(var i=0;i<person;i++){
set_self(717+i,37,1);
}
}
if(makewar==1) {
turn = d.turn[1];
host = d.identity[4];
identity = d.c(d.identity);
names = [];
playerids = [];
hand = d.c(d.hand);
for (var i = 0; i < person; i++) {
names[i] = Desk.PlayerList[i].nickname;
playerids[i] = Desk.PlayerList[i].playerid;
d.ord(hand[i][0]);
d.a.arrange_pai(hand[i][0]);
if(Utl.getIsInfinite()==1&&C_Player.seat!=i&&d.person_info&&d.person_info[i])
{
names[i] = d.person_info[i].nickname;
playerids[i] = d.person_info[i].playerid;//金币场id
}
}
turn_point = d.c(d.turn_point);
buyHorse = d.c(d.buyHorse);
winHorse = d.c(d.winHorse);
Horse_vic_def = d.c(d.Horse_vic_def);
final_hu = d.c(d.final_hu);
many_hu = d.c(d.many_hu);
start_hu = d.c(d.start_hu);
settlePoint = d.c(d.settlePoint);
hu_note_gang = d.c(d.hu_note_gang);
roomtype = d.c(d.roomtype);
piao = d.c(d.piao);
sea_hua = d.c(d.sea_hua);
peng_chi_num = d.c(d.peng_chi_num);
hu_note_gang_jing = d.c(d.hu_note_gang_jing);
putJing = d.c(d.putJing);
jing = d.c(d.jing);
hua_hua = d.c(d.hua_hua);
ting = d.c(d.nm_ting);
zhuangtai = d.c(d.nm_ting_zhuangtai);
score = d.c(d.user_point);
for (var i = 0; i < 4; i++) {
var head_id = [116, 117, 118, 119];
//显示头像 昵称 ID
if (i < person) {
var head = head_id[d.pos[i]];
set_self(2587 + i, 1, head, 0, 0);
set_self(2587 + i, 37, 1, 0, 0);
if(Utl.getIsInfinite()==1&&C_Player.seat!=i&&d.person_info&&d.person_info[i])
{
//Func.up_imgurl(318+i,d.person_info[i].avatar);//改变资源
set_self(2386 + i, 37, 1, 0, 0);
}
}
}
}
else {
set_self(1159, 37, 0, 0, 0);
set_self(1403, 37, 0, 0, 0);
//显示头像 昵称 ID
if (identity != undefined && identity[turn] != undefined && identity[turn][4] != undefined) {
host = identity[turn][4];
}
}
set_self(2500,37,1,0,0);set_self(2510,18,531,0,0);set_self(2510,37,1,0,0);set_self(2605,37,1,0,0);set_self(2605,7,get_self(2063,7),0,0);
if (Utl.getIsInfinite() == 1) {
set_self(2510,18,326,0,0);
}
//庄
var id = 2587 + host;
set_self(2592, 18, get_self(id, 18, 0, 0, 0) - 17, 0, 0);
set_self(2592, 19, get_self(id, 19, 0, 0, 0) - 5, 0, 0);
set_self(2592, 37,1);
var myseat = -1;
for (var i = 0; i < person; i++) {
set_self(2587 + i, 37, 1, 0, 0);
var nickname = d.getLen(names[i]);
set_self(2583 + i, 7, nickname);
set_self(2583 + i, 37, 1, 0, 0);
set_self(2501 + i, 37, 1, 0, 0);
set_self(2505 + i, 37, 1, 0, 0);
var head_img2=[2802,2803,2804,2805];
//var jifen=[436,437,438,439]
if(Utl.getIsInfinite()==1 && d.playerid[i]!=Desk.PlayerList[i].playerid){
set_self(head_img2[i],37,1,0,0);
//set_self(jifen[d.pos[i]],37,0,0,0);
set_self(head_img2[i],7,"已离开",0,0);
}
var playerid = playerids[i];
var w = String(playerid).length * 13;
var ids = [2614, 2615, 2616, 2617];
set_self(ids[i], 7, "ID"+playerid);
set_self(ids[i], 37, 1, 0, 0);
set_self(ID[i], 37, 1, 0, 0);
if (playerid == C_Player.playerid) {
myseat = i;
}
var Mul = [0, 0, 0, 0];
}
//显示牌
var show_spids = [2618, 2619, 2620, 2621];
var un_hu = [], hupoint = [0, 0, 0, 0], pai_y = [84, 226, 368, 510];
for (var i = 0; i < 4; i++) {
set_self(show_spids[i], 37, 0, 0, 0);
}
for (var i = 0; i < person; i++) {
var point = Math.abs(turn_point[turn][i]);//本局分
var point1 = Math.abs(score[i]);//总分
set_self(2594 + i * 2, 7, point, 0, 0);
set_self(2606 + i * 2, 7, point1, 0, 0);
var l2 = String(point).length;
var l3 = String(point1).length;
set_self(2594 + i * 2, 20, l2 * 26, 0, 0);
set_self(2606 + i * 2, 20, l3 * 26, 0, 0);
var l = hand[i][0].length;
var p_x = 350 + 124 * hand[i].length - 124;
for (var j = 0; j < l; j++) {
set_self(2511 + j + i * 18, 43, hand[i][0][j], 0, 0);
set_self(2511 + j + i * 18, 37, 1, 0, 0);
set_self(2511 + j + i * 18, 18, p_x + 38 * j, 0, 0);
set_self(2511 + j + i * 18, 19, pai_y[i], 0, 0);
set_self(2511 + j + i * 18, 20, 40, 0, 0);
set_self(2511 + j + i * 18, 21, 60, 0, 0);
set_self(2511 + j + i * 18, 1, 502, 0, 0);
}
var l_x = 350;
for (var k = 1; k < hand[i].length; k++) {
var l1 = hand[i][k].length;
for (var j = 0; j < hand[i][k].length; j++) {
set_self(2511 + l + i * 18 + j, 43, hand[i][k][j], 0, 0);
set_self(2511 + l + i * 18 + j, 37, 1, 0, 0);
set_self(2511 + l + i * 18 + j, 18, l_x + 38 * j, 0, 0);
set_self(2511 + l + i * 18 + j, 19, pai_y[i]+5, 0, 0);
set_self(2511 + l + i * 18 + j, 20, 40, 0, 0);
set_self(2511 + l + i * 18 + j, 21, 60, 0, 0);
set_self(2511 + l + i * 18 + j, 1, 503, 0, 0);
if (l1 == 4 && j < 3) {
set_self(2511 + l + i * 18 + j, 19, pai_y[i]+5 , 0, 0);
console.log(2511 + l + i * 18 + j);
set_self(2511 + l + i * 18 + j, 18, l_x + 38 * j, 0, 0);
}
if (l1 == 4 && j == 3) {
set_self(2511 + l + i * 18 + j, 19, pai_y[i] - 10, 0, 0);
console.log(2511 + l + i * 18 + j);
set_self(2511 + l + i * 18 + j, 18, l_x + 38, 0, 0);
}
}
if (hand[i][k]) {
l = l + hand[i][k].length;
l_x = l_x + 3 * 38 + 10;
}
}
if (final_hu[i][0] == i) {
set_self(show_spids[i], 37, 1, 0, 0);
// var f0 = final_hu[1][0], f1 = final_hu[1][1];
// var hucard_num = 0;
// if (f0 <= 0 && f1 > 0) {
// f0 = final_hu[1][1];
// }
// else if (f0 > 0) {
// f0 = final_hu[1][0];
// if (f1 > 0) {
// hucard_num += 1;
// f1 = final_hu[1][1];
// }
// }
var f0 = final_hu[i][1];
set_self(2527 + i * 18, 43, f0, 0, 0);
set_self(2527 + i * 18, 37, 1, 0, 0);
set_self(2527 + i * 18, 18, l_x + 38 * hand[i][0].length + 10, 0, 0);
set_self(2527 + i * 18, 19, pai_y[i]+5, 0, 0);
set_self(2527 + i * 18, 20, 40, 0, 0);
set_self(2527 + i * 18, 21, 60, 0, 0);
}
else if (d.isEnd() && final_hu[i][0] == -1) {
un_hu[un_hu.length] = i;
}
//显示分数
var hu_w = 26;
if (get_self(2618 + i, 37)) {
hu_w = 26;
}
if(Utl.getIsInfinite()==1) {
set_self(2591 , 37, 0, 0, 0);
}else{
set_self(2601 + i, 37, 1, 0, 0);//总分字
set_self(2601 + i, 18, get_self(2587, 18) + 960 + hu_w, 0, 0); //总分字
set_self(2606 + i * 2, 37, 1, 0, 0);
set_self(2606 + i * 2, 18, get_self(2601 + i , 18) + get_self(2601 + i , 20)/2 - l3*26/2, 0, 0);//大局分数
set_self(2607 + i * 2, 37, 1, 0, 0);//加号
}
set_self(2607 + i * 2, 18, get_self(2606 + i * 2, 18) -26 , 0, 0);//加号
set_self(2634 + i , 37, 1, 0, 0);
set_self(2634 + i , 18, get_self(2587, 18) + 850 + hu_w, 0, 0); //小局字
set_self(2594 + i * 2, 37, 1, 0, 0);
set_self(2594 + i * 2, 18, get_self(2634 + i , 18) + get_self(2634 + i , 20)/2 - l2*26/2, 0, 0);//小局分数
set_self(2593 + i * 2, 37, 1, 0, 0);
set_self(2593 + i * 2, 18, get_self(2594 + i * 2, 18) - 26 , 0, 0);//加号
if (score[i]>=0) {
set_self(2607 + i * 2, 37, 0, 0, 0);//大局分数
} else {
set_self(2607 + i * 2, 43, 12, 0, 0);//大局分数
}
if (turn_point[turn][i] >= 0) {
set_self(2593 + i * 2, 43, 11, 0, 0);
if (playerids[i] == C_Player.playerid) {
}
}
else if (turn_point[turn][i] < 0) {
set_self(2593 + i * 2, 43, 12, 0, 0);
if (playerids[i] == C_Player.playerid) {
}
}
set_self(2639+i,37,1,0,0);
}
if(d.replay==1) {
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
for(var i=0;i<person;i++){
set_self(717+i,37,0);
}
}
}catch(e){console.log(e)}
}

View File

@@ -0,0 +1,309 @@
/*****************赖传棋****************/
//显示结算界面
d.show_xiao_settle = function (makewar, turn, identity, names, avatar, playerids, hand, turn_point, final_hu, settlePoint, roomtype, many_hu, score) {
try{
//Func.exitRoom();
if (Desk.stage == 0 && d.replay==0 && turn!=undefined) {
return;
}
if(Utl.getIsInfinite() == 1 && d.person_info[C_Player.seat] && d.person_info[C_Player.seat].new_one==1) {
return;
}
if(d.replay==1 && get_self(149,37))
{return;}
if(Utl.getIsInfinite()==1)
{
if(get_self(1157,37)==1)
{set_self(1159,37,0);
}
}
d.wos=0;
d.put_card=0;
d.p_card=0;
//set_group(213, 37, 1, 0, 0);
set_self(1353, 37, 1, 0, 0);
set_self(1363, 37, 1, 0, 0);
set_self(1392, 37, 1, 0, 0);
set_self(1281, 37, 1, 0, 0);
set_self(2063, 37, 1, 0, 0);
var persons = [4, 4, 3, 2];
roomtype=roomtype||Desk.roomtype;
var person = persons[roomtype[6]] || 4;
var sheets = Desk.roomtype[11] || 0;
var msg3 = ["10张牌玩法 ","15张牌玩法 ","16张牌玩法 "]; //张数
var deduct_card = roomtype[4] || 0;
var msg4 = ["","房主支付 ", "AA支付 ", "大赢家支付 "]; //4扣卡方法 1房主付卡,2AA付卡,3大赢家付卡
if(Utl.getIsInfinite()==1)
{set_self(2063,7,"跑得快 "+person+"人玩法" + msg3[sheets]);}
else
{set_self(2063,7,"跑得快 "+person+"人玩法"+ msg4[deduct_card] + msg3[sheets]);}
var host = 0;
var ID = [1551, 1552, 1574, 1580];
var ID1 = [1517, 1524, 1531, 1550];
for (var i = 0; i < 4; i++) {
//set_self(1907 + i, 37, 0, 0, 0);
}
if (makewar == 1) {//开战中
if(d.user_ctrl[C_Player.seat]==1&&(Desk.roomtype[14]==3||Desk.roomtype[14]==4)) {
{set_self(1403,37,0,0,0);}
}
if (Desk.stage == 0 && Utl.getIsInfinite()!=1) {
return;
}
set_self(1403, 43, 1, 0, 0);
set_self(1408, 43, 1, 0, 0);
if (d.turn[1] + 1 == d.turn[2]) {
set_self(1403, 43, 2, 0, 0);
set_self(1408, 43, 2, 0, 0);
set_self(107, 37, 0, 0, 0);
}
for (var i = 0; i < 4; i++) {
//set_self(150 + i, 37, 0, 0, 0);
}
turn = d.turn[1];
host = d.identity[4];
identity = d.c(d.identity);
names = [];
playerids = [];
hand = d.c(d.hand);
turn_point = d.c(d.turn_point);
final_hu = d.c(d.final_hu);
many_hu = d.c(d.many_hu);
settlePoint = d.c(d.settlePoint);
roomtype = d.c(d.roomtype);
score = d.c(d.user_point);
for (var i = 0; i < person; i++) {
names[i] = Desk.PlayerList[i].nickname;
playerids[i] = Desk.PlayerList[i].playerid;
d.ord(hand[i]);
d.a.arrange_pai(hand[i]);
if(Utl.getIsInfinite()==1&&C_Player.seat!=i&&d.person_info&&d.person_info[i])
{
names[i] = d.person_info[i].nickname;
playerids[i] = d.person_info[i].playerid;//金币场id
}
}
set_self(1592, 37, 0, 0, 0);
set_self(1598, 37, 0, 0, 0);
for (var i = 0; i < 4; i++) {
//set_self(150 + i, 37, 0, 0, 0);
var head_id = [116, 117, 118, 119];
//显示头像 昵称 ID
if (i < person) {
var head = head_id[d.pos[i]];
set_self(1342 + i, 1, head, 0, 0);
set_self(1342 + i, 37, 1, 0, 0);
if(Utl.getIsInfinite()==1&&C_Player.seat!=i&&d.person_info&&d.person_info[i])
{
//Func.up_imgurl(318+i,d.person_info[i].avatar);//改变资源
set_self(2381 + i, 37, 1, 0, 0);
}
}
}
set_self(152, 37, 0, 0, 0);
set_self(153, 37, 0, 0, 0);
}
else {
set_self(1159, 37, 0, 0, 0);
set_self(1403, 37, 0, 0, 0);
//显示头像 昵称 ID
if (identity != undefined && identity[turn] != undefined && identity[turn][4] != undefined) {
host = identity[turn][4];
}
}
roomtype = roomtype||d.roomtype;
if (d.replay == 1) {
}
//庄
var hostid = 1342 + host;
set_self(2441, 18, get_self(hostid, 18, 0, 0, 0) -60, 0, 0);
set_self(2441, 19, get_self(hostid, 19, 0, 0, 0) +5, 0, 0);
set_self(2441,37,1,0,0);
var myseat = -1;
//LOL
var max=Math.max.apply(null,turn_point[turn]);//最大分数
for (var i = 0; i < person; i++) {
set_self(1217 + i, 37, 1, 0, 0);
set_self(877 + i, 37, 1, 0, 0);
var nickname = d.getLen(names[i]);
set_self(877 + i, 7, nickname);
var head=[318,319,320,321];
set_self(1342 + i,37,1,0,0);
set_self(1342 + i, 1, head[i], 0, 0);
if(Utl.getIsInfinite()==1 && d.playerid[i]!=Desk.PlayerList[i].playerid){
//set_self(head_img[i],37,1,0,0);
//set_self(head_img[i],7,"已离开",0,0);
}
if(turn_point[turn]){
if(turn_point[turn][i]>=0){
set_self(2192+i,43,11,0,0);
}else{
set_self(2192+i,43,12,0,0);
}
if(turn_point[turn][i]>=0){
set_self(1217+i,43,1,0,0);
}else{
set_self(1217+i,43,2,0,0);
}
var point=Math.abs(turn_point[turn][i]);
set_self(2196+i,7,point,0,0);//本局得分
var l= String(point).length*30
set_self(2196+i,20,l,0,0);
var w=get_self(1217+i,20,0,0,0);
var x=get_self(1217+i,18,0,0,0)+ifast_div((w-l-30),2);
set_self(2192+i,18,x,0,0);
set_self(2196+i,18,x+30,0,0);
set_self(2192+i,37,1,0,0);
set_self(2196+i,37,1,0,0);
if(turn_point[turn][i]==max && turn_point[turn][i]>0)
{set_self(806+i,37,1,0,0);
}
}
if(settlePoint){
//remain: [0, 0, 0, 0],//剩余牌数
//rPoint: [0, 0, 0, 0],//余牌扣分
//spring: [0, 0, 0, 0],//被关
//zha: [0, 0, 0, 0],//炸弹数量
//zhaP: [0, 0, 0, 0]//炸弹得分
set_self(2235+i,7,"剩"+settlePoint.remain[i]+"张牌",0,0);
if(settlePoint.remain[i]==0)
{set_self(2235+i,7,"出完牌",0,0);}
set_self(2235+i,37,1,0,0);
var mark="";
if(settlePoint.rPoint[i]>=0)
{mark="+";}
set_self(2381+i,7,mark+settlePoint.rPoint[i],0,0);
set_self(2381+i,37,1,0,0);
if(settlePoint.spring[i]>0)
{set_self(2921+i,7,"被关",0,0);
set_self(2921+i,37,1,0,0);
set_self(1881+i,7,"x2",0,0);
set_self(1881+i,37,1,0,0);
set_self(1284+i,37,1,0,0);
}
if(settlePoint.toPay && settlePoint.toPay[i]!=0)
{set_self(2921+i,7,"包赔",0,0);
set_self(2921+i,37,1,0,0);
var mark="";
if(settlePoint.toPay[i]>=0)
{mark="+";}
set_self(1881+i,7,mark+settlePoint.toPay[i],0,0);
set_self(1881+i,37,1,0,0);
}
if(settlePoint.zha[i] || settlePoint.zhaP[i])
{
set_self(2964+i,7,"炸弹x"+settlePoint.zha[i],0,0);
set_self(2964+i,37,1,0,0);
var mark="";
if(settlePoint.zhaP[i]>=0)
{mark="+";}
set_self(2386+i,7,mark+settlePoint.zhaP[i],0,0);
set_self(2386+i,37,1,0,0);
}
}
var playerid = playerids[i];
var w = String(playerid).length * 13;
var ids = [1517, 1524, 1531, 1550];
//set_self(ids[i], 7, "ID"+playerid);
//set_self(ids[i], 37, 1, 0, 0);
//set_self(ID[i], 37, 1, 0, 0);
if (playerid == C_Player.playerid) {
myseat = i;
}
}
//显示牌
var pai_ids = [1241, 1261, 2401, 2421];
for (var i = 0; i < person; i++) {
if(hand[i]&&hand[i][0]&&hand[i][0].length>0)
{d.ord(hand[i][0]);
var l=hand[i][0].length;
if(l>0)
{d.a.arrange_pai(hand[i][0]);
for (var k = 0; k < l; k++) {
set_self(pai_ids[i] + k, 43, hand[i][0][k], 0, 0);
set_self(pai_ids[i] + k, 37, 1, 0, 0);
}
}
}
}
if(Utl.getIsInfinite()==1)
{//set_self(1408,37,0);
//set_self(1403,37,0);
}
set_self(2997,18,1135);
set_self(2997,19,20);
}catch(e){console.log(e);}
}

View File

@@ -0,0 +1,462 @@
/*****************赖传棋****************/
//显示结算动画
d.show_clearing_flash = function (spid) {
//结算动画
if (get_self(149,37)==1 && d.recon != 1 && d.backstage != 1 && spid == 803 && d.clearing_time > 0) {
d.clearing_time += 1;
if (d.clearing_time >= 7) {
d.clearing_time = -1;
if (RoomFunc.zhanji_before()) {
d.fina_Hu();
d.show_xiao_settle(1);
set_self(1353,37,0,0,0);
set_self(1363,37,0,0,0);
set_self(1592,37,0,0,0);
d.show_timeready(); //显示准备时间
}
if(Utl.getIsInfinite()==1)
{
for(var i=0;i<4;i++)
{
if(get_self(1403,37)==0 && get_self(1408,37)==0 && i==C_Player.seat)
{Utl.setDeskStage(0);GameUI.SetIsprepare(i,0);C_Player.ChangeExit(1);Utl.setPlayerPrepare(i, 0);}
else if(i!=C_Player.seat)
{GameUI.SetIsprepare(i,0);
C_Player.ChangeExit(1);
}
}
}
}
}
}
//跳过动画直接显示买马结果
d.show_horse = function () {
if (Desk.stage != 0 && d.clearing_time > 0) {
d.show_dark_horse();
d.show_light_horse();
d.clearing_time = -1;
}
}
//准备显示买马
d.show_dark_horse = function () {
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
//d.buyHorse=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]];//各家买马
//d.winHorse=[[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1]];//各家买马
var ban = 0;
var horse_num = 0;
for (var i = 0; i < person; i++) {
if (d.buyHorse[i][0] > 0 && get_self(1368, 37, 0, 0, 0) == 0) {
ban = 1;
for (var j = 0; j < 6; j++) {
if (d.buyHorse[i][j] > 0) {
horse_num += 1;
}
}
break;
}
}
if (ban == 1) {
set_group(228, 37, 1, 0, 0);
for (var i = 0; i < 10; i++) {
for (var j = 0; j < 4; j++) {
set_self(1966+j*10+i, 37, 0, 0, 0);
}
}
//set_self(1283,33,20,0,0);
set_self(1283, 19, 19, 0, 0);
set_self(1283, 43, 1, 0, 0);
set_self(1283, 37, 0, 0, 0);
set_self(1346, 43, 1, 0, 0);
//play_ani123(1,1283,33,10,100,240,1);
//play_ani123(1,1283,19,220,70,240,1);
//play_ani123(1,1283,43,1,4,240,1);
for (var i = 0; i < 4; i++) {
set_self(1333 + d.pos[i], 37, 0, 0, 0);
set_self(1726 + d.pos[i], 37, 0, 0, 0);
}
for (var i = 0; i < person; i++) {
if(Desk.PlayerList[i].nickname!=undefined)
{set_self(1726 + d.pos[i], 7, d.getLen(Desk.PlayerList[i].nickname));
set_self(1726 + d.pos[i], 37, 1, 0, 0);
set_self(1333 + d.pos[i], 37, 1, 0, 0);
}
}
//LOL(马牌隐藏)
for (var i = 0; i < 4; i++) {
set_self(1342 + i, 37, 0, 0, 0);
}
for (var i = 0; i < 6; i++) {
set_self(1544 + i, 37, 0, 0, 0);
}
for (var i = 0; i < 4; i++) {
//set_self(150 + i, 37, 0, 0, 0);
}
for (var i = 0; i < 6; i++) {//应该改为8个
//动画隐藏
var eid = 1241 + i;
var Horse_id = 1538 + i;
set_self(eid, 37, 0, 0, 0);
set_self(Horse_id, 37, 0, 0, 0);
}
//LOL
var seat = 0;
for (var i = 0; i < 4; i++) {
if(d.final_hu[i][0]==i){
var show_spids = [1378, 1388, 1393, 1398];
for (var i = 0; i < 4; i++) {
//set_self(1706 + i, 7, get_self(406 + i, 7));
set_self(show_spids[i], 37, 0, 0, 0);
}
set_self(show_spids[d.pos[i]], 37, 1, 0, 0);
}
}
//1炮多响
for (var i = 0; i < 2; i++) {
if (d.many_hu[i][0] > -1) {
var seat = d.many_hu[i][0];
if (seat != 4) {
set_self(show_spids[d.pos[seat]], 37, 1, 0, 0);
}
}
}
//LOL
return;
var Horse_id = 1538;
var n = 0;
for (var i = 0; i < 6; i++) {
var x0 = parseInt((1280 - 62 * horse_num) / 2) + 62 * i;
if (d.buyHorse[0][i] > 0) {
var id = Horse_id + n;
set_self(id, 43, 60, 0, 0);
set_self(id, 35, 255, 0, 0);
set_self(id, 37, 1, 0, 0);
set_self(id, 18, x0 + n * 62, 0, 0);
n += 1;
}
if (d.buyHorse[1][i] > 0) {
var id = Horse_id + n;
set_self(id, 43, 60, 0, 0);
set_self(id, 35, 255, 0, 0);
set_self(id, 37, 1, 0, 0);
set_self(id, 18, x0 + n * 62, 0, 0);
n += 1;
}
if (d.buyHorse[2][i] > 0) {
var id = Horse_id + n;
set_self(id, 43, 60, 0, 0);
set_self(id, 35, 255, 0, 0);
set_self(id, 37, 1, 0, 0);
set_self(id, 18, x0 + n * 62, 0, 0);
n += 1;
}
if (d.buyHorse[3][i] > 0) {
var id = Horse_id + n;
set_self(id, 43, 60, 0, 0);
set_self(id, 35, 255, 0, 0);
set_self(id, 37, 1, 0, 0);
set_self(id, 18, x0 + n * 62, 0, 0);
n += 1;
}
}
}
}
//显示买马
d.show_light_horse = function () {
if (get_self(1368, 37, 0, 0, 0) == 1) {
//d.buyHorse=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]];//各家买马
//d.winHorse=[[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1]];//各家买马
// var seat = d.final_hu[0];
var Horse_id = 1538, bird_id = 1241;
var n = 0;
var rotate = [180, 90 + 10, 0, 270 - 10];
//var eft_xy=[[418,526],[1035,217],[418,-37],[-61,217]];
var eft_xy = [[-61, 375], [1035, 221], [928, -70], [-61, 114]];
//set_self(1283,37,0,0,0);
var room_seat=[];
var persons = [4, 4, 3, 2];
var person = persons[d.roomtype[6]] || 4;
var li=C_Player.seat;
if(person!=2){
for (var i=0;i<4;i++){
if (li>person-1){
room_seat.push(-1);
}else {
room_seat.push(li);
}
li++;
if (li>=4){
li=0;
}
}
}
else if(person==2){
if(C_Player.seat==0){
room_seat=[0,-1,1,-1];
}
else if(C_Player.seat==1){
room_seat=[1,-1,0,-1];
}
}
for (var i = 0; i < 10; i++) {
for (var j = 0; j < room_seat.length; j++) {
set_self(1966+j*10+i, 37, 0, 0, 0);
// set_self(1538, 37, 0, 0, 0);
}
}
for (var i = 0; i < 10; i++) {
for (var j = 0; j < room_seat.length; j++) {
if (room_seat[j]<0){
continue;
}
if (d.buyHorse[room_seat[j]][i]&&d.buyHorse[room_seat[j]][i]>0 && d.final_hu[room_seat[j]][0]>-1){
set_self(1966+j*10+i, 43, d.buyHorse[room_seat[j]][i], 0, 0);
set_self(1966+j*10+i, 37, 1, 0, 0);
if (d.winHorse[room_seat[j]][i] && d.winHorse[room_seat[j]][i]==1 && i!=10){
if(RoomFunc.canManyHu()){
set_self(1311+j*4+i, 18, get_self(1966+j*10+i, 18));
set_self(1311+j*4+i, 19, get_self(1966+j*10+i, 19));
set_self(1311+j*4+i, 37, 1, 0, 0);
}
else{
set_self(1311+i, 18, get_self(1966+j*10+i, 18));
set_self(1311+i, 19, get_self(1966+j*10+i, 19));
set_self(1311+i, 37, 1, 0, 0);
}
}
}
}
}
return;
//LOL
for (var i = 0; i < 6; i++) {
if (d.buyHorse[0][i] > 0) {
var id = Horse_id + n;
set_self(id, 43, d.buyHorse[0][i], 0, 0);
var eid = bird_id + n;
if (d.roomtype[14] == 3) {
set_self(eid, 37, 1, 0, 0);
set_self(eid, 43, 1, 0, 0);
set_self(eid, 18, eft_xy[d.pos[d.winHorse[0][i]]][0]);
set_self(eid, 19, eft_xy[d.pos[d.winHorse[0][i]]][1]);
var t_id = 1333 + d.pos[d.winHorse[0][i]];
//set_self(eid,34,rotate[d.pos[d.winHorse[0][i]]],0,0);
var x1 = get_self(t_id, 18, 0, 0, 0) - 20;
if (x1 > 1164) {
x1 = 1164;
}
else if (x1 < -7) {
x1 = -7;
}
//play_ani123(1,eid,18,get_self(id,18,0,0,0),x1,200,1);
var y1 = get_self(t_id, 19, 0, 0, 0) - 20;
if (y1 > 573) {
y1 = 573;
}
else if (y1 < -29) {
y1 = -29;
}
//play_ani123(1,eid,19,get_self(id,19,0,0,0),y1,200,1);
if (t_id == 1333) {
set_self(eid, 51, 0, 0, 0);
}
else if (t_id == 1334) {
set_self(eid, 51, 2, 0, 0);
}
else if (t_id == 1335) {
set_self(eid, 51, 1, 0, 0);
}
else if (t_id == 1336) {
set_self(eid, 51, 0, 0, 0);
}
}
n += 1;
}
if (d.buyHorse[1][i] > 0) {
var id = Horse_id + n;
set_self(id, 43, d.buyHorse[1][i], 0, 0);
var eid = bird_id + n;
if (d.roomtype[14] == 3) {
set_self(eid, 37, 1, 0, 0);
set_self(eid, 43, 1, 0, 0);
set_self(eid, 18, eft_xy[d.pos[d.winHorse[1][i]]][0]);
set_self(eid, 19, eft_xy[d.pos[d.winHorse[1][i]]][1]);
var t_id = 1333 + d.pos[d.winHorse[1][i]];
//set_self(eid,34,rotate[d.pos[d.winHorse[0][i]]],0,0);
var x1 = get_self(t_id, 18, 0, 0, 0) - 20;
if (x1 > 1164) {
x1 = 1164;
}
else if (x1 < -7) {
x1 = -7;
}
//play_ani123(1,eid,18,get_self(id,18,0,0,0),x1,200,1);
var y1 = get_self(t_id, 19, 0, 0, 0) - 20;
if (y1 > 573) {
y1 = 573;
}
else if (y1 < -29) {
y1 = -29;
}
//play_ani123(1,eid,19,get_self(id,19,0,0,0),y1,200,1);
if (t_id == 1333) {
set_self(eid, 51, 0, 0, 0);
}
else if (t_id == 1334) {
set_self(eid, 51, 2, 0, 0);
}
else if (t_id == 1335) {
set_self(eid, 51, 1, 0, 0);
}
else if (t_id == 1336) {
set_self(eid, 51, 0, 0, 0);
}
}
n += 1;
}
if (d.buyHorse[2][i] > 0) {
var id = Horse_id + n;
set_self(id, 43, d.buyHorse[2][i], 0, 0);
var eid = bird_id + n;
if (d.roomtype[14] == 3) {
set_self(eid, 37, 1, 0, 0);
set_self(eid, 43, 1, 0, 0);
set_self(eid, 18, eft_xy[d.pos[d.winHorse[2][i]]][0]);
set_self(eid, 19, eft_xy[d.pos[d.winHorse[2][i]]][1]);
var t_id = 1333 + d.pos[d.winHorse[2][i]];
//set_self(eid,34,rotate[d.pos[d.winHorse[0][i]]],0,0);
var x1 = get_self(t_id, 18, 0, 0, 0) - 20;
if (x1 > 1164) {
x1 = 1164;
}
else if (x1 < -7) {
x1 = -7;
}
//play_ani123(1,eid,18,get_self(id,18,0,0,0),x1,200,1);
var y1 = get_self(t_id, 19, 0, 0, 0) - 20;
if (y1 > 573) {
y1 = 573;
}
else if (y1 < -29) {
y1 = -29;
}
//play_ani123(1,eid,19,get_self(id,19,0,0,0),y1,200,1);
if (t_id == 1333) {
set_self(eid, 51, 0, 0, 0);
}
else if (t_id == 1334) {
set_self(eid, 51, 2, 0, 0);
}
else if (t_id == 1335) {
set_self(eid, 51, 1, 0, 0);
}
else if (t_id == 1336) {
set_self(eid, 51, 0, 0, 0);
}
}
n += 1;
}
if (d.buyHorse[3][i] > 0) {
var id = Horse_id + n;
set_self(id, 43, d.buyHorse[3][i], 0, 0);
var eid = bird_id + n;
if (d.roomtype[14] == 3) {
set_self(eid, 37, 1, 0, 0);
set_self(eid, 43, 1, 0, 0);
set_self(eid, 18, eft_xy[d.pos[d.winHorse[3][i]]][0]);
set_self(eid, 19, eft_xy[d.pos[d.winHorse[3][i]]][1]);
var t_id = 1333 + d.pos[d.winHorse[3][i]];
//set_self(eid,34,rotate[d.pos[d.winHorse[0][i]]],0,0);
var x1 = get_self(t_id, 18, 0, 0, 0) - 20;
if (x1 > 1164) {
x1 = 1164;
}
else if (x1 < -7) {
x1 = -7;
}
//play_ani123(1,eid,18,get_self(id,18,0,0,0),x1,200,1);
var y1 = get_self(t_id, 19, 0, 0, 0) - 20;
if (y1 > 573) {
y1 = 573;
}
else if (y1 < -29) {
y1 = -29;
}
//play_ani123(1,eid,19,get_self(id,19,0,0,0),y1,200,1);
if (t_id == 1333) {
set_self(eid, 51, 0, 0, 0);
}
else if (t_id == 1334) {
set_self(eid, 51, 2, 0, 0);
}
else if (t_id == 1335) {
set_self(eid, 51, 1, 0, 0);
}
else if (t_id == 1336) {
set_self(eid, 51, 0, 0, 0);
}
}
n += 1;
}
}
}
}
//显示买马后相关动画结束时
d.show_light_horse_doend = function (id, sx, allend) {
if (id > 0 && Desk.stage != 0 && d.recon != 1 && d.backstage != 1) {
if (id >= 1311 && id <= 1326 && sx == 33 && allend == 1) {
set_self(id, 33, 100, 0, 0);
set_self(id, 1, 547, 0, 0);
}
//if(id==1283 && sx==33 && allend==1)
//{play_ani123(1,id,33,100,33,200,1);
//}
// if(id>=1241 && id<=1241+5 && sx==19 && allend==1)
// {set_self(id,1,518,0,0);set_self(id,20,151,0,0);set_self(id,21,115,0,0);
// }
// if(id>=1241 && id<=1241+5 && sx==18 && allend==1)
// {set_self(id,1,518,0,0);set_self(id,20,151,0,0);set_self(id,21,115,0,0);
// }
}
}

View File

@@ -0,0 +1,45 @@
//判断是否结束牌局
d.isEnd = function () {
var count = 0;
var persons = [4, 4, 3, 2];
var person = persons[d.roomtype[6]] || 4;
var n = 1;//几人胡结束牌局
for (var i = 0; i < person; i++) {
if (d.final_hu[i] > -1) {
count++;
if (count >= n) {
return true;
}
}
}
return false;
}

View File

@@ -0,0 +1,207 @@
/*****************赖传棋****************/
//显示准备
d.show_ready=function()
{
if(Desk.stage!=0 || get_self(149,37)==1 && d.replay==0)
{var ready_id=[1413,1415,1420,1425];
//2人模式
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
if(person==2)
{
ready_id=[1413,1420,1420,1420];
}
if(Utl.getIsInfinite()==1){
for(var i=0;i<4;i++){
if(Desk.PlayerList[i] && Desk.GetPlayerBySeat(i).bean != parseInt(get_self(436+d.pos[i],7))){
var _bean=Desk.GetPlayerBySeat(i).bean;
Utl.setGrade(i,_bean);
}
}
}
for(var i=0;i<4;i++)
{
if(Utl.getIsInfinite()==1 && Desk.PlayerList[i].playerid>-1 && Number(get_self(436+d.pos[i],7))<=0)
{set_self(ready_id[d.pos[i]],37,0,0,0);}
else if(Desk.PlayerList[i].playerid>-1)
{
if(d.user_ctrl[4+i]==1)
{set_self(ready_id[d.pos[i]],37,1,0,0);
if(Utl.getIsInfinite()==1)
{GameUI.SetIsprepare(i,1);
set_self(1408,37,0);
set_self(1403,37,0);
if(get_self(1158,37)==1)
{set_self(1159,37,0);
}
}
if(Utl.getIsInfinite()==1 && i==C_Player.seat && d.status>0 && d.status<3)
{C_Player.ChangeExit(0);}
}
else if(d.user_ctrl[4+i]==0)
{set_self(ready_id[d.pos[i]],37,0,0,0);
if(Utl.getIsInfinite()==1)
{
if(d.status==0 || d.status==3 || d.final_hu[0]>-1)
{
set_self(1408,37,0);
set_self(1403,37,0);
set_self(1159,37,0);
if(get_self(1158,37)==1)
{set_self(1159,37,0);
}
console.log(C_Player.seat+","+i+","+Utl.getPlayerReadyState(i))
// if(get_self(1403,37)==0 && get_self(1408,37)==0 && i==C_Player.seat && Utl.getPlayerReadyState(i)==0)
if(get_self(1403,37)==0 && get_self(1408,37)==0 && i==C_Player.seat)
{Utl.setDeskStage(0);GameUI.SetIsprepare(i,0);Utl.setPlayerPrepare(i, 0);
if(d.status<=0 || d.status>=3)
{C_Player.ChangeExit(1);}
}
else if(Desk.PlayerList[i].isprepare==1)
{GameUI.SetIsprepare(i,1);
if(d.status>0 && d.status<3)
{C_Player.ChangeExit(0);}
}
else if(Desk.PlayerList[i].isprepare==0)
{GameUI.SetIsprepare(i,0);
if(d.status<=0 || d.status>=3)
{C_Player.ChangeExit(1);}
}
// if(get_self(1403,37)==0 && get_self(1408,37)==0 && i==C_Player.seat)
// {Utl.setDeskStage(0);GameUI.SetIsprepare(i,0);C_Player.ChangeExit(1);Utl.setPlayerPrepare(i, 0);}
// else if(i!=C_Player.seat)
// {GameUI.SetIsprepare(i,0);
// C_Player.ChangeExit(1);
// }
}
else if(d.status>0 && d.status<3)
{GameUI.SetIsprepare(i,1);
//Utl.setDeskStage(1);
C_Player.ChangeExit(0);
}
}
}
}
else
{
//2人模式
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
if(person==2)
{ready_id=[1413,1420,1420,1420];
if(Desk.PlayerList[0].playerid==-1 || Desk.PlayerList[1].playerid==-1)
{set_self(ready_id[d.pos[i]],37,0,0,0);}
if(Desk.PlayerList[0].playerid>0 && Number(get_self(436+d.pos[0],7))<=0&&Utl.getIsInfinite()==1 || Desk.PlayerList[1].playerid>0 && Number(get_self(436+d.pos[1],7))<=0&&Utl.getIsInfinite()==1)
{set_self(ready_id[d.pos[i]],37,0,0,0);}
}
else
{set_self(ready_id[d.pos[i]],37,0,0,0);}
}
}
}
if(d.replay == 0 && !get_self(2903,37) && !get_self(152,37))
{set_self(152,37,1,0,0);set_self(153,37,1,0,0);}
if(get_self(1413,37)) {
//d.hide_timeready();
}
}
//点击准备下一局
d.click_ready=function(spid_up,aaa)
{set_group(213,37,0,0,0);
set_group(230,37,0,0,0);
set_self(1676,37,0,0,0);//烂庄牌id
for(var i=233;i<=240;i++)
{set_group(i,37,0,0,0);}
set_self(1413,37,1,0,0);
set_self(1408,37,0,0,0);
set_self(1022,37,0,0,0);//上张出牌
play_ani123(0,1022,19);
for(var i=0;i<4;i++)
{
//if(i>1)
//{set_self(150+i,37,1,0,0);}
set_self(1730+i,37,0,0,0);//胡家
}
if (!aaa) {
d.status=3;
}
set_self(2997, 18, 614, 0, 0);
set_self(2997, 19, 287, 0, 0);
if(Utl.getIsInfinite()==1)
{d.turn[2]=100000000;}
if(d.turn[1]<d.turn[2])
{set_self(291,7,"房号:"+Desk.roomcode+"\n("+String(d.turn[1]+1)+"/"+Desk.count+"局)");}
if(d.turn[1]+1<d.turn[2])
{d.ini();
if(d.replay==0 && !aaa)
{var send={"app":"youle","route":d.route,"rpc":"ready","data":{"agentid":GameData.AgentId,"gameid":GameData.GameId,"playerid":C_Player.playerid,"roomcode":Desk.roomcode,"seat":C_Player.seat,"ready":1}};
Net.ws_tcp.send(JSON.stringify(send));
}
}
else if(d.turn[1]+1==d.turn[2] && d.turn[2]>0)
{d.a.show_turnpoint();
//for(var i=0;i<4;i++)
//{set_self(150+i,37,0,0,0);}
}
Utl.playSound("00"+170+".mp3");
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
var deduct_card = Desk.roomtype[4] || 1;
var msg4 = ["","房主支付 ", "AA支付 ", "大赢家支付 "]; //4扣卡方法 1房主付卡,2AA付卡,3大赢家付卡
var tuoguan=Desk.roomtype[18] || 0;
var msg6 = ["","超时不托管 ","超时托管 "];//托管
var msg14 = ["","换三张 ",""];
var huan_T = Desk.roomtype[2] || 0;
var sheets = Desk.roomtype[11] || 0;
var msg3 = ["10张 顺子至少3连 三张不带牌 ","15张 顺子至少5连 三带二 ","16张 顺子至少5连 三带二 "]; //张数
var msg15 = ["","1倍 ","5倍 ","10倍 ","20倍 ","50倍 ","100倍 ",""];
var bei_S = Desk.roomtype[24] || 0;
var help= Desk.count + "局 ";
var show = "";
if(Utl.getIsInfinite()==1){
show ="玩法:" + "" + person +"人 " + msg3[sheets];
}else{
if (d.turn[1] < Desk.count) {
help= Desk.count + "局 " + "(" + (d.turn[1] + 2) + "/" + Desk.count + ") ";
}
else if (d.turn[1] == Desk.count) {
help = Desk.count + "局 " + "(" + (d.turn[1]) + "/" + Desk.count + ") ";
}
show ="玩法:" + person +"人 " + msg4[deduct_card] + msg3[sheets];
}
//var msg_1 = "\n每天可领取免费房卡约麻将";
var l = d.getLen1(show);
set_self(2239, 7, show);
set_self(2239, 18, parseInt((1280 - l * 14) / 2), 0, 0);
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,343 @@
/*****************公共文件****************/
//显示时间
d.show_time = function () {
if (d.status == 3 || d.isEnd()) {
set_self(1289, 37, 0, 0, 0);//倒计时
set_self(1289, 7, -1);
set_self(1327, 37, 0, 0, 0);//风向
set_self(1021, 37, 0, 0, 0);
//头像
for (var i = 376; i <= 379; i++) {
set_self(i, 35, 255, 0, 0);
}
return;
}
if(d.status>0 && d.status<3)
{set_self(1289, 37, 1, 0, 0);}
set_self(1289, 35, 255, 0, 0);
if (get_self(1289, 37) == 1) {
set_self(2898, 37, 1, 0, 0);
set_self(2898, 20, 90, 0, 0);
set_self(2898, 21, 108, 0, 0);
set_self(2997, 37, 0, 0, 0);
}
var time_X = [[330, 370], [964, 221], [603, 88], [255, 221]];
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
if (person == 2) {
time_X = [[330, 370], [603, 88], [603, 88], [603, 88]];
}
else if (person == 3) {
if(C_Player.seat == 0) {
time_X = [[330, 370], [964, 221], [255, 221], [255, 221]];
}else {
time_X = [[330, 370], [964, 221], [964, 221], [255, 221]];
}
}
if (d.user_ctrl[2] > -1) {
set_self(2898, 18, time_X[d.pos[d.user_ctrl[2]]][0]);
set_self(2898, 19, time_X[d.pos[d.user_ctrl[2]]][1]);
}
set_self(1289, 18, get_self(2898, 18) + 20, 0, 0);
set_self(1289, 19, get_self(2898, 19) + 43, 0, 0);
var t1 = new Date().getTime();
if (d.user_ctrl[0] > 0) {
var can_operate = 0;
d.limit_t = 100;
var t = d.limit_t - parseInt((t1 - d.user_ctrl0) / 100);
if (d.replay == 0 && (d.user_ctrl[2] == C_Player.seat || can_operate == 1) && (t <= 50 || get_self(1289, 37) == 0) && !d.isEnd()) {
//set_self(2673, 37, 1);
}
if (((d.user_ctrl[2] != C_Player.seat && can_operate == 0) || d.isEnd() || t > 50) && get_self(2673, 37) == 1) {
//set_self(2673, 37, 0);
}
if (t1 - d.user_ctrl0 < 1000) {
t = d.limit_t - 10;
}
var sb = 10;
if (d.user_ctrl[2] != C_Player.seat) {
sb = 10;
}
t = parseInt(t / sb);
if (t > 0) {
t = (d.limit_t / d.speed - (d.limit_t - t)) * d.speed;
t = parseInt(t);
}
if (t < -1) {
t = -1;
if (d.recon == 1 || d.backstage == 1) {
t = 0;
}
}
}
else {
t = t - 1 * d.speed;
if (t < -1) {
t = -1;
if (d.recon == 1 || d.backstage == 1) {
t = 0;
}
}
}
//var show_t = "00";
//if (Number(t) < 10) {
//show_t = "0" + t;
//}
//else {
//show_t = "" + t;
//}
var show_t = t;
if(show_t<=0)
{show_t=0;}
set_self(1289, 7, show_t);
d.ctrl = 0;//控制权是否有变动
var l = String(show_t).length;
set_self(1289, 20, 20 * l, 0, 0);
set_self(1289,18,get_self(2898,18)+35);
set_self(1289,19,get_self(2898,19)+45);
//{
//set_self(1289, 18, 613, 0, 0);
//set_self(1289, 20, 50, 0, 0);
//}
if (Number(t) == 0) {
d.offline_war(100);
}
if (Number(t) == -1) {
t=0;
//set_self(1289, 37, 0, 0, 0);
//set_self(2898, 37, 0, 0, 0);
//RoomFunc.tuoguan();
if(d.status == 2 && d.user_ctrl[2]>-1 && !d.isEnd()){
//d.click(2233);
}
d.t = 0;
if (d.status == 1) {
d.status = 2;
}
if (Desk.roomtype[18] == 2 || Utl.getIsInfinite() == 1) {
if (d.change_card_state) {
if (d.record_change_state[C_Player.seat]) {
// d.OverTime_3();//换三张
//d.huanpai3(2);
}
} else {
//d.OverTime_card();
}
}
}
}
// //换三张托管
// d.OverTime_3 = function () {
// if (d.huanpai2.length == 3) {
// d.huanpai3();
// } else if (d.huanpai2.length < 3) {
// var id = 0;
// var hand = d.c(d.hand[C_Player.seat][0]);
// if (d.user_ctrl[3] > 0) {//控制权有摸的牌添加摸得牌
// hand.push(d.user_ctrl[3]);
// }
// huan_3(id);
//
// function huan_3(id) {
// var index = d.huanpai2.indexOf(hand[id]);
// if (index == -1) {
// d.huanpai2.push(hand[id]);
// }
// id++;
// if (d.huanpai2.length == 3) {
// for (var i = 0; i < hand.length; i++) {
// set_self(936 + i, 19, 500, 0, 0);
// }
// for (var i = 0; i < d.huanpai2.length; i++) {
// var index = hand.indexOf(d.huanpai2[i]);
// if (index > -1) {
// if (get_self(936 + index, 19) >= 500) {
// set_self(936 + index, 19, 480, 0, 0);
// } else {
// if (get_self(936 + index + 1, 19) >= 500) {
// set_self(936 + index + 1, 19, 480, 0, 0);
// } else {
// set_self(936 + index + 2, 19, 480, 0, 0);
// }
// }
// }
// }
// d.huanpai3();
// return;
// } else {
// huan_3(id);
// }
// }
// }
// }
//托管
d.show_tuoguan = function () {
if (d.replay == 0) {
d.OverTime = 1;
set_group(221, 37, 1, 0, 0);
set_self(2233, 43, 2, 0, 0);
}
set_self (2895,37,0,0,0);
set_self (2896,37,0,0,0);
set_self (2897,37,0,0,0);
}
//准备函数
d.show_timeready = function (click) {
if (d.replay == 1 || get_self(1598, 37) == 1) {
d.hide_timeready();
return;
}
if (d.turn[1] + 1 >= d.turn[2] && d.turn[2] != 0) {
d.hide_timeready();
return;
}
if (d.status >= 1 && d.status < 3 && Desk.stage == 1 && !d.isEnd()) {
d.hide_timeready();
return;
}
set_self(2997, 37, 1, 0, 0);
if (get_self(1281, 37)) {
set_self(2997,18,1135);
set_self(2997,19,20);
} else {
set_self(2997, 18, 613, 0, 0);
set_self(2997, 19, 287, 0, 0);
}
if (!click) {
set_self(2997, 7, "0" + 0, 0, 0);
}
if (!get_self(2997, 57)) {
set_self(2997, 57, 1000, 0, 0);
}
}
//关闭准备
d.hide_timeready = function () {
set_self(2997, 37, 0, 0, 0);
set_self(2997, 57, 0, 0, 0);
}
//显示时间动画
d.show_time_flash = function (spid) {
//开局前计时
if (spid == 2997 && get_self(2997, 37)) {
var t = Number(get_self(2997, 7));
if (get_self(2997, 37, 0, 0, 0) == 1) {
t += 1;
if (t < 10) {
set_self(2997, 7, "0" + t, 0, 0)
} else {
set_self(2997, 7, t, 0, 0)
if (t >= 100) {
t = 0;
set_self(2997, 7, "0" + t, 0, 0)
}
}
}
}
if (spid == 801 && get_self(2673, 37) == 1 && d.isEnd()) {
//set_self(2673, 37, 0);
}
//托管显示
if (Desk.stage != 0 && spid == 804) {
if (d.status >= 1 && d.status <= 2 && !d.isEnd() && d.replay == 0) {
if (!get_self(2233, 37)) {
set_self(2233, 37, 1, 0, 0);
}
} else {
if (get_self(2233, 37)) {
set_self(2233, 37, 0, 0, 0);
}
}
}
//牌桌计时器
//if (Desk.stage != 0 && spid == 800 && get_self(192, 37, 0, 0, 0) == 0) {
//var t = Number(get_self(1289, 7));
//if (d.ctrl == 1 && d.status == 2 && !d.isEnd()) {
//d.show_time();//从收包转移到计时器内
//}
//else if (get_self(1289, 37, 0, 0, 0) == 1 && t > -1) {
//t -= 1;
//d.show_time();
//}
//}
//托管状态
if (d.OverTime && Desk.stage != 0 && d.status == 2 && spid == 800 && !d.isEnd()) {
d.jishi_chu++;
if (d.jishi_chu >= 5) {
d.jishi_chu = 0;
//d.OverTime_card();
}
}
}
//自动出牌
d.OverTime_card = function () {
return;
var seat = C_Player.seat;
if(d.user_ctrl[2] == seat) {
var pai = [];
var hand = d.c(d.hand[seat][0]);
if(d.user_ctrl[1]==-1||d.last_put[0]==seat) {
if(Battle.check(hand)) {
pai = hand;
}else{
var tip = [];
var l = tip.length;
for(var i = 0; i < l; i++) {
if(tip[i]) {
pai = tip[i][0];
break;
}
}
if(!Battle.check(pai)) {
pai = [hand[hand.length - 1]];
}
}
}else{
// var tip = Battle.gdytip(d.last_put[1], d.hand[seat][0]);
// if(tip) {
// pai = tip;
// }else{
pai = [];
// }
}
var send = {
"app": "youle",
"route": d.route,
"rpc": "put",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": seat,
"put": pai
}
};
Net.ws_tcp.send(JSON.stringify(send));
d.pai = [];
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,170 @@
/*****************郑忠水****************/
/**
* ————————
*吃碰杠等操作的动画显示
* ————————
* */
//显示吃碰杠牌动画
d.show_chi_peng_act = function (spid) {
if (spid == 801 && get_self(149,37) && d.recon != 1 && d.backstage != 1) {
if (d.act[0] >= 2 && d.act[0] <= 10 && d.act[2] > 0 || d.act[0] == 19 && d.act[2] > 0) {
d.act[2] = 0;
var seat = d.act[1];
if (seat == C_Player.seat && d.act[0] < 4) {
// var pos_r=d.get_handpos_byid(seat,d.act[3]);//哪几个位置的牌要亮
// for(var i=0;i<pos_r.length;i++)
// {set_self(pos_r[i],1,303,0,0);
// }
d.set_show_chi_pos(seat, d.act[0]);
}
else {//var light_cards=d.get_rand_3handcard(seat,d.act[3].length);
}
//d.show_sea();
d.Ting_Tip=[];d.ctrl_ting=0;
d.show_my13card();
d.show_you13card();
d.show_shang13card();
d.show_zuo13card();
//if(d.act[0]<6)
{
d.show_14card();
}
if (seat != C_Player.seat && d.act[0] <= 4 && d.act[0] >= 2 || seat == C_Player.seat && d.act[0] == 4) {
}
else {
d.set_show_chi_pos(seat, d.act[0]);
}
}
else if (d.act[0] == 12 && d.act[2] > 0) {
d.act[2] = 0;
for (var i = 0; i < 4; i++) {
if (d.act[3][i] != undefined && d.act[3][i] > -1) {
var seat = d.act[3][i];
d.set_show_chi_pos(seat, d.act[0]);
}
}
}
}
}
//显示吃碰动画
d.set_show_chi_pos = function (seat, f) {
var show_spids = [2160, 2161, 2162, 2163];
var pos = d.pos[seat];
//2人模式
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
if (person == 2) {
show_spids = [2160, 2162, 2162, 2162];
if (pos != 0) {
pos = 2;
}
}
var show_spid = show_spids[pos];
RoomFunc.operate_before(show_spid,f);
}
//显示出牌碰吃牌成功后的动画
d.show_act_pai_flash = function () {
if (d.act_pai[1] == -1) {
return;
}
//d.act_pai=[3,seat0,throw_card0,near_seat,-1];//牌的动画[1 put\2peng\3chi\4gang\5hu ,本次操作的座位,上个操作的牌,上个操作的牌池,自摸杠的座位]
if (d.act_pai[0] == 4)//自摸杠
{
}
if (d.act_pai[0] == 9)//抢杠胡
{
}
if (C_Player.seat != d.act_pai[1] && d.act_pai[0] >= 1 && d.act_pai[0] <= 3 || C_Player.seat == d.act_pai[1] && d.act_pai[0] == 3) {
d.set_show_chi_pos(d.act_pai[1], d.act_pai[0] + 1);
}
//d.show_sea();
var tar_seat = d.act_pai[1];
var tar_posxys = [[620, 600], [1010, 315], [616, 75], [200, 320]];
var tar_posxy = tar_posxys[d.pos[tar_seat]];
var id_whs = [[41, 50], [44, 46], [41, 50], [44, 46]];
var id_fs = [303, 300, 303, 301];
var id_seat = d.act_pai[3];
var id = 0, x = 0, y = 0, t = 300;
if (d.act_pai[3] >= 0) {
id_seat = d.act_pai[3];
var l = d.sea[d.pos[id_seat]].length;
id = d.sea[d.pos[id_seat]][l];
x = get_self(id, 18, 0, 0, 0);
y = get_self(id, 19, 0, 0, 0);
t = 350;
}
else if (d.act_pai[4] >= 0) {
id_seat = d.act_pai[4];
var id_posxys = [[620, 600], [1010, 315], [616, 75], [200, 320]];
x = id_posxys[d.pos[id_seat]][0];
y = id_posxys[d.pos[id_seat]][1];
t = 350;
}
var id_wh = id_whs[d.pos[id_seat]];
var id_f = id_fs[d.pos[id_seat]];
// set_self(1586,37,1,0,0);
// set_self(1586,1,id_f,0,0);
// set_self(1586,18,x,0,0);
// set_self(1586,19,y,0,0);
// set_self(1586,20,id_wh[0],0,0);
// set_self(1586,21,id_wh[1],0,0);
// set_self(1586,43,d.act_pai[2],0,0);
// play_ani123(1,1586,18,x,tar_posxy[0],t,1);
// play_ani123(1,1586,19,y,tar_posxy[1],t,1);
d.show_my13card();
d.show_you13card();
d.show_shang13card();
d.show_zuo13card();
d.show_14card();
set_self(1586, 37, 0, 0, 0);
play_ani123(0, 1586, 18);
play_ani123(0, 1586, 19);
d.click_ban = 1;
d.act_pai = [-1, -1, 0, -1, -1];
}
//停止牌动画
d.act_pai_doend = function (id, sx, allend) {
if (id > 0 && Desk.stage != 0 && d.recon != 1 && d.backstage != 1) {
if (id == 1586 && sx == 18 && allend == 1 || id == 1586 && sx == 19 && allend == 1) {
d.show_my13card();
d.show_you13card();
d.show_shang13card();
d.show_zuo13card();
d.show_14card();
set_self(1586, 37, 0, 0, 0);
play_ani123(0, 1586, 18);
play_ani123(0, 1586, 19);
d.click_ban = 1;
}
}
}

View File

@@ -0,0 +1,656 @@
/*****************郑忠水****************/
/**
* ————————
*吃碰杠等操作的显示 和 点击操作(发包)
* ————————
* */
//显示操作按钮(吃碰杠)及操作按钮的位置显示
d.show_btn = function (show_btn_ban) {
if (d.user_ctrl[2] == C_Player.seat && d.btn == 1 && !d.isEnd() && d.OverTime == 0 && d.replay == 0) {
d.spy = 0;
set_self(2895, 37, 0, 0, 0);
set_self(2896, 37, 1, 0, 0);
set_self(2897, 37, 1, 0, 0);
if (show_btn_ban != undefined && show_btn_ban == 0) {
setTimeout(function () {
RoomFunc.click_tip();
}, 500);
set_self(2896, 37, 0, 0, 0);
set_self(2897, 37, 0, 0, 0);
}
set_self(2897, 43, 6);
set_self(2897, 41, 0);
set_self(2895, 43, 1);
set_self(2895, 41, 1);
if (d.pai.length == 0) {
set_self(2897, 43, 6);
}
if (d.last_put && d.last_put[0] < 4) {
if (d.last_put[0] == -1) {
set_self(2895, 43, 4, 0, 0);
set_self(2895, 41, 0, 0, 0);
}
}
if (d.pai.length > 0) {
var chu = (d.last_put == undefined || d.last_put[0] == -1 || d.last_put[0] == C_Player.seat) && Battle.check(d.pai);
var beat = (d.last_put && d.user_ctrl[1] > -1 && Battle.beat(d.pai, d.last_put[1]) && d.recon != 1);
if (chu || beat) {
set_self(2897, 43, 3);
set_self(2897, 41, 1);
}
}
// if(d.pai.length>0 && ((d.last_put[0]==-1 || d.last_put[0]==C_Player.seat) && Battle.check(d.pai)) || d.pai.length>0 && (d.user_ctrl[1]>-1 && Battle.beat(d.pai,d.last_put[1]))){
// set_self(2897,43,3);
// set_self(2897,41,1);
// }
} else {
set_self(2895, 37, 0, 0, 0);
set_self(2896, 37, 0, 0, 0);
set_self(2897, 37, 0, 0, 0);
}
console.log(1111);
}
d.click_btn = function (type) {
if (d.replay == 0) {
if (type == 0) {
d.spy = 0;
set_self(2891, 37, 0, 0, 0);
set_self(2890, 37, 0, 0, 0);
var pai = [];
var send = {
"app": "youle",
"route": d.route,
"rpc": "put",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"put": pai
}
};
Net.ws_tcp.send(JSON.stringify(send));
}
if (type == 1) {
if (d.pai.length > 0 && Battle.beat(d.pai, d.last_put[1])) {
var pai = d.pai;
var send = {
"app": "youle",
"route": d.route,
"rpc": "put",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"put": pai
}
};
Net.ws_tcp.send(JSON.stringify(send));
d.pai = [];
}
else {
set_self(2891, 37, 0, 0, 0);
set_self(2890, 37, 0, 0, 0);
var pai = [];
var send = {
"app": "youle",
"route": d.route,
"rpc": "put",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"put": pai
}
};
Net.ws_tcp.send(JSON.stringify(send));
d.getEnumCard.flag = false;
d.getEnumCard.value = [];
}
}
if (type == 2) {
if (get_self(2897, 43) == 3) {
var pai = d.pai;
var send = {
"app": "youle",
"route": d.route,
"rpc": "put",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"put": pai
}
};
Net.ws_tcp.send(JSON.stringify(send));
d.pai = [];
//d.spy = 1;
d.getEnumCard.flag = false;
d.getEnumCard.value = [];
d.getEnumCard.getIndex = null;
} else {
}
}
}
}
d.show_operate = function () {
d.operate_show_con = 0;
//d.user_eat_bump chi 1,peng 2,gang 3,ting 4,hu 5,guo 6//杠碰吃、自摸杠
set_self(1962, 41, 0, 0, 0);
set_group(206, 37, 0, 0, 0);
var n = 0;
var pai_vis = 0;
if (get_self(1013, 37, 0, 0, 0) == 1) {
return;
}
if (d.user_eat_bump[C_Player.seat][0] || d.user_eat_bump[C_Player.seat][1]) {
for (var i = 0; i < 19; i++) {
var spid = 936 + i;
if (get_self(spid, 21) > 120 && get_self(spid, 43) == d.throw_card) {
set_self(spid, 19, 480);
}
}
}
if (d.user_eat_bump[C_Player.seat][6])//报
{
var id = d.get_free_operate();
d.chi_ani();
set_self(id, 37, 1, 0, 0);
set_self(id, 43, 4, 0, 0);
n += 1;
}
if (d.qing_status[C_Player.seat])//请
{
var id = d.get_free_operate();
d.chi_ani();
set_self(id, 37, 1, 0, 0);
set_self(id, 43, 6, 0, 0);
n += 1;
}
if (d.user_eat_bump[C_Player.seat][5])//胡
{
var id = d.get_free_operate();
set_self(id, 37, 1, 0, 0);
set_self(id, 43, 5, 0, 0);
d.chi_ani();
//set_self(id,35,160,0,0);
//play_ani123(1,id,35,160,255,200,1);
n += 1;
}
if (d.user_eat_bump[C_Player.seat][0] || d.user_eat_bump[C_Player.seat][3] || d.user_eat_bump[C_Player.seat][4])//杠
{
//if(d.ting_status[C_Player.seat]==1)
{
var id = d.get_free_operate();
set_self(id, 37, 1, 0, 0);
set_self(id, 43, 3, 0, 0);
d.chi_ani();
//set_self(id,35,160,0,0);
//play_ani123(1,id,35,160,255,200,1);
n += 1;
}
// var id=d.get_free_operate();
// set_self(id,37,1,0,0);
// set_self(id,43,7,0,0);
// set_self(id,35,160,0,0);
// play_ani123(1,id,35,160,255,200,1);
// n+=1;
}
if (d.user_eat_bump[C_Player.seat][1])//碰
{
var id = d.get_free_operate();
set_self(id, 37, 1, 0, 0);
set_self(id, 43, 2, 0, 0);
d.chi_ani();
//set_self(id,35,160,0,0);
//play_ani123(1,id,35,160,255,200,1);
n += 1;
pai_vis = 1;
}
if (d.user_eat_bump[C_Player.seat][2])//吃
{
var id = d.get_free_operate();
set_self(id, 37, 1, 0, 0);
set_self(id, 43, 1, 0, 0);
d.chi_ani();
//set_self(id,35,160,0,0);
//play_ani123(1,id,35,160,255,200,1);
n += 1;
pai_vis = 1;
}
else {
set_group(211, 37, 0, 0, 0);
}
if (d.user_eat_bump[C_Player.seat][7] == 1)//要
{
var id = d.get_free_operate();
set_self(id, 37, 1, 0, 0);
set_self(id, 43, 8, 0, 0);
//set_self(id,35,160,0,0);
//play_ani123(1,id,35,160,255,200,1);
n += 1;
}
if (n > 0) {
d.rep[0] += 1;
d.operate_time = 7 + 1;//纠正计时器
if (d.throw_card > 0 && pai_vis == 1) {
set_self(1850, 37, 1, 0, 0);
set_self(1850, 43, d.throw_card, 0, 0);
n += 0.5;
}
//if(d.user_ctrl[2]!=C_Player.seat)
{
var id = d.get_free_operate();
set_self(id, 37, 1, 0, 0);
set_self(id, 43, 7, 0, 0);//过
//set_self(id,35,160,0,0);
//play_ani123(1,id,35,160,255,200,1);
//n+=1.2;
}
}
else {
return;
}
var x1 = 0;
for (var i = 0; i < 19; i++) {
if (get_self(936 + i, 37, 0, 0, 0) == 1 && get_self(936 + i, 21, 0, 0, 0) > 120) {
x1 = get_self(936 + i, 18, 0, 0, 0) + 89;
if (d.user_ctrl[2] == C_Player.seat) {
x1 -= 83;
}
}
}
var w = get_self(1013, 20, 0, 0, 0) + 10;
var x0 = parseInt((1280 - w * n) / 2);
//x0=x1-w*n;
var n = 0;
for (var i = 0; i < 6; i++) {
if (get_self(1013 + i, 37, 0, 0, 0) == 1) {
set_self(1013 + i, 18, x0 + n * w + 5);
set_self(d.N + i, 18, get_self(1013 + i, 18) + 6.5);
set_self(d.N + i, 19, get_self(1013 + i, 19) + 5);
set_self(d.M + i, 18, get_self(1013 + i, 18) - 6);
set_self(d.M + i, 19, get_self(1013 + i, 19) - 8);
if (get_self(1013 + i, 43, 0, 0, 0) == 7) {//过
if (get_self(1850, 37, 0, 0, 0) == 1) {
set_self(1850, 18, x0 + n * w + 5, 0, 0);
n += 0.5;
}
set_self(1013 + i, 18, parseInt(x0 + (n + 0.1) * w + 5), 0, 0);
set_self(2881 + i, 18, get_self(1013 + i, 18) + 6.5);
}
n += 1;
}
}
if (d.user_eat_bump[C_Player.seat][2])//吃
{
}
d.rep[0] += 1;
for (var i = 1013; i <= 1018; i++) {
if (get_self(i, 37, 0, 0) == 1) {
set_self(1962, 37, 1, 0, 0);
break;
}
}
}
//返回操作按钮的精灵id 1013开始
d.get_free_operate = function () {
for (var i = 0; i < 6; i++) {
if (get_self(1013 + i, 37, 0, 0, 0) == 0) {
return 1013 + i;
}
}
return 0;
}
d.get_free_o = function (N) {
for (var i = 0; i < 6; i++) {
if (get_self(N + i, 37, 0, 0, 0) == 0) {
return N + i;
}
}
return 0;
}
d.object = function (N) {
this.O = N,
this.oB = function (SS) {
return SS + true;
}
}
//d.get_free_wq = function(){
//for (var i = 0; i < 6; i++) {
//if(get_self(2886 + i, 37, 0, 0, 0) == 0) {
//return 2886 + i;
//}
//}
//return 0;
//}
//点击操作按钮
/*
spid_up:点击操作精灵的id (吃碰杠等1013精灵开始)
*/
d.click_operate = function (spid_up) {
if (!RoomFunc.operate_click(spid_up) || d.hostwait && d.identity[4] == C_Player.seat) {
return;
}
var f = get_self(spid_up, 43, 0, 0, 0);
d.rep[0] += 1;
d.click_id = 0;
set_group(237, 37, 0, 0, 0);
set_group(206, 37, 0, 0, 0);
var operate = [0, 0, 0];//操作类型,操作选项,操作备注
var sex = C_Player.sex || 1; //性别 1男 , 2
var sid = 50 + (sex - 1) * 60;
var tou = "00";
if (String(sid).length == 2) {
tou = "000";
}
else if (String(sid).length == 3) {
tou = "00";
}
if (f == 1) {
operate[0] = 3;
//AM.cls_id(d.quan);
//AM.cls_id(d.waiq);
//if(sid)
//{Utl.playSound(tou+String(sid+1)+".mp3");}
}//吃
else if (f == 2) {
operate[0] = 1;
//AM.cls_id(d.quan);
//AM.cls_id(d.waiq);
if (sid) {
//Utl.playSound(tou + String(sid + 2) + ".mp3");
}
}//碰
else if (f == 3)//杠
{
operate[0] = 2;
//AM.cls_id(d.quan);
//AM.cls_id(d.waiq);
// if(f==3)
// {operate[2]=2;
// d.bar_roll[0]=2;
// }
// else if(f==7)
// {operate[2]=1;
// d.bar_roll[0]=1;
// }
if (sid) {
//Utl.playSound(tou + String(sid + 3) + ".mp3");
}
}
else if (f == 4) {
operate[0] = 9;
}
else if (f == 6) {//请胡
operate[0] = 8;
}
else if (f == 7) {//过
operate[0] = 6;
Utl.playSound("00" + 170 + ".mp3");
set_group(211, 37, 0, 0, 0);
var yao = 0;
for (var i = 0; i < 6; i++) {
if (get_self(1013 + i, 37, 0, 0, 0) == 1 && get_self(1013 + i, 43, 0, 0, 0) == 8) {
yao = 1;
break;
}
}
if (yao == 1) {
operate[0] = 8;
operate[1] = 0;
}//不要
if (operate[0] == 6) {
var t1 = new Date().getTime();
var t = ifast_div(t1 - d.user_ctrl0, 100);
if (d.limit_t - t < 60) {
d.t = 60 - (d.limit_t - t);
}
}
}
else if (f == 5)//胡
{
operate[0] = 7;
//AM.cls_id(d.quan);
//AM.cls_id(d.waiq);
d.zhenshu = 0;
d.shanD(Math.ceil(Math.random() * 1) + 99);
if (d.user_ctrl[2] == C_Player.seat) {
operate[1] = 0;
if (sid) {
//Utl.playSound(tou + String(sid + 6) + ".mp3");
}
}//自摸胡(杠上开花)
else {
operate[1] = 1;//碰吃胡(杠上开花)
if (sid) {
//Utl.playSound(tou + String(sid + 5) + ".mp3");
}
if (d.last_operate[2] > -1 && d.last_operate[0] == 4)//上个操作是自摸杠
{
operate[1] = 2;
}//抢杠胡
}
}
else if (f == 8) {
operate[0] = 8;
operate[1] = 1;
Utl.playSound("00" + 170 + ".mp3");
}//要
var ban = 0;
if (operate[0] == 3) {
}
console.log("111operate=" + operate);
if (ban == 0) {
set_self(1289, 37, 0, 0, 0);
set_self(1289, 7, -1);
var send = {
"app": "youle",
"route": d.route,
"rpc": "operate",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"operate": operate
}
};
Net.ws_tcp.send(JSON.stringify(send));
d.click_ban = 1;
if (operate[0] == 7 && d.user_ctrl[2] == C_Player.seat) {
d.baoting = [];
d.user_ctrl[2] = -1;
}
if (operate[0] == 6 && d.user_ctrl[2] == C_Player.seat) {
d.click_ban = 1;
d.show_my13card();
d.show_14card();
} else {
d.user_ctrl[2] = -1;
d.Ting_Tip = [];
d.ctrl_ting = 0;
}
d.bar_roll[0] = 0;
set_self(1289, 37, 0, 0, 0);
set_self(1289, 7, -1);
for (var i = 0; i < 4; i++) {
set_self(376 + i, 35, 255, 0, 0);
}
for (var i = 0; i < 14; i++) {
play_ani123(0, 1143 + i, 19);
}
set_group(212, 37, 0, 0, 0);
d.peng_option = 0;
d.peng_flame = [];
d.gang_option = 0;
d.gang_flame = [];
d.user_eat_bump[C_Player.seat] = [0, 0, 0, 0, 0, 0, 0, 0];
if (operate[0] == 6 && d.user_ctrl[2] == C_Player.seat) {
d.show_time();
d.show_my13card();
d.show_14card();
}
}
}
d.get_PDKConfig = function () {
var handLen = d.roomtype[11];
switch (handLen) {
case 0:
PDKConfig = {
danshunNum: 3,
duishunNum: 2,
sandaiOrNot: 0,
last4: 0
};
break;
case 1:
case 2:
PDKConfig = {
danshunNum: 5,
duishunNum: 2,
sandaiOrNot: 1,
last4: 0
};
break;
}
}
d.getTip = function (self_put_card) {
var tip = [];
if (d.getEnumCard.flag == false) {
d.getEnumCard.flag = true;
d.get_PDKConfig();
if (self_put_card) {
d.getEnumCard.value = RoomFunc.tip_put_card(d.hand[C_Player.seat][0], PDKConfig);
} else {
d.getEnumCard.value = RoomFunc.card_help(d.hand[C_Player.seat][0], d.last_put[1], PDKConfig);
}
if (d.getEnumCard.value.length != 0) {
d.getEnumCard.getIndex = (function () {
var index = 0;
var temp;
for (var i = 0; i < d.getEnumCard.value.length; i++) {
temp = d.getEnumCard.value[i];
if (RoomFunc.compare_array(d.hand[C_Player.seat][0], temp)) {
d.getEnumCard.value = [temp];
break;
}
}
var len = d.getEnumCard.value.length;
function getIndex() {
var back = index;
index = (++index) % len;
return back;
}
function resetIndex() {
index = 0;
}
return {
'getIndex': getIndex,
'resetIndex': resetIndex
}
}());
if (RoomFunc.compare_array(d.hand[C_Player.seat][0], d.getEnumCard.value[0]) || !self_put_card) {
tip = d.getEnumCard.value[d.getEnumCard.getIndex.getIndex()];
} else {
tip = [];
}
}
} else {
if (d.getEnumCard.value.length > 0) {
tip = d.getEnumCard.value[d.getEnumCard.getIndex.getIndex()];
}
}
return tip;
}

View File

@@ -0,0 +1,685 @@
/*********陈国强************/
//滑动出牌
d.move_chu = function (spid, offmovey, offmovex) {
if (offmovey == 0 && offmovex == 0 || Desk.stage == 0 || d.replay || !RoomFunc.clickpai_before(spid)) {
return;
}
if(d.isEnd() && d.continue_hu==0)
{return;}
if(RoomFunc.Overtime_chupai()&&d.last_id!=spid)
{return;}
if (d.hostwait || get_self(spid,35)==200)
{return;}
var click_zhen=get_self(spid,43,0);
var hand=d.c(d.hand[C_Player.seat]);
for(var i=0;i<hand.length;i++)
{
if(hand[i]==d.last_operate[1])
{
hand.splice(i,1);
}
}
if(d.last_operate[0]==3&&d.last_operate[1]==click_zhen&&hand.length!=0)
{
return ;
}
if (d.status == 2 && spid >= 936 && spid <= 954 && get_self(spid, 44, 0, 0, 0) == 201 && get_self(spid, 21, 0, 0, 0) > 120 && d.user_ctrl[2] == C_Player.seat && d.click_ban == 1 && d.gang_option == 0 && !d.isEnd()) {
var y = get_self(spid, 19, 0, 0, 0);// && Math.abs(offmovey)>10
if (offmovey < 0 && y + offmovey >= 370 || offmovey > 0 && y + offmovey <= 500 + 70) {
set_self(spid, 19, offmovey, 1, 0);
//set_self(spid, 18, offmovex, 1, 0);
}
d.chu_cilck = 0;
d.chu_move = 1;
if (offmovey < 0 && Math.abs(offmovey) >= 20) {
play_ani123(0, spid, 19);
for (var i = 0; i < 60; i++) {
if (817 + i != spid) {
set_self(817 + i, 19, 480, 0, 0);
}
}
}
}
}
//出牌成功
d.click_chu_down = function (spid_up, spid1) {
if (Desk.stage == 0 || !RoomFunc.clickpai_before(spid_up)) {
return;
}
if(d.isEnd() && d.continue_hu==0)
{return;}
if (d.hostwait || get_self(spid_up,35)==200)
{return;}
if(d.last_id>0 && spid1==d.last_id)
{spid_up=spid1;d.last_id=0;}
if (d.status >0 && d.status <3 && d.user_ctrl[2] == C_Player.seat && d.click_ban == 1 && spid_up >= 936 && spid_up <= 954 && get_self(spid_up, 21, 0, 0, 0) > 120 && d.gang_option == 0 && !d.isEnd() && !d.change_card_state) {
d.chu_cilck = 0;
d.chu_move = 0;
d.zhenshu=0;
d.chishu=0;
if(d.Ting_Tip.length && d.Ting_Tip.length>0 || d.Ting_ui.length && d.Ting_ui.length>0 && d.user_ctrl[2]==C_Player.seat && get_self(2379,37)==1){
//火焰动画
//set_self(2489,18,-200,0,0);
d.ting_statu=-1;
}
if(d.Ting_Tip.length<=0 || d.Ting_ui.length<=0 && d.user_ctrl[2]==C_Player.seat){
d.ting_statu=0;
}
if (get_self(spid_up, 19, 0, 0, 0) <= 480) {
set_group(206, 37, 0, 0, 0);
console.log(spid_up + "chu" + get_self(spid_up, 43, 0, 0, 0));
for (var i = 0; i < 20; i++) {
play_ani123(0, 881 + i, 19);
}
play_ani123(0, spid_up, 18);
play_ani123(0, spid_up, 19);
set_group(212, 37, 0, 0, 0);
var put_pos = 0;
var n = 0;
for (var i = 0; i < 19; i++) {
if (get_self(817 + i, 37, 0, 0, 0) == 1) {
if (817 + i == spid_up) {
put_pos = n;
set_self(spid_up, 37, 0, 0, 0);
set_self(spid_up, 19, 480, 0, 0);
break;
}
n += 1;
}
}
var sex = C_Player.sex || 1;
d.a.arrange_pai(d.hand[C_Player.seat][0]);
var hand =d.hand[C_Player.seat][0];
var throw_card = 0;
var f = 0;
if (put_pos == hand.length && d.user_ctrl[3] > 0) {
throw_card = d.user_ctrl[3];
}
else {
throw_card = hand[put_pos];
if (d.user_ctrl[3] > 0) {
hand = hand.concat(d.user_ctrl[3]);
}
hand.splice(put_pos, 1);
d.hand[C_Player.seat][0] = d.c(hand);
d.ord(d.hand[C_Player.seat][0]);
}
f = throw_card;
if (f > 0) {
d.sea[C_Player.seat][d.sea[C_Player.seat].length] = throw_card;
//d.show_sea();
var sid = 60 + (sex - 1) * 60 + f;
var tou = "00";
if (String(sid).length == 2) {
tou = "000";
}
else if (String(sid).length == 3) {
tou = "00";
}
if (sid) {
//Utl.playSound(tou + sid + ".mp3");
}
}
if (d.replay == 0) {
var send = {
"app": "youle",
"route": d.route,
"rpc": "put",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"put_pos": put_pos
}
};
Net.ws_tcp.send(JSON.stringify(send));
}
d.click_ban = 0;
d.user_ctrl[2] = -1;
//set_self(1289, 37, 0, 0, 0);
//set_self(1289, 7, -1);
for (var i = 0; i < 4; i++) {
d.act_put[2 + i] = 0;
}
d.act_put[2] = spid_up;
d.act[0] = 1;
d.act[1] = C_Player.seat;
d.act[2] = 1;
d.baoting[4]=[];
d.show_my13card(); //d.show_put_card_act(1);
//d.show_putcard();
d.click_id = 0;
//set_self(2673, 37, 0, 0, 0);//等一等
set_group(237, 37, 0, 0, 0);
for (var i = 0; i < 4; i++) {
set_self(376 + i, 35, 255, 0, 0);
}
d.Ting_Tip=[];
}
else if(get_self(spid_up,19,0,0,0)<500)
{d.show_my13card();d.show_14card();set_self(spid_up,19,480,0,0);d.chu_cilck=spid_up;}
else if(get_self(spid_up,19,0,0,0)>=500)
{d.show_my13card();d.show_14card();set_self(spid_up,19,500,0,0);}
}
}
d.show_putcard = function () {
if (Desk.stage != 0 && d.recon != 1 && d.backstage != 1 && d.act[0] == 1)
{
if (Desk.roomtype[19]==1) {
return ;
}
var seat = d.act[1];
var z_b = [[550,365],[934,211],[550,60],[200,214]];
var throw_card_spid = 2916;
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
if (person == 2) {
z_b = [[550,365],[550,60],[550,60],[550,60]];
}
else if (person == 3) {
if(C_Player.seat == 0) {
z_b = [[550,365],[934,211],[200,214],[200,214]];
}else {
z_b = [[550,365],[934,211],[934,211],[200,214]];
}
}
AM.cls_id(throw_card_spid);
AM.add(throw_card_spid).wait(15,function(){
set_self(throw_card_spid,37,0,0,0);
set_self(throw_card_spid - 1,37,0,0,0);
//d.show_sea(); AM.cls_id(throw_card_spid);
}).start();
if(d.jing[1] == d.act[3][0]){
var sex=Desk.PlayerList[seat].sex || 1;//1男2女
if(sex == "2"){//女
Utl.playSound("00" + 303 + ".mp3");
}else if(sex == "1"){//男
Utl.playSound("00" + 302 + ".mp3");
}
var show_spids = [2160, 2161, 2162, 2163];
var show_spidsa = [2876, 2877, 2878, 2879];
var pos = d.pos[seat];
//2人模式
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
if (person == 2) {
show_spids = [2160, 2162, 2162, 2162];
show_spidsa = [2876, 2878, 2878, 2878];
if (pos != 0) {
pos = 2;
}
}
var show_spid = show_spids[pos];
var show_spida = show_spidsa[pos];
AM.remove(show_spid);
AM.add(show_spid).bfunc(function(){
set_self(show_spid,37,1,0,0);
set_self(show_spid,1,508,0,0);
set_self(show_spid,43,19,0,0);
set_self(show_spid,33,50,0,0);
}).zoom(150,5).zoom(100,5).wait(5,function(){
set_self(show_spid,37,0,0,0);
set_self(show_spida,37,1,0,0);
}).start();
//d.piao_P[seat]=1;
}else{
var show_spids = [2876, 2877, 2878, 2879];
var pos = d.pos[seat];
//2人模式
var persons = [4, 4, 3, 2];
var person = persons[Desk.roomtype[6]] || 4;
if (person == 2) {
show_spids = [2876, 2878, 2878, 2878];
if (pos != 0) {
pos = 2;
}
}
var show_spid = show_spids[pos];
set_self(show_spid,37,0,0,0);
}
set_self(throw_card_spid,37,1,0,0);
set_self(throw_card_spid, 18, z_b[d.pos[seat]][0]+29, 0, 0);
set_self(throw_card_spid, 19, z_b[d.pos[seat]][1]+28, 0, 0);
set_self(throw_card_spid, 43, d.act[3][0], 0, 0);
}
}
//显示出牌动画
d.show_put_card_act = function (off) {
if (Desk.stage != 0 && d.recon != 1 && d.backstage != 1 && d.act[0] == 1 && d.act[2] > 0)
////牌桌阶段 0->未开局 1->已开局
{
d.rep[0] += 1;
var seat = d.act[1];
var freexy = d.get_sea_freexy(seat, off);
var throw_card_spid = freexy[2];
if (seat == C_Player.seat) {
set_self(throw_card_spid, 18, get_self(d.act_put[2], 18, 0, 0, 0), 0, 0);
set_self(throw_card_spid, 19, get_self(d.act_put[2], 19, 0, 0, 0), 0, 0);
set_self(throw_card_spid, 43, get_self(d.act_put[2], 43, 0, 0, 0), 0, 0);
}
else {
var throw_card_spid0 = d.get_rand_3handcard(seat)[0];
set_self(throw_card_spid, 18, get_self(throw_card_spid0, 18, 0, 0, 0), 0, 0);
set_self(throw_card_spid, 19, get_self(throw_card_spid0, 19, 0, 0, 0), 0, 0);
set_self(throw_card_spid, 43, d.throw_card, 0, 0);
}
d.act_put[2] = throw_card_spid;
set_self(throw_card_spid, 37, 1, 0, 0);
var light_pai_rec = [503, 500, 503, 501];
var rec_w = [41, 44, 41, 44];
var rec_h = [55, 44, 55, 44];
set_self(throw_card_spid, 1, light_pai_rec[d.pos[seat]], 0, 0);
set_self(throw_card_spid, 20, rec_w[d.pos[seat]], 0, 0);
set_self(throw_card_spid, 21, rec_h[d.pos[seat]], 0, 0);
if (freexy[5]) {
var throw_card_spid1 = freexy[5];
if (seat == C_Player.seat) {
set_self(throw_card_spid1, 18, get_self(d.act_put[5], 18, 0, 0, 0), 0, 0);
set_self(throw_card_spid1, 19, get_self(d.act_put[5], 19, 0, 0, 0), 0, 0);
set_self(throw_card_spid1, 43, get_self(d.act_put[5], 43, 0, 0, 0), 0, 0);
}
else {
var throw_card_spid0 = d.get_rand_3handcard(seat)[0];
set_self(throw_card_spid1, 18, get_self(throw_card_spid0, 18, 0, 0, 0), 0, 0);
set_self(throw_card_spid1, 19, get_self(throw_card_spid0, 19, 0, 0, 0), 0, 0);
set_self(throw_card_spid1, 43, d.throw_card, 0, 0);
}
d.act_put[5] = throw_card_spid1;
set_self(throw_card_spid1, 37, 1, 0, 0);
var light_pai_rec = [503, 500, 503, 501];
var rec_w = [41, 44, 41, 44];
var rec_h = [55, 44, 55, 44];
set_self(throw_card_spid1, 1, light_pai_rec[d.pos[seat]], 0, 0);
set_self(throw_card_spid1, 20, rec_w[d.pos[seat]], 0, 0);
set_self(throw_card_spid1, 21, rec_h[d.pos[seat]], 0, 0);
}
d.act[2] = -1;
d.click_ban = 0;
//d.show_card_wall();
//d.put_time = 11 + 6;
set_self(throw_card_spid, 37, 0, 0, 0);
if (d.act_put[5] > 0) {
set_self(d.act_put[5], 37, 0, 0, 0);
}
d.card_14 = 0;
d.act[2] = 0;
d.act_put[2] = -1;
d.act_put[5] = -1;
d.show_my13card();
d.show_you13card();
d.show_shang13card();
d.show_zuo13card();
d.show_14card();
//d.show_sea();
d.click_ban = 1;
d.put_time = 0;
}
}
//停止出牌动画
d.put_card_doend = function (id, sx, allend) {
if (id > 0 && Desk.stage != 0 && d.recon != 1 && d.backstage != 1 && d.act[2] != 0) {
var ban = 0;
var throw_card_spid = d.act_put[2];
if (d.act_put[2] > -1 && id == throw_card_spid && sx == 18 && allend == 1 || d.act_put[2] > -1 && id == throw_card_spid && sx == 19 && allend == 1) {
set_self(throw_card_spid, 37, 0, 0, 0);
if (d.act_put[5] > 0) {
set_self(d.act_put[5], 37, 0, 0, 0);
}
var x_throw = get_self(throw_card_spid, 18, 0, 0, 0), y_throw = get_self(throw_card_spid, 19, 0, 0, 0);
if (d.user_ctrl[2] == C_Player.seat) {
d.click_ban = 1;
}
{
//d.show_sea();
if (d.card_14 > 0 && d.act[1] == C_Player.seat) {
var l = d.hand[C_Player.seat][0].length;
var seat = C_Player.seat;
var l0 = d.hand[seat][0].length * 89 + 89 + 20;
for (var j = 1; j < d.hand[seat].length; j++) {
var l1 = d.hand[seat][j].length;
l0 = l0 + l1 * 48 + 5;
}
var l_s = 1280 - l0 - 10;
if (l_s < 0) {
l_s = 0;
}
var pos = l_s + 89 * l;
for (var i = 0; i < l; i++) {
if (d.hand[C_Player.seat][0][i] > get_self(d.card_14, 43, 0, 0, 0)) {
pos = 89 * i + l_s - 38;
}
}
if (pos != l_s + 89 * l) {
set_self(d.card_14, 19, 500, 0, 0);
}
var x0 = get_self(d.card_14, 18, 0, 0, 0);
var t = parseInt((x0 - pos) / 4);
if (t <= 50) {
t = 50;
}
play_ani123(1, d.card_14, 18, x0, pos, t, 1);
d.act_put[2] = -1;
}
else {
ban = 1;
}
}
}
if (ban == 1 || id == d.card_14 && sx == 18 && allend == 1) {
play_ani123(0, throw_card_spid, 18);
play_ani123(0, throw_card_spid, 19);
play_ani123(0, d.card_14, 18);
if (d.act_put[5] > 0) {
play_ani123(0, d.act_put[5], 18);
play_ani123(0, d.act_put[5], 19);
}
d.card_14 = 0;
d.act[2] = 0;
d.act_put[2] = -1;
d.act_put[5] = -1;
d.show_my13card();
d.show_you13card();
d.show_shang13card();
d.show_zuo13card();
d.show_14card();
//d.show_sea();
d.click_ban = 1;
d.put_time = 0;
}
}
if (id > 0 && Desk.stage != 0 && d.recon != 1) {
if (id == d.card_14 && sx == 19 && allend == 1) {
//set_self(d.card_14, 19, 480, 0, 0);
}
if (id == 1848 && sx == 19 && allend == 1) {
d.jing_time = 0;
//play_ani123(0, 1848, 18);
//play_ani123(0, 1848, 19);
//set_self(1848, 37, 0, 0, 0);
}
}
if (id > 0) {//var id1s=[1954,1955,1956,1957];
//var id2s=[1958,1959,1960,1961];
if (id == 1954 && sx == 19 && allend == 1) {
play_ani123(0, 1954, 19);
play_ani123(0, 1958, 19);
set_self(1954, 37, 0);
set_self(1958, 37, 0);
}
if (id == 1954 && sx == 19 && allend == 1) {
play_ani123(0, 1955, 19);
play_ani123(0, 1959, 19);
set_self(1955, 37, 0);
set_self(1959, 37, 0);
}
if (id == 1954 && sx == 19 && allend == 1) {
play_ani123(0, 1956, 19);
play_ani123(0, 1960, 19);
set_self(1956, 37, 0);
set_self(1960, 37, 0);
}
if (id == 1954 && sx == 19 && allend == 1) {
play_ani123(0, 1957, 19);
play_ani123(0, 1961, 19);
set_self(1957, 37, 0);
set_self(1961, 37, 0);
}
}
}
//出牌胡牌提示相关
d.get_other_pai = function (get_card, throw_card) {
var my_card = [];
for (var i = 0; i < d.hand[C_Player.seat].length; i++) {
my_card = my_card.concat(d.hand[C_Player.seat][i]);
}
for (var i = 0; i < 4; i++) {
my_card = my_card.concat(d.sea[i]);
}
if (throw_card) {
var pos = my_card.indexOf(throw_card);
if (pos != -1) {
my_card.splice(pos, 1);
}
}
if (get_card) {
var pos = my_card.indexOf(get_card);
if (pos != -1) {
my_card.splice(pos, 1);
}
}
for (var i = 0; i < 4; i++) {
if (i != C_Player.seat) {
for (var j = 1; j < d.hand[i].length; j++) {
if (d.hand[i][j] && d.hand[i][j][0]) {
my_card = my_card.concat(d.hand[i][j]);
}
}
}
}
d.ord(my_card);
var arr_Contrast = [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29];
arr_Contrast = arr_Contrast.concat(arr_Contrast).concat(arr_Contrast).concat(arr_Contrast);
for (var i = 0; i < arr_Contrast.length; i++) {
var pos = my_card.indexOf(arr_Contrast[i]);
if (pos != -1) {
arr_Contrast[i] = 99;
my_card[pos] = 0;
}
}
d.ord(arr_Contrast);
var pos = arr_Contrast.indexOf(99);
if (pos != -1) {
arr_Contrast.splice(pos);
}
return arr_Contrast;
}
//移入出牌
d.set_click_chu=function (spid,movex,movey)
{
if(get_self(817,37)==0)
{return ;}
var spid_in=gameabc_check_click(movex, movey);//d.get_click_id(movex,movey);
if(!spid_in || spid_in < 817 || spid_in > 876)
{return;}
var spid_up=spid_in;//d.user_ctrl[2] == C_Player.seat &&
if(d.btn2_aleady_move==spid_up)
{return;}
if(d.replay==0 && spid_in)
{
//d.last_id=spid_in;
if (d.Ting_Tip.indexOf(get_self(spid_in, 43))) {
d.clicks_an=-1;
}
if (d.status == 2 && spid_up >= 817 && spid_up <= 876 && get_self(spid_up, 21, 0, 0, 0) > 120) {
if(get_self(spid_up,19) == 500 && d.btn2_y==500){
//中间的全部弹起
//如果方向相同 按下精灵 此次精灵 判断中间精灵有无y不对
//if(spid_up>d.btn2 && d.btn2_move_left0==1)
if(spid_up>d.btn2)
{
for(var i=1;i<16;i++)
{
if(d.btn2+i > d.btn2 && d.btn2+i < spid_up)
{
if(get_self(d.btn2+i,19,0,0,0)!=480)
{set_self(d.btn2+i,19,480,0,0);
d.pai.push(get_self(d.btn2+i,43));
}
}
else
{break;}
}
}
if(spid_up<d.btn2)
{
for(var i=1;i<16;i++)
{
if(d.btn2-i < d.btn2 && d.btn2-i > spid_up)
{
if(get_self(d.btn2-i,19,0,0,0)!=480)
{set_self(d.btn2-i,19,480,0,0);
d.pai.push(get_self(d.btn2-i,43));
}
}
else
{break;}
}
}
//如果方向相不同 d.btn2_aleady_move精灵 此次精灵 判断中间精灵有无y不对
set_self(spid_up,19,480,0,0);
d.pai.push(get_self(spid_up,43));
d.btn2_aleady_move=spid_up;
}else if(get_self(spid_up,19) == 480 && d.btn2_y==480){
set_self(spid_up,19,500,0,0);
d.pai.splice(d.pai.indexOf(get_self(spid_up,43)),1);
d.btn2_aleady_move=spid_up;
//中间的全部弹起
//如果方向相同 按下精灵 此次精灵 判断中间精灵有无y不对
if(spid_up>d.btn2)
{
for(var i=1;i<16;i++)
{
if(d.btn2+i > d.btn2 && d.btn2+i < spid_up )
{
if(get_self(d.btn2+i,19,0,0,0)!=500)
{set_self(d.btn2+i,19,500,0,0);
d.pai.splice(d.pai.indexOf(get_self(d.btn2+i,43)),1);
}
}
else
{break;}
}
}
if(spid_up<d.btn2)
{
for(var i=1;i<16;i++)
{
if(d.btn2-i < d.btn2 && d.btn2-i > spid_up)
{
if(get_self(d.btn2-i,19,0,0,0)!=500)
{set_self(d.btn2-i,19,500,0,0);
d.pai.splice(d.pai.indexOf(get_self(d.btn2-i,43)),1);
}
}
else
{break;}
}
}
}
//d.chu_cilck=spid_up;
}
}
else if(d.replay==0 && spid_in && spid_in==d.last_id && d.clicks_an>=0) {
if (d.Ting_Tip.indexOf(get_self(spid_in, 43))) {
d.clicks_an=-1;
}
}
//在move事件中得出鼠标所在小区域。并返回对应牌的精灵id
}
//出牌区域
d.get_click_id=function (movex,movey)
{
//在move事件中得出鼠标所在小区域。并返回对应牌的精灵id
var r=d.get_click_ids_xywh();
var spid_in=0;
var l=d.click_ids.length;
if(l>0 && movex>r[0] && movex<r[2] && movey>r[1] && movey<r[3])
{var n=parseInt((movex-r[0])/30);
spid_in=d.click_ids[0]+n;
}
else if(l>0 && d.card_14>0 && get_self(d.card_14,37) && movex>get_self(d.card_14,18,0,0) && movex<get_self(d.card_14,18,0,0) && movey>r[1] && movey<r[3])
{
spid_in=d.card_14;
}
if(get_self(spid_in,41,0,0,0)==0 || get_self(42,37) || get_self(189,37))
{spid_in=0;}
return spid_in;
}
//出牌区域
d.get_click_ids_xywh=function ()
{
//在d.show_my13card函数中设置出牌的区域和小区域
if(d.isEnd())
{d.click_ids=[];
}
var l=d.click_ids.length;
var r=[0,0,0,0];
if(l>0)
{var id0=d.click_ids[0];
var id1=d.click_ids[l-1];
var x=get_self(id0,18,0,0,0);
var y=get_self(id0,19,0,0,0);y=500;
var w=get_self(id0,20,0,0,0);
var h=get_self(id0,21,0,0,0);
var x1=get_self(id1,18,0,0,0);
r[0]=x;
r[1]=y;
r[2]=x1+w;
r[3]=y+h;
}
return r;
}
d.robot_chu_pai = function (){
if (Desk.roomtype[14]==2||Desk.roomtype[14]==3||Desk.roomtype[14]==4){
for(var i=0;i<4;i++){
if(d.robot[i]==-1 && C_Player.seat == i && d.robot_chu == 0){
d.robot_chu = 1;
d.robot_send(1);
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,251 @@
/*********陈国强************/
//显示已经出的牌
d.show_Sea = function(){
var arr = [881,911,951,971];
var persons = [4, 4, 3, 2];
var person = persons[d.roomtype[6]] || 4;
if(person == 2){
arr = [881,951,951,951];
}
else if (person == 3) {
if(C_Player.seat == 0) {
arr = [881,911,971,971];
}else {
arr = [881,911,911,971];
}
}
var arr_s = [];
for (var i = 0; i < 4; i++) {
arr_s[i] = arr[d.pos[i]];
set_group(207 + i, 37, 0, 0, 0);
}
for(var j=0;j<4;j++){
var l = d.sea[j].length;
if(l>=10){
l=10;
}
var center = [[640-(l+2)*15,390],[900-(l+2)*15,200],[640-(l+2)*15,10],[360-(l+2)*15,200]];
if(person == 2){
center = [[640-(l+2)*15,390],[640-(l+2)*15,10],[640-(l+2)*15,10],[640-(l+2)*15,10]];
}
else if (person == 3) {
if(C_Player.seat == 0) {
center = [[640-(l+2)*15,390],[900-(l+2)*15,200],[360-(l+2)*15,200],[360-(l+2)*15,200]];
}else {
center = [[640-(l+2)*15,390],[900-(l+2)*15,200],[900-(l+2)*15,200],[360-(l+2)*15,200]];
}
}
for(var i=0;i<d.sea[j].length;i++){
if(d.sea[j][i]){
set_self(arr_s[j] + i ,37,1,0,0);
set_self(arr_s[j] + i ,43,d.sea[j][i],0,0);
if(i<10){
set_self(arr_s[j] + i ,18 , center[d.pos[j]][0]+i*30);
set_self(arr_s[j] + i ,19 , center[d.pos[j]][1]);
}else {
set_self(arr_s[j] + i ,18 , center[d.pos[j]][0]+(i-10)*30);
set_self(arr_s[j] + i ,19 , center[d.pos[j]][1]+50);
}
}else{
set_self(arr_s[j] + i ,37,0,0,0);
}
}
}
//var put = Battle.check(d.last_put[1]);
//switch(put){
//case "god":
//d.straight();
//case "zha":
//d.straight();
//case "shun3":
//d.straight(2900);
//case "duishun":
//d.straight(2899);
//default:break;
//}
}
d.show_sea = function () {
if(d.status==3){
return;
}if (Desk.roomtype[19]==1) {
return ;
}
if(Utl.getIsInfinite() == 1 && d.person_info[C_Player.seat] && d.person_info[C_Player.seat].new_one==1) {
return;
}
var arr_s0 = [1023, 1050, 1077, 1104];
//2人模式
var persons = [4, 4, 3, 2];
var person = persons[d.roomtype[6]] || 4;
if (person == 2) {
arr_s0 = [1023, 1077, 1077, 1077];
}
else if (person == 3) {
if(C_Player.seat == 0) {
arr_s0 = [1023, 1050, 1104, 1104];
}else {
arr_s0 = [1023, 1050, 1050, 1104];
}
}
d.put_card++;
d.p_card=d.put_card;
var arr_s = [];
for (var i = 0; i < 4; i++) {
arr_s[i] = arr_s0[d.pos[i]];
set_group(207 + i, 37, 0, 0, 0);
}
for (var j = 0; j < 4; j++) {
var l = d.sea[j].length
var n = ifast_div((l + 1) / 9);
var ii = 0;
if (l > 21) {
ii = (n - 1) * 9;
}
for (var i = ii; i < l; i++) {
if (d.sea[j][i] && d.put_card==d.p_card) {
set_self(arr_s[j] + i - ii, 37, 1, 0, 0);
d.wos=1;
set_self(arr_s[j] + i - ii, 43, d.sea[j][i], 0, 0);
}
if(d.sea[j][i] == undefined){
set_self(arr_s[j] + i - ii, 37, 0, 0, 0);
}
}
}
if (d.last_operate[0] == 0) {
d.wos=0;
}
}
//牌池中最后1个精灵的id
d.get_sea_lastid = function (seat) {
var arr = [0, 0];//455,425/849,455/806,249/380,213 起始精灵1023 1050 1077 1104
var start_spids = [1023, 1050, 1077, 1104];
//2人模式
var persons = [4, 4, 3, 2];
var person = persons[d.roomtype[6]] || 4;
if (person == 2) {
start_spids = [1023, 1077, 1077, 1077];
}
var start_spid = start_spids[d.pos[seat]];
if(!d.sea[seat])
{return 0;}
var l = d.sea[seat].length;
if(l==0)
{return 0;}
var l_y = 0;
var l_x = 0;
l_y = parseInt(l / 9);
l_x = l - l_y * 9;
lastid = start_spid + l_y * 9 + l_x - 1;//首个空出的精灵
for (var i = 0; i < 27; i++) {
if (get_self(start_spid + 26 - i, 37)) {
lastid = start_spid + 26 - i;
break;
}
}
return lastid;
}
//得到牌池首个空出的位置坐标
d.get_sea_freexy = function (seat, off) {
var arr = [0, 0];//455,425/849,455/806,249/380,213 起始精灵1023 1050 1077 1104
var start_posxys = [[get_self(1023, 18, 0, 0, 0), get_self(1023, 19, 0, 0, 0)], [get_self(1050, 18, 0, 0, 0), get_self(1050, 19, 0, 0, 0)], [get_self(1077, 18, 0, 0, 0), get_self(1077, 19, 0, 0, 0)], [get_self(1104, 18, 0, 0, 0), get_self(1104, 19, 0, 0, 0)]];
var start_spids = [1023, 1050, 1077, 1104];
var start_posxy = start_posxys[d.pos[seat]];
var start_spid = start_spids[d.pos[seat]];
var l = d.sea[seat].length + off;
var l_y = 0;
var l_x = 0;
var y = start_posxy[1];
var x = start_posxy[0];
l_y = parseInt(l / 9);
l_x = l - l_y * 9 - 2;
if (get_self(start_spid, 44, 0, 0, 0) == 207) {
y = start_posxy[1] - l_y * 51;
x = start_posxy[0] + l_x * 47;
}
else if (get_self(start_spid, 44, 0, 0, 0) == 208) {
y = start_posxy[1] - l_x * 41;
x = start_posxy[0] - l_y * 55;
}
else if (get_self(start_spid, 44, 0, 0, 0) == 209) {
y = start_posxy[1] + l_y * 51;
x = start_posxy[0] - l_x * 47;
}
else if (get_self(start_spid, 44, 0, 0, 0) == 210) {
y = start_posxy[1] + l_x * 41;
x = start_posxy[0] + l_y * 55;
}
//arr[2]=start_spid+l_y*9+l_x;//首个空出的精灵
arr[2] = 1353;
arr[0] = x;
arr[1] = y;
var lastid = d.get_sea_lastid(seat);
var x1 = get_self(lastid, 18, 0, 0, 0);
var y1 = get_self(lastid, 19, 0, 0, 0);
if (arr[0] != x1) {
arr[0] = x1;
}
if (arr[1] != y1) {
arr[1] = y1;
}
d.act_put[0] = arr[0];//出牌 0spid1目标x,2目标y
d.act_put[1] = arr[1];
return arr;
}
//得到其他3家随机手牌
d.get_rand_3handcard = function (seat, n) {
n = n || 1;
//var id_start=[936,954,972,990];
var id_start = [936, 954, 972, 990];
var l = d.hand[seat][0].length;
var ran_pos = ifast_random(l);
var throw_card_id = [];
throw_card_id[0] = id_start[d.pos[seat]] + ran_pos;
for (var i = 1; i < n; i++) {
var ran_pos1 = ran_pos + i;
if (ran_pos1 > l - 1) {
ran_pos1 = ran_pos - (ran_pos1 - (l - 1));
}
throw_card_id[i] = id_start[d.pos[seat]] + ran_pos1;
}
return throw_card_id;
}
d.get_song_downjing = function (downjing) {
var song_downjing = [];
if (downjing[0] < 30) {
song_downjing[0] = [downjing[0] % 10, downjing[1] % 10];
song_downjing[1] = [parseInt("1" + downjing[0] % 10), parseInt("1" + downjing[1] % 10)];
song_downjing[2] = [parseInt("2" + downjing[0] % 10), parseInt("2" + downjing[1] % 10)];
} else if (downjing[0] > 30 && downjing[0] < 40) {
song_downjing[0] = [31, 32];
song_downjing[1] = [32, 33];
song_downjing[2] = [33, 34];
song_downjing[3] = [34, 31];
} else if (downjing[0] > 40) {
song_downjing[0] = [41, 42];
song_downjing[1] = [42, 43];
song_downjing[2] = [43, 41];
}
return song_downjing;
}

View File

@@ -0,0 +1,40 @@
/*----------------工具函数------------------*/
var Util = {};
//判断是否为数组
Util.isArray = function (array) {
return Object.prototype.toString.call(array) === '[object Array]';
}
//复制数组
Util.copyArray = function (array) {
if (typeof array == "undefined") {
console.log("array is undefined.");
return array;
}
var str_Array = JSON.stringify(array);
var back_Array = JSON.parse(str_Array);
return back_Array;
}
//一维数组排序
Util.ordArray = function (array) {
if (array != undefined && array.length > 0) {
array.sort(function f(a, b) {
return a - b;
});
}
return array;
}

View File

@@ -0,0 +1,210 @@
/*****************黄欢*************/
/**
* ————————
*重连后执行重画
* ————————
* */
d.a.re_connect=function ()
{
if(get_self(1413,37,0,0,0)==0)
{
if(d.status==1)
{d.status=2;}
d.btn = 1;
d.show_my13card();
d.show_you13card();
d.show_shang13card();
d.show_zuo13card();
d.show_14card();
AM.cls_id(2899);
AM.cls_id(2900);
AM.cls_id(2901);
AM.cls_id(2925);
set_self(810,37,0,0,0);//飞机
for(var j=0;j<3;j++){
set_self(2899+j,37,0,0,0);
}
set_self(2920,37,0,0,0);
set_self(2925,37,0,0,0);
//d.show_sea();
set_self(2874,43,d.jing[1],0,0);
if(RoomFunc.buyhorse()){
d.show_horse();
}
for (var i = 2324; i < 2369; i++){
set_self(i, 37, 0, 0, 0);
}
for (var i = 2373; i <= 2377; i++){
set_self(i, 37, 0, 0, 0);
}
set_self(1848, 37, 0);
set_self(1849, 37, 0);
set_self(1020, 37, 0);
if(d.isEnd())
{//set_self(1408,37,1,0,0);
set_self(1289,37,0,0,0);//倒计时
set_self(1289,7,-1);
set_self(1327,37,0,0,0);//风向
set_self(1327,35,255,0,0);
//头像
for(var i=376;i<=379;i++)
{set_self(i,35,255,0,0);
}
set_group(228, 37, 0, 0, 0);
d.fina_Hu();
//d.show_xiao_settle(1);
d.show_timeready(); //显示准备时间
}
}
var pointids=[436,437,438,439];
for(var i=0;i<4;i++)
{set_self(pointids[d.pos[i]],7,d.user_point[i]);}//显示分数
if(d.turn[1]<d.turn[2] && !d.isEnd())
{set_self(291,7,"房号:"+Desk.roomcode+"\n("+String(d.turn[1]+1)+"/"+Desk.count+"局)");
}
RoomFunc.re_connect()
}
//重连后停止所有可以停的动画
d.a.backstage_ani_end=function()
{
//精
set_self(2870,37,0,0,0);
set_self(2871,37,0,0,0);
set_self(2872,37,0,0,0);
set_self(2875,37,0,0,0); //金牌动画消失
for(var i=0;i<6;i++){
set_self(2394+i,37,0,0,0); //刮风下雨停止
}
d.jing_time=0;
//play_ani123(0,1848,18);
//play_ani123(0,1848,19);
//set_self(1848,37,0,0,0);
//筛子&发牌
//set_self(1331,37,0,0,0);
//set_self(1332,37,0,0,0);
for (var i = 2324; i < 2369; i++){
set_self(i, 37, 0, 0, 0);
}
for (var i = 2373; i <= 2377; i++){
set_self(i, 37, 0, 0, 0);
}
set_self(1848, 37, 0);
set_self(1849, 37, 0);
set_self(1020, 37, 0);
set_self(1289,35,255,0,0);
d.tail_ctrl=[0];
if (C_Player.seat!=-1) {
d.ord(d.hand[C_Player.seat][0]);
}
if(cd_con[1]>0)
{cd_con[0]=0;
cd_con[1]=0;
d.status=2;
}
if(d.status==1)
{d.status=2;}
for(var i=936;i<=954;i++)
{play_ani123(0,i,18);
play_ani123(0,i,19);
set_self(i,19,500,0,0);
}
set_group(239,37,0,0,0);//飘
d.piao_time=[0,0,0,0];
//出牌
play_ani123(0,1353,18);
play_ani123(0,1353,19);
if(d.card_14>0)
{play_ani123(0,d.card_14,18);
d.card_14=0;
d.act[2]=0;
d.act_put[2]=-1;
if(d.act_put[5]>0)
{play_ani123(0,d.act_put[5],18);play_ani123(0,d.act_put[5],19);
set_self(d.act_put[5],37,0,0,0);
d.act_put[5]=-1;
}
d.put_time=0;
}
set_self(1353,37,0,0,0);
if(d.status)
//{d.show_sea();}
d.click_ban=1;
//收牌
set_self(1586,37,0,0,0);
play_ani123(0,1586,18);
play_ani123(0,1586,19);
//吃碰文字
for(var i=2160;i<=2163;i++)
{set_self(i,37,0,0,0);
}
set_group(206,41,1,0,0);
set_group(206,35,255,0,0);
//操作
for(var i=1013;i<=1018;i++)
{play_ani123(0,i,35);
set_self(i,35,255,0,0);
}
//头像
for(var i=376;i<=379;i++)
{play_ani123(0,i,35);
set_self(i,35,255,0,0);
}
d.a.help_txt();
}

View File

@@ -0,0 +1,147 @@
/*****************黄欢****************/
/**
* ————————
*客户端请求数据
* ————————
* */
//请求所有数据,发包到服务器(开战和重连时)
d.ini_StartWar = function (mode) {
var show_menu = 0;
if (mode == 2)//if是重连
{
show_menu = 2;
}
d.ini_start(show_menu);
set_self(291, 7, "房号:" + Desk.roomcode + "\n(" + String(d.turn[1] + 1) + "/" + Desk.count + "局)");
if (d.replay == 0) {
var send = {
"app": "youle",
"route": d.route,
"rpc": "starta",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"send": mode
}
};
Net.ws_tcp.send(JSON.stringify(send));
}
}
d.baoting_send = function (ting) {
var send = {
"app": "youle",
"route": d.route,
"rpc": "baoting",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"baoting": ting,
}
};
Net.ws_tcp.send(JSON.stringify(send));
set_self(2176, 37, 0, 0, 0);
set_self(2177, 37, 0, 0, 0);
set_self(2322, 37, 0);
}
d.robot_send = function (robot_chu) {
var send = {
"app": "youle",
"route": d.route,
"rpc": "baoting",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"baoting": robot_chu,
}
};
Net.ws_tcp.send(JSON.stringify(send));
}
d.offline_war = function (mode) {
if (d.turn[1] + 1 == d.turn[2] && d.isEnd()) {
return;
}
var send = {
"app": "youle",
"route": d.route,
"rpc": "offline",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"send": mode
}
};
Net.ws_tcp.send(JSON.stringify(send));
}
d.huanpai3 = function (a) {
if (a == 2) {
d.huanpai2 = [];
for (var i = 0; i <= d.hand[C_Player.seat][0].length; i++) {
set_self(936 + i, 19, 500, 0, 0);
}
}
var send = {
"app": "youle",
"route": d.route,
"rpc": "operate",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"operate": [200],
"change_array": d.huanpai2,
}
};
Net.ws_tcp.send(JSON.stringify(send));
d.huanpai2 = [];
d.Ting_Tip=[];
set_group(248, 37, 0, 0, 0);
set_self(2993, 37, 1, 0, 0);
d.record_change_state[C_Player.seat] = 0;
}
d.debug = function () {
if (d.turn[1] + 1 == d.turn[2] && d.isEnd()) {
return;
}
var send = {
"app": "youle",
"route": d.route,
"rpc": "debug",
"data": {
"agentid": GameData.AgentId,
"gameid": GameData.GameId,
"playerid": C_Player.playerid,
"roomcode": Desk.roomcode,
"seat": C_Player.seat,
"hand": d.hand[C_Player.seat]
}
};
Net.ws_tcp.send(JSON.stringify(send));
}

View File

@@ -0,0 +1,695 @@
/********黄欢*********/
/**
* ————————
*显示战绩
* ————————
* */
//显示战绩1页
d.a.show_history = function (data) {
d.h = data;
d.info2 = 0;
for (var i = 0; i < 4; i++) {
set_self(1163 + i, 1, 126, 0, 0);
}
set_group(241, 37, 1, 0, 0);//背景212-241
set_group(215, 37, 1, 0, 0);//信息
set_group(241, 35, 255, 0);
set_group(215, 35, 255, 0);
set_group(215, 41, 0, 0, 0);
set_group(217, 41, 0, 0, 0);
for (var i = 0; i < 10; i++) {
set_self(1553 + i, 41, 1, 0, 0);
}
for (var i = 0; i < 12; i++) {
set_self(1653 + i, 41, 1, 0, 0);
set_self(1894 + i, 41, 1, 0, 0);
}
var y = get_self(1469, 19, 0, 0, 0);
set_group(215, 19, 146 - y, 1, 0);
for (var i = 0; i < 10; i++) {
if (data && data[i] != undefined && data[i].gameinfo1) {
var js = ifast_tojson(data[i].gameinfo1)
if (js.page0 != undefined && js.page0[0] != undefined) {
set_self(1469 + i * 7, 7, js.page0[0]);
}
else
{alert("还没有战绩");
return;
}
if (js.page0 != undefined && js.page0[1] != undefined) {
set_self(1470 + i * 7, 7, js.page0[1]);
}
if (js.name != undefined && js.score != undefined) {
for (var j = 0; j < 4; j++) {
if (js.name[j] != undefined && js.score[j] != undefined) {
set_self(1471 + i * 7 + j, 7, js.name[j] + "\n" + js.score[j]);
}
else {
set_self(1471 + i * 7 + j, 7, "");
}
}
}
if (js.id != undefined) {
var pos = js.id.indexOf(C_Player.playerid);
if (pos != -1) {//set_self(1471+i*7+pos);
if (js.score[pos] > 0) {
}
}
}
}
else {
set_self(1553 + i, 37, 0, 0, 0);
for (var j = 0; j < 7; j++) {
set_self(1469 + i * 7 + j, 37, 0, 0, 0);
}
}
}
d.a.move_up(1464);
for (var i = 0; i < 4; i++) {
set_self(150 + i, 37, 0, 0, 0);
}
}
//显示战绩2页
d.a.show_history2 = function (page, spid_up) {
var data = d.h;
spid_up = spid_up || 0;
d.h3 = page;
for (var i = 0; i < d.re_timer.length; i++) {
clearTimeout(d.re_timer[i]);
}
set_group(216, 37, 1, 0, 0);
set_group(217, 37, 1, 0, 0);
set_group(216, 35, 255, 0);
set_group(217, 35, 255, 0);
set_group(212, 35, 0, 0, 0);
set_group(215, 35, 0, 0, 0);
for (var i = 0; i < 10; i++) {
set_self(1553 + i, 41, 1, 0, 0);
}
for (var i = 0; i < 12; i++) {
set_self(1653 + i, 41, 1, 0, 0);
set_self(1894 + i, 41, 1, 0, 0);
}
for (var i = 0; i < 6; i++) {
set_self(2124 + i, 41, 1, 0, 0);
set_self(2118 + i, 41, 1, 0, 0);
}
var y = get_self(1581, 19, 0, 0, 0);
set_group(217, 19, 120 - y, 1, 0);
if (data[page] != undefined) {
var js = ifast_tojson(data[page].gameinfo1);
var persons = [4, 4, 3, 2];
var person = persons[js.roomtype[6]] || 4;
if (!js.many_hu_s && spid_up > 0) {
gameCombat.Send_get_player_grade2();
}
for (var j = 0; j < 4; j++) {
if (js.avatar[j] != undefined && String(js.avatar[j]).length > 0) {
var photo = js.avatar[j];
var pos0 = js.avatar[j].indexOf("http://pic.fxxz.com");
// var pos=js.avatar[j].indexOf(".png/96");
// if(pos0==-1 && pos==-1)
// {photo=js.avatar[j]+"/96";}
Func.up_imgurl(116 + j, photo, 1);
set_self(1160 + j, 1, 116 + j, 0, 0);
}
else if (js.name[j] != undefined) {
set_self(1160 + j, 1, 126, 0, 0);
}
}
if (js.turn_point != undefined) {
var l = js.turn_point.length;
var turn_num = 0, play = 0, check = 0;
for (var i = 0; i < l; i++) {
if (i < 12) {
turn_num = 1581 + i * 6;
play = 1894 + i;
check = 1653 + i;
}
else if (i >= 12) {
turn_num = 2064 + i - 12;
play = 2124 + i - 12;
check = 2118 + i - 12;
}
set_self(turn_num, 7, "第" + String(i + 1) + "局");//局数*
for (var j = 0; j < 4; j++) {
var point = 0, symbol = 0;
if (i < 12) {
point = 1582 + i * 6 + j;
symbol = 1667 + i * 5 + j;
}
else if (i >= 12) {
point = 2070 + (i - 12) * 8 + j;
symbol = 2074 + (i - 12) * 8 + j;
}
if (js.name[j] != undefined) {
var nickname = d.getLen(js.name[j]);
set_self(1576 + j, 7, nickname);
if (js.turn_point[i] && js.turn_point[i].length > 0) {
var x = get_self(1576 + j, 18, 0, 0, 0);
set_self(point, 7, ifast_abs(js.turn_point[i][j]));//分数*
var w = String(ifast_abs(js.turn_point[i][j])).length;
set_self(point, 20, w * 37, 0, 0);
set_self(point, 18, x, 0, 0);
if (js.turn_point[i][j] < 0) {
set_self(point, 18, x + 37, 0, 0);
set_self(symbol, 37, 1, 0, 0);//分数符号*
set_self(symbol, 18, x, 0, 0);
set_self(symbol, 19, get_self(point, 19, 0, 0, 0)+5, 0, 0);
set_self(point, 1, 521, 0, 0);
}
else {
set_self(symbol, 37, 0, 0, 0);
set_self(point, 1, 520, 0, 0);
}
}
else {
set_self(turn_num, 37, 0, 0);
set_self(point, 37, 0, 0, 0);
set_self(check, 37, 0, 0, 0);
set_self(play, 37, 0, 0, 0);//
set_self(symbol, 37, 0, 0, 0);
}
}
else {
set_self(1576 + j, 37, 0, 0, 0);
set_self(point, 37, 0, 0, 0);
set_self(symbol, 37, 0, 0, 0);
}
}
}
for (var i = l; i < 18; i++) {
if (i < 12) {
turn_num = 1581 + i * 6;
play = 1894 + i;
check = 1653 + i;
}
else if (i >= 12) {
turn_num = 2064 + i - 12;
play = 2124 + i - 12;
check = 2118 + i - 12;
}
set_self(turn_num, 37, 0, 0, 0);
set_self(check, 37, 0, 0, 0);
set_self(play, 37, 0, 0, 0);
//return;
for (var j = 0; j < 4; j++) {
if (i < 12) {
point = 1582 + i * 6 + j;
}
else if (i >= 12) {
point = 2070 + (i - 12) * 8 + j;
}
set_self(point, 37, 0, 0, 0);
}
for (var j = 0; j < 4; j++) {
if (i < 12) {
symbol = 1667 + i * 5 + j;
}
else if (i >= 12) {
symbol = 2074 + (i - 12) * 8 + j;
}
set_self(symbol, 37, 0, 0, 0);
}
}
}
else {
set_group(217, 37, 0, 0, 0);
}
var ban = 1;
if (js.many_hu_s) {
ban = 0;
}
ban = 0;
//回放相关
var ids = [1517, 1524, 1531, 1550];
//var roomtype=ifast_tojson(data[d.h3].roomtype);
//js.roomtype=d.c(roomtype);
for (var j = 0; j < person; j++) {
Desk.PlayerList[j].avatar = js.avatar[j];
var pos0 = js.avatar[j].indexOf("http://pic.fxxz.com");
// var pos=js.avatar[j].indexOf(".png/96");
// if(pos0==-1 && pos==-1)
// {Desk.PlayerList[j].avatar=js.avatar[j]+"/96";}
Desk.PlayerList[j].playerid = js.id[j];
set_self(ids[i], 7, js.id[j]);
Desk.PlayerList[j].nickname = js.name[j];
if (js.sex) {
Desk.PlayerList[j].sex = js.sex[j];
}
else {
Desk.PlayerList[j].sex = Desk.PlayerList[j].sex || 1;
}
}
var msg = localStorage.getItem(C_Player.playerid);
if (msg && ban == 0) {
var rooms = JSON.parse(msg);
if (rooms[page]) {
}
else {
for (var i = 0; i < 12; i++) {
set_self(1894 + i, 37, 0, 0, 0);//
//set_self(1653+i,37,0,0,0);
}
for (var i = 0; i < 6; i++) {
set_self(2124 + i, 37, 0, 0, 0);
//set_self(2118+i,37,0,0,0);
}
}
}
else {
for (var i = 0; i < 12; i++) {
set_self(1894 + i, 37, 0, 0, 0);
//set_self(1653+i,37,0,0,0);
}
for (var i = 0; i < 6; i++) {
set_self(2124 + i, 37, 0, 0, 0);
//set_self(2118+i,37,0,0,0);
}
}
d.a.move_up(1571);
}
for (var i = 0; i < 4; i++) {
set_self(150 + i, 37, 0, 0, 0);
}
}
//显示战绩3页
d.a.show_history3 = function (page) {
d.replay =1;
d.page = page;
var data = d.h;
var i = page;
if (data[d.h3] != undefined) {
var js = ifast_tojson(data[d.h3].gameinfo1);
var ban = 1;
if (d.info2) {
var js1 = ifast_tojson(d.info2);
if (js1.final_hu_s) {
js.final_hu_s = js1.final_hu_s;
}
if (js1.many_hu_s) {
js.many_hu_s = js1.many_hu_s;
}
}
console.log(js)
if (js.many_hu_s) {
ban = 0;
}
if (ban == 0) {
//d.fina_Hu();
d.show_xiao_settle(0, page, js.identity_s, js.name, js.avatar, js.id, js.hand_s[page], js.turn_point, js.final_hu_s[page], js.settlePoint_s[page], js.roomtype, js.many_hu_s[page], js.score);
if (get_self(1160,37)==1){
//RoomFunc.game_out_show_settle(js,js1);
}
}
set_group(216, 35, 35, 0, 0);
set_group(217, 35, 35, 0, 0);
//set_self(1299,37,0,0,0);//庄
}
for (var i = 0; i < 4; i++) {
set_self(150 + i, 37, 0, 0, 0);
}
d.replay = 0;
}
//看手牌
d.a.show_history3_1 = function () {
d.replay =1;
var data = d.h;
var page = d.page;
var i = page;
if (data[d.h3] != undefined) {
var js = ifast_tojson(data[d.h3].gameinfo1);
var ban = 1;
if (!js.many_hu_s && d.info2) {
var js1 = ifast_tojson(d.info2);
if (js1.buyHorse_s) {
js.buyHorse_s = js1.buyHorse_s;
}
if (js1.winHorse_s) {
js.winHorse_s = js1.winHorse_s;
}
if (js1.Horse_vic_def_s) {
js.Horse_vic_def_s = js1.Horse_vic_def_s;
}
if (js1.final_hu_s) {
js.final_hu_s = js1.final_hu_s;
}
if (js1.many_hu_s) {
js.many_hu_s = js1.many_hu_s;
}
if (js1.jing_s) {
js.jing_s = js1.jing_s;
}
if (js1.huscore_s) {
js.huscore_s = js1.huscore_s;
}
if (js1.upscore_s) {
js.upscore_s = js1.upscore_s;
}
if (js1.smscore_s) {
js.smscore_s = js1.smscore_s;
}
if (js1.bmscore_s) {
js.bmscore_s = js1.bmscore_s;
}
if (js1.soscore_s) {
js.soscore_s = js1.soscore_s;
}
if (js1.alldownscore_s) {
js.alldownscore_s = js1.alldownscore_s;
}
if (js1.gang_score_s) {
js.gang_score_s = js1.gang_score_s;
}
if(js1.hua_hua_s)
{js.hua_hua_s=js1.hua_hua_s;}
js.hua_hua_s=js.hua_hua_s || [];
js.hua_hua_s[page]=js.hua_hua_s[page] || [];
}
console.log(js)
if (js.many_hu_s) {
ban = 0;
}
if (ban == 0) {
d.show_xiao1_settle(0, page, js.identity_s, js.name, js.avatar, js.id, js.hand_s[page], js.turn_point, js.buyHorse_s[page], js.winHorse_s[page], js.Horse_vic_def_s[page], js.final_hu_s[page], js.settlePoint_s[page], js.hu_note_gang_s[page], js.roomtype, js.many_hu_s[page], js.start_hu_s[page], js.piao, js.sea_hua_s[page], js.peng_chi_num_s[page], js.settlePoint_gang_jing_s[page], js.putJing_s[page], js.jing_s[page], js.score, js.hua_hua_s[page],js.ting,js.zhuangtai,js.huscore_s[page],js.upscore_s[page],js.alldownscore_s[page],js.gang_score_s[page],js.smscore_s[page]);
if (get_self(1160,37)==1){
RoomFunc.game_out_show_settle(js,js1);
}
}
set_group(216, 35, 35, 0, 0);
set_group(217, 35, 35, 0, 0);
//set_self(1299,37,0,0,0);//庄
}
for (var i = 0; i < 4; i++) {
set_self(150 + i, 37, 0, 0, 0);
}
d.replay = 0;
}
//看精牌
d.a.show_history3_2 = function () {
d.replay =1;
var data = d.h;
var page = d.page;
var i = page;
if (data[d.h3] != undefined) {
var js = ifast_tojson(data[d.h3].gameinfo1);
var ban = 1;
if (!js.many_hu_s && d.info2) {
var js1 = ifast_tojson(d.info2);
if (js1.buyHorse_s) {
js.buyHorse_s = js1.buyHorse_s;
}
if (js1.winHorse_s) {
js.winHorse_s = js1.winHorse_s;
}
if (js1.Horse_vic_def_s) {
js.Horse_vic_def_s = js1.Horse_vic_def_s;
}
if (js1.final_hu_s) {
js.final_hu_s = js1.final_hu_s;
}
if (js1.many_hu_s) {
js.many_hu_s = js1.many_hu_s;
}
if (js1.jing_s) {
js.jing_s = js1.jing_s;
}
if (js1.huscore_s) {
js.huscore_s = js1.huscore_s;
}
if (js1.upscore_s) {
js.upscore_s = js1.upscore_s;
}
if (js1.smscore_s) {
js.smscore_s = js1.smscore_s;
}
if (js1.bmscore_s) {
js.bmscore_s = js1.bmscore_s;
}
if (js1.soscore_s) {
js.soscore_s = js1.soscore_s;
}
if (js1.alldownscore_s) {
js.alldownscore_s = js1.alldownscore_s;
}
if (js1.gang_score_s) {
js.gang_score_s = js1.gang_score_s;
}
if (js1.do_card_s) {
js.do_card_s = js1.do_card_s;
}
if (js1.up_card_s) {
js.up_card_s = js1.up_card_s;
}
if (js1.sm_card_s) {
js.sm_card_s = js1.sm_card_s;
}
if (js1.sm2_card_s) {
js.sm2_card_s = js1.sm2_card_s;
}
if (js1.bm_card_s) {
js.bm_card_s = js1.bm_card_s;
}
if (js1.so_card_s) {
js.so_card_s = js1.so_card_s;
}
if (js1.last_up_jing_s) {
js.last_up_jing_s = js1.last_up_jing_s;
}
if (js1.last_down_jing_s) {
js.last_down_jing_s = js1.last_down_jing_s;
}
if (js1.down_jing_s) {
js.down_jing_s = js1.down_jing_s;
}
}
console.log(js)
if (js.many_hu_s) {
ban = 0;
}
if (ban == 0) {
d.show_xiao2_settle(0, page, js.identity_s, js.name, js.avatar, js.id, js.hand_s[page], js.turn_point, js.buyHorse_s[page], js.winHorse_s[page], js.Horse_vic_def_s[page], js.final_hu_s[page], js.settlePoint_s[page], js.settlePoint_gang_s[page], js.roomtype, js.many_hu_s[page], js.start_hu_s[page], js.piao, js.sea_hua_s[page], js.peng_chi_num_s[page], js.settlePoint_gang_jing_s[page], js.putJing_s[page], js.jing_s[page], js.score, js.hua_hua,js.ting,js.zhuangtai,js.last_up_jing_s[page],js.last_down_jing_s[page],js.down_jing_s[page],js.sm_card_s[page],js.sm2_card_s[page],js.do_card_s[page],js.up_card_s[page],js.bm_card_s[page],js.so_card_s[page]);
if (get_self(1160,37)==1){
RoomFunc.game_out_show_settle(js,js1);
}
}
set_group(216, 35, 35, 0, 0);
set_group(217, 35, 35, 0, 0);
//set_self(1299,37,0,0,0);//庄
}
for (var i = 0; i < 4; i++) {
set_self(150 + i, 37, 0, 0, 0);
}
d.replay = 0;
}
//战绩大结算页面移动
d.a.move = function (spid, offmovey) {
if (spid >= 1453 && spid <= 1456) {
var y1 = get_self(1354, 19, 0, 0, 0);
var l = 0, y2 = 0;
for (var i = 0; i < 6; i++) {
if (get_self(2135 - i, 37, 0, 0, 0) == 1) {
l = 18 - i;
y2 = get_self(2135 - i, 19, 0, 0, 0);
break;
}
}
if (l == 0) {
for (var i = 0; i < 12; i++) {
if (get_self(1409 - i * 5, 37, 0, 0, 0) == 1)//
{
l = 12 - i;
y2 = get_self(1409 - i * 5, 19, 0, 0, 0);//
break;
}
}
}
if (l == 0) {
return;
}
var y3 = get_self(1453, 19, 0, 0, 0);
var y4 = get_self(1453, 19, 0, 0, 0) + get_self(1453, 21, 0, 0, 0);
if (offmovey > 0) {
if (y1 + offmovey * 1 > y3 + 25) {
return;
}
}
else {
if (y2 + offmovey * 1 < y4 - 60) {
return;
}
}
set_group(223, 19, offmovey * 1, 1, 0);
}
else if (spid == 1464) {
var y1 = get_self(1469, 19, 0, 0, 0);
var l = d.h.length || 0;
if (l == 0) {
return;
}
var y2 = get_self(1469 + (l - 1) * 7, 19, 0, 0, 0);
var y3 = get_self(1570, 19, 0, 0, 0);
var y4 = get_self(1466, 19, 0, 0, 0);
if (offmovey > 0) {
if (y1 + offmovey * 1 >= y3 + 90) {
return;
}
}
else {
if (y2 + offmovey * 1 <= y4 - 90) {
return;
}
}
set_group(215, 19, offmovey * 1, 1, 0);
}
else if (spid == 1571) {
var y1 = get_self(1581, 19, 0, 0, 0);
var l = 0, y2 = 0;
for (var i = 0; i < 6; i++) {
if (get_self(2069 - i, 37, 0, 0, 0) == 1) {
l = 18 - i;
y2 = get_self(2069 - i, 19, 0, 0, 0);//
break;
}
}
if (l == 0) {
for (var i = 0; i < 12; i++) {
if (get_self(1647 - i * 6, 37, 0, 0) == 1)//
{
l = 12 - i;
y2 = get_self(1647 - i * 6, 19, 0, 0, 0);//
break;
}
}
}
if (l == 0) {
return;
}
var y3 = get_self(1665, 19, 0, 0, 0) + 36;
var y4 = get_self(1341, 19, 0, 0, 0);
if (offmovey > 0) {
if (y1 + offmovey * 1 > y3 + 25) {
return;
}
}
else {
if (y2 + offmovey * 1 < y4 - 50 - 10) {
return;
}
}
set_group(217, 19, offmovey * 1, 1, 0);
}
}
//战绩大结算页面点击
d.a.move_up = function (spid_down) {
if (spid_down >= 1453 && spid_down <= 1456) {
var y1 = get_self(1354, 19, 0, 0, 0);
var l = 0, y2 = 0;
for (var i = 0; i < 6; i++) {
if (get_self(2135 - i, 37, 0, 0, 0) == 1) {
l = 18 - i;
y2 = get_self(2135 - i, 19, 0, 0, 0);
break;
}
}
if (l == 0) {
for (var i = 0; i < 12; i++) {
if (get_self(1409 - i * 5, 37, 0, 0, 0) == 1)//
{
l = 12 - i;
y2 = get_self(1409 - i * 5, 19, 0, 0, 0);//
break;
}
}
}
if (l == 0) {
return;
}
var y3 = get_self(1453, 19, 0, 0, 0);
var y4 = get_self(1453, 19, 0, 0, 0) + get_self(1453, 21, 0, 0, 0);
if (y1 > y3 + 17) {
set_group(223, 19, (y3 + 17) - y1, 1, 0);
}
else if (y2 < y4 - 51 && y1 < y3) {
set_group(223, 19, (y4 - 51) - y2, 1, 0);
y1 = get_self(1354, 19, 0, 0, 0);
if (y1 > y3 + 17) {
set_group(223, 19, (y3 + 17) - y1, 1, 0);
}
}
}
else if (spid_down == 1464) {
var y1 = get_self(1469, 19, 0, 0, 0);
var l = 0;
if (d.h) {
l = d.h.length || 0;
}
if (l == 0) {
return;
}
var y2 = get_self(1469 + (l - 1) * 7, 19, 0, 0, 0);
var y3 = get_self(1570, 19, 0, 0, 0);
var y4 = get_self(1466, 19, 0, 0, 0);
if (y1 > y3 + 55) {
set_group(215, 19, (y3 + 55) - y1, 1, 0);
}
else if (y2 < y4 - 50 && y1 < y3) {
set_group(215, 19, (y4 - 50) - y2, 1, 0);
y1 = get_self(1469, 19, 0, 0, 0);
if (y1 > y3 + 55) {
set_group(215, 19, (y3 + 55) - y1, 1, 0);
}
}
}
else if (spid_down == 1571) {
var y1 = get_self(1581, 19, 0, 0, 0);
var l = 0, y2 = 0;
for (var i = 0; i < 6; i++) {
if (get_self(2069 - i, 37, 0, 0, 0) == 1) {
l = 18 - i;
y2 = get_self(2069 - i, 19, 0, 0, 0);//
break;
}
}
if (l == 0) {
for (var i = 0; i < 12; i++) {
if (get_self(1647 - i * 6, 37, 0, 0) == 1)//
{
l = 12 - i;
y2 = get_self(1647 - i * 6, 19, 0, 0, 0);//
break;
}
}
}
if (l == 0) {
return;
}
var y3 = get_self(1665, 19, 0, 0, 0) + 36;
var y4 = get_self(1341, 19, 0, 0, 0);
if (y1 > y3 + 10) {
set_group(217, 19, (y3 + 10) - y1, 1, 0);
}
else if (y2 < y4 - 50 - 10 && y1 < y3) {
set_group(217, 19, (y4 - 50 - 10) - y2, 1, 0);
y1 = get_self(1581, 19, 0, 0, 0);
if (y1 > y3 + 10) {
set_group(217, 19, (y3 + 10) - y1, 1, 0);
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,75 @@
/*****************黄欢****************/
d.bet_sound=function (sound)
{var sound=d.c(sound);
var sound_num=sound[1];
var seat=sound[0];
if(sound_num!=undefined && String(sound_num).length>0 && sound_num>-1)
{
//if(seat!=C_Player.seat || seat==C_Player.seat && sound_num==101)
{sound_num=parseInt(sound_num);
var t=new Date().getTime()+d.time_dif;
var t0=sound[2];
//if(t-t0>8*1000 && d.replay==0)
//{return;}
//d.wav[0]=22;//发出声音的最大时间=0之后播其他声音以免2个声音同时播
var sex=Desk.PlayerList[seat].sex || 1;//1男2女
if(sex==0){
sex=2;
}
d.sound=0;
if(d.sound == 0)//普通话
{
if(sound_num<60)
{var sid=60+(sex-1)*60+sound_num;}
else
{var sid=50+(sex-1)*60+(sound_num-100);}
if(sound_num==38) {
var sid=(sex-1)*10+sound_num;
}
}
else if(d.sound == 1)//本地话
{
if(sound_num<60)
{var sid=190+(sex-1)*60+sound_num;}
else
{var sid=180+(sex-1)*60+(sound_num-100);}
if(sound_num==38) {
var sid=(sex-1)*10+sound_num;
}
}
var tou="00";
if(String(sid).length==2)
{tou="000";}
else if(String(sid).length==3)
{tou="00";}
if(!sid)
{return;}
Utl.playSound(tou+sid+".mp3");
}
}
}
d.soundlist=function (list)
{
if (list) {
Utl.stopMusic();
Game_Config.soundList.MainSceneMusic = "00301.mp3";//听牌播放音效
Utl.playMusic();
}else {
Utl.stopMusic();
Game_Config.soundList.MainSceneMusic = "00171.mp3";//正常播放音效
Utl.playMusic();
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,350 @@
var gameabc_face = gameabc_face || {};
{
gameabc_face.tag = 12; //定义你的游戏全局内存
gameabc_face.tag1 = 123;//定义你的游戏全局内存
gameabc_face.tag2 = 123;//定义你的游戏全局内存
gameabc_face.tag3 = 123;//定义你的游戏全局内存
gameabc_face.dfwgao = 1;
}
var d = d || {};
d.a = d.a || {};
gameabc_face.gamestart = function (gameid) {
jQuery.getScript("http://pv.sohu.com/cityjson?ie=utf-8", function () {
var data = returnCitySN;
gameabc_face.ip = data.cip;
C_Player.ip = gameabc_face.ip;
});
//游戏初始化代码
// var arr0=[1,2,3,11,11,11,12,12,16,16,16,23,33];
// var arrs=[[1,2,3,11,11,11,12,12,16,16,16,23,33]];
// alert(JING_zhen_hu(arr0,23,arrs));
Logic.AppStart();
set_self(2926,41,0,0,0);
set_self(800, 57, 1000, 0, 0);
set_self(801, 57, 100, 0, 0);
set_self(802, 57, 150, 0, 0);
set_self(803, 57, 300, 0, 0);
set_self(804, 57, 35, 0, 0);
set_self(805, 57, 600, 0, 0);
set_self(3124, 41, 0, 0, 0);
logmessage("跑得快", 2);
app.runmouse("gamestart", gameid);
set_self(3124, 41, 0, 0, 0);
Game_Modify.sb_Init();
};
gameabc_face.ani_doend = function (id, sx, count, allend) {
//logmessage(id+"/"+sx+"/"+count+"/"+allend);
//play_ani(0,2,18,50,200,0,1000,0,0,0,0,6000,1);//主动关闭
GameUI.utlani_doend(id, sx, count, allend);
gameCombat.utlani_doend(id, sx, count, allend);
d.put_card_doend(id, sx, allend);
d.act_pai_doend(id, sx, allend);
d.show_light_horse_doend(id, sx, allend);
app.runmouse("ani_doend", id, sx, count, allend);
};
gameabc_face.box_doend = function (id, sx, timelen) {
//play_box 结束事件
//showmessage("box_doend:"+id+"/"+sx+"/"+timelen);
//logmessage("box_doend:"+id+"/"+sx+"/"+timelen);
app.runmouse("box_doend", id, sx, timelen);
};
gameabc_face.onloadurl = function (recid, rectype, url, error, count, len) {
//修改为gameabc_face.onloadurl 则自己处理图片加载进度
//资源加载完成函数
//recid:资源id
//rectype:1 图片 2声音
//url :网络地址
//error:是否加载错误
//len:资源大小
//count加载的个数百分比
//logmessage("onload:"+recid+"/"+rectype+"/"+count+"/"+error);
GameUI.onloadurl(recid, rectype, url, error, count, len);
app.runmouse("onloadurl1", recid, rectype, url, error, count, len);
/*
if (rectype==0)
{
open_load("","1.mp3","");
gameabc_face.randombase=0;//使用系统浏览器缓存
}
if (count==100)
{
game_close_zsmsg("");
} else
{
game_open_zsmsg(count+"%"+" 加载中...");
};
*/
};
gameabc_face.chongzhi = function (userid, zt, data) {
//游戏接口代码
app.runmouse("chongzhi", userid, zt, data);
};
gameabc_face.onresize = function (pmw/*屏幕宽*/, pmh/*屏幕宽*/, sjweww/*设计宽*/, sjnewh/*设计宽*/, nweww/*显示宽*/, newh/*显示高*/) {
//屏幕变化
// 在此调整 列表控件的宽高和区域 不是整体缩放
//logmessage("onresize:"+pmw+"/"+pmh+"/"+sjweww+"/"+sjnewh+"/"+nweww+"/"+newh);
app.runmouse("onresize", pmw/*屏幕宽*/, pmh/*屏幕宽*/, sjweww/*设计宽*/, sjnewh/*设计宽*/, nweww/*显示宽*/, newh/*显示高*/);
};
gameabc_face.gamebegindraw = function (gameid, spid, times, timelong) {
//更新开始代码
GameUI.utlgamebegindraw(gameid, spid, times, timelong);
app.runmouse("gamebegindraw", gameid, spid, times, timelong);
};
gameabc_face.gameenddraw = function (gameid, spid, times, timelong) {
//更新完成代码
GameUI.gameenddraw(gameid, spid, times, timelong);
app.runmouse("gameenddraw", gameid, spid, times, timelong);
};
gameabc_face.mousedown = function (gameid, spid, downx, downy, no1, no2, no3, no4, no5, no6) {
//点击代码
GameUI.utlmousedown(gameid, spid, downx, downy, no1, no2, no3, no4, no5, no6);
Game_Modify.utlmousedown(gameid, spid, downx, downy, no1, no2, no3, no4, no5, no6);
gameCombat.utlmousedown(gameid, spid, downx, downy, no1, no2, no3, no4, no5, no6);
app.runmouse("mousedown", gameid, spid, downx, downy, no1, no2, no3, no4, no5, no6);
console.log("mousedown=" + d.last_id + "," + spid);
if(spid >= 817 && spid <= 876 && d.replay==0){
//d.djzt = 0;
d.btn2 = spid;
d.btn2_y=get_self(d.btn2,19);
d.btn2_aleady_move==0;
}
if (spid == 149 && !d.change_card_state) {
for (var i = 0; i < 60; i++) {
if (get_self(817 + i, 19, 0, 0, 0) < 500) {
set_self(817 + i, 19, 500, 0, 0);
}
}
d.click_id = 0;
d.zhenshu = 0;
d.pai=[];
set_self(2897,43,6);
set_self(2897,41,0);
if(d.getEnumCard&&d.getEnumCard.value&&d.getEnumCard.value.length!=0){
d.getEnumCard.getIndex.resetIndex();
}
}
};
gameabc_face.mousedown_nomove = function (gameid, spid, downx, downy, timelong, no1, no2, no3, no4, no5) {
//点击代没移动代码
GameUI.utlmousedown_nomove(gameid, spid, downx, downy, timelong, no1, no2, no3, no4, no5);
Game_Modify.utlmousedown_nomove(gameid, spid, downx, downy, timelong, no1, no2, no3, no4, no5);
app.runmouse("mousedown_nomove", gameid, spid, downx, downy, timelong, no1, no2, no3, no4, no5);
};
gameabc_face.mouseup = function (gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2) {
//点击弹起代码
//可以通过spid_down和spid_up 的比较 来判断是 点击还是 移动
d.xp = spid_up;
if(d.btn2_aleady_move==0 && spid_up==spid_down && spid_up >= 817 && spid_up <= 876 && d.replay==0){
// var l = Math.abs(d.xp - d.btn2);
// for(var i=0;i<l+1;i++){
// if(d.xp - d.btn2 < 0){
// if(get_self(d.btn2-i,19)==480){
// set_self(d.btn2-i,19,500);
// d.pai.splice(d.pai.indexOf(get_self(d.btn2-i,43)),1);
// }else{
// set_self(d.btn2-i,19,480);
// d.pai.push(get_self(d.btn2-i,43));
// }
// }else if(d.xp - d.btn2>0){
// if(get_self(d.btn2+i,19)==480){
// set_self(d.btn2+i,19,500);
// d.pai.splice(d.pai.indexOf(get_self(d.btn2+i,43)),1);
// }else{
// set_self(d.btn2+i,19,480);
// d.pai.push(get_self(d.btn2+i,43));
// }
// }else{
if(get_self(d.xp,19)==480){
set_self(d.xp,19,500);
d.pai.splice(d.pai.indexOf(get_self(d.xp,43)),1);
}else{
set_self(d.xp,19,480);
d.pai.push(get_self(d.xp,43));
}
//}
//}
}
if (get_self(2897,37)==1 && spid_down >= 817 && spid_down <= 876 && d.replay==0) {
d.show_btn();
};
if (spid_up == 149 && !d.change_card_state && d.replay==0) {
if(d.pai.length>0){
var chu = (d.last_put[0]==-1 || d.last_put[0]==C_Player.seat) && Battle.check(d.pai);
var beat = (d.user_ctrl[1]>-1 && Battle.beat(d.pai,d.last_put[1]) && d.recon!=1);
if(chu||beat){
set_self(2897,43,3);
set_self(2897,41,1);
}
}
}
d.btn2_aleady_move=0;
//d.show_btn();
if (d.replay == 1) {
if (spid_down >= 256 && spid_down <= 259) {
return;
}
if (spid_down >= 376 && spid_down <= 379) {
return;
}
}
if (spid_up == 183) {
if (d.a.share) {
d.a.share();
}
}
if (spid_up == 181 && Utl.getIsInfinite() == 1) {
spid_down = 233;
spid_up = 233;
}
GameUI.utlmouseup(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
Game_Modify.mouseup(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
gameCombat.utlmouseup(gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
d.a.move_up(spid_down);
if (spid_up != spid_down) {
return;
}
d.click(spid_up, upx, upy, downx, downy, spid_down);
app.runmouse("mouseup", gameid, spid_down, downx, downy, spid_up, upx, upy, timelong, no1, no2);
};
gameabc_face.mousemove = function (gameid, spid, downx, downy, movex, movey, timelong, offmovex, offmovey, no1) {
//点击后移动代码
GameUI.utlmousemove(gameid, spid, downx, downy, movex, movey, timelong, offmovex, offmovey, no1);
Game_Modify.utlmousemove(gameid, spid, downx, downy, movex, movey, timelong, offmovex, offmovey, no1);
gameCombat.utlmousemove(gameid, spid, downx, downy, movex, movey, timelong, offmovex, offmovey, no1);
d.set_click_chu(spid, movex, movey);
d.a.move(spid, offmovey);
d.move_chu(spid, offmovey, offmovex);
app.runmouse("mousemove", gameid, spid, downx, downy, movex, movey, timelong, offmovex, offmovey, no1);
};
gameabc_face.gamemydraw = function (gameid, spid, times, timelong, no2, no3, no4, no5, no6, no7) {
//每个精灵更新绘画代码
GameUI.utlgamemydraw(gameid, spid, times, timelong, no2, no3, no4, no5, no6, no7);
Game_Modify.gamemydraw(gameid, spid, times, timelong, no2, no3, no4, no5, no6, no7);
gameCombat.utlgamemydraw(gameid, spid, times, timelong, no2, no3, no4, no5, no6, no7);
d.gamemydraw(spid);
app.runmouse("gamemydraw", gameid, spid, times, timelong, no2, no3, no4, no5, no6, no7);
};
gameabc_face.gamemydrawbegin = function (gameid, spid, times, timelong, no2, no3, no4, no5, no6, no7) {
//每个精灵更新前绘画代码
GameUI.utlgamemydrawbegin(gameid, spid, times, timelong, no2, no3, no4, no5, no6, no7);
Game_Modify.utlgamemydrawbegin(gameid, spid, times, timelong, no2, no3, no4, no5, no6, no7);
gameCombat.utlgamemydrawbegin(gameid, spid, times, timelong, no2, no3, no4, no5, no6, no7);
for (var i = 0; i < 4; i++) {
if (get_self(spid, 44, 0, 0, 0) == 233 + i) {
set_clip(0, 0, 180, get_self(1706 + 5 * i, 19, 0, 0, 0), 1062, 36);
}
}
if (get_self(spid, 44, 0, 0, 0) == 223) {
set_clip(0, 0, 0, get_self(1453, 19, 0, 0, 0), 1280, get_self(1453, 21, 0, 0, 0));
}
if (get_self(spid, 44, 0, 0, 0) == 215) {
set_clip(0, 0, 0, get_self(1570, 19, 0, 0, 0) + 36, 1280, 520);
}
if (get_self(spid, 44, 0, 0, 0) == 217) {
set_clip(0, 0, 0, get_self(1665, 19, 0, 0, 0) + 36, 1280, get_self(1341, 19) - get_self(1665, 19) - get_self(1665, 21));
}
app.runmouse("gamemydrawbegin", gameid, spid, times, timelong, no2, no3, no4, no5, no6, no7);
};
gameabc_face.ontimer = function (gameid, spid, /* 本次间隔多少次了 */ times, /* 本次间隔多久 */ timelong, /* 开启后运行多少次了 */ alltimes) {
/*请在下面输入您的代码
*/
//set_self(1,18,5,1,0);
GameUI.utlontimer(gameid, spid, /* 本次间隔多少次了 */ times, /* 本次间隔多久 */ timelong, /* 开启后运行多少次了 */ alltimes);
d.sieve_flash(spid);
d.show_13card_flash(spid);
d.show_chi_peng_act(spid);
d.show_clearing_flash(spid);
d.show_time_flash(spid);
if (spid == 291 && get_self(149, 37) && Game_Modify.roomDes && Game_Modify.roomDes.length > 0 && !get_self(1157, 37)) {
GameUI.openRoomInfo();
set_self(291, 57, 0, 0, 0);
if (Utl.getIsInfinite() == 1) {
GameUI.openRoomInfo();
set_self(110, 7, "系统房");
set_self(512, 37, 0, 0, 0);
var h = get_self(109, 21);
}
if (d.recon == 2) {
GameUI.closeRoomInfo();
}
}
app.runmouse("ontimer", gameid, spid, /* 本次间隔多少次了 */ times, /* 本次间隔多久 */ timelong, /* 开启后运行多少次了 */ alltimes);
};
gameabc_face.tcpconnected = function (tcpid) {
/*
ifast_tcp_open(1,"127.0.0.1:5414");//连接ws tcp
*/
//logmessage("tcpopen:"+tcpid);
//Logic.tcpconnected(tcpid);
app.runmouse("tcpconnected", tcpid);
};
gameabc_face.tcpmessage = function (tcpid, data) {
//logmessage("tcpread:"+data);
//Net._ReceiveData(data);
//Net_nn.TcpMessage(tcpid,data);
app.runmouse("tcpmessage", tcpid, data);
};
gameabc_face.tcpdisconnected = function (tcpid) {
//logmessage("tcpclose:"+tcpid);
//Logic.DisConnect();
app.runmouse("tcpdisconnected", tcpid);
};
gameabc_face.tcperror = function (tcpid, data) {
//logmessage("tcperror:"+tcpid);
app.runmouse("tcperror", tcpid, data);
};
gameabc_face.httpmessage = function (myid, url, data) {
/*
ifast_http(1,"web/test.txt",1);//获取文件 同域
*/
//logmessage("httpread:"+myid+"/"+url+":"+data);
app.runmouse("httpread", myid, url, data);
};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,43 @@
/*****************黄欢****************/
/**
* ————————
*牌定义
* ————————
* */
//牌
d.hua_huadan=[];
d.hua_shoupaidan=[];
d.hua_hua=[];
d.chishu=0
d.jing=[0,0];
d.jing_reduce=0;//还原
d.poker=[];//牌墙
d.pai_num=0;//牌墙
d.hand=[];//各家手牌
d.hand_arrow=[];
d.hu_card=[0,0,0,0];
d.start_hu_card=[[0],[0],[0],[0]];//起手胡的牌
d.sea=[];//牌池
d.sea_hua=[];//花牌池
d.hua_pai=[0,0,0,0];//各家花牌的数量
d.ag=[];//已经亮的暗杠的牌值
d.card_14=0;
d.card_14_pos=0;//摸的牌的位置
d.jishi_chu=0;
d.last_id=0;//移入牌id
d.click_ids=[];
//d.dianjitime=0;
d.ctrl_ting=-2;
d.clicks_an=0;
d.nm_zdc=0;
d.qing_pai=0;//请胡牌
d.btn2_y=0;//本次移动的y坐标
d.btn2_aleady_move=0;//精灵是否已经移动
d.btn2_move_left0=0;//初始移动方向
d.btn2_move_left=0;//实时移动方向
// for (var i = 0; i < 3; i++) {
// set_self(812+2*i, 7, 0, 0, 0);
// }

View File

@@ -0,0 +1,66 @@
/*****************黄欢****************/
/**
* ————————
*结算定义
* ————————
* */
//结算
d.h={};
d.page = 0;
d.h3=-1;//查哪大局的牌
d.h4=-1;//哪小局的回放
d.info2=0;
d.hua_hua=[[],[],[],[]];//花牌
d.realHorse = [[],[],[],[]] ;//买中的马
d.buyHorse=[[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0]];//各家买马
d.winHorse=[[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]];//各家买马
d.Horse_vic_def=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]];
d.contract=[[0,0,0],[0,0,0],[0,0,0],[0,0,0]];//承包了谁
d.start_hu=[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]];//长沙起手胡
d.final_hu = [[-1, 0, -1],[-1, 0, -1],[-1, 0, -1],[-1, 0, -1]];//最终胡:座位、胡的牌、胡的类型
d.many_hu=[[-1,0,[0]],[-1,0,[0]]];//多响:座位、胡的牌、胡的类型
d.final_hu1=[-1,[0,0],-1];//最终胡:座位、胡的牌、胡的类型
d.many_hu1=[[-1,[0,0],-1],[-1,[0,0],-1]];//多响:座位、胡的牌、胡的类型
d.hu_ready=[0];
d.peng_chi_num=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]];//被每个座位碰吃杠的次数
d.settlePoint = {
remain: [0, 0, 0, 0],//剩余牌数
rPoint: [0, 0, 0, 0],//余牌扣分
spring: [0, 0, 0, 0],//春天
zha: [0, 0, 0, 0],//炸弹数量
zhaP: [0, 0, 0, 0]//炸弹得分
};
d.hu_note_gang=[[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0],[0,0,0,0,0,0]];//明杠、自摸杠、暗杠、点杠、被加杠、被暗杠
d.hu_note_gang_jing=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]];//明精杠、暗精杠、被明精杠、被暗精杠
d.putJing=[0,0,0,0];//是否博精
d.bar_roll=[0];//特殊杠摇
d.put_tail_poker=[0];//是否出掉尾牌
d.tail_poker_hu=[-1,0,[-1,-1,-1,-1],0,[-1,-1,-1,-1]];//胡牌0,[胡牌座位],胡牌1,[胡牌座位]
d.tail_poker=[-1,-1,-1,-1,-1,-1,-1,-1,-1];//0尾牌的位置,1杠补牌1的位置,2杠补牌2的位置,3杠补牌1,4杠补牌2,5筛子1,6筛子2,7补张/杠,8座位
d.tail_ctrl=[0];//尾牌动画控制
d.an_gang_num=[0,0,0,0];//暗杠数量
d.piao=[-1,-1,-1,-1];
d.act_piao=[-1,-1,0,[-1],-1];
d.piao_time=[0,0,0,0];
d.qishou_time=0;
d.settle_log = [];//胡杠详情
//回放
d.nowtime=0;
d.replay=0;
d.replay_re=0;
d.speed=1;
d.room=[];
d.re=[];
d.re_timer=[];
d.pai14=0;
d.pai15=0;
d.wartime=0;
d.reps=[];
d.p=[];

View File

@@ -0,0 +1,88 @@
/*****************黄欢****************/
/**
* ————————
*控制定义
* ————————
* */
//控制
var cd_con=[0,0,0,0,0,0,0,0,0,0,0,0,0];//0筛子,1:13张牌,2-6回合间隔动画,8、9、10发牌动画,11加注倒计时,12发牌动画
d.clear_replay=0;
d.chu_cilck=0;
d.chu_move=0;
d.user_ctrl=[0,-1,-1,-1,0,0,0,0,0,-1,0,0,0];//控制权交接时的时间,上次控制权,当前控制权,第14张牌/新摸的牌跟注数,4-8是否已加注
d.status=0;//第几回合
d.user_eat_bump=[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]];//杠碰吃、自摸杠暗杠、胡听
d.throw_card=0;
d.lastbar=[-1,0];//上个操作是否是杠,谁的
d.last_operate=[-1,0,-1];
d.click_ban=0;//是否可以点击出牌
d.click_id=0;//点击出的牌的精灵id
d.gang_option=0;//是否出现杠选项
d.peng_option=0;//是否出现碰选项
d.gang_flame=[];
d.peng_flame=[];
d.ting_status=[0,0,0,0];//是否听牌状态
d.Ting_ui=[];//是否听牌状态
d.Ting_Tip = [];//是否听牌状态
d.ctrl=0;//控制权是否有变动
d.continue_hu=0;
//动画控制
d.act=[-1,-1,0,[-1],-1];//字的动画[1 put\2peng\3chi\4gang\5hu ,seat,计时,上个操作的牌池]
d.act_pai=[-1,-1,0,-1,-1];//牌的动画[1 put\2peng\3chi\4gang\5hu ,本次操作的座位,上个操作的牌,上个操作的牌池,自摸杠的座位]
d.act_put=[0,0,0,0,0,0];//0目标x,1目标y,出牌 2spid
d.show_chipeng=[0,0,0,0];//吃碰文字
d.tail_show_id=[0,0];
d.operate_time=0;//纠正计时器
d.put_time=0;//纠正计时器
d.jing_time=0;//纠正计时器
d.sieve_time=0;
d.show_jing_time=0;//显示上精计时器
d.bw_flash=0;//霸王特效
d.compare_jing=0;//比精0结束1开始
d.compare_jing_time1=0;//回头比精计时器
d.compare_jing_time2=0;//上下翻比精计时器
d.compare_jing_time3=0;//结束比精计时器
d.click_sieves=0;//庄家掷骰子选人选牌蹲专用
d.sieves_time=0;//掷骰子计时器
d.sieve=[0,0];//0,1筛子
d.clearing_time = 0;//结算时间
d.horse_time=0;//马计时器
d.dong35=0;//方向明暗
d.head35=0;//头像明暗
d.move_hu_l=[0,0,0,0];//胡牌说明的长度
d.flash_ban=0;
d.operate_show_con=0;//控制显示操作按钮的时机
d.baoting = [0,0,0,0];
d.ting_record=[0,0,0,0];//听牌1为报听3为报听后
d.qing_status = [0,0,0,0];
d.qing_hu = [0,0,0,0];
d.bao_hu = [0,0,0,0];
d.getEnumCard = {flag:false,value:[],getIndex:null};

View File

@@ -0,0 +1,30 @@
/*****************黄欢****************/
/**
* ————————
*玩家定义
* ————————
* */
//player
d.wav=[0];
d.pos=[];//用户ID与显示图片的对应关系
d.pos_un=[];
d.host=-1;//哪个位置是庄
d.turn_direction=[-1];//各个位置上哪个是:庄、东西南北、有人
d.identity=[-1,-1,-1,-1,-1];//各个位置上哪个是:庄、东西南北、有人
d.point=[];
d.user_point=[0,0,0,0];//各用户累积分数
d.turn_point=[];//每局分数
d.ytime = 300; //托管房时间
d.ntime = 100;//非托管房时间
d.ytime1 = d.ytime+60;//610; //托管房时间第一轮
d.ntime1 = d.ntime+60;//127;//非托管房时间第一轮
d.seat_ntime = 160;//非托管房时间第一轮
d.seat_ntime1 = d.seat_ntime+60;//非托管房时间第一轮
d.t = 0;
d.sound = 0;//普通话与本地话
d.user_ctrl0=0;
d.person_info=[];
d.music=0;//背景音乐
Game_Config.soundList.MainSceneMusic = "00171.mp3";//正常播放音效
d.jing_animation=0;//有没有精

View File

@@ -0,0 +1,31 @@
/*****************黄欢****************/
/**
* ————————
*重连定义
* ————————
* */
//重连
d.recon = 0;
d.recon1 = 0;
d.recon2 = 0;
d.backstage1 = 0;
d.join = 0;
d.other_join = -1;
d.backstage = 0;
d.time_dif = 0;
d.local_time = 0;
d.player_offline = [-1, -1, -1, -1];
//精灵id
d.game1_Number = [20, 21];//局数图
d.game2_Number = [672, 673];//局数文字
d.game1_People = [22, 23, 24];//人数
d.game2_People = [1628, 1634, 1640];
d.game1_Mode = [139, 140];//模式
d.game2_Mode = [674, 675];
bjid = 0;//更换背景
d.change_card_state = 0;//换牌状态
d.huanpai2 = [];//换牌数据
d.back_array = [];//换牌后数据
d.record_change_state = [0, 0, 0, 0];//换三张确定之前
d.move_x=100;

View File

@@ -0,0 +1,432 @@
/*****************黄欢****************/
/**
* ————————
*还原游戏数据
* ————————
* */
var d =d || {};
d.a = d.a || {};
//room
d.agree = [-1, -1, -1, -1];
d.exit = -1;
d.turn = [0, 0, 0];//0当前回合1每局间隔控制 2服务器回合
d.rep = [0, 0, 0];//回放
d.roomcode = 0;
d.roomtype = [];
d.addr = [];
d.ip = [];
d.re_distanse = 0;
d.ip = [];
d.route="pdkcard";
d.ini_start = function (show_menu) {
show_menu=show_menu || 0;
//初始化房间内存
d.debug_timer = 0;
d.agree = [-1, -1, -1, -1];
d.exit = -1;
d.qishou_time = 0;
d.turn = [0, 0, 0];//0小局1每局间隔控制 2大局
d.rep = [0, 0, 0];//回放
d.reps = [];
d.p = [];
d.roomcode = 0;
d.recon=0;
d.recon1=0;
d.recon2=0;
d.backstage1 = 0;
// d.join=0;
// d.other_join=-1;
d.backstage = 0;
d.wav = 0;
d.time_dif = 0;
d.local_time = 0;
d.player_offline = [-1, -1, -1, -1, -1];
d.wav = [];
d.pos = [];//用户ID与显示图片的对应关系 逆时针
d.pos_un = [];
d.status = 0;//第几回合
d.user_point = [0, 0, 0, 0, 0];//各用户累积分数
d.addr = [];
d.ip = [];
d.roomtype = [];
d.ini(show_menu);
if(show_menu!=2)
{d.re = [];}
d.wartime = 0;
d.re_distanse = 0;
d.statis = [];
for (var i = 0; i < 4; i++) {
d.statis[i] = [0, 0, 0, 0, 0,0];
}
d.continue_hu=0;
d.clicks_an=0;
}
d.ini = function (show_menu) {
show_menu = show_menu || 0;
//初始化房间]
ClickBtn=ClickBtn.concat([2895,2896,2897,1403]);
d.djzt = 0;
d.btn = 0;
d.pai = [];
d.xp = 0;
d.spy = 500;
d.spy2 = 480;
d.N = 0 ;
d.M = 0 ;
d.quan = 0;
d.waiq = 0;
d.hualen=0;
d.time_dif = 0;
d.user_ctrl0=0;
d.t=0;
d.hostwait = 0;
//初始化用户
d.host = -1;//哪个位置是庄
d.hutype=["","","",""];//胡牌类型
d.turn_point[d.turn[1]] = [];//每局分数
d.turn_direction = [-1];//各个位置上哪个是:庄、东西南北、有人
d.identity = [-1, -1, -1, -1, -1];//各个位置上哪个是庄1、小盲2、大盲3、有人0
d.dj=0;
d.music=0;//背景音乐
Game_Config.soundList.MainSceneMusic = "00171.mp3";//正常播放音效
d.hu_person=-1;//显示胡的玩家
//初始化控制
set_self(2233,43,1,0,0);
d.change_card_state=0;//换牌状态
d.huanpai2=[];//换牌数据
d.back_array=[];//换牌后数据
d.record_change_state=[0,0,0,0];//换三张确定之前
d.chishu=0;
d.hua_huadan=[];
d.hua_shoupaidan=[];
d.hua_hua=[];
d.person_info=[];
d.playerid=[];
d.ting_statu=0;
d.bmp_jing=0;
d.p_card=0;
d.zhenshu=0;
d.put_card=0;
d.ting_throw_card_time = 0;
d.ctrl_ting=-2;
d.chu_cilck = 0;
d.chu_move = 0;
d.click_id = 0;
d.operate_time = 0;//纠正计时器
d.put_time = 0;//纠正计时器
d.jing_time = 0;//纠正计时器
d.sieve_time = 0;
d.tail_show_id = [0, 0];
cd_con = [0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0];//0理牌动画1-6回合间隔动画,8、9、10发牌动画,11加注倒计时,12发牌动画
d.user_ctrl = [0, -1, -1, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0];//控制权交接时的时间,上次控制权,当前控制权,第14张牌/新摸的牌跟注数,4-8是否已加注
d.user_eat_bump = [[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]];
;//杠碰吃、自摸杠暗杠、胡听
d.lastbar = [-1, 0];//上个操作是否是杠,谁的
d.last_operate = [-1, 0, -1];//什么操作,操作相关,座位
d.click_ban = 0;
d.gang_option = 0;//是否出现杠选项
d.peng_option = 0;//是否出现碰选项
d.gang_flame = [];
d.peng_flame = [];
d.ting_status = [0, 0, 0, 0];//是否听牌状态
d.Ting_ui = [];//是否听牌状态
d.Ting_Tip = [];//是否听牌状态
d.tips_tp = 0;//胡的牌
d.OverTime = 0;
d.jishi_chu=0;
d.KnownCard = [];
d.ting_record=[0,0,0,0];//听牌1为报听3为报听后
//动画控制
d.act = [-1, -1, 0, [-1], -1];//字的动画[1 put\2peng\3chi\4gang\5hu ,seat,计时,上个操作的牌池]
d.act_pai = [-1, -1, 0, -1, -1];//牌的动画[1 put\2peng\3chi\4gang\5hu ,本次操作的座位,上个操作的牌,上个操作的牌池,自摸杠的座位]
d.act_put = [0, 0, 0, 0, 0, 0];//0目标x,1目标y,出牌 2spid
d.piao = [-1, -1, -1, -1];
d.act_piao = [-1, -1, 0, [-1], -1];
d.piao_time = [0, 0, 0, 0];
d.show_chipeng = [0, 0, 0, 0];//吃碰文字
d.clearing_time = 0;//结算时间
d.horse_time = 0;//马计时器
d.dong35 = 0;//方向明暗
d.head35 = 0;//头像明暗
d.move_hu_l = [0, 0, 0, 0];//胡牌说明的长度
d.flash_ban = 0;
d.operate_show_con=0;//控制显示操作按钮的时机
//初始化牌
d.robot = [];//机器人
d.robot_chu = 0;//机器人可出牌
d.showcard_before=0;//选精之前牌不显示
d.click_sieves=0;//庄家掷骰子选人选牌蹲专用
d.sieves_time=0;//掷骰子计时器
d.getserver_time=0;//掷骰子获得服务器时间
d.jing = [0,0];//癞子
d.horse = []; //马牌
d.baoting =[0,0,0,0];//报听
d.qing_status = [0,0,0,0];
d.qing_hu = [0,0,0,0];
d.bao_hu = [0,0,0,0];
d.baoting_seat=-1;//报听人
d.downjing = [];//下精
d.song_downjing = [];//同一首歌下精
d.last_up_jing = [];//上局的上精
d.last_down_jing = [];//上局的下精
d.show_jing_time=0;//显示上精计时器
d.bw_flash=0;//霸王特效
d.compare_jing=0;//比精0结束1开始
d.compare_jing_time1=0;//回头比精计时器
d.compare_jing_time2=0;//上下翻比精计时器
d.compare_jing_time3=0;//结束比精计时器
d.caiKeScore = d.caiKeScore || [] ;//财神,风刻
d.huscore = d.huscore || [];//胡牌分数
d.downscore = d.downscore || [];//下精分数
d.upscore = d.upscore || [];//上精分数
d.gangscore = d.gangscore || [];//杠分数
d.smilescore = d.smilescore || [];//回头分数
d.down_score = d.down_score || [];//下精分数,牌值,霸王,冲关
d.up_score = d.up_score || [];//上精分数,牌值,霸王,冲关
d.smile_score = d.smile_score || [];//回头一笑上精分数,牌值,霸王,冲关
d.smile2_score = d.smile2_score || [];//回头两笑下精分数,牌值,霸王,冲关
d.bmob_score = d.bmob_score || [];//埋雷下精分数,牌值,霸王,冲关
d.song_score = d.song_score || [];//同一首歌下精分数
d.jing_reduce = 0;//还原
d.poker = [];//牌墙
d.pai_num = 0;//牌墙
d.throw_card = 0;
d.hu_card = [0, 0, 0, 0];//是否胡牌 胡的是哪张牌
d.start_hu_card = [[0], [0], [0], [0]];//起手胡的牌
d.hand = [];//各家手牌
for (var i = 0; i < 4; i++) {
d.hand[i] = [];
d.hand[i][0] = [];
}
d.hand_arrow = [];//各家副露吃碰方向
for (var i = 0; i < 4; i++) {
d.hand_arrow[i] = [];
}
for (var i = 0; i < 3; i++) {
set_self(812+2*i, 7, 0, 0, 0);
}
d.sea = [];
d.sea[0] = [];
d.sea[1] = [];
d.sea[2] = [];
d.sea[3] = [];//牌池
d.sea_hua = [];
d.sea_hua[0] = [];
d.sea_hua[1] = [];
d.sea_hua[2] = [];
d.sea_hua[3] = [];//牌池
d.hua_pai = [0, 0, 0, 0];//各家花牌的数量
d.ag = [];//已经亮的暗杠的牌值
for (var i = 0; i < 4; i++) {
d.ag[i] = [];
}
d.card_14 = 0;
d.card_14_pos = 0;//摸的牌的位置
d.ctrl = 0;//控制权是否有变动
d.last_id=0;//移入牌id
d.click_ids=[];
//初始化结算
d.hua_hua=[[],[],[],[]];//花牌
d.realHorse = [[],[],[],[]] ;//买中的马
d.buyHorse = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]];//各家买马
d.winHorse = [[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]];//各家买马
d.Horse_vic_def = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]];
d.contract = [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]];//承包了谁
d.start_hu = [[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]];//长沙起手胡
d.final_hu = [[-1, 0, -1],[-1, 0, -1],[-1, 0, -1],[-1, 0, -1]];//最终胡:座位、胡的牌、胡的类型
d.many_hu = [[-1, [0, 0], -1], [-1, [0, 0], -1]];//多响:座位、胡的牌、胡的类型
d.hu_ready = [0];
d.peng_chi_num = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]];//被每个座位碰吃杠的次数
d.settlePoint = {
remain: [0, 0, 0, 0],//剩余牌数
rPoint: [0, 0, 0, 0],//余牌扣分
spring: [0, 0, 0, 0],//春天
zha: [0, 0, 0, 0],//炸弹数量
zhaP: [0, 0, 0, 0]//炸弹得分
};
d.hu_note_gang = [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]];//明杠、自摸杠、暗杠、点杠、被加杠、被暗杠
d.hu_note_gang_jing = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]];//明精杠、暗精杠、被明精杠、被暗精杠
d.putJing = [0, 0, 0, 0];//是否博精
d.bar_roll = [0];//特殊杠摇
d.put_tail_poker = [0];//是否出掉尾牌
d.tail_poker_hu = [-1, 0, [-1, -1, -1, -1], 0, [-1, -1, -1, -1]];//胡牌0,[胡牌座位],胡牌1,[胡牌座位]
d.tail_poker = [-1, -1, -1, -1, -1, -1, -1, -1, -1];//0尾牌的位置,1杠补牌1的位置,2杠补牌2的位置,3杠补牌1,4杠补牌2,5筛子1,6筛子2,7补张/杠,8座位
d.tail_ctrl = [0];//尾牌动画控制
d.an_gang_num = [0, 0, 0, 0];
d.settle_log = [];//胡杠详情
//初始化回放
d.nowtime = 0;
d.replay_re = 0;
d.speed = 1;
d.pai14 = 0;
d.pai15 = 0;
d.getEnumCard = {flag:false,value:[],getIndex:null};
//初始化界面
if(d.recon != 1 && d.backstage != 1)
{d.ini_UI();}
d.show_ip();
d.show_distance();
}
//初始化界面
d.ini_UI = function () {
for (var a = 2970; a < 2974; a++) {
set_self(a,7, "花牌"+"X"+'0', 0, 0);
}
set_self(2874,43,60,0,0);
set_self(2870,37,0,0,0);
set_self(2871,37,0,0,0);
set_self(2872,37,0,0,0);
set_self(2875,37,0,0,0); //金牌动画消失
for(var i=0;i<6;i++){
set_self(2394+i,37,0,0,0); //刮风下雨停止
}
set_self(515,19,346,0,0);
set_self(1821, 43, 60);//癞子帧数
set_self(1822, 43, 60);//癞子帧数
set_group(212, 41, 0, 0, 0);
for (var i = 0; i < 15; i++) {
play_ani123(0, 1143 + i, 19);
set_self(936 + i, 43, 60, 0, 0);
}
for (var i = 0; i < 4; i++) {
set_group(207 + i, 37, 0, 0, 0);
set_group(224 + i, 37, 0, 0, 0);
set_group(218 + i, 37, 0, 0, 0);
set_group(201 + i, 37, 0, 0, 0);
}
for (var i = 233; i <= 240; i++) {
set_group(i, 37, 0, 0, 0);
}
set_group(206, 41, 1, 0, 0);
set_group(206, 35, 255, 0, 0);
set_group(205, 41, 0, 0, 0);
for (var i = 0; i < 4; i++) {
set_self(1770 + i, 41, 1, 0, 0);
}
set_group(205, 37, 0, 0, 0);
set_group(230, 37, 0, 0, 0);
//set_self(1012, 37, 1, 0, 0);//方向
set_self(1327, 37, 0, 0, 0);//方向
set_self(1289, 37, 0, 0, 0);
set_self(1289, 7, -1);
set_group(223, 41, 0, 0, 0);
set_group(239, 41, 0, 0, 0);
set_group(240, 41, 0, 0, 0);
set_group(242, 41, 0, 0, 0);
set_group(242, 37, 0, 0, 0);
set_group(243, 41, 0, 0, 0);
set_group(201, 35, 255, 0, 0);
set_self(1850, 41, 0, 0, 0);
for (var i = 0; i < 3; i++)//癞子
{
set_self(1820 + i, 41, 0, 0, 0);
}
set_self(1403, 43, 1, 0, 0);
set_self(1408, 43,1, 0, 0);
set_self(2998, 37,0, 0, 0);
set_group(248, 37, 0, 0, 0);
}
//初始化头像位置对应的座位
//输入pos to pngid
d.set_png_pos = function (seat) {
if (seat != undefined && seat >= 0 && seat <= 3) {
if (d.pos == "") {
for (var i = 0; i < 4; i++) {
var j = i - seat;
if (j < 0) {
j = j + 4;
}
else if (j > 3) {
j = j - 4;
}
d.pos[i] = j;
}
}
}
}
//输入pngid to pos
d.set_png_pos_un = function (seat) {
if (d.pos_un == "") {
for (var i = 0; i < 4; i++) {
var j = i + seat;
if (j < 0) {
j = j + 4;
}
else if (j > 3) {
j = j - 4;
}
d.pos_un[i] = j;
}
}
}

View File

@@ -0,0 +1 @@
//精灵事件单元...

View File

@@ -0,0 +1 @@
//精灵事件单元...