Jump to content
  • 0
celeron0134

npc that checks cells if there's already a player on that cell

Question

this NPC checks if the user is on the right cell so the user can talk or not talk to the NPC.. 

if you are outside the cell.. and a player is already in the cell you cant talk to the NPC or a dialogue will pop up that someone is still in front of me

wait for him/her to leave the cell

quiz_02,246,374,4	script	cell checker	112,{

	.@n = getareausers("quiz_02", 246, 372, 246, 372);

	if (.@n < 1) {
	mes "["+ strnpcinfo(0) +"]";
	mes "Please stand in front of me to talk";
	close;
}

	if (.@n == 1)
	mes "["+ strnpcinfo(0) +"]";
	mes "Congrats you are now in front of me";
	close;
	}else{
		npctalk "Too many people in front of me, only one person will be teleported in next 10 minute.";
	end;

}

i need something like this

	if ((.@n == 1) && (strcharinfo(0) != .@n))
	mes "someone is on front of me";
	mes "and i am waiting for him/her to talk to me";
	mes "wait till the player leave the cell";
	end;

 

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0
  On 2/1/2021 at 11:48 AM, celeron0134 said:

this NPC checks if the user is on the right cell so the user can talk or not talk to the NPC.. 

if you are outside the cell.. and a player is already in the cell you cant talk to the NPC or a dialogue will pop up that someone is still in front of me

wait for him/her to leave the cell

quiz_02,246,374,4 script cell checker 112,{ .@n = getareausers("quiz_02", 246, 372, 246, 372); if (.@n < 1) { mes "["+ strnpcinfo(0) +"]"; mes "Please stand in front of me to talk"; close; } if (.@n == 1) mes "["+ strnpcinfo(0) +"]"; mes "Congrats you are now in front of me"; close; }else{ npctalk "Too many people in front of me, only one person will be teleported in next 10 minute."; end; }

quiz_02,246,374,4	script	cell checker	112,{

	.@n = getareausers("quiz_02", 246, 372, 246, 372);

	if (.@n < 1) {
	mes "["+ strnpcinfo(0) +"]";
	mes "Please stand in front of me to talk";
	close;
}

	if (.@n == 1)
	mes "["+ strnpcinfo(0) +"]";
	mes "Congrats you are now in front of me";
	close;
	}else{
		npctalk "Too many people in front of me, only one person will be teleported in next 10 minute.";
	end;

}

i need something like this

if ((.@n == 1) && (strcharinfo(0) != .@n)) mes "someone is on front of me"; mes "and i am waiting for him/her to talk to me"; mes "wait till the player leave the cell"; end;

	if ((.@n == 1) && (strcharinfo(0) != .@n))
	mes "someone is on front of me";
	mes "and i am waiting for him/her to talk to me";
	mes "wait till the player leave the cell";
	end;

 

https://github.com/HerculesWS/Hercules/blob/master/doc/script_commands.txt#L3737

Share this post


Link to post
Share on other sites
  • 0
  On 2/1/2021 at 11:48 AM, celeron0134 said:

this NPC checks if the user is on the right cell so the user can talk or not talk to the NPC.. 

if you are outside the cell.. and a player is already in the cell you cant talk to the NPC or a dialogue will pop up that someone is still in front of me

wait for him/her to leave the cell

quiz_02,246,374,4 script cell checker 112,{ .@n = getareausers("quiz_02", 246, 372, 246, 372); if (.@n < 1) { mes "["+ strnpcinfo(0) +"]"; mes "Please stand in front of me to talk"; close; } if (.@n == 1) mes "["+ strnpcinfo(0) +"]"; mes "Congrats you are now in front of me"; close; }else{ npctalk "Too many people in front of me, only one person will be teleported in next 10 minute."; end; }

quiz_02,246,374,4	script	cell checker	112,{

	.@n = getareausers("quiz_02", 246, 372, 246, 372);

	if (.@n < 1) {
	mes "["+ strnpcinfo(0) +"]";
	mes "Please stand in front of me to talk";
	close;
}

	if (.@n == 1)
	mes "["+ strnpcinfo(0) +"]";
	mes "Congrats you are now in front of me";
	close;
	}else{
		npctalk "Too many people in front of me, only one person will be teleported in next 10 minute.";
	end;

}

i need something like this

if ((.@n == 1) && (strcharinfo(0) != .@n)) mes "someone is on front of me"; mes "and i am waiting for him/her to talk to me"; mes "wait till the player leave the cell"; end;

	if ((.@n == 1) && (strcharinfo(0) != .@n))
	mes "someone is on front of me";
	mes "and i am waiting for him/her to talk to me";
	mes "wait till the player leave the cell";
	end;

 

you didnt mention your problem, or what exactly you want..
difficult to assume what you are looking for ...

Share this post


Link to post
Share on other sites
  • 0
  On 2/2/2021 at 2:14 PM, Master@Ragna said:

you didnt mention your problem, or what exactly you want..
difficult to assume what you are looking for ...

Problem of the script

.@n = getareausers("quiz_02", 246, 372, 246, 372);

1) if player A is on .@n and player B is not on .@n ~ Player B can talk to the NPC

 

what to do:

1) if Player A is on .@n (talking or not talking to the NPC) Player B will not be able to talk to the NPC

    for example .. on a soda machine.. only 1 person at a time can use the soda machine

 

	if ((.@n == 1) && (strcharinfo(0) is not on .@n))
	mes "someone is on front of me";
	mes "and i am waiting for him/her to talk to me";
	mes "wait till the player leave the cell";
	end;


  

 

Share this post


Link to post
Share on other sites
  • 0
  On 2/4/2021 at 4:58 PM, celeron0134 said:

Problem of the script

.@n = getareausers("quiz_02", 246, 372, 246, 372);

1) if player A is on .@n and player B is not on .@n ~ Player B can talk to the NPC

 

what to do:

1) if Player A is on .@n (talking or not talking to the NPC) Player B will not be able to talk to the NPC

    for example .. on a soda machine.. only 1 person at a time can use the soda machine

 

if ((.@n == 1) && (strcharinfo(0) is not on .@n)) mes "someone is on front of me"; mes "and i am waiting for him/her to talk to me"; mes "wait till the player leave the cell"; end;

	if ((.@n == 1) && (strcharinfo(0) is not on .@n))
	mes "someone is on front of me";
	mes "and i am waiting for him/her to talk to me";
	mes "wait till the player leave the cell";
	end;


  

 

You can use this command:

  Reveal hidden contents

 

Share this post


Link to post
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.   Restore formatting

  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...

Important Information

By using this site, you agree to our Terms of Use.