Jump to content
  • 0

checkquest playtime


iubantot

Question


  • Group:  Members
  • Topic Count:  117
  • Topics Per Day:  0.03
  • Content Count:  312
  • Reputation:   34
  • Joined:  10/15/12
  • Last Seen:  

about checkquest command

If parameter "PLAYTIME" is supplied:
	-1 = Quest not started (not in quest log)
	0  = the time limit has not yet been reached
	1  = the time limit has not been reached but the quest is marked as complete
	2  = the time limit has been reached

so when i use complete quest the parameter becomes 1.

 

does the timer for playtime still ticks after i use complete quest on it? and eventually will return 2 if the time limit is reached?

 

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  31
  • Topics Per Day:  0.01
  • Content Count:  283
  • Reputation:   31
  • Joined:  07/08/14
  • Last Seen:  

try to create a quest which has a short time limit and complete it. Once you reach the time limit check it again and you'll know.

 

It all depends on wether the timer is deleted upon completion or not, if I were to one who created it I would delete the timer since it would be useless to continue running it.

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  117
  • Topics Per Day:  0.03
  • Content Count:  312
  • Reputation:   34
  • Joined:  10/15/12
  • Last Seen:  

try to create a quest which has a short time limit and complete it. Once you reach the time limit check it again and you'll know.

 

It all depends on wether the timer is deleted upon completion or not, if I were to one who created it I would delete the timer since it would be useless to continue running it.

 

i have confirmed it. the timer does continue

 

i am actually referring to the script of the endless tower portection stone, something's wrong with the use of check quest

e_tower,81,105,0	script	Tower Protection Stone	406,{

	set .@party_id,getcharid(1);
	set .@md_name$,"Endless Tower";

	set .@etower_timer,checkquest(60200,PLAYTIME); // 1 week
	set .@etower_timer2,checkquest(60201,PLAYTIME); // 4 hours

	if (!instance_check_party(.@party_id,1)) {
		mes "Make or join a party with more than 1 member and try again.";
		close;
	}
	if (.@etower_timer == -1) {
		if (getcharid(0) == getpartyleader(.@party_id,2)) {
			mes "Confirmed the party has been made. Would you like to reserve entrance to the Endless Tower?";
			next;
			switch(select("Generate dungeon "+.@md_name$+":Enter the dungeon:Return to Alberta: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;
			case 3:
				mes "I will move you to Alberta.";
				close2;
				warp "alberta",223,36;
				end;
			case 4:
				close;
			}
		}
		switch(select("Enter the "+.@md_name$+":Return to Alberta:Cancel")) {
		case 1:
			callsub L_Enter,1,1;
		case 2:
			mes "I will move you to Alberta.";
			close2;
			warp "alberta",223,36;
			end;
		case 3:
			end;
		}
	} else if ((.@etower_timer >= 0) && (.@etower_timer2 < 2)) {
		mes "If you have the dungeon generated already, you can enter it. ";
		next;
		switch(select("Enter the "+.@md_name$+":Return to Alberta:Cancel")) {
		case 1:
			callsub L_Enter,0,0;
		case 2:
			mes "I will move you to Alberta.";
			close2;
			warp "alberta",223,36;
			end;
		case 3:
			break;
		}
		close;
	} else if ((.@etower_timer >= 0) && (.@etower_timer < 2) && (.@etower_timer2 == 2)) {

		set .@dun_lim_time,etower_timer+604800; // 1 week
		set .@dun_lim_time2,etower_timer+14400; // 4 hours
		set .@dun_cur_time,gettimetick(2);
		set .@dun_ent_t,(.@dun_lim_time - .@dun_cur_time);
		set .@dun_h,(.@dun_ent_t / 3600);
		set .@dun_m,(.@dun_ent_t - (.@dun_h * 3600)) / 60;
		set .@dun_s,.@dun_ent_t - ((.@dun_h * 3600) + (.@dun_m * 60));

		mes "Due to the tower's aftereffects, you cannot enter the dungeon right now, " + .@dun_h + "hours " + .@dun_m + "minutes " + .@dun_s + "seconds left to enter the next dungeon.";
		next;
		mes "It is dangerous here. Let me move you to Alberta.";
		close2;
		warp "alberta",223,36;
		end;
	} else {
		set etower_timer,0;
		erasequest 60200;
		erasequest 60201;
		mes "^0000ffThe records and after effects related to the Endless Tower have been removed. You can generate and enter the Endless Tower again.^000000";
		close;
	}

L_Enter:
	switch(instance_enter("Endless Tower")) {
	case 3:
		mes "An unknown error has occurred.";
		close;
	case 2:
		mes "The memorial dungeon Endless Tower does not exist.";
		mes "The party leader did not generate the dungeon yet.";
		close;
	case 1:
		mes "You can enter the dungeon after making the party.";
		close;
	case 0:
		mapannounce "e_tower", strcharinfo(0) +" of the party, "+ getpartyname( getcharid(1) ) +", is entering the dungeon, Endless Tower.",bc_map,"0x00ff99",FW_NORMAL,12;
		if (getarg(1)) {
			set etower_timer,gettimetick(2);
			setquest 60200;
			setquest 60201;
		}
		//warp "1@tower",52,354;
		if (getarg(0) == 0) close;
		else end;
	}
}

Edited by Itachi
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...