also, how to add when the player also suddenly disconnects the dungeon will reset?
here:
prontera,131,171,5 script Ryze 823,{
set map7,getmapusers("2@pump");
if(gettimetick(2) - noctdead < (60 * 60 * 12)) {
mes "^0000FF[ Ryze ]^000000";
mes "I'm sorry but you have to wait";
mes "12 Hours until you can do the this Quest again!";
soundeffect "Ryzezap.wav",0;
close;
}
if(map7 >= 1) goto L_cant;
if(countitem(6024) >= 20 && countitem(7300) >= 5 && countitem(7723) >= 5) goto L_OkayUsap;
mes "^0000FF[ Ryze ]^000000";
mes "***Can you handle this?***";
soundeffect "Ryzehandle.wav",0;
showevent 1,0;
emotion e_gg;
next;
mes "^0000FF[ Ryze ]^000000";
mes "I need ^FF0000 20pcs of 17Carat of Diamonds^000000!";
mes "^FF0000 5 Gemstones^000000!";
mes "and ^FF0000 5 Diamonds of Ruin^000000";
mes "Bring that back to me so that we can kill Nocturne .";
close;
L_cant:
mes "^0000FF[ Ryze ]^000000";
mes "The Quest for Nocturne has already occupied";
mes "Please wait for your turn";
soundeffect "Ryzezap.wav",0;
close;
L_OkayUsap:
mes "^0000FF[ Ryze ]^000000";
mes "Zap!";
showevent 1,0;
soundeffect "Ryzezap.wav",0;
next;
mes "^0000FF[ Ryze ]^000000";
mes "Go with me and let's slay Nocturne";
if (select("Follow Ryze:Ignore him") == 2) {
mes "^0000FF[ Ryze ]^000000";
mes "Do whatever you want";
close;
}
mes "^0000FF[ Ryze ]^000000";
mes "Can you handle this?.";
mes "i'll use my teleport to warp us both in his dungeon";
soundeffect "Ryzeletsgo.wav",0;
sleep2 2000;
awake "Ryze";
warp "2@pump",81,80;
close;
}
2@pump,82,86,5 script Ryze#1 823,{
mes "^0000FF[ Ryze ]^000000";
mes "What's that unpleasnt smell!?";
mes "ewww...";
soundeffect "Ryzeunpleasant.wav",0;
next;
mes "^0000FF[ Ryze ]^000000";
mes "That filthy Nocturne";
mes "i'll chant my spell to wake that bastard";
dispbottom "Ryze is chanting some magic words";
sleep2 5000;
awake "Ryze#1";
mapannounce "2@pump","Nocturne: Embrace the darkness....",0;
soundeffect "Nocturne.wav",0;
sc_start SC_BLIND,1800000,0;
sleep2 2000;
awake "Ryze#1";
next;
mes "^0000FF[ Ryze ]^000000";
mes "Come on Already!.";
soundeffect "Ryzecome.wav",0;
next;
mes "^0000FF[ Ryze ]^000000";
mes "Let's force him to get out on his chamber";
next;
menu "Ok.",L_Yes,"No,Dont!",-;
mes "^0000FF[ Ryze ]^000000";
mes "EHHH??";
close;
OnPCDieEvent:
getmapxy(.@map$,.@x,.@y,0);
if(.@map$=="2@pump") {
dispbottom "You will revive back in Nocturne's Chamber in 3 Second(s)";
recovery 3,"2@pump";
sleep2 3000;
warp "2@pump",83,98;
sc_start SC_BLIND,1800000,0;
end;
L_Yes:
monster "2@pump",124,41,"Chamber's Tower",3504,1,"Ryze#1::OnThisMobDeath2";
monster "2@pump",36,40,"Chamber's Tower",3504,1,"Ryze#1::OnThisMobDeath2";
monster "2@pump",40,126,"Chamber's Tower",3504,1,"Ryze#1::OnThisMobDeath2";
monster "2@pump",120,127,"Chamber's Tower",3504,1,"Ryze#1::OnThisMobDeath2";
mapannounce "2@pump","The Chamber's Four Tower has risen from the ground!",0;
mes "^0000FF[ Ryze ]^000000";
mes "Don't hold me up";
hideonnpc "Ryze#1";
soundeffect "Ryzedonthold.wav",0;
close;
OnThisMobDeath2:
set $ToweKilled,$ToweKilled+1;
if ($ToweKilled==4) goto OnThisMobDeath03;
end;
OnThisMobDeath03:
mapannounce "2@pump","A Wave of Monsters are Coming!",0;
sleep2 3000;
awake "Ryze#1";
mapannounce "2@pump","Nocturne: Cut them from this world!",0;
soundeffect "Nocturne2.wav",0;
sleep2 5000;
awake "Ryze#1";
monster "2@pump",0,0,"Nocturne's Soldier",1302,20,"Ryze#1::OnThisMobDeath04";
monster "2@pump",0,0,"Nocturne's Soldier",1260,20,"Ryze#1::OnThisMobDeath04";
monster "2@pump",0,0,"Nocturne's Soldier",1202,30,"Ryze#1::OnThisMobDeath04";
monster "2@pump",0,0,"Nocturne's Soldier",2015,20,"Ryze#1::OnThisMobDeath04";
end;
OnThisMobDeath04:
set $Mobs2Killed,$Mobs2Killed+1;
if ($Mobs2Killed==90) goto OnThisMobDeath3;
end;
OnThisMobDeath3:
mapannounce "2@pump","Second Wave of Monsters are Coming!",0;
sleep2 3000;
awake "Ryze#1";
mapannounce "2@pump","Nocturne: Are you getting tired? yet?!",0;
soundeffect "Nocturne3.wav",0;
sleep2 5000;
awake "Ryze#1";
monster "2@pump",0,0,"Nocturne High Soldier",1272,3,"Ryze#1::OnThisMobDeath05";
monster "2@pump",0,0,"Nocturne's Soldier",1870,20,"Ryze#1::OnThisMobDeath05";
monster "2@pump",0,0,"Nocturne's Soldier",1869,30,"Ryze#1::OnThisMobDeath05";
monster "2@pump",0,0,"Nocturne's Soldier",1867,10,"Ryze#1::OnThisMobDeath05";
end;
OnThisMobDeath05:
set $Mobs3Killed,$Mobs3Killed+1;
if ($Mobs3Killed==63) goto OnThisMobDeath5;
end;
OnThisMobDeath5:
mapannounce "2@pump","The Chamber's Four Tower has risen again from the ground!",0;
sleep2 3000;
awake "Ryze#1";
soundeffect "Nocturne4.wav",0;
sleep2 5000;
awake "Ryze#1";
monster "2@pump",124,41,"Chamber's Tower",3504,1,"Ryze#1::OnThisMobDeath06";
monster "2@pump",36,40,"Chamber's Tower",3504,1,"Ryze#1::OnThisMobDeath06";
monster "2@pump",40,126,"Chamber's Tower",3504,1,"Ryze#1::OnThisMobDeath06";
monster "2@pump",120,127,"Chamber's Tower",3504,1,"Ryze#1::OnThisMobDeath06";
dispbottom "Destroy the risen towers again";
end;
OnThisMobDeath06:
set $Towe2Killed,$Towe2Killed+1;
if ($Towe2Killed==4) goto OnThisMobDeath6;
end;
OnThisMobDeath6:
mapannounce "2@pump","Nocturne: DARKNESS ....",0;
soundeffect "Nocturne5.wav",0;
sleep2 5000;
awake "Ryze#1";
monster "2@pump",0,0,"Nocturne",2255,1,"Ryze#1::OnThisMobDeath7";
end;
OnThisMobDeath7:
set $NoctKilled,$NoctKilled+1;
if ($NoctKilled==1) goto L_AllDead;
end;
L_AllDead:
while (1) {
set .@rand, rand(.totalchance);
set .@i, 0;
while (1) {
set .@rand, .@rand - .itemchance[.@i];
if ( .@rand < 0 ) break;
set .@i, .@i +1 ;
}
getitem .itemid[.@i], 1;
sc_end SC_BLIND;
mapannounce "2@pump","Ryze: Good work champ!",0;
sleep2 2000;
awake "Ryze#1";
set $ToweKilled,0;
set $Towe2Killed,0;
set $Mobs2Killed,0;
set $Mobs3Killed,0;
set $NoctKilled,0;
set noctdead,gettimetick(2);
delitem 6024,20;
delitem 7723,5;
delitem 7300,5;
specialeffect2 EF_ANGEL;
specialeffect2 EF_TRUESIGHT;
dispbottom "In 10 seconds you will warp back in Prontera";
sleep 10000;
mapwarp "2@pump","prontera",153,166,0;
hideoffnpc "Ryze#1";
end;
sleep2 1;
}
OnInit:
setarray .itemid, 2480,2891,2475,2574,607,607,607,607,607,607,607,607,15008;
setarray .itemchance, 5,5,5,5,20,20,20,20,20,20,20,20,5;
set .itemsize, getarraysize(.itemid);
while ( .@i < .itemsize ) {
set .totalchance, .totalchance + .itemchance[.@i];
set .@i, .@i +1 ;
}
}
}
//Mapflags
2@pump mapflag nowarp
2@pump mapflag nowarpto
2@pump mapflag nomemo
2@pump mapflag noreturn
2@pump mapflag noteleport
2@pump mapflag nobranch
2@pump mapflag nosave
Question
Mr BrycE
Hi, how to check when, player suddenly logs out?
its "set+1" is back to 0?
also, how to add when the player also suddenly disconnects the dungeon will reset?
here:
Edited by Mr BrycE3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.