Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

key

.doc
Скачиваний:
11
Добавлен:
09.06.2015
Размер:
59.9 Кб
Скачать

///

//key={keyCode,altKey,altGraphKey,shiftKey,ctrlKey,target:{name,tagName,localName,name,id}}

function lr_compare(l,r)

{

for (var i in l)

{

if (typeof(l[i])=='object')

{

if (lr_compare(l[i],r[i])==false)

return false;

continue;

}

if (r[i]!=l[i])

return false;

}

return true;

}

var HTMLChars =

{

'chars':{'"':'"'},

'replace':function (s)

{

if (typeof s == 'object')

{

for (var i in s) s[i]=this.replace(s[i]);

return s;

}

if (typeof s != 'string') return s;

for (var i in this.HTMLChars)

s=s.replace(new RegExp(i,'g'),this.HTMLChars[i]);

return s;

}

};

var KeyProcessor=

{

'old_keydown':document.onkeydown,

'processKey':function(e)

{

if (e.keyCode==18) return false;

for (var i in KeyProcessor.Keys)

{

if (KeyProcessor.Keys[i]==undefined) continue;

if (lr_compare(KeyProcessor.Keys[i].key,e)==true)

{

eval(KeyProcessor.Keys[i].todo);

if (KeyProcessor.Keys[i].clear==true) delete KeyProcessor.Keys[i];

}

}

},

'AddKey':function (key,todo,clear)

{

if (clear==undefined) clear=false;

if (todo==undefined) todo=';';

var gt=Math.random();

while (gt in this.Keys) gt=Math.random();

if (key.target==undefined) key.target=this.DefaultKeyTarget();

this.Keys[gt]={'clear':clear,'todo':todo,'key':key};

return gt;

},

'AddKeys':function (keys)

{

for (var i in keys)

if (this.AddKey(keys[i].key,keys[i].todo,keys[i].clear)<0) return i;

return 'undefined';

},

'ClearKey':function (index)

{

delete this.Keys[index];

return index;

},

'ClearKeys':function (keys)

{

for (var i in keys)

if (keys[i] in this.Keys) delete this.Keys[keys[i]];

return 'undefined';

},

'DefaultKeyTarget':function()

{

var nav=navigator.userAgent.match(/Firefox|Chrome/);

if (nav[0]=='Firefox') return {'tagName':'HTML'};

if (nav[0]=='Chrome') return {'tagName':'BODY'};

return 'undefined';

},

'Keys':{}

};

var InvProcessor=

{

'Processors':[],

'Keys':[],

'pInvAct':function (data)

{

var ok;

for (var i in InvProcessor.Keys) KeyProcessor.ClearKey(InvProcessor.Keys[i]);

InvProcessor.Keys=[];

for (var j in InvProcessor.Processors)

{

ok=false;

for (var i in data)

{

if (data[i].n == InvProcessor.Processors[j].name)

{

if (data[i].t==1)

InvProcessor.Keys.push(KeyProcessor.AddKey(InvProcessor.Processors[j].key,"pInvEl("+i+");rmodP('pinv',{'id':0});",true));

else if (data[i].t==2)

InvProcessor.Keys.push(KeyProcessor.AddKey(InvProcessor.Processors[j].key,"pInv("+i+");rmodP('pinv',{'id':0});",true));

ok=true;

break;

}

}

if (ok==false)

InvProcessor.Keys.push(KeyProcessor.AddKey(InvProcessor.Processors[j].key,"gsChat('c[pch] "+InvProcessor.Processors[j].name+" недоступен');rmodP('pinv',{'id':0});",false));

}

return InvProcessor.old_pInvAct(data);

},

'Init':function()

{

var old_pInvAct=window.pInvAct;

this.old_pInvAct=old_pInvAct;

pInvAct=this.pInvAct;

},

'Restore':function()

{

if (this.old_pInvAct!=undefined) window.pInvAct=this.old_pInvAct;

},

'Add':function (name,key)

{

for (var i in this.Processors)

if (this.Processors[i].name==name)

{

this.Processors[i]={'name':HTMLChars.replace(name),'key':key};

return i;

}

this.Processors.push({'name':name,'key':key});

return this.Processors.length-1;

}

};

function rmodP(mod,param)

{

var p = '';

for(var i in param) p += i+'='+param[i]+'&';

$.ajax({

url: '/piwar/m/'+mod+'.php?'+p+'rnd='+Math.random(),

dataType : 'text',

success: function (data, textStatus) {

eval(data);

}

});

}

function preobMsg(msg)

{

function repMsgIp(p1,p2){

return '<a href="#" onclick="p(\''+p2+'\'); return false;" style="color: #800000">'+p2+'</a> ';

}

function repMsgIt(p1,p2){

return '<a href="#" onclick="t(\''+p2+'\'); return false;">'+p2+'</a> ';

}

function repMsgP(p1,p2){

return ' » <a href="#" onclick="p(\''+p2+'\'); return false;" style="color: #800000">'+p2+'</a>';

}

function repMsgT(p1,p2){

return ' » <a href="#" onclick="t(\''+p2+'\'); return false;">'+p2+'</a>';

}

function repMsgC(p1,p2){

if (p2=='kt2') return '';

return '<img src=\'img/c/'+p2+'.gif\' />';

}

function repMsgI(p1,p2){

if (p2=='kt2') return '';

return '<img src=\'img/'+p2+'.gif\' />';

}

if(/^shell\[.*\]$/.test(msg)){

arr = /^shell\[(.*)\]$/.exec(msg);

eval('shell('+arr[1]+');');

return '';

}

if(/p\[[A-Za-zА-Яа-я0-9_ ]{4,16}?\]/.test(msg))

msg = msg.replace(/n\[([A-Za-zА-Яа-я0-9_ ]{4,16}?)]/g,repMsgIp);

else

msg = msg.replace(/n\[([A-Za-zА-Яа-я0-9_ ]{4,16}?)]/g,repMsgIt);

msg = msg.replace(/p\[([A-Za-zА-Яа-я0-9_ ]{4,16}?)\]/g,repMsgP);

msg = msg.replace(/t\[([A-Za-zА-Яа-я0-9_ ]{4,16}?)\]/g,repMsgT);

msg = msg.replace(/c\[([A-Za-z0-9_]{2,8}?)\]/g,repMsgC);

msg = msg.replace(/i\[([A-Za-z0-9_]{2,8}?)\]/g,repMsgI);

return msg+'<br />';

}

function tNextHod(){

if(arrTSec['secNHw']>0){

var pp = (arrTSec['secNHw']/arrTSec['secNHwS'])*25;

$('#piLtime div').css({'height':pp+'px'});

$('#sk6').html('<center><font color=red size=6pt>'+arrTSec['secNHw']+'</font></center>');

arrTSec['secNHw']--;

}else{

$('#sk6').html('<center><font color=lime size=5pt>GO</font></center>');

$('#piLtime div').css({'height':0+'px'});

}

}

var GoodsProducer={

'Key':'undefined',

'AutoUse':4,

'AutoOn':'undefined',

'AutoOff':'undefined',

'ProduceKey':'undefined',

'Last':'undefined',

'old_gChat':undefined,

'gChat':function (data)

{

var msg = ''; var mpreob;

var color = '#695028';

chatTime = new Date();

for(var i in data){

v = data[i];

if(v.s!=null){

shell(v.s);

}else{

if(v.c!=null) color = v.c;

mpreob = preobMsg(v.m);

if(mpreob!='') msg += '<div><span class="date">'+v.d+'</span> <span style="color: '+color+'">'+mpreob+'</span></div>';

}

}

var MSG=$('#msg')[0];

GoodsProducer.Found=false;

var start=MSG.children.length;

$('#msg').html($('#msg').html()+msg);

for (;start!=MSG.children.length;++start)

{

var child=MSG.children[start];

var links=child.getElementsByTagName('a');

for (var i=0; i!=links.length; ++i)

{

if (String(links[i].onclick).search('mobsk')>=0) { GoodsProducer.Last=links[i]; GoodsProducer.Found=true; continue; }

if (String(links[i].onclick).search('friends')>=0) { eval("rmodP('add_bonus',{'b':1});"); continue; }

if (String(links[i].onclick).search('fbonus')>=0) { links[i].onclick(); continue; }

if (String(links[i].onclick).search('rekMyActivaty')>=0) { eval("rekMyActivaty();"); continue; }

ll=links[i];

}

}

if (GoodsProducer.Found == true)

{

for (var i=0; i!=GoodsProducer.AutoUse; ++i) setTimeout('GoodsProducer.Last.onclick();',10*i+10);

}

window.document.getElementById('msg').scrollTop=999999;

},

'Init':function(key)

{

if (key=='undefined') return;

this.Key=key;

var old_gChat=window.gChat;

this.old_gChat=old_gChat;

window.gChat=this.gChat;

if (this.AutoOn=='undefined') this.AutoOn=KeyProcessor.AddKey({keyCode:this.Key,altKey:false,ctrlKey:false,shiftKey:true},'++GoodsProducer.AutoUse;',false);

if (this.AutoOff=='undefined') this.AutoOff=KeyProcessor.AddKey({keyCode:this.Key,altKey:false,ctrlKey:true,shiftKey:false},'GoodsProducer.AutoUse=0;',false);

if (this.ProduceKey=='undefined') this.ProduceKey=KeyProcessor.AddKey({keyCode:this.Key,altKey:true,ctrlKey:false,shiftKey:false},'if (GoodsProducer.Last!="undefined") GoodsProducer.Last.onclick();',false);

},

'Restore':function()

{

if (this.AutoOn!='undefined') KeyProcessor.ClearKey(this.AutoOn); this.AutoOn='undefined';

if (this.AutoOff!='undefined') KeyProcessor.ClearKey(this.AutoOff); this.AutoOff='undefined';

if (this.ProduceKey!='undefined') KeyProcessor.ClearKey(this.ProduceKey); this.ProduceKey='undefined';

if (this.old_gChat!=undefined) window.gChat=this.old_gChat;

}

};

kraft.create=function(kid,tt){

$(".kbutI").css({display:"none"});

rmodP('kalhim',{a:3,i:kid,t:tt});

last_kid=kid;

last_tt=tt;

create_all=true;

}

kraft.sec=function(n){

n--;

if(n<0){

clearTimeout(kraft.secDelay);

$('#ktt').html('');

$(".kbutI").css({display:"inline"});

if (create_all && last_kid>=0 && last_tt>=0)

setTimeout('kraft.create('+last_kid+','+last_tt+')',100);

return;

}else{

$('#ktt').html('Процесс закончится через '+n+' сек ');

}

kraft.secDelay = setTimeout('kraft.sec('+n+')',1000);

}

function ClearChat(){

while (document.getElementById('msg').childNodes.length>0) document.getElementById('msg').removeChild(document.getElementById('msg').firstChild)

}

document.onkeydown=KeyProcessor.processKey;

InvProcessor.Init();

GoodsProducer.Init(89);

InvProcessor.Add('Бодряк "Пятый день"',{keyCode:49,altKey:false,ctrlKey:false,shiftKey:false}); //1 - юзнуть бодряк 5

InvProcessor.Add('Бодряк "Червонец"',{keyCode:50,altKey:false,ctrlKey:false,shiftKey:false}); //2 - бодряк 10

InvProcessor.Add('Бодряк "Полу месяц"',{keyCode:51,altKey:false,ctrlKey:false,shiftKey:false}); //3 - бодряк 15

InvProcessor.Add('Малый эликсир энергии',{keyCode:52,altKey:false,ctrlKey:false,shiftKey:false}); //4 - енка 1

InvProcessor.Add('Средний эликсир энергии',{keyCode:53,altKey:false,ctrlKey:false,shiftKey:false}); //5 - енка 2

InvProcessor.Add('Большой эликсир энергии',{keyCode:54,altKey:false,ctrlKey:false,shiftKey:false}); //6 - енка 3

InvProcessor.Add('Малый эликсир жизни',{keyCode:55,altKey:false,ctrlKey:false,shiftKey:false}); //7 - хиллка 1

InvProcessor.Add('Средний эликсир жизни',{keyCode:56,altKey:false,ctrlKey:false,shiftKey:false}); //8 - хиллка 2

InvProcessor.Add('Большой эликсир жизни',{keyCode:57,altKey:false,ctrlKey:false,shiftKey:false}); //9 - хиллка 3

InvProcessor.Add('Карта тайника рейдера',{keyCode:77,altKey:true,ctrlKey:false,shiftKey:false}); //Alt+M - юзнуть карту

KeyProcessor.AddKeys

(

[

{'key':{keyCode:81,altKey:false,ctrlKey:false,shiftKey:false},'todo':'skClick(1);','clear':false}, //Q - искать клад

{'key':{keyCode:87,altKey:false,ctrlKey:false,shiftKey:false},'todo':'skClick(2);','clear':false}, //W - атаковать

{'key':{keyCode:69,altKey:false,ctrlKey:false,shiftKey:false},'todo':'skClick(5);','clear':false}, //E - лечить

{'key':{keyCode:82,altKey:false,ctrlKey:false,shiftKey:false},'todo':'refresh();','clear':false}, //R - обновить

{'key':{keyCode:73,altKey:true,ctrlKey:false,shiftKey:false},'todo':'pInv(0);','clear':false}, //Alt+I - инфентарь

{'key':{keyCode:85,altKey:true,ctrlKey:false,shiftKey:false},'todo':'pUserInf(0);','clear':false}, //Alt+U -

{'key':{keyCode:75,altKey:true,ctrlKey:false,shiftKey:false},'todo':'kraft.allroom();','clear':false},//Alt+A - окно крафта

{'key':{keyCode:65,altKey:true,ctrlKey:false,shiftKey:false},'todo':'kraft.main(1);','clear':false}, //Alt+K - окно алхимии

{'key':{keyCode:67,altKey:true,ctrlKey:false,shiftKey:true},'todo':'ClearChat();','clear':false}, //Alt+Shift+C - очистить чат

]

);

//97-105 - numpad

function resolve(i)

{

var x=1,y;

while (i>2*x-1){ i-=2*x-1; ++x;}

y=i;

return '∞' + x + '≡' + y +'≈'

}

function resolve_msg(i)

{

var x=1,y;

while (i>2*x-1){ i-=2*x-1; ++x;}

y=i;

return '' + x + '-' + y;

}

function cell(i)

{

window.document.fsend.send.value += resolve_msg(i)+',';

window.document.fsend.send.focus();

}

function cell_click(event)

{

var i=Number(event.target.id.replace(/c/g,''));

if (lr_compare({'ctrlKey':true,'shiftKey':false},event)) {cell(i); return true;}

if (lr_compare({'ctrlKey':false,'shiftKey':true},event))

{

if ($('#p'+i+' .gold').html()=='*') gsChat('i[kris] '+resolve(i));

else gsChat('i[money] '+resolve(i));

return true;

}

if (lr_compare({'ctrlKey':false,'shiftKey':false},event))

{

move(i);

return true;

}

return true;

}

function gPi(data){

var pi = '';

for(var i in data){

v = data[i];

var pend = '';

if(v.u==my.uid){

var pp = Math.round((arrTSec['secNHw']/arrTSec['secNHwS'])*25);

pend = '<div id="piLtime"><div style="height:'+pp+'px"></div></div>';

}

$('#p'+i).html('<div class="lvl"></div><div class="gold"></div><div class="act"><div class="hp"></div><div class="mv"></div></div><img src="i.gif" id="c'+i+'" />'+pend);

$('#p'+i+' .gold').css({'position':'relative','top':'2px','text-align':'right','height':'0px','color':(v.c>5)?'red':'navy'});

$('#p'+i+' .gold').html((v.c>5)?'*':v.c);

$('#c'+i)[0].onclick=cell_click;

if(v.u==0){

if(i!=1) $('#p'+i).css({background:'url("img/bgp.gif")'});

else $('#p'+i).css({background:'url("img/bgpp.gif")'});

$('#p'+i+' .act').css({'display':'none'});

pi = 'img/char/a.gif';

if(v.c>0) pi = 'img/char/c.gif';

if(v.c>5) pi = 'img/char/k.gif';

$('#p'+i+' .lvl').html('');

}else{

pi = 'img/char/'+v.im+'_0.gif';

if(v.u==my.uid){

$('#p'+i).css({background:'url("img/bgpmy.gif")'});

arrSkill[1].a = v.c;

}else{

if(i!=1) $('#p'+i).css({background:'url("img/bgp.gif")'});

else $('#p'+i).css({background:'url("img/bgpp.gif")'});

}

$('#p'+i+' .act').css({'display':'inline'});

$('#p'+i+' .lvl').html(v.l);

$('#p'+i+' .hp').css({'width':v.h+'%'});

$('#p'+i+' .mv').css({'width':v.m+'%'});

}

$('#p'+i+' img').attr('src',pi);

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]