* Follow-up r16742, revised quest sample (doc\sample\npc_test_quest.txt) and whisper system documentation (doc\whisper_sys.txt)

* Follow-up r16745, fixed a few typos in atcommand documentation (doc\atcommands.txt)
* Minor cleaning - spacing, tabulation, comments, dividers

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16746 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
euphyy 2012-09-05 02:42:20 +00:00
parent de1293ef75
commit 31d2fe26b3
21 changed files with 134 additions and 186 deletions

View File

@ -179,7 +179,7 @@ Toggles weather effects on your map.
@clearweather
Stop all weather effects. May require a map change or @refresh
Stops all weather effects. May require a map change or @refresh
for the effect to stop client-side.
---------------------------------------
@ -265,7 +265,7 @@ Other Flags:
@gat
Give information about terrain/area (debug function).
Gives information about terrain/area (debug function).
Output Example:
prontera (x= 165, y= 202) 00 00 00 00 00
@ -347,7 +347,7 @@ Output Example:
@idsearch <item name>
Find an item ID based on the provided name.
Looks up an item by name (or part of a name).
---------------------------------------
@ -367,7 +367,7 @@ This does not include mobs summoned by scripts.
@skillid <skill name>
Look up a skill by name (or part of a name).
Looks up a skill by name (or part of a name).
---------------------------------------
@ -493,14 +493,14 @@ all: 2
@where <player_name>
Locate a player on a map. The player must be online.
Locates a player on a map. The player must be online.
---------------------------------------
@jailtime
Displays remaining jail time.
If the @jail was used, the chat window will display "You have been jailed indefinitely".
If @jail was used, the chat window will display "You have been jailed indefinitely".
---------------------------------------
@ -689,7 +689,7 @@ Warps to a random coordinate on the current map.
@go {<location name/ID>}
Warps you to predefined locations in major cities.
Warps to predefined locations in major cities.
If no ID is given, all available maps will be displayed in the chat window.
Locations and coordinates are stored in '/src/map/atcommand.c'.
@ -699,20 +699,16 @@ Locations and coordinates are stored in '/src/map/atcommand.c'.
/mm <map> {<x> <y>}
/mapmove <map> {<x> <y>}
Warps to a specified map.
Warps to the specified map.
If no coordinates are entered, a random location will be chosen.
---------------------------------------
@goto <player name/ID>
Warp yourself to a player.
---------------------------------------
@follow <player name>
Warps to the specified player and follows their movements.
Warps to the specified player.
Aditionally, @follow will track the player's movements until turned off.
---------------------------------------
@ -811,7 +807,7 @@ Default is 150 (0 is fastest, 1000 is slowest).
@spiritball <0-100>
Summons X amount of spirit spheres around you.
Summons the specified amount of spirit spheres around you.
---------------------------------------
@ -1056,14 +1052,14 @@ If a time is not specified (jailfor), the player will be jailed indefinitely.
@kick <player name/ID>
@kickall
Disconnects a user (or all users) from the server.
Disconnects a user or all users from the server.
---------------------------------------
@ban <+/- time> <player name>
@unban <player name>
Ban (or unban) a player for a limited time.
Bans or unbans a player for a limited time.
Time elements: y/a, m, d/j, h, mn, s
Example:
@ -1075,7 +1071,7 @@ Example:
@block <player name>
@unblock <player name>
Block or unblock a player from logging in indefinitely.
Blocks or unblocks a player from logging in indefinitely.
---------------------------------------
@ -1118,7 +1114,7 @@ Reloads the specified configuration file.
@setbattleflag <flag> <value>
Change a battle_config flag without rebooting the server.
Changes a battle_config flag without rebooting the server.
---------------------------------------

View File

@ -2,43 +2,37 @@
// need to add the quest to /db/quest_db.txt - e.g:
// 9000,0,1002,3,0,0,0,0,"3 Splats Please!"
prontera,90,95,1 script Jelly 123,{
set .@n$, "["+strnpcinfo(1)+"]";
if(checkquest(9000) == -1) goto L_Start;
if(checkquest(9000,HUNTING) == 2) goto L_Reward;
if(checkquest(9000) == 2) goto L_Done;
L_Start:
mes .@n$;
mes "Hey there! Would you help me?";
next;
if(checkquest(9000) == -1) { // Quest not yet started.
mes "[Jelly]";
mes "Hey there! Would you help me?";
next;
switch(select("I'd rather not:What's up?")){
case 1:
mes .@n$;
mes "[Jelly]";
mes "I didn't want your help anyway!";
close;
case 2:
mes .@n$;
mes "[Jelly]";
mes "Those Porings are weirding me out.";
mes "Would you kill 3 for me?";
setquest 9000; // Adds the quest to your Quest Window.
setquest 9000; // Adds the quest to your Quest Window.
close;
}
}
close;
L_Reward:
mes .@n$;
mes "Awesome! Than you =)";
getexp 10000,0;
dispbottom "You have been rewarded with 10,000 Base Exp.";
completequest 9000;
close;
L_Done:
mes .@n$;
mes "Thanks again for doing that for me =)";
close;
} else if(checkquest(9000) == 1) { // Quest is active.
mes "[Jelly]";
mes "Keep going, almost there!";
close;
} else if(checkquest(9000,HUNTING) == 2) { // All monsters killed.
mes "[Jelly]";
mes "Awesome! Thank you!";
getexp 10000,0;
dispbottom "You have been rewarded with 10,000 Base Exp.";
completequest 9000; // Sets quest status to "complete".
close;
} else if(checkquest(9000) == 2) { // Quest finished.
mes "[Jelly]";
mes "Thanks again for doing that for me!";
close;
}
}

View File

@ -3,7 +3,7 @@
//===== By: ==================================================
//= lordalfa
//===== Current Version: =====================================
//= 20120826
//= 20120904
//===== Description: =========================================
//= A description of rAthena's NPC whispering system.
//============================================================
@ -37,34 +37,16 @@ OnWhisperGlobal:
end;
}
The Whisper System is also useful for hidden event handler NPCs (NPCs that don't
have a sprite on a map for you to click). E.g:
This could also be used for hidden event triggers:
- script EventManager -1,{
OnWhisperGlobal:
if (getgmlevel()<80) goto L_NotGM;
if (@whispervar0$ == "event1") goto L_Event1;
if (@whispervar0$ == "event2") goto L_Event2;
if (@whispervar0$ == "event3") goto L_Event3;
// If the string sent to this NPC doesn't contain any of the above:
else goto L_NoVar;
end;
L_NotGM:
dispbottom "NPC : You do not have sufficient access to whisper in my ear.";
end;
L_NoVar:
dispbottom "NPC : Sorry, i do not recognise that command.";
end;
L_Event1:
if (@whispervar1$ == "start"){
// Execute scripts to start Event1
if (getgmlevel() < 80) end;
if (@whispervar0$ == "pvp") {
// Script for a PVP event.
}
if (@whispervar1$ == "stop"){
//Execute scripts to forcefully stop Event1
else if (@whispervar0$ == "mvp") {
// Script for an MVP summoning event.
}
end;
}

View File

@ -68,7 +68,6 @@ aldebaran,223,222,4 script Mr. Claus 718,{
}
}
// Inside Lutie
//============================================================
xmas_in,100,96,4 script Santa Claus 718,{

View File

@ -30,14 +30,10 @@ prontera,160,330,0 script Guard#pront::prtguard 105,{
mes "Welcome to Prontera.";
close;
}
prontera,223,99,1 duplicate(prtguard) Guard#2pront 105
prontera,229,104,5 duplicate(prtguard) Guard#3pront 105
prontera,47,339,5 duplicate(prtguard) Guard#4pront 105
prontera,101,288,3 script Shuger#pront 98,{
mes "[Shuger]";
mes "Outside the safety of the city, there is a pink beast known as ^000077Poring^000000.";

View File

@ -26,7 +26,6 @@
comodo,170,137,7 script La Ed#um 84,{
end;
}
comodo,171,137,1 script Haith#um 92,{

View File

@ -1,5 +1,5 @@
//===== rAthena Script =======================================
//= In Memory of Heroes (iRO Memorial Day 2008)
//= In Memory of Heroes
//===== By: ==================================================
//= Kisuka
//===== Current Version: =====================================
@ -7,15 +7,15 @@
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//
//= iRO Memorial Day (2008)
//===== Additional Comments: =================================
//= 1.0 First version. [Kisuka]
//= 1.1 Many Many Fixes. [Kisuka]
//= 1.2 Some changes. [Kisuka]
//============================================================
// ================== Lauds ======================
// ===============================================
// Lauds
//============================================================
prontera,182,214,4 script Lauds#Memorial 58,{
if(Memorial08 < 1) {
mes "[Mad Sago Lauds]";
@ -194,8 +194,8 @@ prontera,182,214,4 script Lauds#Memorial 58,{
}
}
// ============== Memorial Plaque ================
// ===============================================
// Memorial Plaque
//============================================================
prontera,153,286,4 script Memorial Plaque#Memorial 857,{
if(Memorial08 < 8) {
mes "[" + strcharinfo(0) + "]";
@ -251,9 +251,8 @@ prontera,153,286,4 script Memorial Plaque#Memorial 857,{
close;
}
// ==================== Grast ====================
// ===============================================
// Grast
//============================================================
prontera,150,270,4 script Grast#Memorial 900,{
if(Memorial08 < 3) {
mes "[Grast]";

View File

@ -16,20 +16,20 @@
prontera,146,91,5 script Pandit chacha#child07 61,{
if(BaseLevel > 50) {
mes "[Pandit chacha]";
mes "Hahaha.";
mes "Hahaha~";
mes "It is special day, comes only one time in a year.";
mes "If you see little adventurers around you send to me~";
mes "I will give the special gift.";
close;
} else if(BaseLevel < 20) {
mes "[Pandit chacha]";
mes "Hahaha.";
mes "Hahaha~";
mes "You are a baby adventurer not little adventurer.";
mes "When you more grow up, come back again. hahaha.";
close;
} else if(oversea_event9 < 1) {
mes "[Pandit chacha]";
mes "Hahaha.";
mes "Hahaha~";
mes "Welcome, little adventurers!";
mes "Today is special day, isn't it~?";
mes "I would like to give the small gift to little adventurer...";
@ -42,13 +42,13 @@ prontera,146,91,5 script Pandit chacha#child07 61,{
mes "Whenever come back again if you want it...";
close;
}
set oversea_event9,1;
getitem 11705,10; //Children's Potion
mes "[Pandit chacha]";
mes "Look. This is a child Potion.";
mes "The weight is just 1 but recover much HP.";
mes "If you want to get more, bring the 1 Wedding Bouquet and 1 Witherless Rose.";
close;
set oversea_event9,1;
getitem 11705,10; //Children's Potion
mes "[Pandit chacha]";
mes "Look. This is a child Potion.";
mes "The weight is just 1 but recover much HP.";
mes "If you want to get more, bring the 1 Wedding Bouquet and 1 Witherless Rose.";
close;
} else if(oversea_event9 == 1) {
if(countitem(745) > 0 && countitem(748) > 0) {
mes "[Pandit chacha]";
@ -62,25 +62,25 @@ prontera,146,91,5 script Pandit chacha#child07 61,{
mes "If you are not prepared yet, call me when you ready.";
close;
}
mes "[Pandit chacha]";
mes "Hahaha.";
mes "Oh~ you get it.";
mes "Here, I will exchange to the 50 child potion.";
mes "Once you get this 50 child potion, I won't give any more.";
close2;
delitem 745,1; //Wedding Bouquet
delitem 748,1; //Witherless Rose
set oversea_event9,2;
getitem 11705,50; //Children's Potion
end;
}
mes "[Pandit chacha]";
mes "Little adventurers, you should bring the 1 Wedding Bouquet and 1 Witherless Rose.";
mes "If you bring these stuffs I will exchange them for child Potion. ";
close;
mes "Hahaha~";
mes "Oh~ you get it.";
mes "Here, I will exchange to the 50 child potion.";
mes "Once you get this 50 child potion, I won't give any more.";
close2;
delitem 745,1; //Wedding Bouquet
delitem 748,1; //Witherless Rose
set oversea_event9,2;
getitem 11705,50; //Children's Potion
end;
}
mes "[Pandit chacha]";
mes "Little adventurers, you should bring the 1 Wedding Bouquet and 1 Witherless Rose.";
mes "If you bring these stuffs I will exchange them for child Potion. ";
close;
}
mes "[Pandit chacha]";
mes "Hahaha.";
mes "Are you enjoying children week~? ";
close;
mes "[Pandit chacha]";
mes "Hahaha~";
mes "Are you enjoying children week~?";
close;
}

View File

@ -21,7 +21,7 @@
//============================================================
// Headgear Quest - Pumpkin Hat
// ============================
//============================================================
prontera,152,192,5 script Pumpkin Hat Researcher 712,{
if(BaseLevel < 45) {
mes "[Pumpkin Hat Researcher]";
@ -95,7 +95,7 @@ prontera,152,192,5 script Pumpkin Hat Researcher 712,{
}
// Buffs - Trick or Treaters
// =========================
//============================================================
- script Trick or Treater::09Treats 706,2,2,{
OnTouch:
hideoffnpc strnpcinfo(3);
@ -221,7 +221,7 @@ prontera,134,125,5 duplicate(09Treats) Trick or Treater#iRO7 706,2,2
prontera,220,72,5 duplicate(09Treats) Trick or Treater#iRO8 706,2,2
// Monster Summoning - Halloween Wizard
// ====================================
//============================================================
- script Halloween Wizard#iRO09::09HallowWiz 737,{
mes "[Halloween Wizard]";
mes "...";

View File

@ -5,7 +5,7 @@
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
//= rAthena Version
//= rAthena SVN
//===== Description: =========================================
//= Info : Official idRO
//= 2006/10/16: 1.0 Release and fully working. [$ephiroth]
@ -13,28 +13,26 @@
//============================================================
prontera,146,92,3 script Cellerb 58,{
set @npcname$,"[Staff Idul Fitri]";
mes @npcname$;
mes "[Staff Idul Fitri]";
if((gettime(6)==10 && (gettime(5)==24 || gettime(5)==25))==0) {
mes "Congratulation! Celebrate Feast Day Of Ramadan Idul Fitri 1427 H.";
specialeffect EF_SANDMAN;
close;
}
mes "Haii......^FF8800"+strcharinfo(0)+"^000000!!";
mes "First day of Idulfitri has arrived.";
mes "First day of Idul Fitri has arrived.";
mes "Congratulation celebrate him.";
mes "There is event special today.";
next;
mes @npcname$;
mes "Event today .....^009500Idul Fitri Quest!^000000";
mes "[Staff Idul Fitri]";
mes "Event today.....^009500Idul Fitri Quest!^000000";
next;
mes @npcname$;
mes "[Staff Idul Fitri]";
mes "If you interest to follow this event, I will cook it to you.";
next;
switch(select("Allright. I like that!!","Next time.... Thanks.")){
case 1:
mes @npcname$;
mes "[Staff Idul Fitri]";
mes "I have something that might interest you.";
mes "I need all of the following items:";
mes "^D5A500Ketupat Sayur Ingredient :^000000";
@ -42,7 +40,7 @@ prontera,146,92,3 script Cellerb 58,{
mes "^CC6633~5 Sweet Potato, 10 Meat~,^000000";
mes "^000088~2 Green Herb, 5 Stem~.^000000";
next;
mes @npcname$;
mes "[Staff Idul Fitri]";
if ( (countitem(552)<5 || countitem(515)<5 ||countitem(516)<5 || countitem(517)<10 || countitem(511)<2 || countitem(905)<5) ) {
mes "You don't have enough items.";
mes "Come back when you have them all.";
@ -62,12 +60,12 @@ prontera,146,92,3 script Cellerb 58,{
mes "^009500-Clang clang~^000000";
getitem 583,1;
next;
mes @npcname$;
mes "[Staff Idul Fitri]";
mes "We appreciate your participation in this special event.";
emotion e_thx;
close;
case 2:
mes @npcname$;
mes "[Staff Idul Fitri]";
mes "Oh well, maybe you will participate in tommorow's quest.";
emotion e_hmm;
close;

View File

@ -15,7 +15,8 @@
//= 1.1 Cleaning. [Euphy]
//============================================================
// Stephen - Valentine Event Chocolate seller ------------------
// Stephen - Valentine Event Chocolate seller
//============================================================
alberta,26,243,4 script Stephen 58,{
mes "[Stephen]";
mes "Guess what I've got?";
@ -58,7 +59,8 @@ alberta,26,243,4 script Stephen 58,{
close;
}
// Jainie -- Gives information about Valentine Event ------------------------
// Jainie -- Gives information about Valentine Event
//============================================================
alberta,29,243,4 script Jainie 53,{
mes "[Jainie]";
mes "You know what? The chocolate that my boyfriend sells are from me!";
@ -81,7 +83,8 @@ alberta,29,243,4 script Jainie 53,{
close;
}
// Carl Orleans -- Valentine Event Chocolate maker ------------------
// Carl Orleans -- Valentine Event Chocolate maker
//============================================================
prt_castle,54,34,4 script Carl Orleans 47,{
mes "[Carl Orleans]";
mes "Yes?";

View File

@ -16,7 +16,6 @@
//= 1.4 Removed use of 'goto', and fixed some indentation. [L0ne_W0lf]
//============================================================
payon,157,141,5 script Phoenix#TKJobChange 753,{
if(Upper == 2) {
mes "[Phoenix]";

View File

@ -25,7 +25,8 @@
//= 2.6 Removed the need for use of 'goto.' [L0ne_W0lf]
//============================================================
//=============== Ayealo ============================
// Ayealo
//============================================================
comodo,226,123,5 script Wandering Bard 741,{
if(Upper == 1) {
mes "[Lalo]";
@ -912,28 +913,28 @@ comodo,226,123,5 script Wandering Bard 741,{
end;
S_ChangeJob:
completequest 3004;
callfunc "Job_Change",Job_Bard;
callfunc "F_ClearJobVar";
mes "[Lalo]";
mes "Good job. I will make you a job change souvenir with this.";
mes "Wait just a moment.";
next;
mes "[Lalo]";
mes "^3355FFScrape Scrape Tang Tang^000000";
mes "^3355FFSqueak Squeak Scratch Scratch^000000";
delitem getarg(0),60;
getitem getarg(1),1;
next;
mes "[Lalo]";
mes "Here you go, a souvenir. It is useful when you sing.";
mes "Hope you sing happy songs.";
next;
mes "[Lalo]";
mes "See you next time!";
close2;
cutin "job_bard_aiolo01",255;
end;
completequest 3004;
callfunc "Job_Change",Job_Bard;
callfunc "F_ClearJobVar";
mes "[Lalo]";
mes "Good job. I will make you a job change souvenir with this.";
mes "Wait just a moment.";
next;
mes "[Lalo]";
mes "^3355FFScrape Scrape Tang Tang^000000";
mes "^3355FFSqueak Squeak Scratch Scratch^000000";
delitem getarg(0),60;
getitem getarg(1),1;
next;
mes "[Lalo]";
mes "Here you go, a souvenir. It is useful when you sing.";
mes "Hope you sing happy songs.";
next;
mes "[Lalo]";
mes "See you next time!";
close2;
cutin "job_bard_aiolo01",255;
end;
}
//============================================================

View File

@ -1458,10 +1458,6 @@ OnStop:
end;
}
//============================================================
// mapflag
//============================================================
//============================================================
// Old changelog
//============================================================

View File

@ -2606,10 +2606,6 @@ monk_test,137,338,1 script switchreset#monkmonk 79,{
job_monk,0,0,0,0 monster Thief Mushroom 1182,70,0,0,0
job_monk,0,0,0,0 monster Thief Bug Larva 1051,20,0,0,0
//============================================================
// mapflag
//============================================================
//============================================================
// Old changelog
//============================================================

View File

@ -2012,10 +2012,6 @@ in_rogue,399,286,1 script switch#rogreset 88,{
close;
}
//============================================================
// mapflag
//============================================================
//============================================================
// Old changelog
//============================================================

View File

@ -2893,10 +2893,6 @@ OnTimer9000:
end;
}
//============================================================
// Mapflag
//============================================================
//============================================================
// Old changelog
//============================================================

View File

@ -14,9 +14,6 @@
//= 1.1 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
//============================================================
// Prontera
//============================================================
prt_in,168,56,4 script Monster Encyclopedia#prt 111,{
mes "^FF0000[Monster Encyclopedia]^000000";
mes "This is a Monster Encyclopedia";

View File

@ -23,9 +23,6 @@
//= 1.6c Corrected a bad delitem. (bugreport:763) [Samuray22]
//============================================================
//===================== Garrison =====================================================
que_ng,182,85,3 script Garrison 109,{
if(BaseJob != Job_Gunslinger)

View File

@ -13,8 +13,8 @@
//= 1.1 Updated dialog for Brasilis inn. [L0ne_W0lf]
//============================================================
//======================== Brasilis =================================
// Brasilis
//============================================================
bra_in01,27,24,3 script Hotel Keeper#bra1 478,{
mes "[Hotel Keeper]";
mes "Welcome to the beautiful Brasilis Hotel.";

View File

@ -13,6 +13,7 @@
//============================================================
// Dragon Breeder on the Rune Knight job change map, couldn't find NPC on iRO.
//============================================================
job3_rune01,88,62,5 script Dragon Breeder 105,{
mes "[Dragon Breeder]";
if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
@ -50,6 +51,7 @@ job3_rune01,88,62,5 script Dragon Breeder 105,{
}
// Dragon/Gryphon Master
//============================================================
prontera,130,213,5 script Riding Creature Master 105,{
mes "[Riding Creature Master]";
if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
@ -114,6 +116,7 @@ prontera,130,213,5 script Riding Creature Master 105,{
}
// Peco removing NPC
//============================================================
prontera,125,208,5 script Peco Peco Remover 105,{
mes "[Soldier]";
mes "If you're unable to dismount from a Peco Peco";
@ -144,6 +147,7 @@ prontera,125,208,5 script Peco Peco Remover 105,{
}
// Magic Gear Renter
//============================================================
prontera,163,178,4 script Magic Gear Master 105,{
mes "[Magic Gear Master]";
if (Class == Job_Mechanic || Class == Job_Mechanic_T || Class == Job_Baby_Mechanic) {