Added setpcblock to some official scripts (#4067)

* Added setpcblock to official scripts to mimic some npc interaction.
* Clean-up the docs.
* Added the WORK_IN_PROGRESS message when PCBLOCK_USEITEM and PCBLOCK_SKILL are enabled.

Thanks to @aleos89 for the review!
This commit is contained in:
Atemo 2019-04-02 02:12:10 +02:00 committed by GitHub
parent 8580287286
commit e172c4365d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 177 additions and 77 deletions

View File

@ -6145,18 +6145,19 @@ The action is blocked when the <state> is true, while false allows the action ag
'getpcblock' command return the bit-mask value of the currently
enabled block flags.
The available <type> are:
PCBLOCK_MOVE
PCBLOCK_ATTACK
PCBLOCK_SKILL
PCBLOCK_USEITEM
PCBLOCK_CHAT
PCBLOCK_IMMUNE
PCBLOCK_SITSTAND
PCBLOCK_COMMANDS
PCBLOCK_NPCCLICK
PCBLOCK_EMOTION
PCBLOCK_ALL
Available <type>:
PCBLOCK_MOVE Prevent the player from moving.
PCBLOCK_ATTACK Prevent the player from attacking.
PCBLOCK_SKILL Prevent the player from using skills/itemskills.
PCBLOCK_USEITEM Prevent the player from using usable items.
PCBLOCK_CHAT Prevent the player from sending global/guild/party/whisper messages.
PCBLOCK_IMMUNE Prevent the player from being hit by monsters.
PCBLOCK_SITSTAND Prevent the player from sitting/standing.
PCBLOCK_COMMANDS Prevent the player from using atcommands/charcommands.
PCBLOCK_NPCCLICK Prevent the player from clicking/touching any NPC/shop/warp.
PCBLOCK_EMOTION Prevent the player from using emotions.
PCBLOCK_NPC Simulate NPC interaction. Useful for NPC with no mes window. Sum of PCBLOCK_MOVE|PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK.
PCBLOCK_ALL Sum of all the flags.
Examples:

View File

@ -15,7 +15,9 @@ lasa_fild01,47,297,0 script #doint_evt01 HIDDEN_WARP_NPC,1,1,{
end;
OnTouch:
if (Class == Job_Summoner && isbegin_quest(7711) == 0) {
setpcblock PCBLOCK_NPC, true;
sleep2 100;
setpcblock PCBLOCK_NPC, false;
npctalk "Hey, newbie! Get over here!", "Vigilante Ajegna#doram0", bc_self;
npctalk "Come on over here! Click me, quick!", "Vigilante Ajegna#doram0", bc_self;
setquest 7711;// Beginning
@ -151,10 +153,12 @@ lasa_fild01,53,322,3 script Applicant Paul#doramt13 4_M_MERCAT1,4,4,{
}
OnTouch:
if (Class == Job_Summoner && isbegin_quest(7723) == 0) {
setpcblock PCBLOCK_NPC, true;
npctalk "You, dimwit! Nothing beats damage! You should boost your STR first!", "Applicant Paul#doramt13", bc_self;
sleep2 2000;
npctalk "You have no idea! DEX comes first if you want your attack to be successful!!", "Applicant MacCarnie#doramt13", bc_self;
sleep2 1000;
setpcblock PCBLOCK_NPC, false;
emotion ET_STARE, getnpcid(0, "Applicant Paul#doramt13");
emotion ET_OHNO, getnpcid(0, "Applicant MacCarnie#doramt13");
}
@ -774,6 +778,7 @@ lasa_fild01,103,344,3 script Well-known Troublemaker 4_DR_KID_01,3,3,{
completequest 7721;// Cat showoff contest
getexp 120,120;
close2;
setpcblock PCBLOCK_NPC, true;
classchange( 4_DR_AGLIO, "Vigilante Aglio#doram12", bc_self );
sleep2 1000;
npctalk "You! You're picking a fight with another innocent passerby?", "Vigilante Aglio#doram12", bc_self;
@ -791,6 +796,7 @@ lasa_fild01,103,344,3 script Well-known Troublemaker 4_DR_KID_01,3,3,{
sleep2 2000;
npctalk "You're just full of it.", "Well-known Troublemaker", bc_self;
classchange( HIDDEN_WARP_NPC, "Vigilante Aglio#doram12", bc_self );
setpcblock PCBLOCK_NPC, false;
end;
case 2:
mes "[Well-known Kittie]";
@ -1911,6 +1917,7 @@ lasagna,186,231,3 script Youngster meow#dorcon05 4_DR_KID_01,{
}
lasagna,226,196,5 script Aram#dorcon01 4_DR_F_02,{
setpcblock PCBLOCK_NPC, true;
npctalk "Is this the famous Pub-Oven?", "Tos#dorcon01", bc_self;
sleep2 2000;
npctalk "Stop looking around like a hillbilly!", "", bc_self;
@ -1954,10 +1961,12 @@ lasagna,226,196,5 script Aram#dorcon01 4_DR_F_02,{
npctalk "......", "", bc_self;
sleep2 2000;
npctalk "Cheesy...", "", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
lasagna,228,193,5 script Porto#dorcon01 4_DR_M_01,{
setpcblock PCBLOCK_NPC, true;
npctalk "Since I've come all the way here, I should try the kaluna milk!", "", bc_self;
sleep2 2000;
npctalk "Don't be so loud! Everyone is looking!", "Aram#dorcon01", bc_self;
@ -1965,13 +1974,16 @@ lasagna,228,193,5 script Porto#dorcon01 4_DR_M_01,{
npctalk "You know, you're the one who's louder.", "", bc_self;
sleep2 2000;
npctalk "Right, right.", "Tos#dorcon01", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
lasagna,229,197,5 script Tos#dorcon01 4_DR_M_02,{
setpcblock PCBLOCK_NPC, true;
npctalk "Befitting to its fame, this place is packed with people.", "", bc_self;
sleep2 2000;
npctalk "Stop looking around like a hillbilly!", "Aram#dorcon01", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
@ -1983,6 +1995,7 @@ lasagna,230,192,3 script Perky Doram#do_hint03 4_CAT_ADV2,{
}
lasagna,235,193,3 script Customer#dorcon02 4_DR_TORTEL,{
setpcblock PCBLOCK_NPC, true;
npctalk "Always right-click when it comes to information! Right-click a human, item and cat to know more about them!", "", bc_self;
sleep2 1000;
emotion ET_THROB;
@ -1990,6 +2003,7 @@ lasagna,235,193,3 script Customer#dorcon02 4_DR_TORTEL,{
sleep2 2000;
emotion ET_SLEEPY;
npctalk "We're full, so there's only one thing to do. Sleep.", "", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
@ -4463,7 +4477,6 @@ lasa_in01,61,91,5 script Basilisk Prisoner#lasai 4_BASIL_SLAVE,{
next;
mes "[Enriched Foxtail]";
mes "MATK + 70, MSP + 50.";
mes "";
mes "[Long Foxtail]";
mes "Ranged physical ATK +5%, MHP + 200.";
next;
@ -10090,7 +10103,7 @@ conch_in,122,61,5 script Crewman#dorcon01 4_CAT_ADV1,{
// in C_D
conch_in,59,29,5 script Engineer#dorcon01 4_CAT_SAILOR5,{
// pcblocknpc
setpcblock PCBLOCK_NPC, true;
npctalk "Are you an adventurer heading to the new world? Welcome. Have you heard about how our ship moves?", "", bc_self;
sleep2 2000;
unittalk getcharid(3), "" + strcharinfo(0) + " : No, I have not.", bc_self;
@ -10104,24 +10117,29 @@ conch_in,59,29,5 script Engineer#dorcon01 4_CAT_SAILOR5,{
sleep2 1000;
emotion ET_SWEAT;
npctalk "Oh, wait. You're not taking me seriously, are you? It's a joke, a joke!", "", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
// in E_F
conch_in,59,91,5 script Passenger#dorcon04 4_F_ALCHE_A,{
setpcblock PCBLOCK_NPC, true;
npctalk "Heading to Midgard? It's my first time in Lasagna and It's great, really! So I'm just going to stay here for good. I found a place to live and signed the papers, too!", "", bc_self;
sleep2 2000;
npctalk "I'm on my way to pack up my stuff in Midgard. It's great, really.", "", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
// in_I_J
conch_in,97,96,5 script Merchant#dorcon01 4_M_MERCAT2,{
setpcblock PCBLOCK_NPC, true;
npctalk "You can tell from this bundle, right? I'm not a rookie adventurer. I'm a merchant who travels to different places and sells stuff.", "", bc_self;
sleep2 2000;
npctalk "I heard that Igdrasil is rare in the new world since there are none. So I'm going to try selling it over there.", "", bc_self;
sleep2 2000;
npctalk "If there is anything else that might sell, I'm going to buy some and sell them there. I'm going be a millionaire.", "", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
@ -10131,20 +10149,25 @@ conch_in,135,91,5 script Passenger#dorcon01 4_CAT_ADV2,{
end;
}
conch_in,135,93,5 script Passenger#dorcon03 4_DR_TORTEL,{
setpcblock PCBLOCK_NPC, true;
npctalk "Is this your first time on Con-Chliina? I was on this ship before to get to the new world once my training was over. Back then, the food was really good, so...", "", bc_self;
sleep2 2000;
npctalk "The minute I landed on the new world, I went right back to the boat. Just loved the food...", "", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
conch_in,137,98,3 script Passenger#dorcon02 4_DR_F_01,{
setpcblock PCBLOCK_NPC, true;
npctalk "It's my first time in the new world and I'm really excited. Did you decide what you'll do first when you get there? I want to go to the Mjolnir Mountains first!", "", bc_self;
sleep2 2000;
npctalk "The minute I saw it on [A Guide for New Adventurers to the New World], I promised myself that I would go! I heard It's got wonderful landscapes!", "", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
// in_P_O
conch_in,169,70,3 script Crewman#dorcon02 4_CAT_SAILOR2,{
setpcblock PCBLOCK_NPC, true;
npctalk "Midgard has been discovered, so I wonder if there's any other place out there. Place where we've never been to and not on the map.", "", bc_self;
sleep2 2000;
npctalk "You think there's such a place?", "Crewman#dorcon03", bc_self;
@ -10154,13 +10177,16 @@ conch_in,169,70,3 script Crewman#dorcon02 4_CAT_SAILOR2,{
npctalk "Do you think It's looking for us too?", "Crewman#dorcon03", bc_self;
sleep2 2000;
npctalk "Oh, my heart is beating just from the thought of it.", "", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
conch_in,166,68,6 script Crewman#dorcon03 4_CAT_SAILOR1,{
setpcblock PCBLOCK_NPC, true;
npctalk "You know, I think First Officer Stello may be able to find another sea route to the new world That's not on the map.", "", bc_self;
sleep2 2000;
npctalk "Indeed, if it does exist then we can find it and sail on it someday!", "Crewman#dorcon02", bc_self;
sleep2 2000;
npctalk "I should stay on Con-Chliina for a long time and witness the moment when we make a discovery.", "", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}

View File

@ -466,12 +466,14 @@ OnTimer26000:
mes "Do you hear that?";
mes "Help Fama take care of the injured soldiers.";
mes "Fama will give you first aid-kits, use it to help the injured people.";
// close2;// still attached
close2;
setpcblock PCBLOCK_NPC, true;
npctalk "Officer Heim: Do you hear that?";
sleep2 2000;
npctalk "Officer Heim: Help Fama take care of the injured soldiers.";
sleep2 2000;
npctalk "Healer Fama: Okay~ You are going to help me? Come here and receive the first aid kit~!";
setpcblock PCBLOCK_NPC, false;
end;
case 1:
mes "[Officer Heim]";
@ -648,7 +650,7 @@ OnTouch:
.@lucile$ = instance_npcname("Lucile#tnm01");
.@heim$ = instance_npcname("Officer Heim#heim");
'devil_tower = 3;
mes ""; // todo fix me "workinprogress"
setpcblock PCBLOCK_NPC, true;
cutin "tnm_lucile01.bmp",2;
sleep2 1500;
npctalk "Lucile: I am Lucile from the Assassin Guild.", .@lucile$;
@ -699,6 +701,7 @@ OnTouch:
npctalk "Officer Heim: They are so unpredictable. You know what is going on right? Back them up...", .@heim$;
sleep2 2500;
npctalk "Officer Heim: Help us take care of the demons coming down from upstairs.", .@heim$;
setpcblock PCBLOCK_NPC, false;
end;
}
}
@ -1413,13 +1416,14 @@ OnTimer7000:
OnTouch:
if ('devil_tower != 9)
end;
mes ""; // todo fix me "workinprogress"
setpcblock PCBLOCK_NPC, true;
disablenpc instance_npcname("#tnm3event01");
enablenpc instance_npcname("Young Girl#tnm01");
sleep2 4000;
mapannounce 'map_tnm3$, "Young Girl: Odin Preserve me! A demon!! Help me!", bc_map,0xFF00;
'mob_count = 12;
initnpctimer;
setpcblock PCBLOCK_NPC, false;
end;
OnTimer1000:
monster 'map_tnm3$,33,171,"Evil Shadow",2939,1, instance_npcname("Young Girl#tnm01") + "::OnMobDead";// MM_EVIL_SHADOW1
@ -1596,7 +1600,7 @@ OnMobDead:
OnTouch_:
if ('devil_tower == 11) {
'devil_tower = 12;
mes ""; // todo fix me "workinprogress"
setpcblock PCBLOCK_NPC, true;
sleep2 1000;
npctalk "Evil Shadow: I thought I smelled rats sneaking in here. I was right!!";
sleep2 3000;
@ -1605,6 +1609,7 @@ OnTouch_:
npctalk "Evil Shadow: I summon the Darkness!!";
disablenpc instance_npcname("Evil Shadow#tnm3mob01");
donpcevent instance_npcname("Evil Shadow kill#tnm3mob01") + "::OnSummon";
setpcblock PCBLOCK_NPC, false;
}
end;
}
@ -1647,7 +1652,7 @@ OnTouch_:// possibility to skip this step
end;
if ('shade == 0) {
'shade = 1;
mes ""; // todo fix me "workinprogress"
setpcblock PCBLOCK_NPC, true;
sleep2 1000;
npctalk "Demonic Shade: So you are the trouble makers!";
sleep2 2000;
@ -1656,6 +1661,7 @@ OnTouch_:// possibility to skip this step
npctalk "Demonic Shade: The eternal truth is I will turn your deaths into the Demon's life with your hearts' blood!!!";
disablenpc instance_npcname("Demonic Shade#mobmaster");
donpcevent instance_npcname("#mobmaster_kill") + "::OnSummon";
setpcblock PCBLOCK_NPC, false;
}
end;
}

View File

@ -701,8 +701,7 @@ OnStart:
close;
}
close2;
pcblockmove getcharid(3),1;// todo : not able to talk to npc
pcblockskill getcharid(3),1;
setpcblock PCBLOCK_NPC, true;
switch(.@num) {
case 1:
npctalk "Worker: Ah! Grandpa? He's a real good man. He oiled us everyday and cleaned the dust very often.";
@ -760,8 +759,7 @@ OnStart:
'worker[.@num] = 1;
donpcevent instance_npcname("#fac2wpc") + "::OnStart";
}
pcblockmove getcharid(3),0;
pcblockskill getcharid(3),0;
setpcblock PCBLOCK_NPC, false;
end;
}
mes "[Worker]";

View File

@ -224,7 +224,7 @@ OnTouch:
// note : party member can also trigger this event
disablenpc instance_npcname("#RZ Memorial Start");
'soul_name$ = strcharinfo(0); // name displayed on soul is defined at entrance
mes "";
setpcblock PCBLOCK_NPC, true;
sleep2 500;
mapannounce 'map_rev$, "Morocc: Who dares to disrupt my sleep?!", bc_map,0xEBFF;
unittalk getcharid(3), "" + strcharinfo(0) + " : We came to the right place!";
@ -234,6 +234,7 @@ OnTouch:
specialeffect2 EF_LOCKON;
unittalk getcharid(3), "" + strcharinfo(0) + " : Are these hideous monsters Morocc's lackeys?";
donpcevent instance_npcname("#RZ Event_1") + "::OnStart";
setpcblock PCBLOCK_NPC, false;
end;
}
@ -291,7 +292,7 @@ OnStart:
1@rev,104,176,0 script #RZ Event_3 HIDDEN_WARP_NPC,4,4,{
end;
OnTouch: // note : party member can also trigger this event
mes ""; // fix me
setpcblock PCBLOCK_NPC, true;
disablenpc instance_npcname("#RZ Event_3");
enablenpc instance_npcname("Weakened Morocc#RZ1");
unittalk getcharid(3), "" + strcharinfo(0) + " : Finally, here we are, Morocc.";
@ -301,7 +302,8 @@ OnTouch: // note : party member can also trigger this event
unittalk getcharid(3), "" + strcharinfo(0) + " : but it doesn't matter; you'll die today!";
sleep2 3000;
specialeffect2 EF_LOCKON;
donpcevent instance_npcname("Weakened Morocc#RZ1") + "::OnTalk1";
donpcevent instance_npcname("Weakened Morroc#RZ1") + "::OnTalk1";
setpcblock PCBLOCK_NPC, false;
end;
}
@ -392,11 +394,13 @@ OnMobDead:
1@rev,35,119,0 script #Battle_1RZ1 HIDDEN_WARP_NPC,2,2,{
end;
OnTouch:
pcblockmove 0, true;
if ('status_battle[0] == 0) {
if ('status_battle[0] != 0)
setpcblock PCBLOCK_MOVE, true;
else {
'status_battle[0] = 1;
donpcevent instance_npcname("#RZ Memorial Effect 1") + "::OnStart";
mapannounce 'map_rev$, "Morocc: How do you like to be separated from each other and have your bodies and minds bound?", bc_map,0xEBFF;
setpcblock PCBLOCK_NPC, true;
mapannounce 'map_rev$, "Morroc: How do you like to be separated from each other and have your bodies and minds bound?", bc_map,0xEBFF;
sleep2 3000;
mapannounce 'map_rev$, "Morocc: You're trespassing! Riff-raff like you have no business in here!", bc_map,0xEBFF;
sleep2 3000;
@ -406,6 +410,7 @@ OnTouch:
sleep2 3000;
mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
donpcevent instance_npcname("#morse_cave_wave_1") + "::OnStart";
setpcblock (PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK), false;
}
end;
}
@ -415,7 +420,7 @@ OnTouch:
1@rev,112,116,0 script #Battle_1RZ2 HIDDEN_WARP_NPC,2,2,{
end;
OnTouch:
pcblockmove 0, true;
setpcblock PCBLOCK_MOVE, true;
if ('status_battle[1] == 0) {
'status_battle[1] = 1;
donpcevent instance_npcname("#RZ Memorial Effect 2") + "::OnStart";
@ -497,7 +502,7 @@ OnStart:
if (isloggedin(.@account_id[.@i],.@char_id[.@i]) == false)
continue;
if (strcharinfo(3,.@char_id[.@i]) == 'map_rev$)
pcblockmove .@account_id[.@i], false;
setpcblock PCBLOCK_MOVE, false, .@account_id[.@i];
}
mapwarp 'map_rev$,"prontera",97,167;
}
@ -573,9 +578,9 @@ OnTouch:
specialeffect EF_ICEWALL;
initnpctimer;
}
pcblockmove 0, true;
setpcblock PCBLOCK_MOVE, true;
if (.@num < 7 && 'status_battle[0] == 0) {
mes ""; // fix me
setpcblock PCBLOCK_NPC, true;
'status_battle[0] = 1;
donpcevent instance_npcname("#RZ Memorial Effect 1") + "::OnStart";
mapannounce 'map_rev$, "Morocc: How do you like to be separated from each other and have your bodies and minds bound?", bc_map,0xEBFF;
@ -588,13 +593,14 @@ OnTouch:
sleep2 3000;
mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
donpcevent instance_npcname("#morse_cave_wave_1") + "::OnStart";
setpcblock (PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK), false;
}
else if (.@num >= 7 && .@num < 13 && 'status_battle[1] == 0) {
'status_battle[1] = 1;
donpcevent instance_npcname("#RZ Memorial Effect 2") + "::OnStart";
}
else if (.@num >= 21 && .@num < 33 && 'status_battle[2] == 0) {
mes ""; // fix me
setpcblock PCBLOCK_NPC, true;
'status_battle[2] = 1;
donpcevent instance_npcname("#RZ Memorial Effect 3") + "::OnStart";
mapannounce 'map_rev$, "Morocc: This world of mine is evolving.", bc_map,0xEBFF;
@ -605,6 +611,7 @@ OnTouch:
sleep2 3000;
mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
donpcevent instance_npcname("#morse_cave_wave_2") + "::OnStart";
setpcblock (PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK), false;
}
end;
OnTimer30000:
@ -648,10 +655,10 @@ OnStop:
1@rev,33,111,0 script #RZ Debuff_1 HIDDEN_WARP_NPC,12,4,{
end;
OnTouch:
pcblockmove 0, true;
.@num = atoi( replacestr( strnpcinfo(2), "RZ Debuff_", "" ) );
setpcblock PCBLOCK_MOVE, true;
if (.@num < 5 && 'status_battle[0] == 0) {
mes ""; // fix me
setpcblock PCBLOCK_NPC, true;
'status_battle[0] = 1;
donpcevent instance_npcname("#RZ Memorial Effect 1") + "::OnStart";
mapannounce 'map_rev$, "Morocc: How do you like to be separated from each other and have your bodies and minds bound?", bc_map,0xEBFF;
@ -664,13 +671,14 @@ OnTouch:
sleep2 3000;
mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
donpcevent instance_npcname("#morse_cave_wave_1") + "::OnStart";
setpcblock (PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK), false;
}
else if (.@num >= 5 && .@num < 9 && 'status_battle[1] == 0) {
'status_battle[1] = 1;
donpcevent instance_npcname("#RZ Memorial Effect 2") + "::OnStart";
}
else if (.@num >= 9 && .@num < 16 && 'status_battle[2] == 0) {
mes ""; // fix me
setpcblock PCBLOCK_NPC, true;
'status_battle[2] = 1;
donpcevent instance_npcname("#RZ Memorial Effect 3") + "::OnStart";
mapannounce 'map_rev$, "Morocc: This world of mine is evolving.", bc_map,0xEBFF;
@ -681,6 +689,7 @@ OnTouch:
sleep2 3000;
mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
donpcevent instance_npcname("#morse_cave_wave_2") + "::OnStart";
setpcblock (PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK), false;
}
end;
}
@ -732,7 +741,7 @@ OnTouch:
1@rev,34,47,0 script #Battle_2RZ1 HIDDEN_WARP_NPC,3,3,{
end;
OnTouch:
pcblockmove 0, true;
setpcblock PCBLOCK_MOVE, true;
if ('status_battle[2] == 0) {
'status_battle[2] = 1;
donpcevent instance_npcname("#RZ Memorial Effect 3") + "::OnStart";
@ -832,7 +841,7 @@ OnStart:
if (isloggedin(.@account_id[.@i],.@char_id[.@i]) == false)
continue;
if (strcharinfo(3,.@char_id[.@i]) == 'map_rev$)
pcblockmove .@account_id[.@i], false;
setpcblock PCBLOCK_MOVE, false, .@account_id[.@i];
}
mapwarp 'map_rev$,"prontera",97,167;
}
@ -849,7 +858,7 @@ OnStart:
if (isloggedin(.@account_id[.@i],.@char_id[.@i]) == false)
continue;
if (strcharinfo(3,.@char_id[.@i]) == 'map_rev$)
pcblockmove .@account_id[.@i], false;
setpcblock PCBLOCK_MOVE, false, .@account_id[.@i];
}
// enablenpc instance_npcname("#RZ Debuff Recovery_1");
// enablenpc instance_npcname("#RZ Debuff Recovery_2");
@ -919,7 +928,8 @@ OnStop:
end;
OnTouch:
disablenpc instance_npcname("#Battle_3RZ1");
mapannounce 'map_rev$, "Morocc: I can't let you go unscathed!", bc_map,0xEBFF;
setpcblock PCBLOCK_NPC, true;
mapannounce 'map_rev$, "Morroc: I can't let you go unscathed!", bc_map,0xEBFF;
sleep2 3000;
mapannounce 'map_rev$, "Morocc: Hah hah, my Necromancer. I'll leave them to you.", bc_map,0xEBFF;
sleep2 3000;
@ -942,6 +952,7 @@ OnTouch:
sleep2 3000;
disablenpc .@necromancer$;
donpcevent instance_npcname("#morse_cave_3") + "::OnStart";
setpcblock PCBLOCK_NPC, false;
end;
}
@ -1162,7 +1173,7 @@ OnInstanceInit:
if (isloggedin(.@account_id[.@i],.@char_id[.@i]) == false)
continue;
if (strcharinfo(3,.@char_id[.@i]) == 'map_rev$)
pcblockmove .@account_id[.@i], false;
setpcblock PCBLOCK_MOVE, false, .@account_id[.@i];
}
}
end;

View File

@ -500,7 +500,7 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
end;
OnTouch:
disablenpc instance_npcname("#glast_event_1");
mes "";
setpcblock PCBLOCK_NPC, true;
specialeffect2 EF_HIT2;
unittalk getcharid(3), "" + strcharinfo(0) + " : Huh? Somebody there? Hello~ You must be a traveler.";
sleep2 3000;
@ -525,6 +525,7 @@ OnTouch:
npctalk "Fenrith Fenrir: Buy me some time while I cast magic! I will handle this!", 'fenrir_1$;
donpcevent instance_npcname("#glast_event_1") + "::OnBar";
donpcevent instance_npcname("#glast_event_1") + "::OnEvent";
setpcblock PCBLOCK_NPC, false;
end;
OnBar:
progressbar_npc "000000",10, 'fenrir_1$;
@ -563,7 +564,7 @@ OnMobDead:
end;
OnTouch:
disablenpc instance_npcname("#glast_event_3");
mes "";
setpcblock PCBLOCK_NPC, true;
cutin "fenrir_a.bmp",2;
npctalk "Fenrith Fenrir: By the way, I know it was sudden but thank you for helping.", 'fenrir_1$;
sleep2 2000;
@ -593,6 +594,7 @@ OnTouch:
enablenpc instance_npcname("#glast_move_01");
enablenpc instance_npcname("#glast_event_5");
enablenpc 'fenrir_2$;
setpcblock PCBLOCK_NPC, false;
end;
}
@ -705,7 +707,7 @@ OnTouch:
end;
OnTouch:
disablenpc instance_npcname("#glast_event_5");
mes "";
setpcblock PCBLOCK_NPC, true;
cutin "fenrir_a.bmp",2;
npctalk "Fenrith Fenrir: You are still in Glast Heim? Why aren't you leaving this dangerous place?", 'fenrir_2$;
sleep2 2000;
@ -741,6 +743,7 @@ OnTouch:
enablenpc 'fenrir_3$;
enablenpc instance_npcname("#glast_event_7");
disablenpc instance_npcname("#glast_move_01"); // officially player can be stucked in entrance
setpcblock PCBLOCK_NPC, false;
end;
}
@ -753,12 +756,13 @@ OnTouch:
if (is_party_leader() == false)
npctalk "Fenrith Fenrir: I would like your party leader to come and help me!", 'fenrir_3$;
else {
mes "";
setpcblock PCBLOCK_NPC, true;
disablenpc instance_npcname("#glast_event_7");
npctalk "Fenrith Fenrir: You came! I was waiting!", 'fenrir_3$;
sleep2 2000;
npctalk "Fenrith Fenrir: We don't have much time! We have to go search for it now! Let's go in!", 'fenrir_3$;
sleep2 2000;
setpcblock PCBLOCK_NPC, false;
if ('skip_left_part == 0) {// 5 mins have passed?
donpcevent instance_npcname("#fenrir_left_final_2") + "::OnStop";
disablenpc 'fenrir_3$;
@ -777,7 +781,7 @@ OnTouch:
end;
OnTouch:
disablenpc instance_npcname("#glast_event_9");
mes "";
setpcblock PCBLOCK_NPC, true;
cutin "fenrir_a.bmp",2;
npctalk "Fenrith Fenrir: The sword of Baldur, Sentinel Breeze... even after 1000 years..", 'fenrir_4$;
sleep2 3000;
@ -820,6 +824,7 @@ OnTouch:
monster 'map_glast$,49,363, "Gigantes#semi1", 3191,1, instance_npcname("#fenrir_left_final_1") + "::OnMobDead";// MM_M_GIGAN1
monster 'map_glast$,41,363, "Gigantes#semi2", 3192,1, instance_npcname("#fenrir_left_final_1") + "::OnMobDead";// MM_M_GIGAN2
donpcevent instance_npcname("#glast_event_9") + "::OnEvent";
setpcblock PCBLOCK_NPC, false;
end;
OnEvent:
sleep 15000;
@ -1028,7 +1033,7 @@ OnTouch:
disablenpc instance_npcname("#glast_event_13");
//for ( .@i = 1; .@i < 8; .@i++ )
// disablenpc instance_npcname("#glast_event_warp_" + .@i);
mes "";
setpcblock PCBLOCK_NPC, true;
cutin "fenrir_a.bmp",2;
sleep2 1000;
npctalk "Fenrith Fenrir: I need to go to Glast Heim Castle to retrieve the sword of Baldur.", 'fenrir_5$;
@ -1045,6 +1050,7 @@ OnTouch:
npctalk "Fenrith Fenrir: Then I will go on ahead! Warp!", 'fenrir_5$;
cutin "",255;
donpcevent instance_npcname("#glast_event_13") + "::OnBar";
setpcblock PCBLOCK_NPC, false;
end;
OnBar:
progressbar_npc "000000",3, 'fenrir_5$;
@ -1117,7 +1123,7 @@ OnTouch:
disablenpc instance_npcname("#glast_move_03");
disablenpc instance_npcname("#glast_event_15");
donpcevent instance_npcname("#fenrir_boss_final_2") + "::OnStop";
mes "";
setpcblock PCBLOCK_NPC, true;
sleep2 1000;
npctalk "Fenrith Fenrir: I was waiting. Thank you for not being late.", 'fenrir_6$;
sleep2 3000;
@ -1128,6 +1134,7 @@ OnTouch:
enablenpc instance_npcname("#glast_event_18");
enablenpc instance_npcname("Sarah Irene#glast_17");
enablenpc 'fenrir_7$;
setpcblock PCBLOCK_NPC, false;
end;
}
@ -1138,7 +1145,7 @@ OnTouch:
end;
OnTouch:
disablenpc instance_npcname("#glast_event_18");
mes "";
setpcblock PCBLOCK_NPC, true;
cutin "sarah_hero3.bmp",0;
sleep2 1000;
npctalk "Sarah Irene: It seemed like forever waiting for you~ Fenrith Fenrir.", 'sarah_17$;
@ -1179,6 +1186,7 @@ OnTouch:
donpcevent instance_npcname("#glast_event_19") + "::OnEvent";
monster 'map_glast$,200,336, "Sarah Irene#1",3190,1, instance_npcname("#fenrir_boss_final_1") + "::OnBossDead"; // MM_SARAH
'boss_id = $@mobid[0];
setpcblock PCBLOCK_NPC, false;
end;
OnBar:
progressbar_npc "000000",3, 'fenrir_7$;
@ -1628,7 +1636,7 @@ OnMobDead:
end;
OnTouch:
disablenpc instance_npcname("#glast_event_24");
mes "";
setpcblock PCBLOCK_NPC, true;
sleep2 1500;
cutin "fenrir_b.bmp",2;
npctalk "Fenrith Fenrir: Hehe.. You are certainly skilled but I think you have underestimated me, Valkyrie.", 'fenrir_10$;
@ -1648,6 +1656,7 @@ OnTouch:
cutin "",255;
disablenpc 'fenrir_10$;
donpcevent instance_npcname("#sarah_wrath") + "::OnStart";
setpcblock PCBLOCK_NPC, false;
end;
}

View File

@ -173,8 +173,6 @@ lighthalzen,321,218,4 script Ohno Tohiro#1 4_M_RASWORD,{
if (countitem(7347) < 10) {
mes "[Ohno Tohiro]";
mes "It seems 10 research charts are missing now.";
mes "";
mes "";
mes "Maybe you didn't pick them up from the warehouse.";
next;
mes "[Ohno Tohiro]";

View File

@ -20,9 +20,7 @@ function script F_time_limit_recorder {
function script F_erase_datas_recorder {
if (callfunc("F_time_limit_recorder") == 1)
return;
mes "";
mes "Your whole body suddenly becomes heavy and time seems to be passing faster around you.";
mes "";
for ( .@quest_id = 5341; .@quest_id < 5371; .@quest_id++ ) {
if (isbegin_quest(.@quest_id) > 0)
erasequest .@quest_id;

View File

@ -184,9 +184,11 @@ prt_cas,215,146,0 script #ep16_evt_01_on HIDDEN_WARP_NPC,1,1,{
end;
OnTouch:
if (banquet_main_quest == 1) {
setpcblock PCBLOCK_NPC, true;
classchange( 4_M_RUSMAN1, "Chamberlain Bell#ep16_0_0", bc_self );
sleep2 2000;
npctalk "I've been waiting for you. Sir " + strcharinfo(0) + "...", "Chamberlain Bell#ep16_0_0", bc_self;
setpcblock PCBLOCK_NPC, false;
}
end;
}
@ -471,7 +473,7 @@ prt_cas_q,26,30,3 script Chamberlain Bell#ep16_m 4_M_RUSMAN1,{
case 11:
case 12:
case 13:
mes "";
setpcblock PCBLOCK_NPC, true;
npctalk "You are back already?", "", bc_self;
sleep2 1000;
classchange( 4_M_JOB_WIZARD, "Court Mage Nillem#ep16_1", bc_self );
@ -494,6 +496,7 @@ prt_cas_q,26,30,3 script Chamberlain Bell#ep16_m 4_M_RUSMAN1,{
sleep2 1000;
npctalk "One!", "Court Mage Nillem#ep16_1", bc_self;
sleep2 1000;
setpcblock PCBLOCK_NPC, false;
warp "prt_lib",89,44;
end;
case 14:
@ -580,11 +583,13 @@ prt_cas_q,26,30,3 script Chamberlain Bell#ep16_m 4_M_RUSMAN1,{
mes "Court Mage Nillem opened the door and left right away.";
mes "Saying, 'Where are you?' " + strcharinfo(0) + " The magician must be looking for you.";
close2;
setpcblock PCBLOCK_NPC, true;
sleep2 50;
classchange( 4_M_JOB_WIZARD, "Court Mage Nillem#ep16_1", bc_self );
npctalk "There you are!", "Court Mage Nillem#ep16_1", bc_self;
sleep2 50;
npctalk "What an impeccable timing...", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
case 19:
case 20:
@ -604,6 +609,7 @@ prt_cas_q,26,30,3 script Chamberlain Bell#ep16_m 4_M_RUSMAN1,{
mes "Wait a second.";
mes "I have just sent a message. The magician will arrive here soon.";
close2;
setpcblock PCBLOCK_NPC, true;
sleep2 1000;
classchange( 4_M_JOB_WIZARD, "Court Mage Nillem#ep16_1", bc_self );
if (banquet_main_quest < 25) {
@ -633,6 +639,7 @@ prt_cas_q,26,30,3 script Chamberlain Bell#ep16_m 4_M_RUSMAN1,{
break;
}
}
setpcblock PCBLOCK_NPC, false;
end;
case 2:
mes "[Belle]";
@ -1371,7 +1378,7 @@ prt_cas,183,164,0 script #ep16_evt_7689 HIDDEN_WARP_NPC,1,1,{
end;
OnTouch:
if (banquet_main_quest == 5) {
mes "";
setpcblock PCBLOCK_NPC, true;
unittalk getcharid(3), "" + strcharinfo(0) + " : ...Hum? Who's coming?", bc_self;
sleep2 2000;
classchange( 4_LGTSCIENCE, "#ep16_7689_01", bc_self );
@ -1415,6 +1422,7 @@ OnTouch:
}
sleep2 2000;
classchange( HIDDEN_WARP_NPC, "Skia Nerius#ep16_7689", bc_self );
setpcblock PCBLOCK_NPC, false;
}
end;
}
@ -1501,10 +1509,12 @@ prt_cas,27,43,0 script #ep16_evt_7690 HIDDEN_WARP_NPC,1,1,{
end;
OnTouch:
if (banquet_main_quest == 6) {
setpcblock PCBLOCK_NPC, true;
classchange( 4_EP16_NIHIL, "Unstable Nyhill#ep16_76", bc_self );
classchange( 4_EP16_SKIA, "Skia Nerius#ep16_7690", bc_self );
sleep2 1000;
npctalk "Are you OK?", "Skia Nerius#ep16_7690", bc_self;
setpcblock PCBLOCK_NPC, false;
}
end;
}
@ -1826,10 +1836,12 @@ OnTouch:
classchange( 4_EP16_GRANZ, "Kronecker G. Heine#ep16_1", bc_self );
classchange( 4_EP16_NIHIL, "Nyhill M. Heine#ep16_li", bc_self );
classchange( 1_M_JOBTESTER, "Ian Walther#ep16_lib01", bc_self );
setpcblock PCBLOCK_NPC, true;
sleep2 2000;
npctalk "You are here at last.", "Ian Walther#ep16_lib01", bc_self;
sleep2 3000;
npctalk "I have something to tell you, special guest.", "Ian Walther#ep16_lib01", bc_self;
setpcblock PCBLOCK_NPC, false;
}
if (banquet_main_quest == 24)
classchange( 4_EP16_GRANZ, "Kronecker G. Heine#ep16_1", bc_self );
@ -2176,6 +2188,7 @@ prt_lib,85,82,5 script Ian Walther#ep16_lib01 HIDDEN_WARP_NPC,{
erasequest 7693;// Surprise Attack
banquet_main_quest = 10;
close2;
setpcblock PCBLOCK_NPC, true;
npctalk "Magician! Activate the gate.", "Ian Walther#ep16_lib01", bc_self;
sleep2 2000;
npctalk "Oh, yes. The gate has been activated since others used it earlier.", "Mage Nillem#ep16_warp", bc_self;
@ -2189,6 +2202,7 @@ prt_lib,85,82,5 script Ian Walther#ep16_lib01 HIDDEN_WARP_NPC,{
sleep2 2000;
classchange( HIDDEN_WARP_NPC, "Kronecker G. Heine#ep16_2", bc_self );
classchange( HIDDEN_WARP_NPC, "Nyhill M. Heine#ep16_li", bc_self );
setpcblock PCBLOCK_NPC, false;
}
end;
}
@ -3917,7 +3931,8 @@ prt_cas_q,20,139,3 script Spica Nerius#ep16_room01_a 4_EP16_SPICA,{
cutin "ep16_crux_findel02",2;
mes "[Crux]";
mes "See you later.";
// close2;// player still talking
close2;
setpcblock PCBLOCK_NPC, true;
cutin "",255;
npctalk "Why are you letting the guest out?", "", bc_self;
sleep2 1000;
@ -3930,6 +3945,7 @@ prt_cas_q,20,139,3 script Spica Nerius#ep16_room01_a 4_EP16_SPICA,{
npctalk "I don't mean that!", "", bc_self;
sleep2 3000;
unittalk getcharid(3), "" + strcharinfo(0) + " : (Oh my, I'd better get out now.)", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
@ -5679,7 +5695,7 @@ OnTouch:
if (banquet_main_quest < 17)
classchange( HIDDEN_WARP_NPC, "Peter Heine#ep16_02", bc_self ); // custom - officially hidden from #ep16_heine_evt01. However the npc is not hidden when the player is not in npc visual range
if (banquet_heine_quest == 0 && banquet_main_quest == 2) {
mes "";
setpcblock PCBLOCK_NPC, true;
npctalk "You are in no place to say such a thing!", "Kronecker G. Heine#ep16", bc_self;
sleep2 3000;
npctalk "I'll go back to the head house. Please give me your permission.", "Nyhill M. Heine#ep16_01", bc_self;
@ -5707,6 +5723,7 @@ OnTouch:
banquet_heine_quest = 1;
setquest 7683;// Visit the Heines
}
setpcblock PCBLOCK_NPC, false;
}
end;
}
@ -5718,7 +5735,7 @@ prt_cas_q,141,36,0 script #ep16_evt_7686 HIDDEN_WARP_NPC,1,1,{
end;
OnTouch:
if (banquet_heine_quest >= 1 && isbegin_quest(7686) == 0) {
mes "";
setpcblock PCBLOCK_NPC, true;
classchange( 4_EP16_NIHIL, "Nyhill#ep16_7686", bc_self );
classchange( 4_EP16_SKIA, "Skia#ep16_7686", bc_self );
npctalk "Are you the shadow princess whom people talk about?", "Nyhill#ep16_7686", bc_self;
@ -5774,6 +5791,7 @@ OnTouch:
setquest 7686;// Nyhill and Skia
completequest 7686;// Nyhill and Skia
}
setpcblock PCBLOCK_NPC, false;
}
end;
}
@ -12715,10 +12733,11 @@ prt_cas,89,244,7 script Banquet Hall Guest#6 4_M_NOV_HUNT,{
}
prt_cas,91,237,3 script Ekinasia#ep16_etc01 1_F_SIGNZISK,{
// pcblocknpc
setpcblock PCBLOCK_NPC, true;
npctalk "It's been a while since the last time a royal banquet like this was held.", "Ekinasia#ep16_etc01", bc_self;
sleep2 3000;
npctalk "We need to blow off some steam like this from time to time.", "Ekinasia#ep16_etc01", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
@ -12741,12 +12760,13 @@ prt_cas,78,255,3 script Mayssel#ep16_etc05 4_F_MAYSEL,{
}
prt_cas,78,252,2 script Verkhasel#ep_etc06 4_M_GUILLOTINE,{
// pcblocknpc
setpcblock PCBLOCK_NPC, true;
npctalk "I want to go back now.", "Verkhasel#ep_etc06", bc_self;
sleep2 3000;
npctalk "...You can't.", "Mayssel#ep16_etc05", bc_self;
sleep2 3000;
npctalk "You made that very clear, hahahaha!", "Vicente#ep16_etc07", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
@ -13370,7 +13390,7 @@ prt_cas,379,124,3 script Glamorous Girl#pop 4_F_ARUNA_POP,{
}
prt_cas,368,125,3 script Dumk#ep16_etc03 4_M_SHADOWCHASER,{
mes "";
setpcblock PCBLOCK_NPC, true;
npctalk "Where is he?", "Dumk#ep16_etc03", bc_self;
sleep2 3000;
npctalk "I don't know.", "Kid#ep16_etc04", bc_self;
@ -13387,6 +13407,7 @@ prt_cas,368,125,3 script Dumk#ep16_etc03 4_M_SHADOWCHASER,{
sleep2 1000;
unittalk getcharid(3), "" + strcharinfo(0) + " : (Shaking the head from side to side)", bc_self;
emotion ET_STARE_ABOUT, playerattached();
setpcblock PCBLOCK_NPC, false;
end;
}
prt_cas,367,123,7 duplicate(Dumk#ep16_etc03) Kid#ep16_etc04 4_M_ACROSS
@ -13418,9 +13439,11 @@ prt_cas,161,168,5 script Royal Guardian Knight#0_left 4_M_CRU,{
prt_cas,152,163,0 script prt_cas_1#0_left WARPNPC,1,1,{
OnTouch:
if (banquet_main_quest == 0) {
setpcblock PCBLOCK_NPC, true;
npctalk "That way is a royal villa for VIPs. Outsiders cannot access the place.", "Royal Guardian Knight#0_left", bc_self;
sleep2 3000;
npctalk "If you are invited, a servant should be there to greet you. Please be guided officially.", "Royal Guardian Knight#0_left", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
warp "prt_cas_q",150,8;
@ -13434,9 +13457,11 @@ prt_cas,270,168,3 duplicate(Royal Guardian Knight#0_left) Royal Guardian Knight#
prt_cas,278,163,0 script prt_cas_2#0_right WARPNPC,1,1,{
OnTouch:
if (banquet_main_quest == 0) {
setpcblock PCBLOCK_NPC, true;
npctalk "That way is a royal villa for VIPs. Outsiders cannot access the place.", "Royal Guardian Knight#0_right", bc_self;
sleep2 3000;
npctalk "If you are invited, a servant should be there to greet you. Please be guided officially.", "Royal Guardian Knight#0_right", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
warp "prt_cas_q",135,119;
@ -13554,10 +13579,11 @@ prt_cas,180,264,3 script Guardian Knight#ep16_pr_1 4_M_CRU,{
}
prt_cas,180,251,3 script Guardian Knight#ep16_pr_2 4_M_CRU,{
// pcblocknpctalk
setpcblock PCBLOCK_NPC, true;
npctalk "...On duty. No problem...", "Guardian Knight#ep16_pr_2", bc_self;
sleep2 2000;
npctalk "I want to go home now.", "Guardian Knight#ep16_pr_2", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
@ -13566,9 +13592,10 @@ OnTouch_:
if (banquet_main_quest >= 2)
warp "prt_pri00",54,134;
else {
// pcblocknpctalk
setpcblock PCBLOCK_NPC, true;
npctalk "You shouldn't enter the place like that.", "Guardian Knight#ep16_pr_1", bc_self;
sleep2 2000;
setpcblock PCBLOCK_NPC, false;
warp "prt_cas",182,258;
}
end;
@ -14867,6 +14894,7 @@ OnTouch_:
break;
}
unittalk getcharid(3), "" + strcharinfo(0) + " : ?";
setpcblock PCBLOCK_NPC, true;
sleep2 1000;
specialeffect EF_POISONSMOKE;
getmapxy .@map$, .@x, .@y, BL_NPC;
@ -14875,6 +14903,7 @@ OnTouch_:
monster "prt_q",.@x,.@y,"Fly",1035,1, strnpcinfo(0) + "::OnMyMobDead";// HUNTER_FLY
setd ".mob_count_" + strnpcinfo(2), 1;
hideonnpc strnpcinfo(0);
setpcblock PCBLOCK_NPC, false;
end;
OnMyMobDead:
.@hidden_name$ = strnpcinfo(2);
@ -15766,15 +15795,19 @@ prt_pri00,58,128,4 script Overwatcher Terketh#ep1 4_M_JOB_HUNTER,{
mes "What do you want?";
next;
if (select( "To the Past Memories of the Royal Family", "To the oudside" ) == 2) {
setpcblock PCBLOCK_NPC, true;
sleep2 2000;
npctalk "Well, sure.", "", bc_self;
sleep2 2000;
setpcblock PCBLOCK_NPC, false;
warp "prt_pri00",53,128;
end;
}
setpcblock PCBLOCK_NPC, true;
sleep2 2000;
npctalk "Take care. Do not snoop around too much!", "", bc_self;
sleep2 2000;
setpcblock PCBLOCK_NPC, false;
warp "prt_lib",9,28;
end;
}
@ -15934,7 +15967,8 @@ prt_prison,243,265,6 script Prisoner 243AD265#EP161 4_M_DRAKE,{
mes "Now that the fellow has become freer from death, I wonder what he's up to. I wonder what kind of memory he would write in his next letter.";
next;
mes "The prisoner started singing as if he was reminiscing about something.";
// close2;// still talk to npc
close2;
setpcblock PCBLOCK_NPC, true;
sleep2 30;
npctalk "Prisoner 243AD265: We're coming home~~ We're coming home~~", "", bc_self;
sleep2 2000;
@ -15968,6 +16002,7 @@ prt_prison,243,265,6 script Prisoner 243AD265#EP161 4_M_DRAKE,{
sleep2 2000;
emotion ET_HNG;
npctalk "Prisoner 243AD265: It is far from amusing when there is no fellow sailor around.", "", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
case 2:
erasequest 5426;// [Stand by]To My Beloved Fellow

View File

@ -174,11 +174,12 @@ harboro1,80,218,5 script Costello#harboro1 10210,{
end;
}
if (rock_main_quest == 1) {
mes "";// todo fix me
setpcblock PCBLOCK_NPC, true;
unittalk getcharid(3), "" + strcharinfo(0) + " : Mr. Costello?", bc_self;
sleep2 1000;
npctalk "*Gasp*", "", bc_self;;
sleep2 1000;
setpcblock PCBLOCK_NPC, false;
mes "[Costello]";
mes "*Ahem* Yes, this is him.";
mes "I'm Costello, mayor of Rock Ridge.";
@ -550,7 +551,7 @@ har_in01,20,30,5 script Wyatt Warp#har_in01 10211,{
close;
}
if (rock_main_quest == 6) {
mes "";// todo fix me
setpcblock PCBLOCK_NPC, true;
npctalk "I say we turn him against the rest of his gang.", "Ivoka Skudi#rr03", bc_self;
sleep2 2000;
npctalk "Don't you think regular torture or threats would work?", "", bc_self;
@ -559,6 +560,7 @@ har_in01,20,30,5 script Wyatt Warp#har_in01 10211,{
sleep2 1000;
npctalk "I know. There's Albert.", "", bc_self;
sleep2 2000;
setpcblock PCBLOCK_NPC, false;
mes "[Wyatt Warp]";
mes "Welcome.";
mes "*Chuckle* You're so useful. Just having you standing next to us works like a charm.";
@ -974,15 +976,16 @@ OnTouch:
// Prison
har_in01,100,14,3 script Vigilante#srdg01 10220,{
mes "";// todo fix me
setpcblock PCBLOCK_NPC, true;
npctalk "You'd better not do anything stupid.", "", bc_self;
sleep2 1000;
npctalk "I'm watching you like a hawk.", "", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
har_in01,81,30,3 script Harold#srdg01 4_TOWER_09,{
mes "";// todo fix me
setpcblock PCBLOCK_NPC, true;
emotion ET_OHNO;
npctalk "I can't believe you. Ugh!", "", bc_self;
sleep2 1000;
@ -995,15 +998,17 @@ har_in01,81,30,3 script Harold#srdg01 4_TOWER_09,{
npctalk "I can't help it when the food is so delicious.", "Egring#srdg01", bc_self;
sleep2 1000;
npctalk "Well, that I agree.", "", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
har_in01,78,25,5 script Egring#srdg01 4_DR_TORTEL,{
mes "";// todo fix me
setpcblock PCBLOCK_NPC, true;
emotion ET_THROB;
npctalk "When are we eating today? What are we having? Beans?", "", bc_self;
sleep2 1000;
npctalk "It hasn't been even thirty minutes since our last meal!", "Harold#srdg01", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}
@ -1018,10 +1023,11 @@ har_in01,89,26,5 script Johnny James#har_in01 10213,{
if (rock_main_quest == 8) {
.@player_name$ = strcharinfo(0);
mes "";// todo fix me
setpcblock PCBLOCK_NPC, true;
npctalk "You sneaky bastards, how dare you show up again? Go to hell!", "", bc_self;
sleep2 2000;
classchange( 10212, "Ivoka Skudi#har02", bc_self );
setpcblock PCBLOCK_NPC, false;
npctalk "Ah, you'd better show some respect to our future mayor.", "Ivoka Skudi#har02", bc_self;
mes "[Ivoka Skudi]";
mes "I told you I can take care of him.";
@ -1224,7 +1230,7 @@ rockrdg1,164,306,3 duplicate(Johnny James#revt04) Cactus Gunslinger#revt03 HIDDE
rockrdg1,156,312,3 script Unmoving Freight Train# 4_ENERGY_RED,{
if (rock_main_quest == 5) {
mes "";// todo fix me
setpcblock PCBLOCK_NPC, true;
unittalk getcharid(3), "" + strcharinfo(0) + " : I think this is the place, but maybe I came too early.", bc_self;
sleep2 3000;
classchange( 10213, "Johnny James#revt04", bc_self );
@ -1336,6 +1342,7 @@ rockrdg1,156,312,3 script Unmoving Freight Train# 4_ENERGY_RED,{
erasequest 7795;
setquest 7796;// Unexpected Arrest
rock_main_quest = 6;
setpcblock PCBLOCK_NPC, false;
close;
}
mes "It's worthless and abandoned.";
@ -3928,9 +3935,10 @@ harboro2,164,80,5 script Demon#srdg01 4_M_NFMAN,{
.@account_id = getcharid(3);
.@player_name$ = strcharinfo(0);
mes "";// todo fix me
setpcblock PCBLOCK_NPC, true;
donpcevent "Traces of Fire#srdg01::OnEffect";
sleep2 1500;
setpcblock PCBLOCK_NPC, false;
mes "[Demon]";
mes "Alright, this should do. You know what I need, right? Are you sure you could sneak in? Maybe I should go.";
next;
@ -5758,9 +5766,11 @@ harboro1,235,255,6 script Wealthy Merchant's Came#6 4_DST_CAMEL,{
}
harboro1,210,219,5 script Priest#srdg01 4_M_MINISTER,{
setpcblock PCBLOCK_NPC, true;
npctalk "Are you anguished or sad? Let me help you.", "", bc_self;
sleep2 1500;
npctalk "Every one of us is born to be loved.", "", bc_self;
setpcblock PCBLOCK_NPC, false;
end;
}

View File

@ -11516,8 +11516,10 @@ void clif_parse_UseItem(int fd, struct map_session_data *sd)
return;
}
if ( (!sd->npc_id && pc_istrading(sd)) || sd->chatID || (sd->state.block_action & PCBLOCK_USEITEM) )
if ( (!sd->npc_id && pc_istrading(sd)) || sd->chatID || (sd->state.block_action & PCBLOCK_USEITEM) ) {
clif_msg(sd, WORK_IN_PROGRESS);
return;
}
//Whether the item is used or not is irrelevant, the char ain't idle. [Skotlex]
if (battle_config.idletime_option&IDLE_USEITEM)
@ -12230,8 +12232,10 @@ void clif_parse_skill_toid( struct map_session_data* sd, uint16 skill_id, uint16
if (inf&INF_GROUND_SKILL || !inf)
return; //Using a ground/passive skill on a target? WRONG.
if (sd->state.block_action & PCBLOCK_SKILL)
if (sd->state.block_action & PCBLOCK_SKILL) {
clif_msg(sd, WORK_IN_PROGRESS);
return;
}
if( SKILL_CHK_HOMUN(skill_id) ) {
clif_parse_UseSkillToId_homun(sd->hd, sd, tick, skill_id, skill_lv, target_id);
@ -12346,8 +12350,10 @@ static void clif_parse_UseSkillToPosSub(int fd, struct map_session_data *sd, uin
if( !(skill_get_inf(skill_id)&INF_GROUND_SKILL) )
return; //Using a target skill on the ground? WRONG.
if (sd->state.block_action & PCBLOCK_SKILL)
if (sd->state.block_action & PCBLOCK_SKILL) {
clif_msg(sd, WORK_IN_PROGRESS);
return;
}
if( SKILL_CHK_HOMUN(skill_id) ) {
clif_parse_UseSkillToPos_homun(sd->hd, sd, tick, skill_id, skill_lv, x, y, skillmoreinfo);

View File

@ -1911,6 +1911,7 @@ enum e_pcblock_action_flag : uint16 {
PCBLOCK_SITSTAND = 0x040,
PCBLOCK_COMMANDS = 0x080,
PCBLOCK_NPCCLICK = 0x100,
PCBLOCK_NPC = 0x18D,
PCBLOCK_EMOTION = 0x200,
PCBLOCK_ALL = 0x3FF,
};

View File

@ -7220,6 +7220,7 @@
export_constant(PCBLOCK_SITSTAND);
export_constant(PCBLOCK_COMMANDS);
export_constant(PCBLOCK_NPCCLICK);
export_constant(PCBLOCK_NPC);
export_constant(PCBLOCK_EMOTION);
export_constant(PCBLOCK_ALL);