Преглед на файлове

- Corrected multiple "WoE has begun" announces
- Removed some poor coding from the gunslinger job script
- Fixed some engrish
- Added missing changelog edit

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10114 54d463be-8e91-2dee-dedb-b68131a5f0ec

ultramage преди 18 години
родител
ревизия
3d30bfa551
променени са 6 файла, в които са добавени 91 реда и са изтрити 124 реда
  1. 5 0
      Changelog-Trunk.txt
  2. 3 8
      doc/script_commands.txt
  3. 3 0
      npc/Changelog.txt
  4. 20 15
      npc/guild/ev_agit_event.txt
  5. 1 0
      npc/guild/gldfunc_manager.txt
  6. 59 101
      npc/jobs/1-1e/gunslinger.txt

+ 5 - 0
Changelog-Trunk.txt

@@ -4,6 +4,11 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
 2007/04/02
+	* Removed some overly verbose item group messages & code
+	* re-added the item_group_list for consistency's sake, moved to itemdb.h
+	  (after some hacking to remove the ugly map.h dependency)
+	* Fixed the server crashing on a timer-queued disguise / undisguise
+	* Fixed the server crashing on startup due to bad define [ultramage]
 	* Removed bonus 'bAspdAddRate'. bAspdRate now behaves on a stackable
 	  matter, so it's no longer needed.
 	* Reimplemented the bonus 'bAspd' (raw Aspd increase) [Skotlex]

+ 3 - 8
doc/script_commands.txt

@@ -1932,7 +1932,7 @@ Lets say the ID of a party was saved as a global variable:
 
 Thank you to HappyDenn for all this information.
 
-This command will finds all members of a specified party and returns their names 
+This command will find all members of a specified party and returns their names 
 (or character id or account id depending on the value of "type") into an array
 of temporary global variables. There's actually quite a few commands like this
 which will fill a special variable with data upon execution and not do anything
@@ -4268,13 +4268,8 @@ everything not equippable by the new job class anyway.
 *disguise <Monster ID>;
 *undisguise;
 
-This command disgueses current player with a monster sprite.
-The disguise is disappearing on re-login or on 'undisguise' command.
-
-Note: It doesn't work with "Pets with equipment on"
-Note: If u're a Sniper, u'd get an old Falcon over your head
-Note: You can kill yourself with some skills
-Note: Monsters of your type could heal you
+This command disguises the current player with a monster sprite.
+The disguise lasts until 'undisguise' is issued or the player logs out.
 
 Example:
 

+ 3 - 0
npc/Changelog.txt

@@ -26,6 +26,9 @@ KarLaeda
 
 Date		Added
 ======
+2007/04/02
+	* Removed some poor coding from the gunslinger job script
+	* Corrected multiple "WoE has begun" announces [ultramage]
 2007/04/01
 	* Added Ninja Weapon quests [Playtester]
 2007/03/30

+ 20 - 15
npc/guild/ev_agit_event.txt

@@ -4,7 +4,7 @@
 //= kalen (1.0)
 //= 1.1 by Akaru and ho|yAnge|
 //===== Current Version: =====================================
-//= 1.5a
+//= 1.6
 //===== Compatible With: =====================================
 //= eAthena 0.1+; RO Episode 4+
 //===== Description: =========================================
@@ -23,6 +23,7 @@
 //= Now they appear in castles from 00:01 to 00:24. [Lupus]
 //= 1.5 Fixed WOE end messages on non-WOE days, by Avaj
 //= 1.5a missing tabs [KarLaeda]
+//= 1.6 Corrected multiple "WoE has begun" announces [ultramage]
 //============================================================
 //| To know how to set up WoE times, go to doc\woe_time_explanation.txt
 // WoE Start/Stop times
@@ -36,25 +37,29 @@ OnClock1600:	//start time for Sat(6)
 OnClock1800:	//end time for Sat(6)
 
 OnAgitInit:
-// starting time checks
-if((gettime(4)==2) && (gettime(3)>=21 && gettime(3)<23)) goto L_Start;
-if((gettime(4)==4) && (gettime(3)>=21 && gettime(3)<23)) goto L_Start;
-if((gettime(4)==6) && (gettime(3)>=16 && gettime(3)<18)) goto L_Start;
+	// starting time checks
+	if((gettime(4)==2) && (gettime(3)>=21 && gettime(3)<23)) goto L_Start;
+	if((gettime(4)==4) && (gettime(3)>=21 && gettime(3)<23)) goto L_Start;
+	if((gettime(4)==6) && (gettime(3)>=16 && gettime(3)<18)) goto L_Start;
 
-// end time checks
-if((gettime(4)==2) && (gettime(3)==23)) goto L_End;
-if((gettime(4)==4) && (gettime(3)==23)) goto L_End;
-if((gettime(4)==6) && (gettime(3)==18)) goto L_End;
-   end;
+	// end time checks
+	if((gettime(4)==2) && (gettime(3)==23)) goto L_End;
+	if((gettime(4)==4) && (gettime(3)==23)) goto L_End;
+	if((gettime(4)==6) && (gettime(3)==18)) goto L_End;
+	end;
 
 L_End:
-Announce "The War Of Emperium is over!",8;
-AgitEnd;
-end;
+	if (agitcheck()) {
+		Announce "The War Of Emperium is over!",8;
+		AgitEnd;
+	}
+	end;
 
 L_Start:
-	Announce "The War Of Emperium has begun!",8;
-	AgitStart;
+	if (!agitcheck()) {
+		Announce "The War Of Emperium has begun!",8;
+		AgitStart;
+	}
 	end;
 }
 

+ 1 - 0
npc/guild/gldfunc_manager.txt

@@ -29,6 +29,7 @@
 //= 1.5 Official Novice Castles Menu (u can't invest / hire guardians) [Lupus]
 //= 1.6 According to recent info u can re-install Guardians during WoE [Lupus]
 //= 1.6a Fix for guild manager recognizing [KarLaeda]
+//= 1.6b Fixed the chance for double invest, now 50% instead of 49% [Lupus]
 //============================================================
 
 

+ 59 - 101
npc/jobs/1-1e/gunslinger.txt

@@ -23,109 +23,95 @@
 //= 1.7a Grammar fixes, few spelling fixes, etc [CBMaster]
 //= 1.7b Parenthesis fixes [KarLaeda]
 //= 1.8 Fixed the reward you can get [Playtester]
+//= 1.9 Removed some 'clever' script constructs [ultramage]
 //============================================================ 
 
 que_ng,152,167,3	script	Gunslinger Jobchanger	901,{
 
-	set @npcname$,"[Armsmith]";
+	set .@npcname$, "[Armsmith]";
 	if (Class == Job_Novice) {
 		if (GUNS_Q >= 1) {
-			mes @npcname$;
+			mes .@npcname$;
 			mes "So, you've come back?";
 			next;
 			if (GUNS_Q == 10005) {
 				if (SkillPoint > 0) {
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Err, excuse me, but you still have Skill Points left. You have to use them all before I can turn you into a Gunslinger.";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				} else if (JobLevel < 10) {
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Err, excuse me, but your job level is not sufficient. You need to have a job level of 10 in order to change to a Gunslinger";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				}
-				mes @npcname$;
+				mes .@npcname$;
 				mes "Glad to know you did what Mr. Tanieh asked you to do, makes me know you're worthy of being..";
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "A Gunslinger!!";
 				callfunc "Job_Change",Job_Gunslinger;
 				callfunc "F_ClearJobVar";		//clears all job variables for the current player
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "Oh, I forgot, here's a token of my appreciation";
 				if (rand(1,3) < 3) {
 					getitem 13100,1;
 				} else {
 					getitem 13150,1;
 				}
-				close2;
-				set @npcname$,"";
-				end;
+				close;
 			}
-			mes @npcname$;
+			mes .@npcname$;
 			mes "But you still haven't done what I told you, need me to repeat it?";
 			switch (select ("Yes, Please:No, Thanks")) {
 				case 1:
 					next;
-					mes @npcname$;
+					mes .@npcname$;
 					mes "You need to go to Payon. At the small wooden wall and in the south exit, Mr. Tanieh will be there waiting to ask you a few things. Go now...";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				case 2:
 					next;
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Then GET GOING! You do want to become a Gunslinger, right?";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 			}
 		}
-		mes @npcname$;
+		mes .@npcname$;
 		mes "Hi ^0000CC"+strcharinfo(0)+"^000000,I need you to do something for me first, will you?";
 		switch (select ("Yes:No")) {
 			case 1:
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "Good, I need you to go to Payon and do a few things from Mr. Tanieh.";
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "He'll be waiting for you next to the small wooden wall of the south exit. See you later then.";
-				close2;
 				set GUNS_Q,1;
-				set @npcname$,"";
-				end;
+				close;
 			case 2:
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "Too bad for you son. Come back when you are willing to do so.";
-				close2;
-				set @npcname$,"";
-				end;
+				close;
 		} 
 
 	}
-	mes @npcname$;
+	mes .@npcname$;
 	mes "Hi son, how's life treating you?";
-	set @npcname$,"";
 	close;
 }
 
 payon,184,65,3	script	Mr. Tanieh	866,{
 
-	set @npcname$,"[Mr. Tanieh]";
+	set .@npcname$, "[Mr. Tanieh]";
 	if (GUNS_Q == 1) {
-		mes @npcname$;
+		mes .@npcname$;
 		mes "Oh, you're ^0000CC"+strcharinfo(0)+"^000000, right? Einbroch's Armsmith told me you were going to help me with a few things.";
 		next;
-		mes @npcname$;
+		mes .@npcname$;
 		mes "I need to make a special soup for my wife, but, as you can see, I am not in conditions to look for the items, she's sick you know?";
 		next;
-		mes @npcname$;
+		mes .@npcname$;
 		mes "So, will you do it, please?";
 		switch (select ("Yes, I will:Sorry I can't now")) {
 			case 1:
@@ -134,58 +120,44 @@ payon,184,65,3	script	Mr. Tanieh	866,{
 
 			case 2:
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "Oh, what am I going to do now...";
-				close2;
-				set @npcname$,"";
-				end;
+				close;
 		}
 
 	} else if (GUNS_Q > 1 && GUNS_Q < 10000) {
-		mes @npcname$;
+		mes .@npcname$;
 		mes "Oh, you've come back! Have you brought the items?";
 		next;
 		switch (select("Yes I did:No I forgot which items I had to bring")) {
 			case 1:
 				next;
 				if (countitem(949) < 3) {
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Sorry, you're missing a few Feathers";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				} else if (countitem(912) < 3) {
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Sorry, you're missing a few Zargons";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				} else if (countitem(1013) < 3) {
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Sorry, you're missing a few Rainbow Shells";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				} else if (countitem(GUNS_Q) < 1) {
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Sorry, you don't have the exact Trunk";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				} else if (countitem(511) < 3) {
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Sorry, you're missing a few Green Herbs";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				} else if (countitem(935) < 10) {
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Sorry, you're missing a few Shells";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				}
-				mes @npcname$;
+				mes .@npcname$;
 				mes "GREAT! You brought them all! Thanks very much!";
 				delitem 949,3;
 				delitem 912,3;
@@ -194,16 +166,14 @@ payon,184,65,3	script	Mr. Tanieh	866,{
 				delitem 935,10;
 				delitem 511,3;
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "Oh my, you've been of great help. I'll recommend you to the Einbroch Armory for your job change.";
-				close2;
 				set GUNS_Q,10003;
-				set @npcname$,"";
-				end;
+				close;
 			case 2:
 			L_LIST:
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "Ok, I'll tell you again, so please take note!:";
 				mes "^33CCFF 3 Feathers^000000";
 				mes "^009933 3 Zargons^000000";
@@ -212,51 +182,39 @@ payon,184,65,3	script	Mr. Tanieh	866,{
 				mes "^663300 1 "+getitemname(GUNS_Q)+"^000000";
 				mes "^FF6600 10 Shells^000000";
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "Hurry please, I am not sure if my wife will last any longer... oh dear..";
-				close2;
-				set @npcname$,"";
-				end;
+				close;
 		}
 	} else if (GUNS_Q == 10003 || GUNS_Q == 10004) {
 		if (countitem(519) >= 1 && GUNS_Q == 10004) {
-			mes @npcname$;
+			mes .@npcname$;
 			mes "THAT'S IT!! I was missing the Milk! Oh yes, thanks so much, will you give it to me?";
 			switch(select("Sure, take it:Sorry but I need it")) {
 				case 1:
 					next;
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Thanks so much! Go talk again with the Einbroch Armsmith. He'll change you. Thanks again and see you.";
 					delitem 519,1;
-					close2;
 					set GUNS_Q,10005;
-					set @npcname$,"";
-					end;
+					close;
 				case 2:
 					next;
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Oh please, I need it so much, think about it please...";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 			}
 		}
-		mes @npcname$;
+		mes .@npcname$;
 		mes "*sigh* Now I have to wait again... Thanks for your help... but I believe there's something missing..";
-		close2;
-		set @npcname$,"";
 		set GUNS_Q,10004;
-		end;
+		close;
 	} else if (Class == Job_Gunslinger || GUNS_Q == 10005) {
-		mes @npcname$;
+		mes .@npcname$;
 		mes "Hi ^0000CC"+strcharinfo(0)+"^000000!, how have you been doing? My wife sends you regards and thanks for the ingredients...";
-		close2;
-		set @npcname$,"";
-		end;
+		close;
 	} 
-	mes @npcname$;
+	mes .@npcname$;
 	mes "Hi son, how's life treating you? Nice day, isn't it?";
-	close2;
-	set @npcname$,"";
-	end;
+	close;
 }