Jump to content
  • 0

Check player with mac for Bg


Question

Posted (edited)

Hi!, i installed Harmony.

And i want to test some player with the same mac. 

 

Check if  multiple people use  the same router or just one guy playing with 2 or more computers.

Edited by badneko

8 answers to this question

Recommended Posts

  • 0
Posted
-	script	dualbgclientkicker	-1,{
OnPCLoadMapEvent:
	set .@charmap$, strcharinfo(3);
	if(!compare(.tmp$,.@charmap$)) end;
	set .@len, query_sql("select account_id from `char` right join login on login.account_id = `char`.account_id where `char`.online = 1 and login.last_mac = '"+ getcharip() +"'",.@a );
	if(.@len-1) {
		for(set(.@d,0);.@d<.@len;set(.@d,.@d+1)) {
			getmapxy(.@map$,.@x,.@y,0,rid2name(.@a[.@d]));
			if(.@charmap$==.@map$&&rid2name(.@a[.@d])!=strcharinfo(0)) {
				dispbottom "Dual is not allowed in Battleground.";
				warp "pronter",0,0;
			}
		}
	}
	end;
	
OnInit:
	setarray   .maps$  ,	"BG map 1", "BG map 2", "BG map 3", "BG map 4"; // add more mpas if you have more BG maps
	set        .lens   ,	getarraysize(.maps$)                                   ;
	for(set(.a,0);.a<.lens;set(.a,.a+1)) {
		setmapflag .maps$[.a],	mf_loadevent ;
		set .tmp$  ,.tmp$+.maps$[.a]+",";
	}
}

This script is not mine, but use it 3+ years ago save on my external storage. not tested yet with current git.

  • 0
Posted (edited)

I don't really understand your question m8.

I mean, what do you want to test? a script to avoid DL by MAC?

 

People enter to Bg with autofollow. So is just one guy using other pc.

What i want is a script how test if there real people playing.

Something like, you have 10 seconds to answer or do something. 

Edited by badneko
  • 0
Posted (edited)

 

I don't really understand your question m8.

I mean, what do you want to test? a script to avoid DL by MAC?

 

People enter to Bg with autofollow. So is just one guy using other pc.

What i want is a script how test if there real people playing.

Something like, you have 10 seconds to answer or do something. 

 

IMO that is a little hard. Not the script itself but  it would be annoying for the users.

Also you cannot put an anti DL IP script because there is a lot of people who play with their brother/sister/girlfriend/friend etc.

I suggest you to put a anti DL by MAC and if you find people doing that shit just kick/jail/ban them. 

Kick by MAC using harmony:

 

- script dual_mac_5 -1,{
   OnPCLoadMapEvent:
        
         getmapxy(.@amap$,.@mapx,.@mapy,0);

         if(.@amap$!="bat_room") end; 
         set .@name$,strcharinfo(0);
         query_sql("SELECT last_hwid FROM `login` WHERE account_id = "+getcharid(3)+"", .@LastMac$);
         query_sql("SELECT account_id FROM `login` WHERE last_hwid = '"+.@LastMac$+"'", .@AccountId);
         set .@aidtemp,getcharid(3,strcharinfo(0));

         for(set .@i ,0;.@i<getarraysize(.@AccountId);set .@i,.@i+1)
            {
             if(attachrid(.@AccountId[.@i]))
               {
                 getmapxy(.@qmap$,.@qmapx,.@qmapy,0);
                 if (.@qmap$== .@amap$) {
logmes "[ "+ .@name$ +" - "+.@aidtemp+" ] es DL de [ "+ strcharinfo(0) +" - "+ .@AccountId[.@i] +" ] - HWID [ "+ .@LastMac$ +" ]";
set .@j,.@j+1;

}
                }
               detachrid;
            }
         attachrid .@aidtemp;
         //if(.@j > $@MaxWimdows) {
            //dispbottom "Prohibited Double Login in this map...";
              //warp "prontera",156,179;   
         //}
   end;
   
   OnInit:
   
   //set $@MaxWimdows,1;
   end;
   
   }
   
   //------Enable map OnPCLoadMapEvent-------------------

bat_room mapflag loadevent
Edited by Skorm
Added Code box.
  • 0
Posted

This script is not mine, but use it 3+ years ago save on my external storage. not tested yet with current git.

 

That's actually one of my scripts ^_^

  • Upvote 1
  • 0
Posted

Thanks guys for answer :P

 

 

 

I don't really understand your question m8.
I mean, what do you want to test? a script to avoid DL by MAC?
 

People enter to Bg with autofollow. So is just one guy using other pc.

What i want is a script how test if there real people playing.

Something like, you have 10 seconds to answer or do something. 

 

IMO that is a little hard. Not the script itself but  it would be annoying for the users.
Also you cannot put an anti DL IP script because there is a lot of people who play with their brother/sister/girlfriend/friend etc.

I suggest you to put a anti DL by MAC and if you find people doing that shit just kick/jail/ban them. 

Kick by MAC using harmony:
 

- script dual_mac_5 -1,{
   OnPCLoadMapEvent:
        
         getmapxy(.@amap$,.@mapx,.@mapy,0);

         if(.@amap$!="bat_room") end; 
         set .@name$,strcharinfo(0);
         query_sql("SELECT last_hwid FROM `login` WHERE account_id = "+getcharid(3)+"", .@LastMac$);
         query_sql("SELECT account_id FROM `login` WHERE last_hwid = '"+.@LastMac$+"'", .@AccountId);
         set .@aidtemp,getcharid(3,strcharinfo(0));

         for(set .@i ,0;.@i<getarraysize(.@AccountId);set .@i,.@i+1)
            {
             if(attachrid(.@AccountId[.@i]))
               {
                 getmapxy(.@qmap$,.@qmapx,.@qmapy,0);
                 if (.@qmap$== .@amap$) {
logmes "[ "+ .@name$ +" - "+.@aidtemp+" ] es DL de [ "+ strcharinfo(0) +" - "+ .@AccountId[.@i] +" ] - HWID [ "+ .@LastMac$ +" ]";
set .@j,.@j+1;

}
                }
               detachrid;
            }
         attachrid .@aidtemp;
         //if(.@j > $@MaxWimdows) {
            //dispbottom "Prohibited Double Login in this map...";
              //warp "prontera",156,179;   
         //}
   end;
   
   OnInit:
   
   //set $@MaxWimdows,1;
   end;
   
   }
   
   //------Enable map OnPCLoadMapEvent-------------------

bat_room mapflag loadevent

 

Uhmmmm i thinking something like ...

Player 1 enter to bat_room

Player  2 talk to bg recruiter

{Ops we got same mac with other player, wanna test?}

yes: Pick all player with same Mac, Recall players for verification test:

 

One idea:

Warp-> test room.

Count player in that room

Map broadcast-> You guys need to talk to the npc and answer in least 7 seconds. (short captcha)

Count answers == Player at room{Free pass to Bg for 1 Hour} if(gettimetick(2) - $passbg[0] > (60 * 60 ))

then players dont need to verification until the hour end.

  • 0
Posted

 

 

This script is not mine, but use it 3+ years ago save on my external storage. not tested yet with current git.

 

That's actually one of my scripts ^_^

 

Thank you Skorm for the script.  /lv

 

 

Skorm's scripts get lost because he doesn't label them properly.  /meh 

Regards,

~Azura Skyy

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...