Jump to content
  • 0

instance party warp


Reborn

Question


  • Group:  Members
  • Topic Count:  104
  • Topics Per Day:  0.03
  • Content Count:  290
  • Reputation:   3
  • Joined:  09/29/13
  • Last Seen:  

How can I do this?

when the party leader picks enter dungeon all the party member will be warped too at the same time.

Can anyone provide me a sample script for this one please...

I tried to use getpartymember but I dont know how to create it. please guide me. Thanks

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  4
  • Topics Per Day:  0.00
  • Content Count:  58
  • Reputation:   4
  • Joined:  04/15/16
  • Last Seen:  

try this code

if(getpartyleader(getcharid(1),2) == getcharid(0)) {
  getpartymember getcharid(1), 1;
  getpartymember getcharid(1), 2;
  for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
    if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) {
		attachrid $@partymemberaid[.@i];
		warp "destination",0,0;
    }
  }
}

 

Edited by maxine02
  • Upvote 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  27
  • Topics Per Day:  0.01
  • Content Count:  505
  • Reputation:   126
  • Joined:  04/04/16
  • Last Seen:  

Just make sure that when you warped the whole party, all of them should go thru 'setquest' and set the variables that is needed when the player entered the instance.

I think you should also use "instance_enter" instead of "warp" to make sure they are on the right instance map.

I recently made an instance that warps the whole party when the party leader enter the instance for the first time. I use the script from endless tower and modified the warping part.

This one was the script. PS: I removed some checking part bc it was long so i wont recommend just copy pasting this one. Just wanted to give u an idea how warping was made

	.@party_id = getcharid(1);
	.@md_name$ = "Dragons Dungeon";
	.@dragon_timer = checkquest(25000,PLAYTIME); // Cooldown 24 Hours
	.@dragon_timer2 = checkquest(25001,PLAYTIME); // Time Limit 3 hours
	if( !instance_check_party(.@party_id,2) ) {
		mes "Make or join a party with more than 1 member and try again.";
		close;
	}
	switch( .@dragon_timer ) {
	case -1:
		if( getcharid(0) == getpartyleader(.@party_id,2) ) {
			mes "Confirmed the party has been made. Would you like to reserve entrance to the Dragons Dungeon?";
			next;
			switch( select("Generate dungeon "+.@md_name$+":Enter the dungeon:Cancel") ) {
			case 1:
				if( instance_create(.@md_name$) < 0 ) {
					mes "Party Name: "+ getpartyname(.@party_id);
					mes "Party Leader: "+strcharinfo(0);
					mes "^0000ff"+.@md_name$+" ^000000- Reservation Failed!";
					close;
				}
				mes "^0000ff"+.@md_name$+"^000000 - Try to reserve";
				mes "After making a reservation, you have to talk to NPC behind and select the menu 'Enter the Dungeon' to enter the dungeon.";
				close;
			case 2:
				callsub L_Enter,0,1,1;
			case 3:
				close;
			}
		}
		switch( select("Enter the "+.@md_name$+":Cancel") ) {
		case 1:
				callsub L_Enter,1,1,0;
		case 2:
			end;
		}
	case 0:
	case 1:
		if( .@dragon_timer2 < 2 && getcharid(1) == dragonq_partyid ) {
			mes "If you have the dungeon generated already, you can enter it. ";
			next;
			switch(select("Enter the "+.@md_name$+":Cancel")) {
			case 1:
				callsub L_Enter,0,0,0;
			case 2:
				close;
			}
		} else {
			.@dun_lim_time = dragonq_timer + 86400; // 24 hours
			.@dun_cur_time = gettimetick(2);
			.@dun_ent_t = (.@dun_lim_time - .@dun_cur_time);
			.@dun_h = (.@dun_ent_t / 3600);
			.@dun_m = (.@dun_ent_t - (.@dun_h * 3600)) / 60;
			.@dun_s = .@dun_ent_t - ((.@dun_h * 3600) + (.@dun_m * 60));
			mes "You cannot enter the Dragons Dungeon right now, " + .@dun_h + "hours " + .@dun_m + "minutes " + .@dun_s + "seconds left to enter the dungeon.";
			close;
		}
	case 2:
		dragonq_timer = 0;
		erasequest 25000;
		erasequest 25001;
		mes "^0000ffThe records related to the Dragons Dungeon have been removed. You can generate and enter the Dragons Dungeon again.^000000";
		close;
	}

L_Enter:
	switch( instance_enter("Dragons Dungeon") ) {
	case IE_OTHER:
		mes "An unknown error has occurred.";
		close;
	case IE_NOINSTANCE:
		mes "The Dragons Dungeon does not exist.";
		mes "The party leader did not generate the dungeon yet.";
		close;
	case IE_NOMEMBER:
		mes "You can enter the dungeon after making the party.";
		close;
	case IE_OK:
		if( getarg(2) ) {
			.@myRID = getcharid(3);
			.@myPID	= getcharid(1);
			mapannounce "prontera", "The party, "+ getpartyname( .@myPID ) +", is entering the Dragons Dungeon.",bc_map,"0x00ff99",FW_NORMAL,12;
			addrid(2), 0, .@myPID;
			if( getcharid(3) != .@myRID ) {
				if( instance_enter("Dragons Dungeon") == IE_OK ) {
					dragonq_timer = gettimetick(2);
					dragonq_partyid = getcharid(1);
					setquest 25000;
					setquest 25001;
					end;
				} else {
					mes "An unknown error has occurred.";
					close;
				}
			}
		} else
			mapannounce "prontera", strcharinfo(0) +" of the party, "+ getpartyname( getcharid(1) ) +", is entering the Dragons Dungeon.",bc_map,"0x00ff99",FW_NORMAL,12;
		if( getarg(1) ) {
			dragonq_timer = gettimetick(2);
			dragonq_partyid = getcharid(1);
			setquest 25000;
			setquest 25001;
		}
		if( getarg(0) == 0 ) close;
		else end;
	}

 

This one was the warping part

case IE_OK:
		if( getarg(2) ) {
			.@myRID = getcharid(3);
			.@myPID	= getcharid(1);
			mapannounce "prontera", "The party, "+ getpartyname( .@myPID ) +", is entering the Dragons Dungeon.",bc_map,"0x00ff99",FW_NORMAL,12;
			addrid(2), 0, .@myPID;
			if( getcharid(3) != .@myRID ) {
				if( instance_enter("Dragons Dungeon") == IE_OK ) {
					dragonq_timer = gettimetick(2);
					dragonq_partyid = getcharid(1);
					setquest 25000;
					setquest 25001;
					end;
				} else {
					mes "An unknown error has occurred.";
					close;
				}
			}
		}

 

  • Upvote 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  104
  • Topics Per Day:  0.03
  • Content Count:  290
  • Reputation:   3
  • Joined:  09/29/13
  • Last Seen:  

@Technoken

It seems like its not warping the whole party automatically. What I am looking for is once the party leader enter the dungeon the whole party should be warp as well automatically.

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  27
  • Topics Per Day:  0.01
  • Content Count:  505
  • Reputation:   126
  • Joined:  04/04/16
  • Last Seen:  

19 minutes ago, neXus said:

@Technoken

It seems like its not warping the whole party automatically. What I am looking for is once the party leader enter the dungeon the whole party should be warp as well automatically.

It's working on me though :P 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  104
  • Topics Per Day:  0.03
  • Content Count:  290
  • Reputation:   3
  • Joined:  09/29/13
  • Last Seen:  

18 hours ago, Technoken said:

It's working on me though :P 

@Technoken

Is it possible that once the party leader generates the instance the whole party will be warped automatically with talking to the NPC again?

Edited by neXus
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  27
  • Topics Per Day:  0.01
  • Content Count:  505
  • Reputation:   126
  • Joined:  04/04/16
  • Last Seen:  

You can try to add callsub under the script after creating instance.

case 1:
				if( instance_create(.@md_name$) < 0 ) {
					mes "Party Name: "+ getpartyname(.@party_id);
					mes "Party Leader: "+strcharinfo(0);
					mes "^0000ff"+.@md_name$+" ^000000- Reservation Failed!";
					close;
				}
				//mes "^0000ff"+.@md_name$+"^000000 - Try to reserve";
				//mes "After making a reservation, you have to talk to NPC behind and select the menu 'Enter the Dungeon' to enter the dungeon.";
				//close;
				callsub L_Enter,0,1,1;
				end;

 

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