diff --git a/conf/atcommand_athena.conf b/conf/atcommand_athena.conf index 67af3b91f1..2eff05e00d 100644 --- a/conf/atcommand_athena.conf +++ b/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"] diff --git a/conf/msg_conf/map_msg.conf b/conf/msg_conf/map_msg.conf index d29a3833bc..fc9feb998c 100644 --- a/conf/msg_conf/map_msg.conf +++ b/conf/msg_conf/map_msg.conf @@ -967,8 +967,8 @@ // @loadnpc 1132: Please enter a script file name (usage: @loadnpc ). -// @npcoff -1133: Please enter a NPC name (usage: @npcoff ). +// @unloadnpc +1133: Please enter a NPC name (usage: @unloadnpc ). // @jail 1134: Please enter a player name (usage: @jail ). diff --git a/conf/msg_conf/map_msg_chn.conf b/conf/msg_conf/map_msg_chn.conf index 18ef153424..d18d050743 100644 --- a/conf/msg_conf/map_msg_chn.conf +++ b/conf/msg_conf/map_msg_chn.conf @@ -792,7 +792,7 @@ // @guildlevelup 1014: 請輸入有效等級 (用法: @guildlvup/@guildlvlup <# of levels>). -// @makeeg +// @makeegg 1015: 請輸入魔物\寵物蛋的名稱\ID (用法: @makeegg ). // @petfriendly @@ -954,8 +954,8 @@ // @loadnpc 1132: Please enter a script file name (用法: @loadnpc ). -// @npcoff -1133: 請輸入NPC名稱 (用法: @npcoff ). +// @unloadnpc +1133: 請輸入NPC名稱 (用法: @unloadnpc ). // @jail 1134: 請輸入角色名稱 (用法: @jail ). diff --git a/conf/msg_conf/map_msg_frn.conf b/conf/msg_conf/map_msg_frn.conf index b5044e3726..d6afc67af7 100644 --- a/conf/msg_conf/map_msg_frn.conf +++ b/conf/msg_conf/map_msg_frn.conf @@ -960,8 +960,8 @@ // @loadnpc 1132: Entrez un nom de fichier script (usage: @loadnpc ). -// @npcoff -1133: Entrez un nom de NPC (usage: @npcoff ). +// @unloadnpc +1133: Entrez un nom de NPC (usage: @unloadnpc ). // @jail 1134: Entrez un nom de Joueur (usage: @jail ). diff --git a/conf/msg_conf/map_msg_idn.conf b/conf/msg_conf/map_msg_idn.conf index 7da6ea7451..6b352c6b2c 100644 --- a/conf/msg_conf/map_msg_idn.conf +++ b/conf/msg_conf/map_msg_idn.conf @@ -966,8 +966,8 @@ // @loadnpc 1132: Harap masukkan nama file (full path). (Penggunaan: @loadnpc ). -// @npcoff -1133: Harap masukkan nama NPC. (Penggunaan: @npcoff ). +// @unloadnpc +1133: Harap masukkan nama NPC. (Penggunaan: @unloadnpc ). // @jail 1134: Harap masukkan nama pemain. (Penggunaan: @jail ). diff --git a/conf/msg_conf/map_msg_por.conf b/conf/msg_conf/map_msg_por.conf index cdf0cf97e2..56727c6c64 100644 --- a/conf/msg_conf/map_msg_por.conf +++ b/conf/msg_conf/map_msg_por.conf @@ -791,7 +791,7 @@ // @guildlevelup 1014: Digite um nvel vlido (uso: @guildlvup/@guildlvlup <# de nveis>). -// @makeeg +// @makeegg 1015: Digite o nome/ID de um monstro/ovo (uso: @makeegg ). // @petfriendly @@ -953,8 +953,8 @@ // @loadnpc 1132: Digite o nome de um arquivo de script (uso: @loadnpc ). -// @npcoff -1133: Digite o nome de um NPC (uso: @npcoff ). +// @unloadnpc +1133: Digite o nome de um NPC (uso: @unloadnpc ). // @jail 1134: Digite o nome de um jogador (uso: @jail ). diff --git a/conf/msg_conf/map_msg_rus.conf b/conf/msg_conf/map_msg_rus.conf index 098b165ac7..edfe442c28 100644 --- a/conf/msg_conf/map_msg_rus.conf +++ b/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 < >). diff --git a/conf/msg_conf/map_msg_spn.conf b/conf/msg_conf/map_msg_spn.conf index d0b4b6a584..6c0a4eb95f 100644 --- a/conf/msg_conf/map_msg_spn.conf +++ b/conf/msg_conf/map_msg_spn.conf @@ -798,7 +798,7 @@ // @guildlevelup 1014: Introduce una cantidad (Instrucciones: @guildlvup/@guildlvlup ). -// @makeeg +// @makeegg 1015: Introduce el nombre de un monstruo/huevo/ID (Instrucciones: @makeegg ). // @petfriendly @@ -960,8 +960,8 @@ // @loadnpc 1132: Introduce el nombre de un script (Instrucciones: @loadnpc ) -// @npcoff -1133: Introduce el nombre de un NPC (Instrucciones: @npcoff ). +// @unloadnpc +1133: Introduce el nombre de un NPC (Instrucciones: @unloadnpc ). // @jail 1134: Introduce el nombre de algn jugador (Instrucciones: @jail ). diff --git a/conf/msg_conf/map_msg_tha.conf b/conf/msg_conf/map_msg_tha.conf index e081b4d517..383148b2e6 100644 --- a/conf/msg_conf/map_msg_tha.conf +++ b/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 <ӹǹ> ). +296: ôҷ (Ը: @item2 <ӹǹ> +297: ). +298: ͺࢵ١ͧ. : 1-Account, 2-Guild, 3-Party, 4-Character // Guild Castles Number // -------------------- //299: ?? Castles @@ -959,8 +967,8 @@ // @loadnpc 1132: ôкت script (Ը: @loadnpc ). -// @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 + // @allowks 1330: [ Map K.S Protection Active ] 1331: [ Map K.S Protection Inactive ] + // @itemlist 1332: ------ %s items list of '%s' ------ 1333: | equipped: diff --git a/doc/atcommands.txt b/doc/atcommands.txt index d3204ec718..17b7e15547 100644 --- a/doc/atcommands.txt +++ b/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 @monstersmall {} @monsterbig {} @@ -628,7 +629,7 @@ Spawns a clone of the specified player. --------------------------------------- @item {} -/item +/item Creates an item. @@ -777,6 +778,7 @@ If no coordinates are entered, a random location will be chosen. --------------------------------------- @jumpto +/shift @follow Warps to the specified player. @@ -785,7 +787,7 @@ Additionally, @follow will track the player's movements until turned off. --------------------------------------- @recall -/recall +/summon @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 @kickall +/killall Disconnects a user or all users from the server. diff --git a/npc/custom/quests/quest_shop.txt b/npc/custom/quests/quest_shop.txt index 539c29f233..d3c48f371f 100644 --- a/npc/custom/quests/quest_shop.txt +++ b/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 { diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 1ce30723ff..eeec394671 100644 --- a/src/map/atcommand.c +++ b/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 ). + clif_displaymessage(fd, msg_txt(sd,1133)); // Please enter a NPC name (usage: @unloadnpc ). 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),