浏览代码

Corrected guild relay script (#5131)

Corrected the value of the variable guildtime to match the value in official script.

Fixed #1785

Thanks to @Lemongrass3110
Atemo 5 年之前
父节点
当前提交
fc4f82838e
共有 2 个文件被更改,包括 44 次插入39 次删除
  1. 43 39
      npc/quests/guildrelay.txt
  2. 1 0
      sql-files/upgrades/upgrade_20200622.sql

+ 43 - 39
npc/quests/guildrelay.txt

@@ -70,9 +70,10 @@
 	}
 	if (getcharid(2) == .@GID) {
 		if (is_guild_leader() == true) {
+			.@time = atoi( gettimestr("%H%M",5) );
 			if (guildrelay_q == 100) {
-				if (guildtime > 22) {
-					if ((gettime(DT_HOUR) > 1) && (gettime(DT_HOUR) < guildtime)) {
+				if (guildtime > 2299) {
+					if (.@time > 0101 && .@time < guildtime) {
 						mes "[" + .@name$ + "]";
 						mes "Oh, you're back. So did you";
 						mes "rest up enough? I'm sure the";
@@ -128,8 +129,8 @@
 						close;
 					}
 				}
-				else if (guildtime > 22) {
-					if ((gettime(DT_HOUR) > 0) && (gettime(DT_HOUR) < guildtime)) {
+				else if (guildtime > 2200) {
+					if (.@time > 0001 && .@time < guildtime) {
 						mes "[" + .@name$ + "]";
 						mes "Oh, you're back. So did you";
 						mes "rest up enough? I'm sure the";
@@ -185,7 +186,7 @@
 						close;
 					}
 				}
-				else if ((gettime(DT_HOUR) - guildtime) > 2) {
+				else if ((.@time - guildtime) > 0200) {
 					mes "[" + .@name$ + "]";
 					mes "Oh, you're back. So did you";
 					mes "rest up enough? I'm sure the";
@@ -242,7 +243,7 @@
 				}
 			}
 			else if (guildrelay_q == 150) {
-				if (((guildtime > 22) && (gettime(DT_HOUR) > 1) && (gettime(DT_HOUR) < guildtime)) || ((guildtime > 21) && (gettime(DT_HOUR) > 0) && (gettime(DT_HOUR) < guildtime)) || ((gettime(DT_HOUR) - guildtime) > 2)) {
+				if ((guildtime > 2299 && .@time > 0101 && .@time < guildtime) || (guildtime > 2199 && .@time > 0001 && .@time < guildtime) || ((.@time - guildtime) > 0200)) {
 					mes "[" + .@name$ + "]";
 					mes "Ah, you look well rested,";
 					mes "master. It is now time for";
@@ -306,12 +307,12 @@
 				}
 			}
 			else if (guildrelay_q == 25) {
-				if (((guildtime > 22) && ((gettime(DT_HOUR) > 4) && (gettime(DT_HOUR) < guildtime)))
-				|| ((guildtime > 21) && ((gettime(DT_HOUR) > 3) && (gettime(DT_HOUR) < guildtime)))
-				|| ((guildtime > 20) && ((gettime(DT_HOUR) > 2) && (gettime(DT_HOUR) < guildtime)))
-				|| ((guildtime > 19) && ((gettime(DT_HOUR) > 1) && (gettime(DT_HOUR) < guildtime)))
-				|| ((guildtime > 18) && ((gettime(DT_HOUR) > 0) && (gettime(DT_HOUR) < guildtime)))
-				|| ((gettime(DT_HOUR) - guildtime) > 5)) {
+				if ((guildtime > 2299 && .@time > 0401 && .@time < guildtime)
+				|| (guildtime > 2199 && .@time > 0301 && .@time < guildtime)
+				|| (guildtime > 2059 && .@time > 0201 && .@time < guildtime)
+				|| (guildtime > 1999 && .@time > 0101 && .@time < guildtime)
+				|| (guildtime > 1899 && .@time > 0001 && .@time < guildtime)
+				|| ((.@time - guildtime) > 0500)) {
 					mes "[" + .@name$ + "]";
 					mes "Ah, have you rested well,";
 					mes "master? Please excuse my";
@@ -415,7 +416,7 @@
 					mes "Hand me the spirit, and allow";
 					mes "me to give you your guild's reward.";
 					delitem 7239,1; //Soul_Of_Proceeding
-					set guildtime,gettime(DT_HOUR);
+					set guildtime,.@time;
 					set guildrelay_q,100;
 					set .@incen_item,rand(1,100);
 					if ((.@incen_item > 0) && (.@incen_item < 25)) {
@@ -483,7 +484,7 @@
 					mes "challenges that you will all";
 					mes "face together. Good work!";
 					delitem 7245,1; //Soul_Of_Friendship
-					set guildtime,gettime(DT_HOUR);
+					set guildtime, atoi( gettimestr("%H%M",5) );
 					set guildrelay_q,150;
 					set .@incen_item,rand(1,100);
 					if ((.@incen_item > 0) && (.@incen_item < 16)) {
@@ -576,7 +577,7 @@
 					mes "Tristan III, and share it with";
 					mes "guild. Once again, good work.";
 					delitem 7251,1; //Soul_Of_Victory
-					set guildtime,gettime(DT_HOUR);
+					set guildtime, atoi( gettimestr("%H%M",5) );
 					set guildrelay_q,25;
 					set .@incen_item,rand(1,100);
 					if ((.@incen_item > 0) && (.@incen_item < 26)) {
@@ -1411,11 +1412,12 @@
 				mes "don't you worry about it.";
 				delitem 7235,1; //Soul_Of_Courage
 				set guildrelay_q,4;
-				set guildtime,gettime(DT_HOUR);
+				set guildtime, atoi( gettimestr("%H%M",5) );
 				close;
 			}
-			if ((guildtime > 22) && (guildrelay_q == 4) && (BaseJob == Job_Blacksmith)) {
-				if ((gettime(DT_HOUR) > 2) && (gettime(DT_HOUR) < guildtime)) {
+			.@time = atoi( gettimestr("%H%M",5) );
+			if ((guildtime > 2259) && (guildrelay_q == 4) && (BaseJob == Job_Blacksmith)) {
+				if ((.@time > 0201) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "I guess enough time";
 					mes "has passed. You ready";
@@ -1428,8 +1430,8 @@
 					close;
 				}
 			}
-			if ((guildtime > 21) && (guildrelay_q == 4) && (BaseJob == Job_Blacksmith)) {
-				if ((gettime(DT_HOUR) > 0101) && (gettime(DT_HOUR) < guildtime)) {
+			if ((guildtime > 2159) && (guildrelay_q == 4) && (BaseJob == Job_Blacksmith)) {
+				if ((.@time > 0101) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "I guess enough time";
 					mes "has passed. You ready";
@@ -1442,8 +1444,8 @@
 					close;
 				}
 			}
-			if ((guildtime > 20) && (guildrelay_q == 4) && (BaseJob == Job_Blacksmith)) {
-				if ((gettime(DT_HOUR) > 0001) && (gettime(DT_HOUR) < guildtime)) {
+			if ((guildtime > 2059) && (guildrelay_q == 4) && (BaseJob == Job_Blacksmith)) {
+				if ((.@time > 0001) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "I guess enough time";
 					mes "has passed. You ready";
@@ -1456,7 +1458,7 @@
 					close;
 				}
 			}
-			if ((gettime(DT_HOUR) - guildtime > 0300) && (guildrelay_q == 4) && (BaseJob == Job_Blacksmith)) {
+			if ((.@time - guildtime > 0300) && (guildrelay_q == 4) && (BaseJob == Job_Blacksmith)) {
 				mes "[" + .@name$ + "]";
 				mes "I guess enough time";
 				mes "has passed. You ready";
@@ -1797,11 +1799,12 @@
 				mes "in order to be successful.";
 				delitem 7240,1; //Soul_Of_Confidence
 				set guildrelay_q,9;
-				set guildtime,gettime(DT_HOUR);
+				set guildtime, atoi( gettimestr("%H%M",5) );
 				close;
 			}
-			if ((guildtime > 22) && (guildrelay_q == 9) && (BaseJob == Job_Sage)) {
-				if ((gettime(DT_HOUR) > 02) && (gettime(DT_HOUR) < guildtime)) {
+			.@time = atoi( gettimestr("%H%M",5) );
+			if ((guildtime > 2259) && (guildrelay_q == 9) && (BaseJob == Job_Sage)) {
+				if ((.@time > 0201) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "So did you spend some";
 					mes "quality time with your";
@@ -1831,8 +1834,8 @@
 					close;
 				}
 			}
-			else if ((guildtime > 21) && (guildrelay_q == 9) && (BaseJob == Job_Sage)) {
-				if ((gettime(DT_HOUR) > 01) && (gettime(DT_HOUR) < guildtime)) {
+			else if ((guildtime > 2159) && (guildrelay_q == 9) && (BaseJob == Job_Sage)) {
+				if ((.@time > 0101) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "So did you spend some";
 					mes "quality time with your";
@@ -1862,8 +1865,8 @@
 					close;
 				}
 			}
-			else if ((guildtime > 20) && (guildrelay_q == 9) && (BaseJob == Job_Sage)) {
-				if ((gettime(DT_HOUR) > 0) && (gettime(DT_HOUR) < guildtime)) {
+			else if ((guildtime > 2059) && (guildrelay_q == 9) && (BaseJob == Job_Sage)) {
+				if ((.@time > 0001) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "So did you spend some";
 					mes "quality time with your";
@@ -1893,7 +1896,7 @@
 					close;
 				}
 			}
-			else if ((gettime(DT_HOUR) - guildtime > 3) && (guildrelay_q == 9) && (BaseJob == Job_Sage)) {
+			else if ((.@time - guildtime > 0300) && (guildrelay_q == 9) && (BaseJob == Job_Sage)) {
 				mes "[" + .@name$ + "]";
 				mes "So did you spend some";
 				mes "quality time with your";
@@ -2766,11 +2769,12 @@
 				mes "to your feelings this time...";
 				delitem 7249,1; //Soul_Of_Service
 				set guildrelay_q,21;
-				set guildtime,gettime(DT_HOUR);
+				set guildtime, atoi( gettimestr("%H%M",5) );
 				close;
 			}
-			if ((guildtime > 22) && (guildrelay_q == 21) && (BaseJob == Job_Crusader)) {
-				if ((gettime(DT_HOUR) > 2) && (gettime(DT_HOUR) < guildtime)) {
+			.@time = atoi( gettimestr("%H%M",5) );
+			if ((guildtime > 2259) && (guildrelay_q == 21) && (BaseJob == Job_Crusader)) {
+				if ((.@time > 0201) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "Yes. You've come at just";
 					mes "the right time. Remember";
@@ -2791,8 +2795,8 @@
 					close;
 				}
 			}
-			if ((guildtime > 21) && (guildrelay_q == 21) && (BaseJob == Job_Crusader)) {
-				if ((gettime(DT_HOUR) > 1) && (gettime(DT_HOUR) < guildtime)) {
+			if ((guildtime > 2159) && (guildrelay_q == 21) && (BaseJob == Job_Crusader)) {
+				if ((.@time > 0101) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "Yes. You've come at just";
 					mes "the right time. Remember";
@@ -2813,8 +2817,8 @@
 					close;
 				}
 			}
-			if ((guildtime > 20) && (guildrelay_q == 21) && (BaseJob == Job_Crusader)) {
-				if ((gettime(DT_HOUR) > 0) && (gettime(DT_HOUR) < guildtime)) {
+			if ((guildtime > 2059) && (guildrelay_q == 21) && (BaseJob == Job_Crusader)) {
+				if ((.@time > 0001) && (.@time < guildtime)) {
 					mes "[" + .@name$ + "]";
 					mes "Yes. You've come at just";
 					mes "the right time. Remember";
@@ -2835,7 +2839,7 @@
 					close;
 				}
 			}
-			if ((gettime(DT_HOUR) - guildtime > 3) && (guildrelay_q == 21) && (BaseJob == Job_Crusader)) {
+			if ((.@time - guildtime > 0300) && (guildrelay_q == 21) && (BaseJob == Job_Crusader)) {
 				mes "[" + .@name$ + "]";
 				mes "Yes. You've come at just";
 				mes "the right time. Remember";

+ 1 - 0
sql-files/upgrades/upgrade_20200622.sql

@@ -0,0 +1 @@
+UPDATE `char_reg_num` SET `value` = `value` * 100 WHERE `key` = 'guildtime' AND `index` = 0 AND `value` < 24;