Przeglądaj źródła

* Documented changes to @fontcolor from r17317.
* Updated IDN, FRN, and RUS map_msg translations. (credits: Cydh, Capuche, Jarek)
* A couple updates to script_commands.txt. (incl. bugreport:7649)
* Other misc. changes.

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

euphyy 12 lat temu
rodzic
commit
8e3d87d39d

+ 8 - 8
conf/msg_conf/map_msg.conf

@@ -388,11 +388,11 @@
 376:  -> Player %s has accepted the duel --
 377:  -- Player %s has rejected the duel --
 //etc
-378: Eleanor is now in %s mode
-379: Item Failed. [%s] is cooling down. wait %.1f minutes.
-380: Item Failed. [%s] is cooling down. wait %d seconds.
-381: Skill Failed. [%s] requires %dx %s
-382: You're too close to a stone or emperium to do this skill
+378: Eleanor is now in %s mode.
+379: Item Failed. [%s] is cooling down. Wait %.1f minutes.
+380: Item Failed. [%s] is cooling down. Wait %d seconds.
+381: Skill Failed. [%s] requires %dx %s.
+382: You're too close to a stone or emperium to use this skill.
 //383-389 free
 //NoAsk
 390: Autorejecting is activated.
@@ -1469,10 +1469,10 @@
 1447: Unknown channel option '%s'.
 1448: Channel '%s' deleted.
 1449: Option '%s' is already enabled (use '@channel setopt %s 0' to disable).
-1450: Option '%s' is enabled for channel '%s'.
+1450: Option '%s' is enabled for channel '#%s'.
 1451: Value '%d' for option '%s' is out of range (limit 0-10).
-1452: Option '%s' is enabled for channel '%s' at %d seconds.
-1453: Option '%s' is disabled for channel '%s'.
+1452: Option '%s' is enabled for channel '#%s' at %d seconds.
+1453: Option '%s' is disabled for channel '#%s'.
 1454: Color set to '%s'.
 1455: You're talking too fast!
 1456: * %s ban <#channel_name> <player>

+ 8 - 2
conf/msg_conf/map_msg_frn.conf

@@ -386,7 +386,13 @@
 375:  <- Joueur %s quitte le duel --
 376:  -> Joueur %s accepte le duel --
 377:  -- Joueur %s rejete la demande de duel --
-//378-389 free
+//etc
+378: Eleanor passe en mode %s.
+379: Utilisation échouée. [%s] a un délai de réutilisation. Attendez %.1f minutes.
+380: Utilisation échouée. [%s] a un délai de réutilisation. Attendez %d secondes.
+381: Skill échoué. [%s] requiert %dx %s.
+382: Vous êtes trop proche d'une stone ou d'un emperium pour exécuter ce skill.
+//383-389 free
 //NoAsk
 390: Rejet automatique activé.
 391: Rejet automatique désactivé.
@@ -1466,7 +1472,7 @@
 1451: La valeur '%d' pour l'option '%s' est incorrecte (doit être comprise entre 0-10).
 1452: Option '%s' activée sur le canal '%s' avec %d secondes.
 1453: Option '%s' désactivée sur le canal '%s'.
-//1454 free
+1454: Couleur maintenant en '%s'.
 1455: Vous parlez trop rapidement!
 1456: * %s ban <#nom_canal> <nom du joueur>
 1457: -- Banni le joueur spécifié du canal.

+ 2 - 2
conf/msg_conf/map_msg_idn.conf

@@ -1,7 +1,7 @@
 // rAthena map_msg_idn.conf
 // Pengaturan pesan. Diterjemahkan oleh [Cydh] dan [nanakiwurtz]
 // Untuk terjemahan, cukup ubah pesan di sini (pada baris setelah pesan asli), tidak perlu mengubah source code,
-// atau dapat dilakukan dengan cara lain, gunakan conf/msg_conf/import/map_msg_idn_conf.txt
+// atau juga dapat dilakukan dengan menggunakan conf/msg_conf/import/map_msg_idn_conf.txt
 // Format penulisan:
 // //nomor_pesan: pesan asli
 // nomor_pesan: pesan yang diterjemahkan
@@ -1465,7 +1465,7 @@
 1451: Nilai '%d' keluar dari batas untuk option '%s' (batasnya 0-10).
 1452: Pilihan '%s' sekarang diaktifkan untuk channel '%s' dalam %d detik.
 1453: Pilihan '%s' sekarang dimatikan untuk channel '%s'.
-//1454 kosong
+1454: Warna telah diatur menjadi '%s'.
 1455: Kamu berbicara terlalu cepat!
 1456: * %s ban <#nama_channel> <pemain>
 1457: -- Ban pemain yang ditentukan dari channel.

+ 7 - 1
conf/msg_conf/map_msg_rus.conf

@@ -390,7 +390,13 @@
 376:  -> Игрок %s принял приглашение --
 377:  -- Игрок %s отверг приглашение --
 
-//378-389 НЕ ИСПОЛЬЗУЕТСЯ
+//и т.д.
+378: Eleanor переключилась на режим %s
+379: Неудачное использование предмета. [%s] еще не готов к использованию. Подождите %.1f минут.
+380: Неудачное использование предмета. [%s] еще не готов к использованию. Подождите %d секунд.
+381: Неудачное использование навыка. [%s] необходимо %dx %s
+382: Вы находитесь слишком близко к Империуму, чтобы использовать этот навык
+//383-389 НЕ ИСПОЛЬЗУЕТСЯ
 
 // Сообщения команды @NoAsk
 390: Автоматический отказ включен.

+ 2 - 1
doc/atcommands.txt

@@ -1479,7 +1479,7 @@ Destroys the specified channel.
 Sets channel chat font color for the invoking character only.
 Typing "Normal" returns text to the normal channel color.
 If no parameter is given, a list of available colors is displayed.
-'allow_user_color_override' must be enabled in '/conf/channels.conf'.
+Option 'ColorOverride' must be enabled for this to take effect.
 
 ---------------------------------------
 
@@ -1499,6 +1499,7 @@ You must either be the channel's owner or have the channel_admin permission.
 Available options:
 -- 'JoinAnnounce <1|0>' : Toggles channel announcement when a new player enters.
 -- 'MessageDelay <0-10>' : Sets the delay (in seconds) for messages sent to the channel.
+-- 'ColorOverride <1|0>' : Toggles the permission for players to change their color through @fontcolor.
 
 ---------------------------------------
 

+ 23 - 23
doc/script_commands.txt

@@ -192,7 +192,7 @@ NPC names are kinda special and are formatted this way:
 <Display name>{::<Unique name>}
 
 All NPCs need to have a unique name that is used for identification purposes.
-When you have to identify a NPC by it's name, you should use <Unique name>.
+When you have to identify a NPC by its name, you should use <Unique name>.
 If <Unique name> is not provided, use <Display name> instead.
 
 The client has a special feature when displaying names:
@@ -321,8 +321,7 @@ The code part is the script code that will execute whenever the function is
 called with 'callfunc'. It has to be in curly brackets, unlike elsewhere where 
 we use curly brackets, these do NOT signify an optional parameter.
 
-
-Once an object is defined which has a 'code' field to it's definition, it 
+Once an object is defined which has a 'code' field to its definition, it 
 contains script commands which can actually be triggered and executed. 
 
 ~ RID? GID? ~
@@ -334,7 +333,7 @@ Most scripting commands and functions will want to request data about a
 character, store variables referenced to that character, send stuff to the 
 client connected to that specific character. Whenever a script is invoked by a 
 character, it is passed a so-called RID - this is the account ID number of a 
-character that caused the code to execute by clicking on it, walking into it's 
+character that caused the code to execute by clicking on it, walking into its 
 OnTouch zone, or otherwise.
 
 If you are only writing common NPCs, you don't need to bother with it. However, 
@@ -445,10 +444,10 @@ nothing  - A permanent variable attached to the character, the default variable
            are accessible from inside the function, however 'getvariableofnpc' 
            does NOT work on function objects.
 ".@"     - A scope variable.
-           They are unique to the instance and scope. Each instance has it's 
+           They are unique to the instance and scope. Each instance has its 
            own scope that ends when the script ends. Calling a function with 
            callsub/callfunc starts a new scope, returning from the function 
-           ends it. When a scope ends, it's variables are converted to values 
+           ends it. When a scope ends, its variables are converted to values 
            ('return .@var;' returns a value, not a reference).
 "'"      - An instance variable
            These are used with the instancing system, and are unique to each 
@@ -1200,7 +1199,7 @@ getvariableofnpc will not work on them.
 *goto <label>;
 
 This command will make the script jump to a label, usually used in conjunction 
-with other command, such as "if", but often used on it's own.
+with other command, such as "if", but often used on its own.
 
 	...
 	goto Label;
@@ -1285,7 +1284,7 @@ this:
 			
 			set @menulist$[@j],@possiblemenuitems$[@i];
 			
-			// We just copied the string, we do need it's number for later 
+			// We just copied the string, we do need its number for later 
 			// though, so we record it as well.
 			
 			set @menureference[@j],@i;
@@ -1311,7 +1310,7 @@ dirty trick:
 	menu @menulist$[0],-,@menulist$[1],-,....@menulist$[<X>],-;
 
 This calls up a menu of all your items. Since you didn't copy some of the 
-possible menu items into the list, it's end is empty and so no menu items will 
+possible menu items into the list, its end is empty and so no menu items will 
 show up past the end. But this menu call doesn't jump anywhere, it just 
 continues execution right after the menu command. (And it's a good thing it 
 doesn't, cause you can only explicitly define labels to jump to, and how do you 
@@ -1599,12 +1598,12 @@ You can pass multiple arguments in a function call:
 
 getarg(0) would be 5, getarg(1) would be 4 and getarg(2) would be 3.
 
-Getarg has an optional argument since trunk r10773 and stable r10958.
+'getarg' has an optional argument since trunk r10773 and stable r10958.
 If the target argument exists, it is returned.
 Otherwise, if <default_value> is present it is returned instead, 
 if not the script terminates immediately.
 
-in the previous example getarg(2,-1) would be 3 and getarg(3,-1) would be -1
+In the previous example getarg(2,-1) would be 3 and getarg(3,-1) would be -1.
 
 ---------------------------------------
 
@@ -2158,9 +2157,6 @@ Also useful when passing arrays to functions or accessing another npc's arrays:
 
 *readparam(<parameter number>{,"<character name>"})
 
-This function will return a unique ID number of the invoking character, or, if a 
-character name is specified, of that player.
-
 This function will return the specified stat of the invoking character, or, if a
 character name is specified, of that player. The stat can either be a number or
 paramter name, defined in 'db/const.txt'.
@@ -2469,7 +2465,7 @@ EQI_COSTUME_HEAD_TOP (13) - Upper Costume Headgear
 EQI_COSTUME_GARMENT (14)  - Costume Garment
 
 Notice that a few items occupy several equipment slots, and if the character is 
-wearing such an item, 'getequipid' will return it's ID number for either slot.
+wearing such an item, 'getequipid' will return its ID number for either slot.
 
 Can be used to check if you have something equipped, or if you haven't got 
 something equipped:
@@ -3578,6 +3574,7 @@ The renewal feature to check is determined by type.
 3,1.- Item-related commands
 \\
 ---------------------------------------
+
 *isequipped(<id>{,<id>{,<id>{,<id>}}})
 
 This function will return 1 if the invoking character has all of the item 
@@ -3601,13 +3598,16 @@ in February 2005, but it will work just fine in normal NPC scripts.
 This function is similar to 'isequipped', but instead of 1 or 0, it will return 
 the number of cards in the list given that were found on the invoking character.
 
+If a given parameter is not a card, the function returns the amount of that
+item equipped on the invoking character.
+
     if (isequippedcnt(4001,4005,4033,4196) == 4) mes "Finally got all four poring cards?";
 
 ---------------------------------------
 
 *checkequipedcard(<card id>)
 
-This function will return 1 if the card specified by it's item ID number is 
+This function will return 1 if the card specified by its item ID number is 
 inserted into any equipment they have in their inventory, currently equipped or 
 not.
 
@@ -3952,7 +3952,7 @@ The command will run for the invoking character unless an account ID is given.
 
 *classchange <view id>,<type>;
 
-This command is very ancient, it's origins are clouded in mystery. 
+This command is very ancient, its origins are clouded in mystery. 
 It will send a 'display id change' packet to everyone in the immediate area of 
 the NPC object, which will supposedly make the NPC look like a different sprite, 
 an NPC sprite ID, or a monster ID. This effect is not stored anywhere and will 
@@ -4072,7 +4072,7 @@ The knock-back is not restricted by items or map flags, only obstacles are taken
 into account. If there is not enough space to perform the push (e.g. due to a
 wall), the character is pushed only up to the obstacle.
 
-    // pushes the character 5 cells in 3 o'clock direction from it's
+    // pushes the character 5 cells in 3 o'clock direction from its
     // current position.
     pushpc DIR_EAST, 5;
 
@@ -4122,7 +4122,7 @@ current SVN, drops only Jellopies anyway.
 This transaction is logged if the log script generated transactions option is 
 enabled.
 
-You may also create an item by it's name in the 'english name' field in the 
+You may also create an item by its name in the 'english name' field in the 
 item database:
 
     getitem "RED_POTION",10;
@@ -4743,7 +4743,7 @@ any guild.
 
 This command will bump up the specified guild skill by the specified number of 
 levels. This refers to the invoking character and will only work if the invoking 
-character is a member of a guild AND it's guild master, otherwise no failure 
+character is a member of a guild AND its guild master, otherwise no failure 
 message will be given and no error will occur, but nothing will happen - same 
 about the guild skill trying to exceed the possible maximum. The full list of 
 guild skills is available in 'db/(pre-)re/skill_db.txt', these are all the GD_ skills at 
@@ -5362,7 +5362,7 @@ four arguments serve the same purpose as in the monster script command, The
 If <master id> is given, the clone will be a 'slave/minion' of it. Master_id
 must be a character id of another online player.
 
-The mode can be specified to determine the behavior of the clone, it's
+The mode can be specified to determine the behavior of the clone. Its
 values are the same as the ones used for the mode field in the mob_db. The
 default mode is aggressive, assists, can move, can attack.
 
@@ -6926,7 +6926,7 @@ Example:
 *strtoupper(<string>)
 *strtolower(<string>)
 
-Returns the specified string in it's uppercase/lowercase form.
+Returns the specified string in its uppercase/lowercase form.
 All non-alpha characters will be preserved.
 
 Example:
@@ -6961,7 +6961,7 @@ Example:
 Breaks a string up into substrings based on the specified delimiter. Substrings
 will be stored within the specified string array. Only the 1st char of the
 delimiter parameter will be used. If an empty string is passed as a delimiter,
-the string will be placed in the array in it's original form.
+the string will be placed in the array in its original form.
 
 Example:
 	explode(.@my_array$, "Explode:Test:1965:red:PIE", ":");

+ 9 - 13
src/map/channel.c

@@ -955,9 +955,8 @@ int channel_pcsetopt(struct map_session_data *sd, char *chname, const char *opti
 			return -1;
 		} else {
 			channel->opt |= k;
-			sprintf(output, msg_txt(sd,1450), opt_str[k],channel->name);// Option '%s' is enabled for channel '%s'.
+			sprintf(output, msg_txt(sd,1450), opt_str[k],channel->name);// Option '%s' is enabled for channel '#%s'.
 			clif_displaymessage(sd->fd, output);
-			return 0;
 		}
 	} else {
 		int v = atoi(val);
@@ -965,42 +964,39 @@ int channel_pcsetopt(struct map_session_data *sd, char *chname, const char *opti
 			if( v < 0 || v > 10 ) {
 				sprintf(output, msg_txt(sd,1451), v, opt_str[k]);// Value '%d' for option '%s' is out of range (limit 0-10).
 				clif_displaymessage(sd->fd, output);
-				return false;
+				return -1;
 			}
 			if( v == 0 ) {
 				channel->opt &=~ k;
 				channel->msg_delay = 0;
-				sprintf(output, msg_txt(sd,1453), opt_str[k],channel->name,v);// Option '%s' is disabled for channel '%s'.
+				sprintf(output, msg_txt(sd,1453), opt_str[k],channel->name,v);// Option '%s' is disabled for channel '#%s'.
 				clif_displaymessage(sd->fd, output);
-				return true;
 			} else {
 				channel->opt |= k;
 				channel->msg_delay = v;
-				sprintf(output, msg_txt(sd,1452), opt_str[k],channel->name,v);// Option '%s' is enabled for channel '%s' at %d seconds.
+				sprintf(output, msg_txt(sd,1452), opt_str[k],channel->name,v);// Option '%s' is enabled for channel '#%s' at %d seconds.
 				clif_displaymessage(sd->fd, output);
-				return true;
 			}
 		} else {
 			if( v ) {
 				if( channel->opt & k ) {
 					sprintf(output, msg_txt(sd,1449), opt_str[k],opt_str[k]); // Option '%s' is already enabled (use '@channel setopt %s 0' to disable).
 					clif_displaymessage(sd->fd, output);
-					return false;
+					return -1;
 				} else {
 					channel->opt |= k;
-					sprintf(output, msg_txt(sd,1450), opt_str[k],channel->name);// Option '%s' is enabled for channel '%s'.
+					sprintf(output, msg_txt(sd,1450), opt_str[k],channel->name);// Option '%s' is enabled for channel '#%s'.
 					clif_displaymessage(sd->fd, output);
 				}
 			} else {
 				if( !(channel->opt & k) ) {
-					sprintf(output, msg_txt(sd,1450), opt_str[k],channel->name); // Option '%s' is enabled for channel '%s'.
+					sprintf(output, msg_txt(sd,1450), opt_str[k],channel->name); // Option '%s' is enabled for channel '#%s'.
 					clif_displaymessage(sd->fd, output);
-					return false;
+					return -1;
 				} else {
 					channel->opt &=~ k;
-					sprintf(output, msg_txt(sd,1453), opt_str[k],channel->name);// Option '%s' is disabled for channel '%s'.
+					sprintf(output, msg_txt(sd,1453), opt_str[k],channel->name);// Option '%s' is disabled for channel '#%s'.
 					clif_displaymessage(sd->fd, output);
-					return true;
 				}
 			}
 		}

+ 2 - 2
src/map/pc.c

@@ -4319,11 +4319,11 @@ int pc_useitem(struct map_session_data *sd,int n)
 					int e_tick = DIFF_TICK(sd->item_delay[i].tick, tick)/1000;
 					char e_msg[100];
 					if( e_tick > 99 )
-						sprintf(e_msg,msg_txt(sd,379), //Item Failed. [%s] is cooling down. wait %.1f minutes.
+						sprintf(e_msg,msg_txt(sd,379), //Item Failed. [%s] is cooling down. Wait %.1f minutes.
 										itemdb_jname(sd->status.inventory[n].nameid),
 										(double)e_tick / 60);
 					else
-						sprintf(e_msg,msg_txt(sd,380), //Item Failed. [%s] is cooling down. wait %d seconds.
+						sprintf(e_msg,msg_txt(sd,380), //Item Failed. [%s] is cooling down. Wait %d seconds.
 										itemdb_jname(sd->status.inventory[n].nameid),
 										e_tick+1);
 					clif_colormes(sd,color_table[COLOR_RED],e_msg);

+ 2 - 2
src/map/skill.c

@@ -13262,7 +13262,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id
 			    if (map_foreachinrange(mob_count_sub, &sd->bl, skill_get_splash(skill_id, skill_lv), BL_MOB,
 				    MOBID_EMPERIUM, MOBID_GUARIDAN_STONE1, MOBID_GUARIDAN_STONE2)) {
 				char output[128];
-				sprintf(output,"%s",msg_txt(sd,382)); //	You're too close to a stone or emperium to do this skill
+				sprintf(output,"%s",msg_txt(sd,382)); // You're too close to a stone or emperium to use this skill.
 				clif_colormes(sd,color_table[COLOR_RED], output);
 				return 0;
 			    }
@@ -13630,7 +13630,7 @@ int skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id,
 			return 0;
 		} else if( sd->status.inventory[i].amount < require.ammo_qty ) {
 			char e_msg[100];
-			sprintf(e_msg,msg_txt(sd,381), //Skill Failed. [%s] requires %dx %s
+			sprintf(e_msg,msg_txt(sd,381), //Skill Failed. [%s] requires %dx %s.
 						skill_get_desc(skill_id),
 						require.ammo_qty,
 						itemdb_jname(sd->status.inventory[i].nameid));