Quellcode durchsuchen

* Documented some GM client commands.
* Custom Quest Shop updated to v1.6a, which adds support for previewing costumes and robes.
* Updated THA map_msg translation. (credits: Boneskung)
* Changed remaining @npcoff references to @unloadnpc.

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

euphyy vor 12 Jahren
Ursprung
Commit
9288d3e20b

+ 2 - 0
conf/atcommand_athena.conf

@@ -42,6 +42,8 @@ aliases: {
 	blvl: ["lvup", "blevel", "baselvl", "baselvup", "baselevel", "baselvlup"]
 	jlvl: ["jlevel", "joblvl", "joblvup", "joblevel", "joblvlup"]
 	glvl: ["glevel", "guildlvl", "guildlvup", "guildlevel", "guildlvlup"]
+	resetstat: ["streset"]
+	resetskill: ["skreset"]
 	allskill: ["allskills", "skillall", "skillsall"]
 	allstats: ["allstat", "statall", "statsall"]
 	ban: ["banish"]

+ 2 - 2
conf/msg_conf/map_msg.conf

@@ -967,8 +967,8 @@
 // @loadnpc
 1132: Please enter a script file name (usage: @loadnpc <file name>).
 
-// @npcoff
-1133: Please enter a NPC name (usage: @npcoff <NPC_name>).
+// @unloadnpc
+1133: Please enter a NPC name (usage: @unloadnpc <NPC_name>).
 
 // @jail
 1134: Please enter a player name (usage: @jail <char_name>).

+ 3 - 3
conf/msg_conf/map_msg_chn.conf

@@ -792,7 +792,7 @@
 // @guildlevelup
 1014: 請輸入有效等級 (用法: @guildlvup/@guildlvlup <# of levels>).
 
-// @makeeg
+// @makeegg
 1015: 請輸入魔物\寵物蛋的名稱\ID (用法: @makeegg <pet>).
 
 // @petfriendly
@@ -954,8 +954,8 @@
 // @loadnpc
 1132: Please enter a script file name (用法: @loadnpc <file name>).
 
-// @npcoff
-1133: 請輸入NPC名稱 (用法: @npcoff <NPC_name>).
+// @unloadnpc
+1133: 請輸入NPC名稱 (用法: @unloadnpc <NPC_name>).
 
 // @jail
 1134: 請輸入角色名稱 (用法: @jail <char_name>).

+ 2 - 2
conf/msg_conf/map_msg_frn.conf

@@ -960,8 +960,8 @@
 // @loadnpc
 1132: Entrez un nom de fichier script (usage: @loadnpc <nom_fichier>).
 
-// @npcoff
-1133: Entrez un nom de NPC (usage: @npcoff <nom_NPC>).
+// @unloadnpc
+1133: Entrez un nom de NPC (usage: @unloadnpc <nom_NPC>).
 
 // @jail
 1134: Entrez un nom de Joueur (usage: @jail <nom_joueur>).

+ 2 - 2
conf/msg_conf/map_msg_idn.conf

@@ -966,8 +966,8 @@
 // @loadnpc
 1132: Harap masukkan nama file (full path). (Penggunaan: @loadnpc <nama file>).
 
-// @npcoff
-1133: Harap masukkan nama NPC. (Penggunaan: @npcoff <nama npc>).
+// @unloadnpc
+1133: Harap masukkan nama NPC. (Penggunaan: @unloadnpc <nama npc>).
 
 // @jail
 1134: Harap masukkan nama pemain. (Penggunaan: @jail <nama karakter>).

+ 3 - 3
conf/msg_conf/map_msg_por.conf

@@ -791,7 +791,7 @@
 // @guildlevelup
 1014: Digite um nível válido (uso: @guildlvup/@guildlvlup <# de níveis>).
 
-// @makeeg
+// @makeegg
 1015: Digite o nome/ID de um monstro/ovo (uso: @makeegg <pet>).
 
 // @petfriendly
@@ -953,8 +953,8 @@
 // @loadnpc
 1132: Digite o nome de um arquivo de script (uso: @loadnpc <nome do arquivo>).
 
-// @npcoff
-1133: Digite o nome de um NPC (uso: @npcoff <nome_do_NPC>).
+// @unloadnpc
+1133: Digite o nome de um NPC (uso: @unloadnpc <nome_do_NPC>).
 
 // @jail
 1134: Digite o nome de um jogador (uso: @jail <nome_do_personagem>).

+ 3 - 3
conf/msg_conf/map_msg_rus.conf

@@ -799,7 +799,7 @@
 // @guildlevelup
 1014: Введите уровень (Использование: @guildlvup/@guildlvlup <кол-во уровней>).
 
-// @makeeg
+// @makeegg
 1015: Введите ID/название монстра/питомца (Использование: @makeegg <питомец>).
 
 // @petfriendly
@@ -961,8 +961,8 @@
 // @loadnpc
 1132: Введите название файла со скриптом (Использование: @loadnpc <название файла>).
 
-// @npcoff
-1133: Введите название НИП (Использование: @npcoff <название НИП>).
+// @unloadnpc
+1133: Введите название НИП (Использование: @unloadnpc <название НИП>).
 
 // @jail
 1134: Введите ник персонажа (Использование: @jail <ник персонажа>).

+ 3 - 3
conf/msg_conf/map_msg_spn.conf

@@ -798,7 +798,7 @@
 // @guildlevelup
 1014: Introduce una cantidad (Instrucciones: @guildlvup/@guildlvlup <cantidad de niveles>).
 
-// @makeeg
+// @makeegg
 1015: Introduce el nombre de un monstruo/huevo/ID (Instrucciones: @makeegg <mascota>).
 
 // @petfriendly
@@ -960,8 +960,8 @@
 // @loadnpc
 1132: Introduce el nombre de un script (Instrucciones: @loadnpc <ruta del script>)
 
-// @npcoff
-1133: Introduce el nombre de un NPC (Instrucciones: @npcoff <nombre del NPC>).
+// @unloadnpc
+1133: Introduce el nombre de un NPC (Instrucciones: @unloadnpc <nombre del NPC>).
 
 // @jail
 1134: Introduce el nombre de algún jugador (Instrucciones: @jail <nombre del personaje>).

+ 12 - 2
conf/msg_conf/map_msg_tha.conf

@@ -17,6 +17,7 @@
 
 // Messages of GM commands
 // -----------------------
+
 0: à¤Å×è͹ÂéÒÂàÃÕºÃéÍÂ.
 1: äÁ辺Ἱ·Õè´Ñ§¡ÅèÒÇ.
 2: ¾Ô¡Ñ´¼Ô´¾ÅÒ´, ·Ó¡ÒÃÊØèÁ¾Ô¡Ñ´ãËé.
@@ -309,6 +310,13 @@
 290: ¼ÙéàÅ蹴ѧ¡ÅèÒÇäÁèµéͧà»ç¹à»éÒËÁÒ¡ÒÃâ¨ÁµÕÍÂèÒ§ÍÔÊÃÐáÅéÇ.
 291: ÊÀÒ¾ÍÒ¡ÒÈ·Ñé§ËÁ´¶Ù¡Â¡àÅÔ¡ ź´éÇ¡Òà warp/refresh
 292: ¡ÒæèÒÍÂèÒ§ÍÔÊÃÐä´é¶Ù¡Â¡àÅÔ¡.
+//Item Bound System
+293: item ¨Ó¡Ñ´¢Íºà¢µ¹Õé äÁèÊÒÁÒöáÅ¡à»ÅÕ蹡Ѻ¼ÙéàÅè¹¹Õéä´é.
+294: item ¨Ó¡Ñ´¢Íºà¢µ¹Õé äÁèÊÒÁÒöà¡çºÅ§ªèͧà¡çº¢Í§¹Õéä´é.
+295: â»Ã´Ãкت×èÍ/ID item (ÇÔ¸Õãªé: @item <ª×èÍ/ID item> <¨Ó¹Ç¹> <bound type>).
+296: â»Ã´ãÊè¤èÒ·Ñé§ËÁ´ (ÇÔ¸Õãªé: @item2 <ª×èÍ/ID item> <¨Ó¹Ç¹>
+297:   <identify_flag> <refine> <attribute> <card1> <card2> <card3> <card4> <bound type>).
+298: »ÃÐàÀ·¢Íºà¢µäÁè¶Ù¡µéͧ. »ÃÐàÀ··Õèãªéä´é: 1-Account, 2-Guild, 3-Party, 4-Character
 // Guild Castles Number
 // --------------------
 //299: ?? Castles
@@ -959,8 +967,8 @@
 // @loadnpc
 1132: â»Ã´Ãкت×èÍ ä¿Åì script (ÇÔ¸Õãªé: @loadnpc <file name>).
 
-// @npcoff
-1133: â»Ã´Ãкت×èÍ NPC (ÇÔ¸Õãªé: @npcoff <ª×èÍ NPC>).
+// @unloadnpc
+1133: â»Ã´Ãкت×èÍ NPC (ÇÔ¸Õãªé: @unloadnpc <ª×èÍ NPC>).
 
 // @jail
 1134: â»Ã´Ãкت×è͵ÑÇÅФà (ÇÔ¸Õãªé: @jail <ª×è͵ÑÇÅФÃ>).
@@ -1321,9 +1329,11 @@
 1327: [ K.S Protection Active - Option: Self ]
 1328: [ K.S Protection Active - Option: Guild ]
 1329: ÇÔ¸Õãªé: @noks <self|party|guild>
+
 // @allowks
 1330: [ Map K.S Protection Active ]
 1331: [ Map K.S Protection Inactive ]
+
 // @itemlist
 1332: ------ %s items list of '%s' ------
 1333:  | equipped:

+ 8 - 3
doc/atcommands.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= rAthena Dev Team
 //===== Current Version: =====================================
-//= 20130613
+//= 20130614
 //===== Description: =========================================
 //= List of available atcommands and their functions.
 //============================================================
@@ -600,6 +600,7 @@ all items are sold, or the mapserver closes.
 ---------------------------------------
 
 @monster <monster name/ID> {<amount>}
+/monster <monster name>
 @monstersmall <monster name/ID> {<amount>}
 @monsterbig <monster name/ID> {<amount>}
 
@@ -628,7 +629,7 @@ Spawns a clone of the specified player.
 ---------------------------------------
 
 @item <item name/ID> {<amount>}
-/item <item name/ID>
+/item <item name>
 
 Creates an item.
 
@@ -777,6 +778,7 @@ If no coordinates are entered, a random location will be chosen.
 ---------------------------------------
 
 @jumpto <player name/ID>
+/shift <player name>
 @follow <player name>
 
 Warps to the specified player.
@@ -785,7 +787,7 @@ Additionally, @follow will track the player's movements until turned off.
 ---------------------------------------
 
 @recall <player name>
-/recall <player name>
+/summon <player name>
 @recallall
 
 Warps a character to your position.
@@ -849,7 +851,9 @@ Changes unused status or skill points by the specified amount.
 ---------------------------------------
 
 @streset
+/resetstate
 @skreset
+/resetskill
 @reset
 
 Resets stats (@streset), skills (@skreset), or both (@reset).
@@ -1128,6 +1132,7 @@ If a time is not specified (jailfor), the player will be jailed indefinitely.
 
 @kick <player name/ID>
 @kickall
+/killall
 
 Disconnects a user or all users from the server.
 

+ 19 - 9
npc/custom/quests/quest_shop.txt

@@ -3,13 +3,21 @@
 //===== By: ==================================================
 //= Euphy
 //===== Current Version: =====================================
-//= 1.6
+//= 1.6a
 //===== Compatible With: =====================================
 //= rAthena SVN r16862+
 //===== Description: =========================================
 //= A dynamic quest shop based on Lunar's, with easier config.
 //= Includes support for multiple shops & cashpoints.
 //= Item Preview script by ToastOfDoom.
+//===== Additional Comments: =================================
+//= 1.0 Initial script.
+//= 1.2 Added category support.
+//= 1.3 More options and fixes.
+//= 1.4 Added debug settings.
+//= 1.5 Replaced categories with shop IDs.
+//= 1.6 Added support for purchasing stackables.
+//= 1.6a Added support for previewing costumes and robes.
 //============================================================
 
 // Shop NPCs -- supplying no argument displays entire menu.
@@ -116,11 +124,11 @@ OnBuyItem:
 		mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000";
 	next;
 	setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11);
-	if (((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512)) && @qe[2] > 0)
+	if (@qe[2] > 0 && ((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512) || (@qe[1] & 1024) || (@qe[1] & 2048) || (@qe[1] & 4096) || (@qe[1] & 4) || (@qe[1] & 8192)))
 		set .@preview,1;
 	addtimer 1000, strnpcinfo(0)+"::OnEnd";
 	while(1) {
-		switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[6])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
+		switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
 		case 1:
 			if (@qe[0]) { 
 				mes "[Quest Shop]";
@@ -141,10 +149,11 @@ OnBuyItem:
 			specialeffect2 699;
 			close;
 		case 2:
-			setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), 1;
-			if (@qe[1] & 1) changelook LOOK_HEAD_BOTTOM, @qe[2];
-			if (@qe[1] & 256) changelook LOOK_HEAD_TOP, @qe[2];
-			if (@qe[1] & 512) changelook LOOK_HEAD_MID, @qe[2];
+			setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1;
+			if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2];
+			else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2];
+			else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2];
+			else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2];
 			break;
 		case 3:
 			close;
@@ -152,12 +161,13 @@ OnBuyItem:
 	}
 
 OnEnd:
-	if (@qe[6]) {
+	if (@qe[7]) {
 		changelook LOOK_HEAD_BOTTOM, @qe[3];
 		changelook LOOK_HEAD_TOP, @qe[4];
 		changelook LOOK_HEAD_MID, @qe[5];
+		changelook LOOK_ROBE, @qe[6];
 	}
-	deletearray @qe[0],7;
+	deletearray @qe[0],8;
 	end;
 
 function Add {

+ 3 - 3
src/map/atcommand.c

@@ -4350,7 +4350,7 @@ ACMD_FUNC(unloadnpc)
 	memset(NPCname, '\0', sizeof(NPCname));
 
 	if (!message || !*message || sscanf(message, "%24[^\n]", NPCname) < 1) {
-		clif_displaymessage(fd, msg_txt(sd,1133)); // Please enter a NPC name (usage: @npcoff <NPC_name>).
+		clif_displaymessage(fd, msg_txt(sd,1133)); // Please enter a NPC name (usage: @unloadnpc <NPC_name>).
 		return -1;
 	}
 
@@ -9263,8 +9263,8 @@ void atcommand_basecommands(void) {
 		ACMD_DEF2("points", cash),
 		ACMD_DEF(agitstart2),
 		ACMD_DEF(agitend2),
-		ACMD_DEF2("skreset", resetskill),
-		ACMD_DEF2("streset", resetstat),
+		ACMD_DEF(resetskill),
+		ACMD_DEF(resetstat),
 		ACMD_DEF2("storagelist", itemlist),
 		ACMD_DEF2("cartlist", itemlist),
 		ACMD_DEF2("itemlist", itemlist),