Jump to content
  • 0

Make a server don't see other players


Vietlubu

Question


  • Group:  Members
  • Topic Count:  36
  • Topics Per Day:  0.01
  • Content Count:  141
  • Reputation:   24
  • Joined:  01/19/12
  • Last Seen:  

Hi everyone, it's weird when I want to open a server where the players do not see each other.
My friend and I want to run a server with only 2 players, maybe 5. And we do not want to see each other at all maps. Even the monsters they see are different.

Like this:
- First of all, we do not want to see each other.
- Monsters are different to each other, this means that we do not fight each other's monsters, not pick up each other's items and do not see each other's skills.
- Do not see each other's chat messages. Unable to make friends, private messages, party, guild, ...
- We can only meet in Prontera or a special map.

I can only write basic scripts so I'm looking forward to your suggestions and help.
All suggestions from your friends will be recorded.
Thank you all.

 

Update: If I just want player cannot see each other but can see same monsters. Do you have any idea? Thanks!

 /thx

Edited by choidk
Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  298
  • Reputation:   47
  • Joined:  03/30/13
  • Last Seen:  

18 minutes ago, choidk said:

Hi everyone, it's weird when I want to open a server where the players do not see each other.
My friend and I want to run a server with only 2 players, maybe 5. And we do not want to see each other at all maps. Even the monsters they see are different.

Like this:
- First of all, we do not want to see each other.
- Monsters are different to each other, this means that we do not fight each other's monsters, not pick up each other's items and do not see each other's skills.
- Do not see each other's chat messages. Unable to make friends, private messages, party, guild, ...
- We can only meet in Prontera or a special map.

I can only write basic scripts so I'm looking forward to your suggestions and help.
All suggestions from your friends will be recorded.
Thank you all.

 /thx

create a 2 servers so that you wont be able to see each other

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  50
  • Reputation:   9
  • Joined:  01/09/12
  • Last Seen:  

1 hour ago, choidk said:

Hi everyone, it's weird when I want to open a server where the players do not see each other.
My friend and I want to run a server with only 2 players, maybe 5. And we do not want to see each other at all maps. Even the monsters they see are different.

Like this:
- First of all, we do not want to see each other.
- Monsters are different to each other, this means that we do not fight each other's monsters, not pick up each other's items and do not see each other's skills.
- Do not see each other's chat messages. Unable to make friends, private messages, party, guild, ...
- We can only meet in Prontera or a special map.

I can only write basic scripts so I'm looking forward to your suggestions and help.
All suggestions from your friends will be recorded.
Thank you all.

 /thx

Make all map except prontera is a instance.

 

  • Love 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  8
  • Topics Per Day:  0.00
  • Content Count:  1137
  • Reputation:   290
  • Joined:  04/29/13
  • Last Seen:  

Weird concept, 

 

Best way to do it is to duplicate all maps 5x and mob spowns for 5 players

And warp players to the maps based on account id's, or check mapusers and prevent warping if players existing in the map 

Edited by Cyro
  • Love 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  36
  • Topics Per Day:  0.01
  • Content Count:  141
  • Reputation:   24
  • Joined:  01/19/12
  • Last Seen:  

1 hour ago, Vy Low said:

create a 2 servers so that you wont be able to see each other

Thanks, but I don't know how all players can see each other in Prontera.

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  36
  • Topics Per Day:  0.01
  • Content Count:  141
  • Reputation:   24
  • Joined:  01/19/12
  • Last Seen:  

38 minutes ago, Dometh said:

Make all map except prontera is a instance.

 

Thank you, make all maps like instance is a good idea. I will research by this way.

But, I don't know when player enter a warp portal is will be go to correct instance (map) or not

Edited by choidk
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  36
  • Topics Per Day:  0.01
  • Content Count:  141
  • Reputation:   24
  • Joined:  01/19/12
  • Last Seen:  

20 minutes ago, Cyro said:

Weird concept, 

 

Best way to do it is to duplicate all maps 5x and mob spowns for 5 players

And warp players to the maps based on account id's, or check mapusers and prevent warping if players existing in the map 

Thank you, I think it a stable way. But, have any way to clone all map with number player online? humm, and if clone like this with 100 maps, the server will be clone to 500 maps /abs

If I just want player cannot see each other but can see same monsters. Do you have any idea? Thanks!

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  26
  • Topics Per Day:  0.01
  • Content Count:  350
  • Reputation:   43
  • Joined:  09/07/12
  • Last Seen:  

Modify warps to create and join instance of destination map,

Add monsters npc and etc to the instanceed map, you can grab this data from the original map,

Yea, looks like a heavy work,

  • Love 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  36
  • Topics Per Day:  0.01
  • Content Count:  141
  • Reputation:   24
  • Joined:  01/19/12
  • Last Seen:  

38 minutes ago, benching said:

Modify warps to create and join instance of destination map,

Add monsters npc and etc to the instanceed map, you can grab this data from the original map,

Yea, looks like a heavy work,

Thank you,

If I add maps to this file: rathena/npc/mapflag/restricted.txt. Do I need to modify warps point?

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  50
  • Reputation:   9
  • Joined:  01/09/12
  • Last Seen:  

1 hour ago, choidk said:

Thank you,

If I add maps to this file: rathena/npc/mapflag/restricted.txt. Do I need to modify warps point?

You MUST haha

Write a custom warp to join instance.
Good luck.

  • Like 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  36
  • Topics Per Day:  0.01
  • Content Count:  141
  • Reputation:   24
  • Joined:  01/19/12
  • Last Seen:  

44 minutes ago, Dometh said:

You MUST haha

Write a custom warp to join instance.
Good luck.

Yes, many warp portals need to customize /wah

Link to comment
Share on other sites

  • 0

  • Group:  Content Moderator
  • Topic Count:  55
  • Topics Per Day:  0.02
  • Content Count:  1676
  • Reputation:   703
  • Joined:  12/21/14
  • Last Seen:  

duplicate the maps you want and name them like at the end _1 _2 _3 etc

duplicate the npcs in the maps too

duplicate the warps

make a command script like @channel 

make it accept numbers as many as there is map duplicate

command example:

-	script	channel_command	-1,{
OnChannel:
		getmapxy(.@map$,.@x,.@y)
		if(atoi(.@atcmd_parameters$[0]) <= .channel_num){
			for(.@i = 0;.@i < getarraysize(.channels); .@i++){
				if(.@map$ == .channels[.@i]){
					.@maps$ = getd(.@map$ + "_" + atoi(.@atcmd_parameters$[0]));
					warp .@maps$,.@x,.@y;
					message strcharinfo(0),"you are now in channel"+ atoi(.@atcmd_parameters$[0]) +".";
					end;
				}	
			}
		}else{
			message strcharinfo(0),"there is no channel with this number.";
		}
end;
OnInit:
	bindatcmd("channel",strnpcinfo(3)+"::OnChannel",0,99);
	setarray .channels,"prontera";//the maps you want
	.channel_num = 5; //the number of channels
end;
}

^ i just type it didn't test it

now you need to type the maps you want in the array .channels

example prontera

i am in prontera but i want to get to prontera channel 1 i type @channel 1 it will warp me to prontera_1 etc

just an idea

EDIT:

i realized there is already @channel command lol

if you used this change 

bindatcmd("channel",strnpcinfo(3)+"::OnChannel",0,99);

(channel) to something else 

Edited by sader1992
  • Love 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  36
  • Topics Per Day:  0.01
  • Content Count:  141
  • Reputation:   24
  • Joined:  01/19/12
  • Last Seen:  

13 hours ago, sader1992 said:

duplicate the maps you want and name them like at the end _1 _2 _3 etc

duplicate the npcs in the maps too

duplicate the warps

make a command script like @channel 

make it accept numbers as many as there is map duplicate

command example:


-	script	channel_command	-1,{
OnChannel:
		getmapxy(.@map$,.@x,.@y)
		if(atoi(.@atcmd_parameters$[0]) <= .channel_num){
			for(.@i = 0;.@i < getarraysize(.channels); .@i++){
				if(.@map$ == .channels[.@i]){
					.@maps$ = getd(.@map$ + "_" + atoi(.@atcmd_parameters$[0]));
					warp .@maps$,.@x,.@y;
					message strcharinfo(0),"you are now in channel"+ atoi(.@atcmd_parameters$[0]) +".";
					end;
				}	
			}
		}else{
			message strcharinfo(0),"there is no channel with this number.";
		}
end;
OnInit:
	bindatcmd("channel",strnpcinfo(3)+"::OnChannel",0,99);
	setarray .channels,"prontera";//the maps you want
	.channel_num = 5; //the number of channels
end;
}

^ i just type it didn't test it

now you need to type the maps you want in the array .channels

example prontera

i am in prontera but i want to get to prontera channel 1 i type @channel 1 it will warp me to prontera_1 etc

just an idea

EDIT:

i realized there is already @channel command lol

if you used this change 


bindatcmd("channel",strnpcinfo(3)+"::OnChannel",0,99);

(channel) to something else 

9

Thank you, I will try it at weekend. Duplicate maps and NPCs is mean I need to duplicate script in NPC folder?

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  26
  • Topics Per Day:  0.01
  • Content Count:  350
  • Reputation:   43
  • Joined:  09/07/12
  • Last Seen:  

On 10/10/2017 at 4:43 PM, benching said:

Modify warps to create and join instance of destination map,

Add monsters npc and etc to the instanceed map, you can grab this data from the original map,

Yea, looks like a heavy work,

By "modify warps" i mean in src code,

Instead of warping a player to the destination map,

Make it "create an instance of the destination map then warp the player to that instance",

(Note: Im not sure if theres an instance for a single player, (no party or guild))

 

 

Edited by benching
Link to comment
Share on other sites

  • 0

  • Group:  Content Moderator
  • Topic Count:  55
  • Topics Per Day:  0.02
  • Content Count:  1676
  • Reputation:   703
  • Joined:  12/21/14
  • Last Seen:  

9 hours ago, choidk said:

Thank you, I will try it at weekend. Duplicate maps and NPCs is mean I need to duplicate script in NPC folder?

example:

you wanna duplicate this npc from rathena/npc/cities/prontera.txt

Spoiler


prontera,216,70,2    script    Strife#pront    48,{
    if (Class == Job_Novice) {
        if (event_prt_nov_dreamtalk == 0) {
            mes "[Strife]";
            mes "Whew!";
            mes "Man oh man...";
            mes "I'm gonna be such";
            mes "an awesome Knight!";
            next;
            mes "[Strife]";
            mes "I know, I know...";
            mes "First, I gotta be a Swordie. But if I keep practicing, I can become an awesome Swordie. And then after that...";
            next;
            mes "[Strife]";
            mes "I'll be the most";
            mes "awesomest Knight around!";
            mes "It's... It's my most precious dream.";
            next;
            mes "[Strife]";
            mes "MAGNUM BREAK!";
            next;
            if (select("I wanna be strong too!:Um... Do you best.") == 1) {
                set event_prt_nov_dreamtalk,1;
                mes "[Strife]";
                mes "Wow...!";
                mes "That's so awesome!";
                mes "We both share the";
                mes "same dream!";
                next;
                mes "[Strife]";
                mes "Hey, if you wanna become a Swordie, you gotta go to Izlude. There, you can go ahead and take the Swordman job test. The first time, I, um, failed miserably. But I won't fail again!";
                next;
                mes "[Strife]";
                mes "Training! Training! Gotta keep training! You need to be strong too! Once we both get stronger, we'll meet again!";
                close;
            }
            mes "[Strife]";
            mes "Heh heh! I will for sure! 'Strife, the courageous Knight.' It sounds cool, doesn't it?";
            close;
        }
        else {
            mes "[Strife]";
            mes "Fight...!";
            mes "Fight Fight FIGHT!";
            close;
        }
    }
    else if (Class != Job_Novice) {
        if (event_prt_nov_dreamtalk == 1) {
            mes "[Strife]";
            mes "Hey...!";
            mes "You look different now. *Gasp* You've gotten... ^993333stronger^000000. Wow, that's so coooool!";
            next;
            mes "[Strife]";
            mes "I'm so jealous!";
            mes "I guess that means";
            mes "that now, I gotta";
            mes "train even harder!";
            next;
            set event_prt_nov_dreamtalk,2;
            getitem 2501,1; //Hood
            mes "[Strife]";
            mes "This is, well, for you to help you get even stronger. I guess I want to thank you for being such a good example.";
            close;
        }
        else if (event_prt_nov_dreamtalk == 2) {
            mes "[Strife]";
            mes "Fight! Fight!";
            close;
        }
        mes "[Strife]";
        mes "Whew!";
        mes "Man oh man...";
        mes "I'm gonna be such";
        mes "an awesome Knight!";
        next;
        mes "[Strife]";
        mes "I know, I know...";
        mes "First, I gotta be a Swordie. But if I keep practicing, I can become an awesome Swordie. And then after that...";
        next;
        mes "[Strife]";
        mes "I'll be the most";
        mes "awesomest Knight around!";
        mes "It's... It's my most precious dream.";
        next;
        if (select("Do your best.:Quit it, kid.") == 1) {
            mes "[Strife]";
            mes "Yes, yes of course! Someday, I'll even be as strong as you! When that day comes, I hope that we can train together!";
            close;
        }
        mes "[Strife]";
        mes "Wha--?";
        mes "Fine! But I'm gonna keep on training, and we'll see who gets the last laugh!";
        close;
    }
}
 

you just type

//for the map prontera_1
prontera_1,216,70,2	duplicate(Strife#pront)	Strife#pront1	48
//for the map prontera_2
prontera_2,216,70,2	duplicate(Strife#pront)	Strife#pront2	48

this will copy all the script for that npc for the map so it's much faster

you just make a file have all your duplicates and it would be easier for you too

  • Like 1
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...