瀏覽代碼

* Follow-up on Item Bound System. (r17351, r17361)
* Moved Optamara Crew coordinates to match new Alberta map. (credits: M45T3R)
* Updated FRN and IDN map_msg translations. (credits: Capuche, Cydh)
* Switched THA map_msg encoding from UTF-8 to TIS-620. (credits: Boneskung)

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

euphyy 12 年之前
父節點
當前提交
9d3b1ec38d

+ 1 - 0
conf/groups.conf

@@ -274,6 +274,7 @@ groups: (
 		use_changemaptype: true
 		all_commands: true
 		channel_admin: true
+		can_trade_bounded: true
 	}
 }
 )

+ 6 - 6
conf/msg_conf/map_msg.conf

@@ -313,10 +313,10 @@
 //Item Bound System
 293: This bounded item cannot be traded to that character.
 294: This bounded item cannot be stored there.
-295: Please enter an item name or ID (usage: @item <item name/ID> <quantity> <bound_type>).
+295: Please enter an item name or ID (usage: @item <item name/ID> <quantity> <bound type>).
 296: Please enter all parameters (usage: @item2 <item name/ID> <quantity>
-297:   <identify_flag> <refine> <attribute> <card1> <card2> <card3> <card4> <bound_type>).
-298: Invalid bound type. Valid types are - 1:Account 2:Guild 3:Party 4:Character
+297:   <identify_flag> <refine> <attribute> <card1> <card2> <card3> <card4> <bound type>).
+298: Invalid bound type. Valid types: 1-Account, 2-Guild, 3-Party, 4-Character
 // Guild Castles Number
 // --------------------
 //299: ?? Castles
@@ -357,7 +357,6 @@
 // 334: Thirty-Four Castles
 334: Total Domination
 
-
 // Templates for @who output
 343: Name: %s
 344: (%s)
@@ -806,7 +805,7 @@
 // @guildlevelup
 1014: Please enter a valid level (usage: @guildlvup/@guildlvlup <# of levels>).
 
-// @makeeg
+// @makeegg
 1015: Please enter a monster/egg name/ID (usage: @makeegg <pet>).
 
 // @petfriendly
@@ -1515,8 +1514,9 @@
 // @reloadpacketdb
 1477: Packet database has been reloaded.
 
+// @partysharelvl
 1478: Party share level range has been changed successfully.
-1479: Failed updating configuration. Character server offline.
+1479: Failed to update configuration. Character server is offline.
 
 //Custom translations
 //import: conf/msg_conf/import/map_msg_eng_conf.txt

+ 8 - 5
conf/msg_conf/map_msg_frn.conf

@@ -24,7 +24,7 @@
 3: Personnage non trouvé.
 4: Téléporté(e) à %s
 5: Téléporté(e) à %d %d
-6: Votre Point de sauvegarde a été changé.
+6: Point de sauvegarde changé.
 7: Téléporté(e) au point de sauvegarde.
 8: Vitesse changée.
 9: Options changées.
@@ -56,8 +56,8 @@
 35: Vous ne pouvez pas utiliser cette commande avec cette classe.
 36: Apparence changée.
 37: Vous avez spécifié un nombre invalide.
-38: Nombre, ou nom du lieu Invalide.
-39: Tous les monstres ont été invoqués!
+38: Nombre ou nom du lieu Invalide.
+39: Tous les monstres sont invoqués!
 40: Monstre ID ou nom Invalide.
 41: Impossible de diminuer le nombre/valeur.
 42: Stats changées.
@@ -80,7 +80,7 @@
 59: Mode Nuit activé.
 60: Mode Jour activé.
 61: Le messager divin rend son jugement.
-62: Le jugement a été rendu.
+62: Le jugement est rendu.
 63: Le Ciel a eu pitié des morts.
 64: Le Ciel a eu pitié de vous.
 65: Niveau de Base (Base Level) du personnage augmenté.
@@ -798,7 +798,7 @@
 // @guildlevelup
 1014: Entrez un niveau valide (usage: @guildlvup/@guildlvlup <# de niveaux>).
 
-// @makeeg
+// @makeegg
 1015: Entrez un monstre/egg nom/ID (usage: @makeegg <pet>).
 
 // @petfriendly
@@ -1504,5 +1504,8 @@
 1475: ---- Canaux rejoins ----
 1476: Vous n'avez rejoins aucun canal.
 
+// @reloadpacketdb
+1477: Base de donnée des 'Packets' rechargée.
+
 //Custom translations
 //import: conf/msg_conf/import/map_msg_frn_conf.txt

+ 12 - 1
conf/msg_conf/map_msg_idn.conf

@@ -309,6 +309,13 @@
 290: Pemain ini tidak bisa dibunuh.
 291: Efek cuaca akan hilang saat warp/refresh.
 292: 'Kondisi pembunuh' diatur ulang.
+//Item Bound System
+293: Item bound ini tidak dapat diberikan ke karakter tersebut.
+294: Item bound tidak dapat disimpan.
+295: Harap masukkan sebuah nama item atau ID. (Penggunaan: @item <nama item/ID> <jumlah> <bound type>).
+296: Harap masukkan semua parameter. (Penggunaan: @item2 <nama item/ID> <jumlah>
+297:   <identify_flag> <refine> <attribute> <card1> <card2> <card3> <card4> <bound type>).
+298: Tipe bound salah. Tipe yang ada adalah: 1-Account, 2-Guild, 3-Party, 4-Character
 // Guild Castles Number
 // --------------------
 //299: ?? Kastil
@@ -797,7 +804,7 @@
 // @guildlevelup
 1014: Harap masukkan level yang benar. (Penggunaan: @guildlvup/@guildlvlup <# level>).
 
-// @makeeg
+// @makeegg
 1015: Harap masukkan nama monster/nama telur/ID (Penggunaan: @makeegg <peliharaan>).
 
 // @petfriendly
@@ -1506,5 +1513,9 @@
 // @reloadpacketdb
 1477: Database paket telah dimuat ulang.
 
+// @partysharelvl
+1478: Jarak level dalam party share telah diubah dengan sukses.
+1479: Gagal memperbaruhi pengaturan. Server karakter sedang offline.
+
 //Bila ada terjemahan lain
 //import: conf/msg_conf/import/map_msg_idn_conf.txt

文件差異過大導致無法顯示
+ 429 - 431
conf/msg_conf/map_msg_tha.conf


+ 27 - 28
doc/atcommands.txt

@@ -3,13 +3,13 @@
 //===== By: ==================================================
 //= rAthena Dev Team
 //===== Current Version: =====================================
-//= 20130601
+//= 20130613
 //===== Description: =========================================
 //= List of available atcommands and their functions.
 //============================================================
 
 This file describes the usage of in-game commands and assumes that
-'conf/atcommand_athena.conf' has the following:
+'/conf/atcommand_athena.conf' has the following:
 	atcommand_symbol : "@"
 	charcommand_symbol: "#"
 
@@ -629,10 +629,8 @@ Spawns a clone of the specified player.
 
 @item <item name/ID> {<amount>}
 /item <item name/ID>
-@delitem <item name/ID> <amount>
 
-Creates or removes the specified item.
-If an amount is given for @item, that number will be created.
+Creates an item.
 
 ---------------------------------------
 
@@ -643,20 +641,24 @@ identify_flag: 0 = unidentified, 1 = identified
 attribute: 0 = not broken, 1 = broken
 
 ---------------------------------------
- 
-@itembound <item name/ID> <amount> <bound_type>
 
-Creates the specified item and bounds it to the account.
-bound_type: 1 = Account, 2 = Guild, 3 = Party, 4 = Character
+@itembound <item name/ID> <amount> <bound type>
+@itembound2 <item name/ID> <quantity> <identify_flag> <refine> <attribute> <card1> <card2> <card3> <card4> <bound type>
+
+Creates an item bounded to the character.
+The items cannot be dropped, sold, vended, auctioned, or mailed, and in some cases cannot be traded or stored.
+
+Available types:
+-- 1: Account
+-- 2: Guild
+-- 3: Party
+-- 4: Character
 
 ---------------------------------------
 
-@itembound2 <item name/ID> <quantity> <identify_flag> <refine> <attribute> <card1> <card2> <card3> <card4> <bound_type>
+@delitem <item name/ID> <amount>
 
-Creates an item with the given parameters (the 'cards' can be any item) and bounds it to the account.
-identify_flag: 0 = unidentified, 1 = identified
-attribute: 0 = not broken, 1 = broken
-bound_type: 1 = Account, 2 = Guild, 3 = Party, 4 = Character
+Deletes the specified item from the player's inventory.
 
 ---------------------------------------
 
@@ -932,7 +934,7 @@ If no position is given, the command defaults to headgear.
 
 @fakename {<text string>}
 
-Temporarily changes name to the specified string.
+Temporarily changes name to the specified string (lasts until player logs out).
 If no string is given, the character's real name will be re-applied.
 
 ---------------------------------------
@@ -1207,15 +1209,15 @@ Changes a battle_config flag without rebooting the server.
 
 @adjgroup <group ID>
 
-Changes the group of a character (lasts until relog).
-The groups are specified in '/conf/groups.conf'.
+Temporarily changes the group of a character (lasts until player logs out).
+The groups are defined in '/conf/groups.conf'.
 
 ---------------------------------------
 
 @addperm {<permission name>}
 @rmvperm {<permission name>}
 
-Changes the permissions of a character (lasts until relog).
+Temporarily changes the permissions of a character (lasts until player logs out).
 If no permission is given, a list of available permissions will be returned.
 
 ---------------------------------------
@@ -1260,16 +1262,6 @@ Example:
 
 ---------------------------------------
 
-@partysharelvl <value>
-
-Updates party share level range until character server is restarted.
-Automatically updates all online parties.
-
-Example:
-@partysharelvl 25
-
----------------------------------------
-
 =====================
 | 6. Party Commands |
 =====================
@@ -1307,6 +1299,13 @@ NOTE: map server needs to be configured to enable spying to use this command (en
 
 ---------------------------------------
 
+@partysharelvl <value>
+
+Temporarily adjusts the party share level range (lasts until character server restarts).
+The permanent value is defined by 'party_share_level' in '/conf/inter_athena.conf'.
+
+---------------------------------------
+
 =====================
 | 7. Guild Commands |
 =====================

+ 8 - 7
doc/permissions.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= rAthena Dev Team
 //===== Current Version: =====================================
-//= 20130526
+//= 20130613
 //===== Description: =========================================
 //= List of available permissions and their functions.
 //============================================================
@@ -104,6 +104,13 @@ Prevents player from attacking other players.
 
 ---------------------------------------
 
+*can_trade_bounded
+
+Allows player to do normal item actions with bounded items (drop, sell,
+trade, etc.).
+
+---------------------------------------
+
 ======================
 | 3. Command-related |
 ======================
@@ -172,9 +179,3 @@ Allows player to use the client command /check (displays character status).
 Allows player to use the client command /changemaptype.
 
 ---------------------------------------
-
-*can_trade_bounded
-
-Allows player to do normal item actions (sell, trade, store, vend, auction, mail) with bounded items.
-
----------------------------------------

+ 33 - 54
doc/script_commands.txt

@@ -3195,7 +3195,7 @@ $@MobDrop_item[] is a global temporary number array which contains the
 $@MobDrop_rate[] is a global temporary number array which contains the 
                  drop percentages of each item. (1 = .01%)
 
-$@MobDrop_count  is the number of item drops found.
+$@MobDrop_count is the number of item drops found.
 
 Be sure to use $@MobDrop_count to go through the arrays, and not 
 'getarraysize', because the temporary global arrays are not cleared between 
@@ -4117,10 +4117,10 @@ currently running on.
 *getitem <item id>,<amount>{,<account ID>};
 *getitem "<item name>",<amount>{,<account ID>};
 
-This command will give a specific amount of specified items to the target 
-character. If the character is not online, nothing will happen.
-If <account ID> is not specified, items will be created in the invoking 
-character inventory instead.
+This command will give an amount of specified items to the invoking character. 
+If an optional account ID is specified, and the target character is currently 
+online, items will be created in their inventory instead. If they are not 
+online, nothing will happen.
 
 In the first and most commonly used version of this command, items are 
 referred to by their database ID number found inside 'db/(pre-)re/item_db.txt'.
@@ -4249,47 +4249,33 @@ command, creating a pet which is the same, but simultaneously exists in two
 eggs, and may hatch from either, although, I'm not sure what kind of a mess will 
 this really cause.
 
- ---------------------------------------
- 
-*getitembound <item id>,<amount>,<bound_type>{,<account ID>};
-*getitembound "<item name>",<amount>,<bound_type>{,<account ID>};
+---------------------------------------
 
-This command will give an amount of specified items to the invoking character. 
-If an optional account ID is specified, and the target character is currently 
-online, items will be created in their inventory instead. If they are not 
-online, nothing will happen. 
+*getitembound <item id>,<amount>,<bound type>{,<account ID>};
+*getitembound "<item name>",<amount>,<bound type>{,<account ID>};
 
-It works essentially the same as 'getitem', except that items created using
-this command will bound the item to the player's account. Depending on the bound type issued,
-the character may not be able to trade or store these items, however all bounded types
-cannot be sold, vended, auctioned, or mailed.
+This command behaves identically to 'getitem', but the items created will be
+bound to the target character as specified by the bound type. All items created
+in this manner cannot be dropped, sold, vended, auctioned, or mailed, and in
+some cases cannot be traded or stored.
 
-Bound Types:
-	1 - Account Bound
-	2 - Guild Bound
-	3 - Party Bound
-	4 - Character Bound
+Valid bound types are:
+ 1 - Account Bound
+ 2 - Guild Bound
+ 3 - Party Bound
+ 4 - Character Bound
 
 ---------------------------------------
 
-*getitembound2 <item id>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<bound_type>{,<account ID>};
-*getitembound2 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<bound_type>{,<account ID>};
+*getitembound2 <item id>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<bound type>{,<account ID>};
+*getitembound2 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<bound type>{,<account ID>};
 
-This command will give an amount of specified items to the invoking character. 
-If an optional account ID is specified, and the target character is currently 
-online, items will be created in their inventory instead. If they are not 
-online, nothing will happen. 
-
-It works essentially the same as 'getitem2', except that items created using
-this command will bound the item to the player's account. Depending on the bound type issued,
-the character may not be able to trade or store these items, however all bounded types
-cannot be sold, vended, auctioned, or mailed.
+This command behaves identically to 'getitem2', but the items created will be
+bound to the target character as specified by the bound type. All items created
+in this manner cannot be dropped, sold, vended, auctioned, or mailed, and in
+some cases cannot be traded or stored.
 
-Bound Types:
-	1 - Account Bound
-	2 - Guild Bound
-	3 - Party Bound
-	4 - Character Bound
+For a list of bound types see 'getitembound'.
 
 ---------------------------------------
 
@@ -4432,29 +4418,22 @@ Check 'getitem2' to understand the arguments of the function.
 
 ---------------------------------------
 
-*countbound({<bound_type>})
+*countbound({<bound type>})
 
-This function will return a number of bounded items on the character.
-Optionally, you may count a specific type of bounded item on the character.
+This function will return the number of bounded items in the character's
+inventory, and sets an array @bound_items[] containing all item IDs of the
+counted items. If a bound type is specified, only those items will be counted.
 
-countbound will also build an array of items in the form of @bound_items.
-Using countbound without a type counts all types of bounded items.
-
-Available types are:
-	1 - Account Bound
-	2 - Guild Bound
-	3 - Party Bound
-	4 - Character Bound
+For a list of bound types see 'getitembound'.
 
 Example:
-	mes "[Bound Counter]";
-	mes "I see you currently have "+countbound+" bounded items.";
+	mes "You currently have "+countbound()+" bounded items.";
 	next;
 	mes "The list of bounded items include:";
-	for(.@i = 0; .@i<getarraysize(@bound_items); .@i++)
+	for(set .@i,0; .@i<getarraysize(@bound_items); set .@i,.@i+1)
 		mes getitemname(@bound_items[.@i]);
 	close;
-    
+
 ---------------------------------------
 
 *groupranditem <group id>;
@@ -5037,7 +5016,7 @@ will retain the default behavior of the command.
 
 *specialeffect2 <effect number>{,<send_target>{,"<Player Name>"}};
 
-This command behaves identically to the 'specialeffect', but the effect will be 
+This command behaves identically to 'specialeffect', but the effect will be
 centered on the invoking character's sprite.
 
 <Player name> parameter will display <effect number> on another Player than the

+ 2 - 1
npc/re/cities/malaya.txt

@@ -17,7 +17,8 @@
 
 // Port Malaya Transportation
 //============================================================
-alberta,237,71,3	script	Optamara Crew#alberta	100,{
+// Old coordinates: alberta (237,71)
+alberta,196,202,3	script	Optamara Crew#alberta	100,{
 	mes "[Optamara Crew]";
 	mes "Hey, there!";
 	mes "It's 10,000 Zeny to go to Port Malaya. Interested?";

+ 4 - 4
src/map/atcommand.c

@@ -3740,15 +3740,15 @@ ACMD_FUNC(partysharelvl) {
 	nullpo_retr(-1, sd);
 
 	if(!message || !*message) {
-		clif_displaymessage(fd, msg_txt(sd,1322));
+		clif_displaymessage(fd, msg_txt(sd,1322)); // Please enter an amount.
 		return -1;
 	} else
 		share_lvl = min(abs(atoi(message)),MAX_LEVEL);
 
 	if(intif_party_sharelvlupdate(share_lvl)) //Successfully updated
-		clif_displaymessage(fd, msg_txt(sd,1478));
+		clif_displaymessage(fd, msg_txt(sd,1478)); // Party share level range has been changed successfully.
 	else //Char server offline
-		clif_displaymessage(fd, msg_txt(sd,1479));
+		clif_displaymessage(fd, msg_txt(sd,1479)); // Failed to update configuration. Character server is offline.
 
 	return 0;
 }
@@ -3944,7 +3944,7 @@ ACMD_FUNC(mapinfo) {
 	if (map[m_id].flag.guildlock)
 		strcat(atcmd_output, msg_txt(sd,1097)); // GuildLock |
 	if (map[m_id].flag.loadevent)
-		strcat(atcmd_output, msg_txt(sd,1098)); //Loadevent |
+		strcat(atcmd_output, msg_txt(sd,1098)); // Loadevent |
 	if (map[m_id].flag.src4instance)
 		strcat(atcmd_output, msg_txt(sd,1099)); // Src4instance |
 	if (map[m_id].flag.chmautojoin)

+ 1 - 1
src/map/intif.h

@@ -61,7 +61,7 @@ int intif_guild_notice(int guild_id, const char *mes1, const char *mes2);
 int intif_guild_emblem(int guild_id, int len, const char *data);
 int intif_guild_castle_dataload(int num, int *castle_ids);
 int intif_guild_castle_datasave(int castle_id, int index, int value);
-#ifdef GUILD_BOUND_ITEMS
+#ifdef BOUND_ITEMS
 void intif_itembound_req(int char_id, int aid, int guild_id);
 #endif
 

部分文件因文件數量過多而無法顯示