Jump to content
  • 0

Forbidden same IP on few maps


Damon

Question


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  32
  • Reputation:   1
  • Joined:  12/07/11
  • Last Seen:  

Hi !

I wanted to know if it was possible a script that would forbidden two (or more) people on the same map.

(For example, in BG).

Thanks a lot :)

Link to comment
Share on other sites

19 answers to this question

Recommended Posts

  • 1

  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  32
  • Reputation:   1
  • Joined:  12/07/11
  • Last Seen:  

Hi !

Thx, its work.

And if i want add other map ? (Yep, i add maps on ---Enable map OnPCLoadMapEvent--- but,

I'm pretty sure :

if(.@amap$!="quiz_00","quiz01") end; 

doesn't work.

So, what i can do ? :)

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.01
  • Content Count:  47
  • Reputation:   0
  • Joined:  12/24/17
  • Last Seen:  

not also working for me 

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  40
  • Topics Per Day:  0.01
  • Content Count:  587
  • Reputation:   104
  • Joined:  11/19/11
  • Last Seen:  

-	script	abcde	-1,{
OnPCLoadMapEvent:

	   getmapxy(.@amap$,.@mapx,.@mapy,0);

	   if(.@amap$!="quiz_00") end;  

		query_sql("SELECT last_ip FROM `login` WHERE account_id = "+getcharid(3)+"", .@LastIp$);
		query_sql("SELECT account_id FROM `login` WHERE last_ip = '"+.@LastIp$+"'", .@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$) set .@j,.@j+1;
				 }
				detachrid;
		   }
		attachrid .@aidtemp;
		if(.@j > $@MaxWimdows)
			  warp "SavePoint",0,0;	
end;

OnInit:

set $@MaxWimdows,1;
end;

}

//------Enable map OnPCLoadMapEvent-------------------
quiz_00	mapflag	loadevent

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  69
  • Topics Per Day:  0.02
  • Content Count:  1315
  • Reputation:   372
  • Joined:  12/10/11
  • Last Seen:  

if(.@amap$!="quiz_00","quiz01") end;

You have to do it like this:

if(.@amap$!="quiz_00" || .@amap$ !="quiz01") end;

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  32
  • Reputation:   1
  • Joined:  12/07/11
  • Last Seen:  

Okay ! Try to do that :)

Thanks.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  407
  • Reputation:   159
  • Joined:  11/18/11
  • Last Seen:  

-	script	abcde	-1,{
OnPCLoadMapEvent:

	   getmapxy(.@amap$,.@mapx,.@mapy,0);

	   if(.@amap$!="quiz_00") end;  

		query_sql("SELECT last_ip FROM `login` WHERE account_id = "+getcharid(3)+"", .@LastIp$);
		query_sql("SELECT account_id FROM `login` WHERE last_ip = '"+.@LastIp$+"'", .@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$) set .@j,.@j+1;
				 }
				detachrid;
		   }
		attachrid .@aidtemp;
		if(.@j > $@MaxWimdows)
			  warp "SavePoint",0,0;	
end;

OnInit:

set $@MaxWimdows,1;
end;

}

//------Enable map OnPCLoadMapEvent-------------------
quiz_00	mapflag	loadevent

It works only with static IP addresses. Dynamic IP's will ignore this script.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  40
  • Topics Per Day:  0.01
  • Content Count:  587
  • Reputation:   104
  • Joined:  11/19/11
  • Last Seen:  

It works only with static IP addresses. Dynamic IP's will ignore this script.

yup,I think his purpose is to avoid the same computer using multiple windows :)

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

if(.@amap$!="quiz_00","quiz01") end;

You have to do it like this:

if(.@amap$!="quiz_00" || .@amap$ !="quiz01") end;

you have to use && instead of ||

should be

if(.@amap$!="quiz_00" && .@amap$ !="quiz01") end;

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  32
  • Topics Per Day:  0.01
  • Content Count:  76
  • Reputation:   0
  • Joined:  01/16/12
  • Last Seen:  

i test it it doesnt work ..it kick me out even im not using dual .

- script abcde -1,{

OnPCLoadMapEvent:

getmapxy(.@amap$,.@mapx,.@mapy,0);

if(.@amap$!="bat_room") end;

query_sql("SELECT last_ip FROM `login` WHERE account_id = "+getcharid(3)+"", .@LastIp$);

query_sql("SELECT account_id FROM `login` WHERE last_ip = '"+.@LastIp$+"'", .@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$) set .@j,.@j+1;

}

detachrid;

}

attachrid .@aidtemp;

if(.@j > $@MaxWimdows)

announce "Dual Account Detected!",bc_self,0xEE6AA7;

warp "SavePoint",0,0;

end;

OnInit:

set $@MaxWimdows,1;

end;

}

bat_room mapflag loadevent

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  187
  • Reputation:   35
  • Joined:  01/01/12
  • Last Seen:  

you have to use && instead of ||

should be

if(.@amap$!="quiz_00" && .@amap$ !="quiz01") end;

It should be OR(||) or it wont work unless that person has 2 identity that exist in those 2 maps at the same time.

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

you have to use && instead of ||

should be

if(.@amap$!="quiz_00" && .@amap$ !="quiz01") end;

It should be OR(||) or it wont work unless that person has 2 identity that exist in those 2 maps at the same time.

:) ...check the script carefully....

he want to NOT apply to this 2 maps only.....

quiz00    or    quiz01

if he is out of these 2 map....the script will run...

that's why..........

when u see the inside the script...separately...

it is like this

.@amap$ != "quiz_00"
.@amap$ != "quiz_00"

as you can can see here....he using "NOT EQUAL TO" ( != ) symbol

so..when your script like this...

if( .@amap$!="quiz_00" || .@amap$!="quiz_00" ) end;

the code run like this..

if the character not located at quiz_00 OR not located at quit_01....then script stop

so....your script will never run..because your char cant be at these 2 place at the same time...

so you must use && and not ||

the correct 1 is this

if( .@amap$!="quiz_00" && .@amap$!="quiz_00" ) end;

if the char is not located at quiz_00 AND not located at quiz_01 ..the script will stop..

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  32
  • Topics Per Day:  0.01
  • Content Count:  76
  • Reputation:   0
  • Joined:  01/16/12
  • Last Seen:  

My concerned is its not WORKING !

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

try this

- script Sample -1,{
OnPCLoadMapEvent:
if( strcharinfo(3) == .Map$ ){
set .@i, query_sql("SELECT `last_ip` FROM `login` WHERE account_id="+getcharid(3)+"",.@IP);
set .@i, query_sql("SELECT `account_id` FROM `login` WHERE last_ip="+.@IP+"");
if( .@i >= .Limit ){
 mes "We detected there is "+.Limit+" or more users with same IP Logged in.";
 mes "Please log off these unused account.";
 close2;
 warp "prontera",155,181;
}
}
end;
OnInit:
// How many Account with Same IP to trigger this Event
set .Limit,2;
// What Map will trigger the script
set .Map$,"payon";

setmapflag .Map$,mf_loadevent;
end;
}

Error...so removed..and ip remained upon log off...bugged the script...dont use...

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  22
  • Topics Per Day:  0.00
  • Content Count:  764
  • Reputation:   220
  • Joined:  11/14/11
  • Last Seen:  

-	script	abcde	-1,{
OnPCLoadMapEvent:

	   getmapxy(.@amap$,.@mapx,.@mapy,0);

	   if(.@amap$!="quiz_00") end;  

		query_sql("SELECT last_ip FROM `login` WHERE account_id = "+getcharid(3)+"", .@LastIp$);
		query_sql("SELECT account_id FROM `login` WHERE last_ip = '"+.@LastIp$+"'", .@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$) set .@j,.@j+1;
				 }
				detachrid;
		   }
		attachrid .@aidtemp;
		if(.@j > $@MaxWimdows)
			  warp "SavePoint",0,0;	
end;

OnInit:

set $@MaxWimdows,1;
end;

}

//------Enable map OnPCLoadMapEvent-------------------
quiz_00	mapflag	loadevent

It works only with static IP addresses. Dynamic IP's will ignore this script.

It works only with static IP addresses. Dynamic IP's will ignore this script.

yup,I think his purpose is to avoid the same computer using multiple windows :)

Why should this idea not work with dynamic IP addresses? When your IP changes you are disconnected from the server -> new login -> new data in `login`.`last_ip`!

BTW; Restricting things by IP is a very bad idea. Why do you want to ban brothers (for example) from being in BG together?

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

@TS

you can try this..

http://pastebin.com/raw.php?i=FxGBgUxv

// How many User with Same IP can logged in and stay at the specific map
set .Limit,2;
// What map will be restricted
set .Map$,"payon";

and ya..like what Kenpachi said is so..true... >.<

@kenpachi

maybe his brother too pro than him..so he dont want his brother to play BG with him..

hahahahhaha

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  32
  • Topics Per Day:  0.01
  • Content Count:  76
  • Reputation:   0
  • Joined:  01/16/12
  • Last Seen:  

@Emistry its not Working

theres no error ...but nothing happend . use dual with my Gm account to test . Nothing Happend .

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  187
  • Reputation:   35
  • Joined:  01/01/12
  • Last Seen:  

@Emistry ohh my bad i mislooked the end; statement

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  32
  • Topics Per Day:  0.01
  • Content Count:  76
  • Reputation:   0
  • Joined:  01/16/12
  • Last Seen:  

not working ..im using eAthena SVN 15704M

Link to comment
Share on other sites

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.

×
×
  • Create New...