Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var kek=function(){};
- var iam={};
- var nname='';
- WebSocket.prototype._send = WebSocket.prototype.send;
- WebSocket.prototype.send = function(data){
- //if(window.ssc)console.log(ssc.ClientPayload.toObject(ssc.ClientPayload.decode(data)));
- if(this.url.indexOf('evades.io/api/game/connect?')+1 && this.url != kek.url){
- kek=this;
- this.onmessage=function(e){
- if(!nname){
- let lea=document.getElementsByClassName('leaderboard-name');
- for(let i=0;i<lea.length;i++)if(lea[i].children.length)nname=lea[i].children[0].textContent;
- }
- let msg=ssc.FramePayload.toObject(ssc.FramePayload.decode(new Uint8Array(e.data)));
- if(msg.area){//change lvl
- msg.entities.forEach(function(a){
- if(!iam.id){
- if(a.name==nname){
- iam=a;//create player
- if(!iam.old)iam.old=[];
- iam.old.push({x:iam.x,y:iam.y,t:performance.now()});
- }
- }else{
- if(iam.id==a.id){
- for(var k in a)iam[k]=a[k];//update player
- if(!iam.old)iam.old=[];
- iam.old.push({x:iam.x,y:iam.y,t:performance.now()});
- }
- }
- });
- }
- if(msg.globalEntities)msg.globalEntities.forEach(function(a){
- if(a.id==iam.id){
- for(var k in a)iam[k]=a[k];//update player
- if(!iam.old)iam.old=[];
- iam.old.push({x:iam.x,y:iam.y,t:performance.now()});
- }
- });
- //complete redrawing function
- if(window.dr&&iam.old){
- window.dr=function(e,t){
- if(window.redy){
- window.redy=false;
- for(let i=0;i<iam.old.length;i++)
- if(performance.now()-iam.old[0].t>=2500){
- iam.old.splice(0,1);
- }else{break;}
- e.beginPath();
- e.arc(iam.old[0].x+t.x,iam.old[0].y+t.y,iam.radius||16,0,2*Math.PI,false);
- e.fillStyle='red';
- e.fill();
- }
- };
- }
- };
- }
- if(this.url.indexOf('evades.io/api/game/connect?')+1){
- }
- this._send(data);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement