Documente Academic
Documente Profesional
Documente Cultură
next;
switch(select("Move:Cancel")) {
case 1:
if (Zeny > 499 && BaseLevel > 30) {
set zeny,zeny-500;
warp "pvp_y_room",51,23;
end;
}
else {
mes "[Gate Keeper]";
mes "Excuse me, but";
mes "did you not come prepared?";
mes "Double check that you have the";
mes "500 Zeny entrance fee, and";
mes "that you are at least level 31!";
close;
}
case 2:
mes "[Gate Keeper]";
mes "In this war between Monsters";
mes "and Humans. This competition";
mes "between people, The PVP Mode!";
mes "Encourages us all to become";
mes "stronger. Come again.";
mes "We welcome your challenge!";
close;
}
case 3:
mes "[Gate Keeper]";
mes "Welcome";
mes "Please double check";
mes "That you have the admission or viewing ticket!";
next;
if (countitem(7028) == 0 && countitem(7029) == 0) {
mes "[Gate Keeper]";
mes "Eh? You don't have it? Then I";
mes "am sorry, this fight square is";
mes "only for people who have";
mes "admission or viewing tickets.";
mes "You cannot come in without it.";
close;
}
mes "[Gate Keeper]";
mes "Yes, thank you for participating. Have fun!";
close2;
warp "pvp_room",51,23;
end;
case 4:
mes "[Gate Keeper]";
mes "In this war between Monsters";
mes "and Humans. This competition";
mes "between people, The PVP Mode!";
mes "Encourages us all to become";
mes "stronger. Come again.";
mes "We welcome your challenge!";
close;
}
}
// Alberta
//============================================================
alberta_in,22,146,4
script PVP Narrator#alb
84,{
callfunc "F_PVPNarrator","alberta_in",22,148;
}
alberta_in,26,146,4
duplicate(PVPGateKeeper)
Gate Keeper#alb 83
// Prontera
//============================================================
prt_in,56,140,4 script PVPNarrator#prt 84,{
callfunc "F_PVPNarrator","prt_in",54,137;
}
prt_in,52,140,4 duplicate(PVPGateKeeper)
Gate Keeper#prt 83
// Geffen
//============================================================
geffen_in,67,63,4
script PVPNarrator#gef 84,{
callfunc "F_PVPNarrator","geffen_in",70,59;
}
geffen_in,63,63,4
duplicate(PVPGateKeeper)
Gate Keeper#gef 83
// Payon
//============================================================
payon_in01,142,50,4
script PVPNarrator#pay 84,{
callfunc "F_PVPNarrator","payon_in01",142,46;
}
payon_in01,140,53,4
duplicate(PVPGateKeeper)
Gate Keeper#pay 83
close;
}
}
OnInit:
waitingroom "Free For All",0;
end;
S_CheckPVPRoom:
if (getarg(0) >= 128) {
mes "[PVP Fight Square Reception Staff]";
mes "This map is currently full.";
next;
return;
}
else {
warp getarg(1),0,0;
end;
}
}
// PVP Nightmare Mode Staff
//============================================================
prontera,142,177,4
script Fight Square Reception#2
866,{
set .@mapcount_1,getmapusers("pvp_n_1-5");
set .@mapcount_2,getmapusers("pvp_n_1-1");
set .@mapcount_3,getmapusers("pvp_y_8-1");
set .@mapcount_4,getmapusers("pvp_y_8-4");
set .@mapcount_5,getmapusers("pvp_y_8-5");
while(1) {
switch(select("Room 1 [ "+.@mapcount_1+" / 64 ]:Room 2 [ "+.@map
count_2+" / 32 ]:Room 3 [ "+.@mapcount_3+" / 32 ]:Room 4 [ "+.@mapcount_4+" / 32
]:Room 5 [ "+.@mapcount_5+" / 32 ]:Cancel")) {
case 1:
callsub S_CheckPVPRoom,@mapcount_1,"pvp_n_1-5",64;
break;
case 2:
callsub S_CheckPVPRoom,@mapcount_2,"pvp_n_1-1",32;
break;
case 3:
callsub S_CheckPVPRoom,@mapcount_3,"pvp_y_8-1",32;
break;
case 4:
callsub S_CheckPVPRoom,@mapcount_4,"pvp_y_8-4",32;
break;
case 5:
callsub S_CheckPVPRoom,@mapcount_5,"pvp_y_8-5",32;
break;
case 6:
close;
}
}
OnInit:
waitingroom " ",0;
end;
S_CheckPVPRoom:
if (getarg(0) >= getarg(2)) {
mes "[PVP Fight Square Reception Staff]";
close2;
delitem 7028,1; //Invite_For_Duel
while(1) {
switch(rand(1,4)) {
case 1:
if (.pvp_close_n_room == 0) {
set .pvp_close_n_room,1;
warp "pvp_2vs2",40,59;
end;
}
case 2:
if (.pvp_close_s_room == 0) {
set .pvp_close_s_room,1;
warp "pvp_2vs2",59,40;
end;
}
case 3:
if (.pvp_close_w_room == 0) {
set .pvp_close_w_room,1;
warp "pvp_2vs2",20,40;
end;
}
case 4:
if (.pvp_close_e_room == 0) {
set .pvp_close_e_room,1;
warp "pvp_2vs2",40,20;
end;
}
}
}
}
mes "[PVP Combat Square Register Staff]";
mes "Come back anytime you are ready.";
close;
}
close;
OnInit:
Set .pvp_close_n_room,0;
Set .pvp_close_s_room,0;
Set .pvp_close_w_room,0;
Set .pvp_close_e_room,0;
waitingroom "Combat Square players entrance only",0;
end;
}
// Spectator Entrance
//============================================================
pvp_room,62,85,4
script Spectator's Entrance#1::PVPSpectator
105,{
if (countitem(7029) == 0) {
mes "[PVP Compete Square Register Staff]";
mes "This is the entrance for viewers.";
mes "For details about players entrance please proceed to the Re
gister Staff on your left.";
close;
}
if (select("Compete Square one:Cancel") == 1) {
mes "[PVP Combat Square Register Staff]";
mes "You got it, thanks for participating. Have fun!";
close2;
delitem 7029,1; //Admission_For_Duel
switch(rand(1,4)) {
case 1: warp "pvp_2vs2",39,7; end;
case 2: warp "pvp_2vs2",39,73; end;
case 3: warp "pvp_2vs2",7,39; end;
case 4: warp "pvp_2vs2",73,39; end;
}
}
close;
OnInit:
waitingroom "Compete Square viewer's entrance",0;
end;
}
pvp_room,70,85,4
pvp_room,78,85,4
pvp_room,86,85,4
// Spectator Warps
//============================================================
pvp_2vs2,5,4,0 script Combat Square Staff#1::PVPSpecWarp
45,1,1,{
OnTouch:
mes "[Combat Square Staff]";
mes "May I help you?";
if (select("To the center viewer seat.:Leave Combat Square.") == 1) {
warp "pvp_2vs2",38,38;
end;
}
warp "pvp_room",84,39;
end;
}
pvp_2vs2,5,74,0 duplicate(PVPSpecWarp) Combat Square Staff#2
pvp_2vs2,74,74,0
45,1,1
45,1,1
45,1,1
pvp_2vs2,40,40,0
script Combat Square Staff#5 45,1,1,{
set mapmove,0;
mes "[Combat Square Staff]";
mes "May I help you?";
if (select("To the side viewer seat.:Leave Combat Square.") == 1) {
switch(rand(1,4)) {
case 1: warp "pvp_2vs2",39,7; end;
case 2: warp "pvp_2vs2",39,73; end;
case 3: warp "pvp_2vs2",7,39; end;
case 4: warp "pvp_2vs2",73,39; end;
}
}
warp "pvp_c_room",84,39;
end;
}
// PVP Area Exit warp
//============================================================
pvp_room,51,19,0
script out#eventpvp
45,4,2,{
OnTouch:
mes "[Combat Square Staff]";
mes "Did you have fun in Combat Square?";
mes "May I ask where you want to go?";
next;
switch(select("prontera.:morocc.:geffen.:payon.:alberta.:Cancel.")) {
case 1: warp "prontera",107,60; end;
case 2: warp "morocc",157,96; end;
case 3: warp "geffen",120,36; end;
case 4: warp "payon",96,100; end;
case 5: warp "alberta",41,243; end;
case 6: close;
}
}