- Follow up to r16164 and r16193: used SVN Copy/Move so SVN History is preserved.
- Added svn:eol-style=native property for some recently added text files. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16194 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
66f7f11388
commit
d960aa3bee
@ -1,442 +1,442 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= elRO Airship
|
||||
//===== By: ==================================================
|
||||
//= Draike, Bluto, Hephaestus
|
||||
//===== Current Version: =====================================
|
||||
//= 2.2a
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= It's the elRO airship. XD
|
||||
//===== Additional Comments: =================================
|
||||
//= ALWAYS HAVE AT LEAST TWELVE (12) LOCATIONS AS THE MINIMUM. This is unless you modify to OnMinutes and change the schedule around.
|
||||
//= If you have "airplane,103,72,0 warp airs02a 1,1,airplane,102,200" as a warp, remove it. Where it's supposed to go, I have no clue.
|
||||
//= 2.1 Removed Duplicates [Silent]
|
||||
//= 2.2 Added missing next;'s [Evera]
|
||||
//============================================================
|
||||
|
||||
payon,153,43,5 script itinsetter -1,{
|
||||
//This is just OnInit stuff to set the hourly intinerary.
|
||||
OnInit:
|
||||
deletearray $locationsname$[0],500;
|
||||
deletearray $locationsmap$[0],500;
|
||||
deletearray $locationsx[0],500;
|
||||
deletearray $locationsy[0],500;
|
||||
deletearray $alreadygoneto[0],500;
|
||||
setarray $locationsname$[0],"Airport";
|
||||
setarray $locationsname$[1],"Prontera";
|
||||
setarray $locationsname$[2],"Payon";
|
||||
setarray $locationsname$[3],"Aldebaran";
|
||||
setarray $locationsname$[4],"Alberta";
|
||||
setarray $locationsname$[5],"Geffen";
|
||||
setarray $locationsname$[6],"Morocc";
|
||||
setarray $locationsname$[7],"Glast Heim";
|
||||
setarray $locationsname$[8],"Umbala";
|
||||
setarray $locationsname$[9],"Comodo";
|
||||
setarray $locationsname$[10],"Amatsu";
|
||||
setarray $locationsname$[11],"Niflheim";
|
||||
setarray $locationsname$[12],"Lutie";
|
||||
setarray $locationsname$[13],"Louyang";
|
||||
setarray $locationsname$[14],"Gonryun";
|
||||
setarray $locationsname$[15],"Yuno";
|
||||
setarray $locationsname$[16],"Ant Hell";
|
||||
setarray $locationsname$[17],"Jawaii";
|
||||
setarray $locationsname$[18],"Orc Village";
|
||||
setarray $locationsname$[19],"Mjolnir Coal Mines";
|
||||
setarray $locationsname$[20],"Gefenia Ruins";
|
||||
setarray $locationsname$[21],"Ayothaya";
|
||||
setarray $locationsname$[22],"Lighthalzen";
|
||||
setarray $locationsname$[23],"Juperos";
|
||||
setarray $locationsmap$[0],"airport";
|
||||
setarray $locationsmap$[1],"prt_fild08";
|
||||
setarray $locationsmap$[2],"pay_fild08";
|
||||
setarray $locationsmap$[3],"mjolnir_12";
|
||||
setarray $locationsmap$[4],"pay_fild03";
|
||||
setarray $locationsmap$[5],"gef_fild00";
|
||||
setarray $locationsmap$[6],"moc_fild10";
|
||||
setarray $locationsmap$[7],"glast_01";
|
||||
setarray $locationsmap$[8],"umbala";
|
||||
setarray $locationsmap$[9],"comodo";
|
||||
setarray $locationsmap$[10],"amatsu";
|
||||
setarray $locationsmap$[11],"niflheim";
|
||||
setarray $locationsmap$[12],"xmas";
|
||||
setarray $locationsmap$[13],"louyang";
|
||||
setarray $locationsmap$[14],"gonryun";
|
||||
setarray $locationsmap$[15],"yuno";
|
||||
setarray $locationsmap$[16],"moc_fild04";
|
||||
setarray $locationsmap$[17],"jawaii";
|
||||
setarray $locationsmap$[18],"gef_fild10";
|
||||
setarray $locationsmap$[19],"mjolnir_02";
|
||||
setarray $locationsmap$[20],"gefenia01";
|
||||
setarray $locationsmap$[21],"ayothaya";
|
||||
setarray $locationsmap$[22],"lighthalzen";
|
||||
setarray $locationsmap$[23],"jupe_gate";
|
||||
setarray $locationsx[0],148;
|
||||
setarray $locationsx[1],206;
|
||||
setarray $locationsx[2],159;
|
||||
setarray $locationsx[3],62;
|
||||
setarray $locationsx[4],194;
|
||||
setarray $locationsx[5],50;
|
||||
setarray $locationsx[6],163;
|
||||
setarray $locationsx[7],196;
|
||||
setarray $locationsx[8],187;
|
||||
setarray $locationsx[9],203;
|
||||
setarray $locationsx[10],115;
|
||||
setarray $locationsx[11],132;
|
||||
setarray $locationsx[12],232;
|
||||
setarray $locationsx[13],36;
|
||||
setarray $locationsx[14],82;
|
||||
setarray $locationsx[15],58;
|
||||
setarray $locationsx[16],209;
|
||||
setarray $locationsx[17],248;
|
||||
setarray $locationsx[18],158;
|
||||
setarray $locationsx[19],76;
|
||||
setarray $locationsx[20],98;
|
||||
setarray $locationsx[21],183;
|
||||
setarray $locationsx[22],99;
|
||||
setarray $locationsx[23],46;
|
||||
setarray $locationsy[0],45;
|
||||
setarray $locationsy[1],280;
|
||||
setarray $locationsy[2],92;
|
||||
setarray $locationsy[3],381;
|
||||
setarray $locationsy[4],182;
|
||||
setarray $locationsy[5],365;
|
||||
setarray $locationsy[6],172;
|
||||
setarray $locationsy[7],327;
|
||||
setarray $locationsy[8],98;
|
||||
setarray $locationsy[9],76;
|
||||
setarray $locationsy[10],79;
|
||||
setarray $locationsy[11],241;
|
||||
setarray $locationsy[12],308;
|
||||
setarray $locationsy[13],279;
|
||||
setarray $locationsy[14],96;
|
||||
setarray $locationsy[15],194;
|
||||
setarray $locationsy[16],326;
|
||||
setarray $locationsy[17],175;
|
||||
setarray $locationsy[18],95;
|
||||
setarray $locationsy[19],363;
|
||||
setarray $locationsy[20],21;
|
||||
setarray $locationsy[21],104;
|
||||
setarray $locationsy[22],240;
|
||||
setarray $locationsy[23],19;
|
||||
goto resetgoneto;
|
||||
end;
|
||||
|
||||
setrandomitin:
|
||||
set $@settervariable,$@settervariable + 1;
|
||||
setarray $locationn[$@settervariable],rand(0,getarraysize($locationsname$) - 1);
|
||||
if($alreadygoneto[$locationn[$@settervariable]]==1)set $@settervariable,$@settervariable - 1;
|
||||
if($alreadygoneto[$locationn[$@settervariable]]==1)goto setrandomitin;
|
||||
setarray $alreadygoneto[$locationn[$@settervariable]], 1;
|
||||
if($@settervariable<12)goto setrandomitin;
|
||||
end;
|
||||
|
||||
resetgoneto:
|
||||
deletearray $alreadygoneto[0], 500;
|
||||
set $@currenttime, 0;
|
||||
goto setrandomitin;
|
||||
|
||||
OnMinute00:
|
||||
set $@currenttime, 1;
|
||||
callfunc "F_Itinreset",12,1,2;
|
||||
|
||||
OnMinute03:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute05:
|
||||
set $@currenttime, 2;
|
||||
callfunc "F_Itinreset",1,2,3;
|
||||
|
||||
OnMinute08:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute10:
|
||||
set $@currenttime, 3;
|
||||
callfunc "F_Itinreset",2,3,4;
|
||||
|
||||
OnMinute13:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute15:
|
||||
set $@currenttime, 4;
|
||||
callfunc "F_Itinreset",3,4,5;
|
||||
|
||||
OnMinute18:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute20:
|
||||
set $@currenttime, 5;
|
||||
callfunc "F_Itinreset",4,5,6;
|
||||
|
||||
OnMinute23:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute25:
|
||||
set $@currenttime, 6;
|
||||
callfunc "F_Itinreset",5,6,7;
|
||||
|
||||
OnMinute28:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute30:
|
||||
set $@currenttime, 7;
|
||||
callfunc "F_Itinreset",6,7,8;
|
||||
|
||||
OnMinute33:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute35:
|
||||
set $@currenttime, 8;
|
||||
callfunc "F_Itinreset",7,8,9;
|
||||
|
||||
OnMinute38:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute40:
|
||||
set $@currenttime, 9;
|
||||
callfunc "F_Itinreset",8,9,10;
|
||||
|
||||
OnMinute43:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute45:
|
||||
set $@currenttime, 10;
|
||||
callfunc "F_Itinreset",9,10,11;
|
||||
|
||||
OnMinute48:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute50:
|
||||
set $@currenttime, 11;
|
||||
callfunc "F_Itinreset",10,11,12;
|
||||
|
||||
OnMinute53:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute55:
|
||||
set $@currenttime, 12;
|
||||
callfunc "F_Itinreset",11,12,1;
|
||||
|
||||
OnMinute58:
|
||||
set $destination,250;
|
||||
end;
|
||||
}
|
||||
|
||||
function script F_Porter {
|
||||
if($destination==getarg(0))goto Board;
|
||||
if($destination!=getarg(0))goto Notime;
|
||||
|
||||
Board:
|
||||
mes "^FF0000[Porter]^000000";
|
||||
mes "The plane is currently ported. Would you like to board?";
|
||||
next;
|
||||
menu "Yes.",L_Yes,"No.",L_Nope,"View Hourly Itinerary.",Itin;
|
||||
|
||||
L_Yes:
|
||||
if($destination!=getarg(0))goto Notime;
|
||||
warp "airplane", 105, 72;
|
||||
specialeffect2 501;
|
||||
L_Nope:
|
||||
mes "^FF0000[Porter]^000000";
|
||||
mes "Have a good day. Thank you for traveling with Airship.";
|
||||
close;
|
||||
|
||||
Notime:
|
||||
mes "^FF0000[Porter]^000000";
|
||||
if(sex==0) mes "Sorry, ma'am, but the plane currently isn't ported. However, you can view the airplane's hourly itinerary.";
|
||||
if(sex==1) mes "Sorry, sir, but the plane currently isn't ported. However, you can view the airplane's hourly itinerary.";
|
||||
next;
|
||||
menu "Yes, please.",Itin,"No thanks.",L_Nope;
|
||||
close;
|
||||
end;
|
||||
|
||||
Itin:
|
||||
mes "^FF0000[Porter]^000000";
|
||||
callfunc "F_Itin";
|
||||
}
|
||||
|
||||
airport,153,43,5 script Airport Porter 774,{
|
||||
callfunc "F_Porter",0;
|
||||
}
|
||||
prt_fild08,206,279,5 script Porter#01 774,{
|
||||
callfunc "F_Porter",1;
|
||||
}
|
||||
gef_fild00,50,364,5 script Porter#02 774,{
|
||||
callfunc "F_Porter",5;
|
||||
}
|
||||
moc_fild10,163,173,5 script Porter#03 774,{
|
||||
callfunc "F_Porter",6;
|
||||
}
|
||||
mjolnir_12,61,380,5 script Porter#04 774,{
|
||||
callfunc "F_Porter",3;
|
||||
}
|
||||
pay_fild08,159,91,5 script Porter#05 774,{
|
||||
callfunc "F_Porter",2;
|
||||
}
|
||||
pay_fild03,194,181,5 script Porter#06 774,{
|
||||
callfunc "F_Porter",4;
|
||||
}
|
||||
glast_01,196,326,1 script Porter#07 774,{
|
||||
callfunc "F_Porter",7;
|
||||
}
|
||||
umbala,188,98,3 script Porter#08 774,{
|
||||
callfunc "F_Porter",8;
|
||||
}
|
||||
comodo,203,75,8 script Porter#09 774,{
|
||||
callfunc "F_Porter",9;
|
||||
}
|
||||
amatsu,115,78,8 script Porter#10 774,{
|
||||
callfunc "F_Porter",10;
|
||||
}
|
||||
niflheim,132,242,5 script Porter#11 774,{
|
||||
callfunc "F_Porter",11;
|
||||
}
|
||||
xmas,232,309,5 script Porter#12 774,{
|
||||
callfunc "F_Porter",12;
|
||||
}
|
||||
louyang,35,279,8 script Porter#13 774,{
|
||||
callfunc "F_Porter",13;
|
||||
}
|
||||
gonryun,82,95,7 script Porter#14 774,{
|
||||
callfunc "F_Porter",14;
|
||||
}
|
||||
yuno,58,195,4 script Porter#15 774,{
|
||||
callfunc "F_Porter",15;
|
||||
}
|
||||
moc_fild04,210,326,2 script Porter#16 774,{
|
||||
callfunc "F_Porter",16;
|
||||
}
|
||||
jawaii,247,174,7 script Porter#17 774,{
|
||||
callfunc "F_Porter",17;
|
||||
}
|
||||
gef_fild10,159,95,2 script Porter#18 774,{
|
||||
callfunc "F_Porter",18;
|
||||
}
|
||||
mjolnir_02,76,364,5 script Porter#19 774,{
|
||||
callfunc "F_Porter",19;
|
||||
}
|
||||
gefenia01,97,22,6 script Porter#20 774,{
|
||||
callfunc "F_Porter",20;
|
||||
}
|
||||
ayothaya,182,105,5 script Porter#21 774,{
|
||||
callfunc "F_Porter",21;
|
||||
}
|
||||
lighthalzen,99,241,4 script Porter#22 774,{
|
||||
callfunc "F_Porter",22;
|
||||
}
|
||||
jupe_gate,46,18,7 script Porter#23 774,{
|
||||
callfunc "F_Porter",23;
|
||||
}
|
||||
airport,141,43,5 script Itinerary Schedule 837,{
|
||||
mes "^FF0000[Itinerary]^000000";
|
||||
callfunc "F_Itin";
|
||||
}
|
||||
|
||||
airplane,102,68,5 script Docker 852,{
|
||||
if($destination == 250) goto Nowhere;
|
||||
mes "^FF0000[Airplane Attendant]^000000";
|
||||
if($destination == 250)goto Notime;
|
||||
set @dockky, $destination;
|
||||
if($destination != 250)mes "We are currently docked at "+$locationsname$[$destination]+". Would you like to exit?";
|
||||
next;
|
||||
menu "Yes.",Lyes,"No.",Lnope;
|
||||
|
||||
Lyes:
|
||||
if($destination == 250)goto Notime;
|
||||
if($destination != @dockky)goto Notime;
|
||||
warp $locationsmap$[$destination], $locationsx[$destination], $locationsy[$destination];
|
||||
specialeffect2 501;
|
||||
|
||||
Lnope:
|
||||
mes "^FF0000[Airplane Attendant]^000000";
|
||||
mes "Have a good day. Thank you for traveling with us.";
|
||||
close;
|
||||
|
||||
Notime:
|
||||
mes "^FF0000[Airplane Attendant]^000000";
|
||||
if(sex==0) mes "Sorry, ma'am, but the plane currently isn't docked. Please wait.";
|
||||
if(sex==1) mes "Sorry, sir, but the plane currently isn't docked. Please wait.";
|
||||
close;
|
||||
|
||||
Nowhere:
|
||||
mes "^FF0000[Airplane Attendant]^000000";
|
||||
mes "We're currently in air. Please wait until the pilot has announced that we have safely landed.";
|
||||
close;
|
||||
}
|
||||
|
||||
function script F_Itin {
|
||||
//This is the itinerary's function. It should work well enough.
|
||||
if($@currenttime==0)mes "Try again later. A recent server reboot or rehash has messed the itinerary up for a bit.";
|
||||
if($@currenttime==0)close;
|
||||
if($@currenttime==0)end;
|
||||
set @tempo, 0;
|
||||
set @tempo, $@currenttime - 1;
|
||||
goto seta;
|
||||
close;
|
||||
|
||||
seta:
|
||||
set @tempo, @tempo + 1;
|
||||
set @time, gettime(3);
|
||||
set @minutes, 5 * @tempo - 5;
|
||||
set @minutess, 5 * @tempo - 2;
|
||||
if(@minutes<10)set @minutes$, "0" + @minutes;
|
||||
if(@minutes>9)set @minutes$, @minutes;
|
||||
if(@minutess<10)set @minutess$, "0" + @minutess;
|
||||
if(@minutess>9)set @minutess$, @minutess;
|
||||
if(@time<12)set @time$,@time;
|
||||
if(@time==12)set @time$,12;
|
||||
if(@time>12)set @time$,@time - 12;
|
||||
if(@time<12)mes @time$+":"+ @minutes$ + " A.M. - "+@time$+ ":"+ @minutess$ + " A.M. - "+"^FF0000"+$locationsname$[$locationn[@tempo]]+"^000000";
|
||||
if(@time==12)mes @time$+":"+ @minutes$ + " P.M. - "+@time$+ ":"+ @minutess$ + " P.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
|
||||
if(@time>12 && time<24)mes @time$ +":"+ @minutes$ + " P.M. - "+@time$ + ":"+ @minutess$ + " P.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
|
||||
if(@time==24)mes @time$+":"+ @minutes$ + " A.M. - "+@time$+ ":"+ @minutess$ + " A.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
|
||||
if(@tempo<12)goto seta;
|
||||
set @tempo, 0;
|
||||
goto setb;
|
||||
|
||||
setb:
|
||||
if($@currenttime - 1==@tempo)goto setc;
|
||||
set @tempo, @tempo + 1;
|
||||
set @time, gettime(3) + 1;
|
||||
set @minutes, 5 * @tempo - 5;
|
||||
set @minutess, 5 * @tempo - 2;
|
||||
if(@minutes<10)set @minutes$, "0" + @minutes;
|
||||
if(@minutes>9)set @minutes$, @minutes;
|
||||
if(@minutess<10)set @minutess$, "0" + @minutess;
|
||||
if(@minutess>9)set @minutess$, @minutess;
|
||||
if(@time<12)set @time$,@time;
|
||||
if(@time==12)set @time$,12;
|
||||
if(@time>12)set @time$,@time - 12;
|
||||
if(@time<12)mes @time$+":"+ @minutes$ + " A.M. - "+@time$+ ":"+ @minutess$ + " A.M. - "+"^FF0000"+$locationsname$[$locationn[@tempo]]+"^000000";
|
||||
if(@time==12)mes @time$+":"+ @minutes$ + " P.M. - "+@time$+ ":"+ @minutess$ + " P.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
|
||||
if(@time>12 && time<24)mes @time$ +":"+ @minutes$ + " P.M. - "+@time$+ ":"+ @minutess$ + " P.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
|
||||
if(@time==24)mes @time$+":"+ @minutes$ + " A.M. - "+@time$+ ":"+ @minutess$ + " A.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
|
||||
goto setb;
|
||||
|
||||
setc:
|
||||
close;
|
||||
end;
|
||||
}
|
||||
|
||||
function script F_Itinreset {
|
||||
setarray $alreadygoneto[$locationn[getarg(0)]], 0;
|
||||
goto sest;
|
||||
sest:
|
||||
setarray $locationn[getarg(0)],rand(0,getarraysize($locationsname$) - 1);
|
||||
if($alreadygoneto[$locationn[getarg(0)]]==1)goto sest;
|
||||
setarray $alreadygoneto[$locationn[getarg(0)]], 1;
|
||||
set $destination,$locationn[$@currenttime];
|
||||
announce "Pilot: The plane has arrived at "+$locationsname$[$locationn[getarg(1)]]+". Departure to "+ $locationsname$[$locationn[getarg(2)]] + " is in 3 minutes.",16;
|
||||
end;
|
||||
}
|
||||
//===== rAthena Script =======================================
|
||||
//= elRO Airship
|
||||
//===== By: ==================================================
|
||||
//= Draike, Bluto, Hephaestus
|
||||
//===== Current Version: =====================================
|
||||
//= 2.2a
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= It's the elRO airship. XD
|
||||
//===== Additional Comments: =================================
|
||||
//= ALWAYS HAVE AT LEAST TWELVE (12) LOCATIONS AS THE MINIMUM. This is unless you modify to OnMinutes and change the schedule around.
|
||||
//= If you have "airplane,103,72,0 warp airs02a 1,1,airplane,102,200" as a warp, remove it. Where it's supposed to go, I have no clue.
|
||||
//= 2.1 Removed Duplicates [Silent]
|
||||
//= 2.2 Added missing next;'s [Evera]
|
||||
//============================================================
|
||||
|
||||
payon,153,43,5 script itinsetter -1,{
|
||||
//This is just OnInit stuff to set the hourly intinerary.
|
||||
OnInit:
|
||||
deletearray $locationsname$[0],500;
|
||||
deletearray $locationsmap$[0],500;
|
||||
deletearray $locationsx[0],500;
|
||||
deletearray $locationsy[0],500;
|
||||
deletearray $alreadygoneto[0],500;
|
||||
setarray $locationsname$[0],"Airport";
|
||||
setarray $locationsname$[1],"Prontera";
|
||||
setarray $locationsname$[2],"Payon";
|
||||
setarray $locationsname$[3],"Aldebaran";
|
||||
setarray $locationsname$[4],"Alberta";
|
||||
setarray $locationsname$[5],"Geffen";
|
||||
setarray $locationsname$[6],"Morocc";
|
||||
setarray $locationsname$[7],"Glast Heim";
|
||||
setarray $locationsname$[8],"Umbala";
|
||||
setarray $locationsname$[9],"Comodo";
|
||||
setarray $locationsname$[10],"Amatsu";
|
||||
setarray $locationsname$[11],"Niflheim";
|
||||
setarray $locationsname$[12],"Lutie";
|
||||
setarray $locationsname$[13],"Louyang";
|
||||
setarray $locationsname$[14],"Gonryun";
|
||||
setarray $locationsname$[15],"Yuno";
|
||||
setarray $locationsname$[16],"Ant Hell";
|
||||
setarray $locationsname$[17],"Jawaii";
|
||||
setarray $locationsname$[18],"Orc Village";
|
||||
setarray $locationsname$[19],"Mjolnir Coal Mines";
|
||||
setarray $locationsname$[20],"Gefenia Ruins";
|
||||
setarray $locationsname$[21],"Ayothaya";
|
||||
setarray $locationsname$[22],"Lighthalzen";
|
||||
setarray $locationsname$[23],"Juperos";
|
||||
setarray $locationsmap$[0],"airport";
|
||||
setarray $locationsmap$[1],"prt_fild08";
|
||||
setarray $locationsmap$[2],"pay_fild08";
|
||||
setarray $locationsmap$[3],"mjolnir_12";
|
||||
setarray $locationsmap$[4],"pay_fild03";
|
||||
setarray $locationsmap$[5],"gef_fild00";
|
||||
setarray $locationsmap$[6],"moc_fild10";
|
||||
setarray $locationsmap$[7],"glast_01";
|
||||
setarray $locationsmap$[8],"umbala";
|
||||
setarray $locationsmap$[9],"comodo";
|
||||
setarray $locationsmap$[10],"amatsu";
|
||||
setarray $locationsmap$[11],"niflheim";
|
||||
setarray $locationsmap$[12],"xmas";
|
||||
setarray $locationsmap$[13],"louyang";
|
||||
setarray $locationsmap$[14],"gonryun";
|
||||
setarray $locationsmap$[15],"yuno";
|
||||
setarray $locationsmap$[16],"moc_fild04";
|
||||
setarray $locationsmap$[17],"jawaii";
|
||||
setarray $locationsmap$[18],"gef_fild10";
|
||||
setarray $locationsmap$[19],"mjolnir_02";
|
||||
setarray $locationsmap$[20],"gefenia01";
|
||||
setarray $locationsmap$[21],"ayothaya";
|
||||
setarray $locationsmap$[22],"lighthalzen";
|
||||
setarray $locationsmap$[23],"jupe_gate";
|
||||
setarray $locationsx[0],148;
|
||||
setarray $locationsx[1],206;
|
||||
setarray $locationsx[2],159;
|
||||
setarray $locationsx[3],62;
|
||||
setarray $locationsx[4],194;
|
||||
setarray $locationsx[5],50;
|
||||
setarray $locationsx[6],163;
|
||||
setarray $locationsx[7],196;
|
||||
setarray $locationsx[8],187;
|
||||
setarray $locationsx[9],203;
|
||||
setarray $locationsx[10],115;
|
||||
setarray $locationsx[11],132;
|
||||
setarray $locationsx[12],232;
|
||||
setarray $locationsx[13],36;
|
||||
setarray $locationsx[14],82;
|
||||
setarray $locationsx[15],58;
|
||||
setarray $locationsx[16],209;
|
||||
setarray $locationsx[17],248;
|
||||
setarray $locationsx[18],158;
|
||||
setarray $locationsx[19],76;
|
||||
setarray $locationsx[20],98;
|
||||
setarray $locationsx[21],183;
|
||||
setarray $locationsx[22],99;
|
||||
setarray $locationsx[23],46;
|
||||
setarray $locationsy[0],45;
|
||||
setarray $locationsy[1],280;
|
||||
setarray $locationsy[2],92;
|
||||
setarray $locationsy[3],381;
|
||||
setarray $locationsy[4],182;
|
||||
setarray $locationsy[5],365;
|
||||
setarray $locationsy[6],172;
|
||||
setarray $locationsy[7],327;
|
||||
setarray $locationsy[8],98;
|
||||
setarray $locationsy[9],76;
|
||||
setarray $locationsy[10],79;
|
||||
setarray $locationsy[11],241;
|
||||
setarray $locationsy[12],308;
|
||||
setarray $locationsy[13],279;
|
||||
setarray $locationsy[14],96;
|
||||
setarray $locationsy[15],194;
|
||||
setarray $locationsy[16],326;
|
||||
setarray $locationsy[17],175;
|
||||
setarray $locationsy[18],95;
|
||||
setarray $locationsy[19],363;
|
||||
setarray $locationsy[20],21;
|
||||
setarray $locationsy[21],104;
|
||||
setarray $locationsy[22],240;
|
||||
setarray $locationsy[23],19;
|
||||
goto resetgoneto;
|
||||
end;
|
||||
|
||||
setrandomitin:
|
||||
set $@settervariable,$@settervariable + 1;
|
||||
setarray $locationn[$@settervariable],rand(0,getarraysize($locationsname$) - 1);
|
||||
if($alreadygoneto[$locationn[$@settervariable]]==1)set $@settervariable,$@settervariable - 1;
|
||||
if($alreadygoneto[$locationn[$@settervariable]]==1)goto setrandomitin;
|
||||
setarray $alreadygoneto[$locationn[$@settervariable]], 1;
|
||||
if($@settervariable<12)goto setrandomitin;
|
||||
end;
|
||||
|
||||
resetgoneto:
|
||||
deletearray $alreadygoneto[0], 500;
|
||||
set $@currenttime, 0;
|
||||
goto setrandomitin;
|
||||
|
||||
OnMinute00:
|
||||
set $@currenttime, 1;
|
||||
callfunc "F_Itinreset",12,1,2;
|
||||
|
||||
OnMinute03:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute05:
|
||||
set $@currenttime, 2;
|
||||
callfunc "F_Itinreset",1,2,3;
|
||||
|
||||
OnMinute08:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute10:
|
||||
set $@currenttime, 3;
|
||||
callfunc "F_Itinreset",2,3,4;
|
||||
|
||||
OnMinute13:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute15:
|
||||
set $@currenttime, 4;
|
||||
callfunc "F_Itinreset",3,4,5;
|
||||
|
||||
OnMinute18:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute20:
|
||||
set $@currenttime, 5;
|
||||
callfunc "F_Itinreset",4,5,6;
|
||||
|
||||
OnMinute23:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute25:
|
||||
set $@currenttime, 6;
|
||||
callfunc "F_Itinreset",5,6,7;
|
||||
|
||||
OnMinute28:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute30:
|
||||
set $@currenttime, 7;
|
||||
callfunc "F_Itinreset",6,7,8;
|
||||
|
||||
OnMinute33:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute35:
|
||||
set $@currenttime, 8;
|
||||
callfunc "F_Itinreset",7,8,9;
|
||||
|
||||
OnMinute38:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute40:
|
||||
set $@currenttime, 9;
|
||||
callfunc "F_Itinreset",8,9,10;
|
||||
|
||||
OnMinute43:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute45:
|
||||
set $@currenttime, 10;
|
||||
callfunc "F_Itinreset",9,10,11;
|
||||
|
||||
OnMinute48:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute50:
|
||||
set $@currenttime, 11;
|
||||
callfunc "F_Itinreset",10,11,12;
|
||||
|
||||
OnMinute53:
|
||||
set $destination,250;
|
||||
end;
|
||||
|
||||
OnMinute55:
|
||||
set $@currenttime, 12;
|
||||
callfunc "F_Itinreset",11,12,1;
|
||||
|
||||
OnMinute58:
|
||||
set $destination,250;
|
||||
end;
|
||||
}
|
||||
|
||||
function script F_Porter {
|
||||
if($destination==getarg(0))goto Board;
|
||||
if($destination!=getarg(0))goto Notime;
|
||||
|
||||
Board:
|
||||
mes "^FF0000[Porter]^000000";
|
||||
mes "The plane is currently ported. Would you like to board?";
|
||||
next;
|
||||
menu "Yes.",L_Yes,"No.",L_Nope,"View Hourly Itinerary.",Itin;
|
||||
|
||||
L_Yes:
|
||||
if($destination!=getarg(0))goto Notime;
|
||||
warp "airplane", 105, 72;
|
||||
specialeffect2 501;
|
||||
L_Nope:
|
||||
mes "^FF0000[Porter]^000000";
|
||||
mes "Have a good day. Thank you for traveling with Airship.";
|
||||
close;
|
||||
|
||||
Notime:
|
||||
mes "^FF0000[Porter]^000000";
|
||||
if(sex==0) mes "Sorry, ma'am, but the plane currently isn't ported. However, you can view the airplane's hourly itinerary.";
|
||||
if(sex==1) mes "Sorry, sir, but the plane currently isn't ported. However, you can view the airplane's hourly itinerary.";
|
||||
next;
|
||||
menu "Yes, please.",Itin,"No thanks.",L_Nope;
|
||||
close;
|
||||
end;
|
||||
|
||||
Itin:
|
||||
mes "^FF0000[Porter]^000000";
|
||||
callfunc "F_Itin";
|
||||
}
|
||||
|
||||
airport,153,43,5 script Airport Porter 774,{
|
||||
callfunc "F_Porter",0;
|
||||
}
|
||||
prt_fild08,206,279,5 script Porter#01 774,{
|
||||
callfunc "F_Porter",1;
|
||||
}
|
||||
gef_fild00,50,364,5 script Porter#02 774,{
|
||||
callfunc "F_Porter",5;
|
||||
}
|
||||
moc_fild10,163,173,5 script Porter#03 774,{
|
||||
callfunc "F_Porter",6;
|
||||
}
|
||||
mjolnir_12,61,380,5 script Porter#04 774,{
|
||||
callfunc "F_Porter",3;
|
||||
}
|
||||
pay_fild08,159,91,5 script Porter#05 774,{
|
||||
callfunc "F_Porter",2;
|
||||
}
|
||||
pay_fild03,194,181,5 script Porter#06 774,{
|
||||
callfunc "F_Porter",4;
|
||||
}
|
||||
glast_01,196,326,1 script Porter#07 774,{
|
||||
callfunc "F_Porter",7;
|
||||
}
|
||||
umbala,188,98,3 script Porter#08 774,{
|
||||
callfunc "F_Porter",8;
|
||||
}
|
||||
comodo,203,75,8 script Porter#09 774,{
|
||||
callfunc "F_Porter",9;
|
||||
}
|
||||
amatsu,115,78,8 script Porter#10 774,{
|
||||
callfunc "F_Porter",10;
|
||||
}
|
||||
niflheim,132,242,5 script Porter#11 774,{
|
||||
callfunc "F_Porter",11;
|
||||
}
|
||||
xmas,232,309,5 script Porter#12 774,{
|
||||
callfunc "F_Porter",12;
|
||||
}
|
||||
louyang,35,279,8 script Porter#13 774,{
|
||||
callfunc "F_Porter",13;
|
||||
}
|
||||
gonryun,82,95,7 script Porter#14 774,{
|
||||
callfunc "F_Porter",14;
|
||||
}
|
||||
yuno,58,195,4 script Porter#15 774,{
|
||||
callfunc "F_Porter",15;
|
||||
}
|
||||
moc_fild04,210,326,2 script Porter#16 774,{
|
||||
callfunc "F_Porter",16;
|
||||
}
|
||||
jawaii,247,174,7 script Porter#17 774,{
|
||||
callfunc "F_Porter",17;
|
||||
}
|
||||
gef_fild10,159,95,2 script Porter#18 774,{
|
||||
callfunc "F_Porter",18;
|
||||
}
|
||||
mjolnir_02,76,364,5 script Porter#19 774,{
|
||||
callfunc "F_Porter",19;
|
||||
}
|
||||
gefenia01,97,22,6 script Porter#20 774,{
|
||||
callfunc "F_Porter",20;
|
||||
}
|
||||
ayothaya,182,105,5 script Porter#21 774,{
|
||||
callfunc "F_Porter",21;
|
||||
}
|
||||
lighthalzen,99,241,4 script Porter#22 774,{
|
||||
callfunc "F_Porter",22;
|
||||
}
|
||||
jupe_gate,46,18,7 script Porter#23 774,{
|
||||
callfunc "F_Porter",23;
|
||||
}
|
||||
airport,141,43,5 script Itinerary Schedule 837,{
|
||||
mes "^FF0000[Itinerary]^000000";
|
||||
callfunc "F_Itin";
|
||||
}
|
||||
|
||||
airplane,102,68,5 script Docker 852,{
|
||||
if($destination == 250) goto Nowhere;
|
||||
mes "^FF0000[Airplane Attendant]^000000";
|
||||
if($destination == 250)goto Notime;
|
||||
set @dockky, $destination;
|
||||
if($destination != 250)mes "We are currently docked at "+$locationsname$[$destination]+". Would you like to exit?";
|
||||
next;
|
||||
menu "Yes.",Lyes,"No.",Lnope;
|
||||
|
||||
Lyes:
|
||||
if($destination == 250)goto Notime;
|
||||
if($destination != @dockky)goto Notime;
|
||||
warp $locationsmap$[$destination], $locationsx[$destination], $locationsy[$destination];
|
||||
specialeffect2 501;
|
||||
|
||||
Lnope:
|
||||
mes "^FF0000[Airplane Attendant]^000000";
|
||||
mes "Have a good day. Thank you for traveling with us.";
|
||||
close;
|
||||
|
||||
Notime:
|
||||
mes "^FF0000[Airplane Attendant]^000000";
|
||||
if(sex==0) mes "Sorry, ma'am, but the plane currently isn't docked. Please wait.";
|
||||
if(sex==1) mes "Sorry, sir, but the plane currently isn't docked. Please wait.";
|
||||
close;
|
||||
|
||||
Nowhere:
|
||||
mes "^FF0000[Airplane Attendant]^000000";
|
||||
mes "We're currently in air. Please wait until the pilot has announced that we have safely landed.";
|
||||
close;
|
||||
}
|
||||
|
||||
function script F_Itin {
|
||||
//This is the itinerary's function. It should work well enough.
|
||||
if($@currenttime==0)mes "Try again later. A recent server reboot or rehash has messed the itinerary up for a bit.";
|
||||
if($@currenttime==0)close;
|
||||
if($@currenttime==0)end;
|
||||
set @tempo, 0;
|
||||
set @tempo, $@currenttime - 1;
|
||||
goto seta;
|
||||
close;
|
||||
|
||||
seta:
|
||||
set @tempo, @tempo + 1;
|
||||
set @time, gettime(3);
|
||||
set @minutes, 5 * @tempo - 5;
|
||||
set @minutess, 5 * @tempo - 2;
|
||||
if(@minutes<10)set @minutes$, "0" + @minutes;
|
||||
if(@minutes>9)set @minutes$, @minutes;
|
||||
if(@minutess<10)set @minutess$, "0" + @minutess;
|
||||
if(@minutess>9)set @minutess$, @minutess;
|
||||
if(@time<12)set @time$,@time;
|
||||
if(@time==12)set @time$,12;
|
||||
if(@time>12)set @time$,@time - 12;
|
||||
if(@time<12)mes @time$+":"+ @minutes$ + " A.M. - "+@time$+ ":"+ @minutess$ + " A.M. - "+"^FF0000"+$locationsname$[$locationn[@tempo]]+"^000000";
|
||||
if(@time==12)mes @time$+":"+ @minutes$ + " P.M. - "+@time$+ ":"+ @minutess$ + " P.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
|
||||
if(@time>12 && time<24)mes @time$ +":"+ @minutes$ + " P.M. - "+@time$ + ":"+ @minutess$ + " P.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
|
||||
if(@time==24)mes @time$+":"+ @minutes$ + " A.M. - "+@time$+ ":"+ @minutess$ + " A.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
|
||||
if(@tempo<12)goto seta;
|
||||
set @tempo, 0;
|
||||
goto setb;
|
||||
|
||||
setb:
|
||||
if($@currenttime - 1==@tempo)goto setc;
|
||||
set @tempo, @tempo + 1;
|
||||
set @time, gettime(3) + 1;
|
||||
set @minutes, 5 * @tempo - 5;
|
||||
set @minutess, 5 * @tempo - 2;
|
||||
if(@minutes<10)set @minutes$, "0" + @minutes;
|
||||
if(@minutes>9)set @minutes$, @minutes;
|
||||
if(@minutess<10)set @minutess$, "0" + @minutess;
|
||||
if(@minutess>9)set @minutess$, @minutess;
|
||||
if(@time<12)set @time$,@time;
|
||||
if(@time==12)set @time$,12;
|
||||
if(@time>12)set @time$,@time - 12;
|
||||
if(@time<12)mes @time$+":"+ @minutes$ + " A.M. - "+@time$+ ":"+ @minutess$ + " A.M. - "+"^FF0000"+$locationsname$[$locationn[@tempo]]+"^000000";
|
||||
if(@time==12)mes @time$+":"+ @minutes$ + " P.M. - "+@time$+ ":"+ @minutess$ + " P.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
|
||||
if(@time>12 && time<24)mes @time$ +":"+ @minutes$ + " P.M. - "+@time$+ ":"+ @minutess$ + " P.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
|
||||
if(@time==24)mes @time$+":"+ @minutes$ + " A.M. - "+@time$+ ":"+ @minutess$ + " A.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
|
||||
goto setb;
|
||||
|
||||
setc:
|
||||
close;
|
||||
end;
|
||||
}
|
||||
|
||||
function script F_Itinreset {
|
||||
setarray $alreadygoneto[$locationn[getarg(0)]], 0;
|
||||
goto sest;
|
||||
sest:
|
||||
setarray $locationn[getarg(0)],rand(0,getarraysize($locationsname$) - 1);
|
||||
if($alreadygoneto[$locationn[getarg(0)]]==1)goto sest;
|
||||
setarray $alreadygoneto[$locationn[getarg(0)]], 1;
|
||||
set $destination,$locationn[$@currenttime];
|
||||
announce "Pilot: The plane has arrived at "+$locationsname$[$locationn[getarg(1)]]+". Departure to "+ $locationsname$[$locationn[getarg(2)]] + " is in 3 minutes.",16;
|
||||
end;
|
||||
}
|
||||
|
@ -1,119 +1,119 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Banker Script
|
||||
//===== By: ==================================================
|
||||
//= Syrus22 (1.0)
|
||||
//===== Current Version: =====================================
|
||||
//= 2.0
|
||||
//===== Compatible With: =====================================
|
||||
//= Any rAthena version with Account variables.
|
||||
//===== Description: =========================================
|
||||
//= An account wide Banker to store Zeny
|
||||
//===== Additional Comments: =================================
|
||||
//= Syrus22 - There's an optional transaction fee at the top of
|
||||
//= the script. To use it simply change the first set command
|
||||
//= to set the cost variable to whatever you want the fee to be.
|
||||
//= Version 2.0: Optimized and brought the script up to standard. [Jguy]
|
||||
//============================================================
|
||||
|
||||
prontera,132,217,5 script Banker 109,{
|
||||
set @cost,500;
|
||||
mes "[Banker]";
|
||||
mes "Welcome to the First Bank of Prontera. How can I help you today?";
|
||||
next;
|
||||
switch(select("I'd like to make a deposit.:I'd like to make a withdrawl.:What's my current balance?:Cancel")) {
|
||||
case 1:
|
||||
mes "[Banker]";
|
||||
mes "Very well... How much would you like to deposit? The maximum you can deposit at once is 999,999 Zeny.";
|
||||
next;
|
||||
if (@cost > 0) {
|
||||
mes "[Banker]";
|
||||
mes "Oh, and do realize there is a " +@cost + " Zeny charge on all transactions!";
|
||||
next;
|
||||
}
|
||||
input @deposit;
|
||||
if (@deposit < 1) {
|
||||
mes "Make sure you ask me to deposit a real amount.";
|
||||
close;
|
||||
}
|
||||
else if (@deposit > Zeny) {
|
||||
mes "It does not appear like you have the amount of zeny you're trying to deposit!";
|
||||
close;
|
||||
}
|
||||
else if (@deposit > (Zeny - @cost)) {
|
||||
mes "You need " + @cost + " Zeny to cover the transaction fee!";
|
||||
close;
|
||||
}
|
||||
else {
|
||||
set Zeny,Zeny - @deposit;
|
||||
set Zeny,Zeny - @cost;
|
||||
set #bankstorage,#bankstorage + @deposit;
|
||||
mes "[Banker]";
|
||||
mes "Thank you very much... Your zeny is in good hands.";
|
||||
close;
|
||||
}
|
||||
|
||||
case 2:
|
||||
mes "[Banker]";
|
||||
mes "Very well... How much would you like to withdraw? The maximum you can withdraw at one time is 999,999 Zeny";
|
||||
next;
|
||||
if (@cost > 0) {
|
||||
mes "[Banker]";
|
||||
mes "Oh, and do realize there is a " +@cost + " Zeny charge on all transactions!";
|
||||
next;
|
||||
}
|
||||
input @withdrawl;
|
||||
if (@withdrawl < 1) {
|
||||
mes "Please don't play games. I need a real amount to withdraw.";
|
||||
close;
|
||||
}
|
||||
else if (@withdrawl > #bankstorage) {
|
||||
mes "I show you only have ^00FF00" + #bankstorage +"^000000 zeny in your account!";
|
||||
close;
|
||||
}
|
||||
else if ((@cost > Zeny) && ((Zeny + @withdrawl) > @cost)) {
|
||||
mes "[Banker]";
|
||||
mes "You don't have the Zeny for the transaction fee right now. Would you like me to take the fee directly from your withdrawl?";
|
||||
next;
|
||||
switch(select("Yes please.:No, Thanks")){
|
||||
case 1:
|
||||
mes "[Banker]";
|
||||
mes "Removing " + @cost + " from your withdrawl to cover the deposit fee...";
|
||||
set @withdrawl,@withdrawl - @cost;
|
||||
set #bankstorage,#bankstorage - @cost;
|
||||
set @cost,0;
|
||||
next;
|
||||
set Zeny,Zeny - @cost;
|
||||
set Zeny,Zeny + @withdrawl;
|
||||
set #bankstorage,#bankstorage - @withdrawl;
|
||||
mes "[Banker]";
|
||||
mes "There's your Zeny. Have a good day.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Banker]";
|
||||
mes "Very well... come again soon.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
else {
|
||||
set Zeny,Zeny - @cost;
|
||||
set Zeny,Zeny + @withdrawl;
|
||||
set #bankstorage,#bankstorage - @withdrawl;
|
||||
mes "[Banker]";
|
||||
mes "There's your Zeny. Have a good day.";
|
||||
close;
|
||||
}
|
||||
case 3:
|
||||
mes "[Banker]";
|
||||
mes "Hmmmm let me check some paper work.";
|
||||
next;
|
||||
mes "*Rustle, Rustle*";
|
||||
next;
|
||||
mes "[Banker]";
|
||||
mes "You currently have " + #bankstorage + " Zeny in your account.";
|
||||
close;
|
||||
case 4:
|
||||
mes "[Banker]";
|
||||
mes "Very well... come again soon.";
|
||||
close;
|
||||
}
|
||||
//===== rAthena Script =======================================
|
||||
//= Banker Script
|
||||
//===== By: ==================================================
|
||||
//= Syrus22 (1.0)
|
||||
//===== Current Version: =====================================
|
||||
//= 2.0
|
||||
//===== Compatible With: =====================================
|
||||
//= Any rAthena version with Account variables.
|
||||
//===== Description: =========================================
|
||||
//= An account wide Banker to store Zeny
|
||||
//===== Additional Comments: =================================
|
||||
//= Syrus22 - There's an optional transaction fee at the top of
|
||||
//= the script. To use it simply change the first set command
|
||||
//= to set the cost variable to whatever you want the fee to be.
|
||||
//= Version 2.0: Optimized and brought the script up to standard. [Jguy]
|
||||
//============================================================
|
||||
|
||||
prontera,132,217,5 script Banker 109,{
|
||||
set @cost,500;
|
||||
mes "[Banker]";
|
||||
mes "Welcome to the First Bank of Prontera. How can I help you today?";
|
||||
next;
|
||||
switch(select("I'd like to make a deposit.:I'd like to make a withdrawl.:What's my current balance?:Cancel")) {
|
||||
case 1:
|
||||
mes "[Banker]";
|
||||
mes "Very well... How much would you like to deposit? The maximum you can deposit at once is 999,999 Zeny.";
|
||||
next;
|
||||
if (@cost > 0) {
|
||||
mes "[Banker]";
|
||||
mes "Oh, and do realize there is a " +@cost + " Zeny charge on all transactions!";
|
||||
next;
|
||||
}
|
||||
input @deposit;
|
||||
if (@deposit < 1) {
|
||||
mes "Make sure you ask me to deposit a real amount.";
|
||||
close;
|
||||
}
|
||||
else if (@deposit > Zeny) {
|
||||
mes "It does not appear like you have the amount of zeny you're trying to deposit!";
|
||||
close;
|
||||
}
|
||||
else if (@deposit > (Zeny - @cost)) {
|
||||
mes "You need " + @cost + " Zeny to cover the transaction fee!";
|
||||
close;
|
||||
}
|
||||
else {
|
||||
set Zeny,Zeny - @deposit;
|
||||
set Zeny,Zeny - @cost;
|
||||
set #bankstorage,#bankstorage + @deposit;
|
||||
mes "[Banker]";
|
||||
mes "Thank you very much... Your zeny is in good hands.";
|
||||
close;
|
||||
}
|
||||
|
||||
case 2:
|
||||
mes "[Banker]";
|
||||
mes "Very well... How much would you like to withdraw? The maximum you can withdraw at one time is 999,999 Zeny";
|
||||
next;
|
||||
if (@cost > 0) {
|
||||
mes "[Banker]";
|
||||
mes "Oh, and do realize there is a " +@cost + " Zeny charge on all transactions!";
|
||||
next;
|
||||
}
|
||||
input @withdrawl;
|
||||
if (@withdrawl < 1) {
|
||||
mes "Please don't play games. I need a real amount to withdraw.";
|
||||
close;
|
||||
}
|
||||
else if (@withdrawl > #bankstorage) {
|
||||
mes "I show you only have ^00FF00" + #bankstorage +"^000000 zeny in your account!";
|
||||
close;
|
||||
}
|
||||
else if ((@cost > Zeny) && ((Zeny + @withdrawl) > @cost)) {
|
||||
mes "[Banker]";
|
||||
mes "You don't have the Zeny for the transaction fee right now. Would you like me to take the fee directly from your withdrawl?";
|
||||
next;
|
||||
switch(select("Yes please.:No, Thanks")){
|
||||
case 1:
|
||||
mes "[Banker]";
|
||||
mes "Removing " + @cost + " from your withdrawl to cover the deposit fee...";
|
||||
set @withdrawl,@withdrawl - @cost;
|
||||
set #bankstorage,#bankstorage - @cost;
|
||||
set @cost,0;
|
||||
next;
|
||||
set Zeny,Zeny - @cost;
|
||||
set Zeny,Zeny + @withdrawl;
|
||||
set #bankstorage,#bankstorage - @withdrawl;
|
||||
mes "[Banker]";
|
||||
mes "There's your Zeny. Have a good day.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Banker]";
|
||||
mes "Very well... come again soon.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
else {
|
||||
set Zeny,Zeny - @cost;
|
||||
set Zeny,Zeny + @withdrawl;
|
||||
set #bankstorage,#bankstorage - @withdrawl;
|
||||
mes "[Banker]";
|
||||
mes "There's your Zeny. Have a good day.";
|
||||
close;
|
||||
}
|
||||
case 3:
|
||||
mes "[Banker]";
|
||||
mes "Hmmmm let me check some paper work.";
|
||||
next;
|
||||
mes "*Rustle, Rustle*";
|
||||
next;
|
||||
mes "[Banker]";
|
||||
mes "You currently have " + #bankstorage + " Zeny in your account.";
|
||||
close;
|
||||
case 4:
|
||||
mes "[Banker]";
|
||||
mes "Very well... come again soon.";
|
||||
close;
|
||||
}
|
||||
} // EOF
|
@ -1,116 +1,116 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= The 2nd Bank of Prontera (with daily 0.01% income!)
|
||||
//===== By: ==================================================
|
||||
//= Lupus (1.0)
|
||||
//===== Current Version: =====================================
|
||||
//= 1.2a
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= A bank which has an interest %
|
||||
//===== Additional Comments: =================================
|
||||
// Look for this formula and setup your Bank daily % interest
|
||||
// #kafrabank/1000 = 0.1% of interest per day
|
||||
// #kafrabank/100 = 1% of interest per day
|
||||
// #kafrabank/10 = 10% of interest per day
|
||||
//
|
||||
// 1.1 Added log of bank operation -> logmes "some info";
|
||||
// 1.2 Set max income to 100,000z. It would help to avoid
|
||||
// zeny exploits when you change DATE at your server
|
||||
// 1.2a Corrected bad duplicate names. (bugreport:921) [Samuray22]
|
||||
//============================================================
|
||||
|
||||
- script Bank Clerk::bankg 833,{
|
||||
mes"[Maniss]";
|
||||
mes strcharinfo(0)+", welcome to the 2nd Bank of Prontera!";
|
||||
|
||||
set @kb_int,(gettime(6)*31)+gettime(5); //today's number
|
||||
set @income,0;
|
||||
//calculate %
|
||||
if (#kafrabank<=0 || #kb_int>=@kb_int) goto L_NoIncomeToday;
|
||||
set @income,(#kafrabank/1000)*(@kb_int-#kb_int); //@income == % of the sum
|
||||
//max income constant:
|
||||
if (@income>100000) set @income,100000;
|
||||
L_NoIncomeToday:
|
||||
set #kb_int,@kb_int; //reset days timer
|
||||
|
||||
if(#kafrabank==0) mes "We could open you an account.";
|
||||
if(@income>0) mes "Today's income: ^135445" + @income + "^000000 zeny.";
|
||||
set #kafrabank,#kafrabank+@income;
|
||||
if(#kafrabank>0) mes "Your account: ^135445" + #kafrabank + "^000000 zeny.";
|
||||
mes "What would you like?";
|
||||
next;
|
||||
if(#kafrabank==0) menu "-Open an account",-,"-Quit",B_EXIT2;
|
||||
if(#kafrabank>0) menu "-Deposit money",-,"-Withdraw money",M_WITHDRAW,"-Quit",B_EXIT2;
|
||||
|
||||
mes"[Maniss]";
|
||||
mes "Please, tell me how much zeny you would like to deposit.";
|
||||
next;
|
||||
if(input(@kafrabank) == 1) goto L_TOO_BIG_AMOUNT;
|
||||
|
||||
if(@kafrabank<1000) goto L_LESS_1000;
|
||||
if(@kafrabank>zeny) goto L_NOT_ENOUGH;
|
||||
set zeny,zeny-@kafrabank;
|
||||
set #kafrabank,#kafrabank+@kafrabank;
|
||||
mes"[Maniss]";
|
||||
mes "You've made a deposit of ^135445" + @kafrabank + "z^000000.";
|
||||
//we log these zeny operations into the log db
|
||||
logmes "Bank %: " + @income +"z, Deposit: "+ @kafrabank +"z, Final: "+ #kafrabank +"z";
|
||||
goto B_EXIT;
|
||||
|
||||
M_WITHDRAW:
|
||||
if(#kafrabank==0) goto L_ZERO_ACCOUNT;
|
||||
mes"[Maniss]";
|
||||
mes "Your account: ^135445" + #kafrabank + "^000000 zeny.";
|
||||
mes "How much zeny would you like to withdraw?";
|
||||
next;
|
||||
if(input(@kafrabank) == 1) goto L_TOO_BIG_AMOUNT;
|
||||
|
||||
if(@kafrabank<1) goto B_EXIT2;
|
||||
if(@kafrabank>#kafrabank) goto L_NOT_ENOUGH;
|
||||
set #kafrabank,#kafrabank-@kafrabank;
|
||||
set zeny,zeny+@kafrabank;
|
||||
mes"[Maniss]";
|
||||
mes "Here is your ^135445" + @kafrabank + "z^000000, put your sign here...";
|
||||
//we log these zeny operations into the log db
|
||||
logmes "Bank %: " + @income +"z, Withdraw: "+ @kafrabank +"z, Final: "+ #kafrabank +"z";
|
||||
goto B_EXIT;
|
||||
|
||||
L_NOT_ENOUGH:
|
||||
mes"[Maniss]";
|
||||
mes "You don't have enough zeny for this operation.";
|
||||
next;
|
||||
goto B_EXIT2;
|
||||
|
||||
L_ZERO_ACCOUNT:
|
||||
mes"[Maniss]";
|
||||
mes "You don't have any zeny on your account!";
|
||||
next;
|
||||
goto B_EXIT2;
|
||||
|
||||
L_TOO_BIG_AMOUNT:
|
||||
mes"[Maniss]";
|
||||
mes "Sorry. The maximum deposit you can make on a time is 10,000,000 zeny.";
|
||||
next;
|
||||
goto B_EXIT2;
|
||||
|
||||
L_LESS_1000:
|
||||
mes"[Maniss]";
|
||||
mes "We're sorry, the minimum amount of zeny you can deposit is 1,000 zeny.";
|
||||
next;
|
||||
goto B_EXIT2;
|
||||
|
||||
B_EXIT:
|
||||
mes "Very well... Come again soon!";
|
||||
next;
|
||||
|
||||
B_EXIT2:
|
||||
mes"[Maniss]";
|
||||
mes "Thank you for using our Bank Service. We hope to see you again soon.";
|
||||
close;
|
||||
}
|
||||
|
||||
prontera,131,190,1 duplicate(bankg) Bank Clerk#1-1 833
|
||||
geffen,125,73,3 duplicate(bankg) Bank Clerk#2-1 833
|
||||
izlude,145,107,1 duplicate(bankg) Bank Clerk#3-1 833
|
||||
morocc,147,84,7 duplicate(bankg) Bank Clerk#4-1 833
|
||||
//===== rAthena Script =======================================
|
||||
//= The 2nd Bank of Prontera (with daily 0.01% income!)
|
||||
//===== By: ==================================================
|
||||
//= Lupus (1.0)
|
||||
//===== Current Version: =====================================
|
||||
//= 1.2a
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= A bank which has an interest %
|
||||
//===== Additional Comments: =================================
|
||||
// Look for this formula and setup your Bank daily % interest
|
||||
// #kafrabank/1000 = 0.1% of interest per day
|
||||
// #kafrabank/100 = 1% of interest per day
|
||||
// #kafrabank/10 = 10% of interest per day
|
||||
//
|
||||
// 1.1 Added log of bank operation -> logmes "some info";
|
||||
// 1.2 Set max income to 100,000z. It would help to avoid
|
||||
// zeny exploits when you change DATE at your server
|
||||
// 1.2a Corrected bad duplicate names. (bugreport:921) [Samuray22]
|
||||
//============================================================
|
||||
|
||||
- script Bank Clerk::bankg 833,{
|
||||
mes"[Maniss]";
|
||||
mes strcharinfo(0)+", welcome to the 2nd Bank of Prontera!";
|
||||
|
||||
set @kb_int,(gettime(6)*31)+gettime(5); //today's number
|
||||
set @income,0;
|
||||
//calculate %
|
||||
if (#kafrabank<=0 || #kb_int>=@kb_int) goto L_NoIncomeToday;
|
||||
set @income,(#kafrabank/1000)*(@kb_int-#kb_int); //@income == % of the sum
|
||||
//max income constant:
|
||||
if (@income>100000) set @income,100000;
|
||||
L_NoIncomeToday:
|
||||
set #kb_int,@kb_int; //reset days timer
|
||||
|
||||
if(#kafrabank==0) mes "We could open you an account.";
|
||||
if(@income>0) mes "Today's income: ^135445" + @income + "^000000 zeny.";
|
||||
set #kafrabank,#kafrabank+@income;
|
||||
if(#kafrabank>0) mes "Your account: ^135445" + #kafrabank + "^000000 zeny.";
|
||||
mes "What would you like?";
|
||||
next;
|
||||
if(#kafrabank==0) menu "-Open an account",-,"-Quit",B_EXIT2;
|
||||
if(#kafrabank>0) menu "-Deposit money",-,"-Withdraw money",M_WITHDRAW,"-Quit",B_EXIT2;
|
||||
|
||||
mes"[Maniss]";
|
||||
mes "Please, tell me how much zeny you would like to deposit.";
|
||||
next;
|
||||
if(input(@kafrabank) == 1) goto L_TOO_BIG_AMOUNT;
|
||||
|
||||
if(@kafrabank<1000) goto L_LESS_1000;
|
||||
if(@kafrabank>zeny) goto L_NOT_ENOUGH;
|
||||
set zeny,zeny-@kafrabank;
|
||||
set #kafrabank,#kafrabank+@kafrabank;
|
||||
mes"[Maniss]";
|
||||
mes "You've made a deposit of ^135445" + @kafrabank + "z^000000.";
|
||||
//we log these zeny operations into the log db
|
||||
logmes "Bank %: " + @income +"z, Deposit: "+ @kafrabank +"z, Final: "+ #kafrabank +"z";
|
||||
goto B_EXIT;
|
||||
|
||||
M_WITHDRAW:
|
||||
if(#kafrabank==0) goto L_ZERO_ACCOUNT;
|
||||
mes"[Maniss]";
|
||||
mes "Your account: ^135445" + #kafrabank + "^000000 zeny.";
|
||||
mes "How much zeny would you like to withdraw?";
|
||||
next;
|
||||
if(input(@kafrabank) == 1) goto L_TOO_BIG_AMOUNT;
|
||||
|
||||
if(@kafrabank<1) goto B_EXIT2;
|
||||
if(@kafrabank>#kafrabank) goto L_NOT_ENOUGH;
|
||||
set #kafrabank,#kafrabank-@kafrabank;
|
||||
set zeny,zeny+@kafrabank;
|
||||
mes"[Maniss]";
|
||||
mes "Here is your ^135445" + @kafrabank + "z^000000, put your sign here...";
|
||||
//we log these zeny operations into the log db
|
||||
logmes "Bank %: " + @income +"z, Withdraw: "+ @kafrabank +"z, Final: "+ #kafrabank +"z";
|
||||
goto B_EXIT;
|
||||
|
||||
L_NOT_ENOUGH:
|
||||
mes"[Maniss]";
|
||||
mes "You don't have enough zeny for this operation.";
|
||||
next;
|
||||
goto B_EXIT2;
|
||||
|
||||
L_ZERO_ACCOUNT:
|
||||
mes"[Maniss]";
|
||||
mes "You don't have any zeny on your account!";
|
||||
next;
|
||||
goto B_EXIT2;
|
||||
|
||||
L_TOO_BIG_AMOUNT:
|
||||
mes"[Maniss]";
|
||||
mes "Sorry. The maximum deposit you can make on a time is 10,000,000 zeny.";
|
||||
next;
|
||||
goto B_EXIT2;
|
||||
|
||||
L_LESS_1000:
|
||||
mes"[Maniss]";
|
||||
mes "We're sorry, the minimum amount of zeny you can deposit is 1,000 zeny.";
|
||||
next;
|
||||
goto B_EXIT2;
|
||||
|
||||
B_EXIT:
|
||||
mes "Very well... Come again soon!";
|
||||
next;
|
||||
|
||||
B_EXIT2:
|
||||
mes"[Maniss]";
|
||||
mes "Thank you for using our Bank Service. We hope to see you again soon.";
|
||||
close;
|
||||
}
|
||||
|
||||
prontera,131,190,1 duplicate(bankg) Bank Clerk#1-1 833
|
||||
geffen,125,73,3 duplicate(bankg) Bank Clerk#2-1 833
|
||||
izlude,145,107,1 duplicate(bankg) Bank Clerk#3-1 833
|
||||
morocc,147,84,7 duplicate(bankg) Bank Clerk#4-1 833
|
||||
|
@ -1,347 +1,347 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Black Jack
|
||||
//===== By: ==================================================
|
||||
//= kobra_k88
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Black Jack card game. Gameplay based off standard casino
|
||||
//= black jack rules. Dealer must have at least 17 to stay and will
|
||||
//= automatically stay at 17 and up. Player must have at least
|
||||
//= 13 to stay. Aces counted as 11 or 1. Option to "Double Down".
|
||||
//= Currently does not allow for "insurance", or "splitting"
|
||||
//= of pairs.
|
||||
//===== Additional Comments: =================================
|
||||
//=
|
||||
//============================================================
|
||||
|
||||
cmd_in02,188,89,1 script Black Jack Dealer 57,{
|
||||
mes "[Dealer]";
|
||||
mes "Hello there! Would you like to play a game of Black Jack?";
|
||||
M_Menu:
|
||||
next;
|
||||
menu "What are the rules?",M_0, "I want to play.",L_Play, "No thanks.",M_End;
|
||||
|
||||
M_0:
|
||||
mes "[Dealer]";
|
||||
mes "What would you like to know?";
|
||||
sM_Menu0:
|
||||
next;
|
||||
menu "The basics.",sM_0a, "Winning and loosing.",sM_0b, "'Double Down'.",sM_0c,
|
||||
"Ace value.",sM_0d, "Nothing.",M_Menu;
|
||||
|
||||
sM_0a:
|
||||
mes "[Dealer]";
|
||||
mes "Black Jack is a card game in which the goal is to get 21, or as";
|
||||
mes "close to 21 points as possible, without going over 21.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "Before the game starts, the player must make a bet. Once the bet";
|
||||
mes "has been made, both the dealer and the player are dealt 2 cards";
|
||||
mes "each. Depending on what cards you have, you can choose to ^5533FF'stay'^000000,";
|
||||
mes "or you can choose to ^5533FF'pull'^000000.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "When you choose to 'stay', you are telling the dealer that you don't";
|
||||
mes "need anymore cards. This allows the dealer to pull if he/she";
|
||||
mes "wants to. In order to stay, you must have ^FF3355at least 13 points^000000. The";
|
||||
mes "dealer can only stay when he/she has^FF3355 17 points or more^000000.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "When you choose to 'pull', you are telling the dealer that you want";
|
||||
mes "another card. By pulling more cards you can increase your point";
|
||||
mes "total. As long has you have ^FF3355less than 21^000000 points you can pull a";
|
||||
mes "card from the deck.";
|
||||
goto sM_Menu0;
|
||||
sM_0b:
|
||||
mes "[Dealer]";
|
||||
mes "There are 3 ways to win and loose at Black Jack.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "1.) At the end of a Black Jack round, if you have more points";
|
||||
mes "than the dealer you will win the round. Conversely if you have";
|
||||
mes "less points than the dealer you will loose.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "2.) If you pull a card that makes your point total go over 21 you";
|
||||
mes "will automatically loose the round. This is called a ^5533FF'bust'^000000. If";
|
||||
mes "the dealer busts then you will win the round.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "3.) If you have a point total of 21 with the first 2 cards, you";
|
||||
mes "will automatically win the round. This is called a ^5533FF'Black Jack'^000000";
|
||||
mes "and happens when you get an 'Ace' and a '10 valued' card. If the";
|
||||
mes "dealer gets a Black Jack he/she will automatically win the round.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "4.) Besides winning and loosing, you can tie with the dealer. If";
|
||||
mes "both you and the dealer have the same point total at the end of a";
|
||||
mes "round, this will result in a tie with no winner and no loss or gain";
|
||||
mes "in money.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "This is called a ^5533FF'push'^000000 with the dealer. This also";
|
||||
mes "applies to both you and the dealer having Black Jack at the same";
|
||||
mes "time.";
|
||||
goto sM_Menu0;
|
||||
sM_0c:
|
||||
mes "[Dealer]";
|
||||
mes "The 'Double Down' option allows you to double your current bet,";
|
||||
mes "but with the drawback that you will only be able to pull one";
|
||||
mes "additional card. This option is only available at the beggining of";
|
||||
mes "each round.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "An example of when doubling down is useful, is when";
|
||||
mes "your first 2 cards give you a point total of 11. You have a good";
|
||||
mes "chance of getting 21 or 20 with the next card that you draw. This";
|
||||
mes "would be a good hand to double down on.";
|
||||
goto sM_Menu0;
|
||||
sM_0d:
|
||||
mes "[Dealer]";
|
||||
mes "The 'Ace' card is a unique card in the game of Black Jack because";
|
||||
mes "it can have 2 values. An Ace can be counted as either 11 points,";
|
||||
mes "or just 1 point. For example if you had an Ace and a 4, that would";
|
||||
mes "give you either 15 or 5 points.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "If you decided to stay, the Ace would automatically be counted as";
|
||||
mes "11 points to give you 15 points total.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "If you had decided to pull and received a 9, the ace would";
|
||||
mes "automatically be counted as 1 point to give you a total of 14";
|
||||
mes "points. If the Ace was counted as 11 points, you would have a";
|
||||
mes "point total over 21 and would have lost.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "It is because of the flexibilty you have with the 'Ace' that makes";
|
||||
mes "it the most powerfull card in the game.";
|
||||
goto sM_Menu0;
|
||||
M_End:
|
||||
mes "[Dealer]";
|
||||
mes "Feel free to come back anytime";
|
||||
close;
|
||||
|
||||
//================
|
||||
L_Play:
|
||||
mes "[Dealer]";
|
||||
mes "Please place your bets...";
|
||||
next;
|
||||
menu "2z",M_1a, "10z",M_1b, "20z",M_1c, "100z",M_1d, "Too rich for my blood....",M_End;
|
||||
|
||||
M_1a:
|
||||
if(Zeny < 2) goto sL_NotEnuf;
|
||||
set @bet, 2;
|
||||
goto L_Cont0;
|
||||
M_1b:
|
||||
if(Zeny < 10) goto sL_NotEnuf;
|
||||
set @bet, 10;
|
||||
goto L_Cont0;
|
||||
M_1c:
|
||||
if(Zeny < 20) goto sL_NotEnuf;
|
||||
set @bet, 20;
|
||||
goto L_Cont0;
|
||||
M_1d:
|
||||
if(Zeny < 100) goto sL_NotEnuf;
|
||||
set @bet, 100;
|
||||
goto L_Cont0;
|
||||
|
||||
sL_NotEnuf:
|
||||
mes "[Dealer]";
|
||||
mes "I'm sorry but you don't have enough zeny to make that bet.";
|
||||
close;
|
||||
|
||||
L_Cont0:
|
||||
mes "(the cards are being dealt)";
|
||||
next;
|
||||
deletearray $@card[0],13;
|
||||
set @dealerTurn, 0;
|
||||
set @numP, 0;
|
||||
set @numD, 0;
|
||||
set @pAce, 0;
|
||||
set @dAce, 0;
|
||||
callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
|
||||
callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
|
||||
callsub sF_GetCards, @numD, @dealCard[@numD], @dealCard$[@numD], @dAce;
|
||||
callsub sF_GetCards, @numD, @dealCard[@numD], @dealCard$[@numD], @dAce;
|
||||
|
||||
//==============
|
||||
L_Start:
|
||||
callsub sF_GetTot;
|
||||
|
||||
mes "- Here are the ^FF5533DEALER'S^000000 cards:";
|
||||
if (@numD==2) callsub sF_D2cards;
|
||||
if (@numD==3) callsub sF_D3cards;
|
||||
if (@numD==4) callsub sF_D4cards;
|
||||
if (@numD==5) callsub sF_D5cards;
|
||||
mes " The DEALER has: ^FF5533"+@dealTot+"^000000";
|
||||
mes " ";
|
||||
mes "- Here are ^5533FFYOUR^000000 cards:";
|
||||
if (@numP==2) callsub sF_P2cards;
|
||||
if (@numP==3) callsub sF_P3cards;
|
||||
if (@numP==4) callsub sF_P4cards;
|
||||
if (@numP==5) callsub sF_P5cards;
|
||||
if(@pAce != 1 || @playTot == 21) mes " YOU have: ^5533FF" +@playTot+ "^000000";
|
||||
if(@pAce == 1 && @playTot != 21) mes " You have: ^5533FF" +@playTot+ "^000000, or ^5533FF" +(@playTot-10)+ "^000000";
|
||||
next;
|
||||
if(@playTot==21 && @dealTot==21) goto sL_Push;
|
||||
if(@numP==2 && @playTot == 21) goto sL_Win;
|
||||
if(@numD==2 && @dealTot == 21) goto sL_Lose;
|
||||
if(@playTot > 21) goto sL_Lose;
|
||||
if(@dealTot > 21) goto sL_Win;
|
||||
if(@numP==2 && @dealerTurn==0) menu "Hit me(pull)",M_Hit, "Stay",M_Stay, "Double Down",M_Double;
|
||||
if(@dealerTurn == 0) menu "Hit me(pull)",M_Hit, "Stay",M_Stay;
|
||||
|
||||
M_Stay:
|
||||
mes "[Dealer]";
|
||||
if(@playTot < 13) goto sL_PlayToLow;
|
||||
if(@dealTot > 16) mes "The Dealer stays.";
|
||||
if(@dealTot > 16 || @numD == 5) goto L_Check;
|
||||
mes "The Dealer is going to pull";
|
||||
next;
|
||||
callsub sF_GetCards, @numD, @dealCard[@numD], @dealCard$[@numD], @dAce;
|
||||
set @dealerTurn, 1;
|
||||
goto L_Start;
|
||||
|
||||
sL_PlayToLow:
|
||||
mes "I'm sorry but you do not have a high enough total to stay. You must pull.";
|
||||
next;
|
||||
goto M_Hit;
|
||||
|
||||
M_Hit:
|
||||
if(@numP == 5) goto M_Stay;
|
||||
callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
|
||||
goto L_Start;
|
||||
M_Double:
|
||||
mes "[Dealer]";
|
||||
mes "Player has chosen to Double Down. You're current bet will be";
|
||||
mes "doubled, and you will only be able to pull 1 extra card.";
|
||||
next;
|
||||
set @dealerTurn, 1;
|
||||
set @bet, @bet*2;
|
||||
callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
|
||||
goto L_Start;
|
||||
|
||||
//=============
|
||||
L_Check:
|
||||
next;
|
||||
if(@playTot < @dealTot) goto sL_Lose;
|
||||
if(@playTot == @dealTot) goto sL_Push;
|
||||
|
||||
sL_Win:
|
||||
mes "[Dealer]";
|
||||
mes "Congratulations, you've won!";
|
||||
next;
|
||||
set Zeny, Zeny + @bet;
|
||||
goto L_Play;
|
||||
sL_Lose:
|
||||
mes "[Dealer]";
|
||||
mes "I'm sorry but you've lost.";
|
||||
set Zeny, Zeny - @bet;
|
||||
next;
|
||||
goto L_Play;
|
||||
sL_Push:
|
||||
mes "[Dealer]";
|
||||
mes "Its a push. You tied with the Dealer.";
|
||||
next;
|
||||
goto L_Play;
|
||||
|
||||
|
||||
//==================================
|
||||
// Sub function for dealing/pulling the cards
|
||||
sF_GetCards:
|
||||
set @rnd, rand(1,13);
|
||||
if($@card[@rnd] == 4) goto sF_GetCards;
|
||||
set $@card[@rnd], $@card[@rnd] + 1;
|
||||
set getarg(1), @rnd;
|
||||
if(getarg(1) > 10) set getarg(1), 10;
|
||||
if(getarg(1) == 1 && getarg(3) < 1) set getarg(1), 11;
|
||||
if(getarg(1) == 11) set getarg(3), 1;
|
||||
set getarg(2), " " + getarg(1) + " ";
|
||||
if(@rnd == 10) set getarg(2), getarg(1);
|
||||
if(@rnd == 1) set getarg(2), " A ";
|
||||
if(@rnd == 11) set getarg(2), " J ";
|
||||
if(@rnd == 12) set getarg(2), " Q ";
|
||||
if(@rnd == 13) set getarg(2), " K ";
|
||||
set getarg(0), getarg(0) + 1;
|
||||
return;
|
||||
|
||||
//==================================
|
||||
// Sub function for getting the total score for each hand
|
||||
sF_GetTot:
|
||||
set @i, 0;
|
||||
set @dealTot, 0;
|
||||
set @playTot, 0;
|
||||
|
||||
GetDealTot:
|
||||
set @dealTot, @dealTot + @dealCard[@i];
|
||||
set @i, @i + 1;
|
||||
if(@i < @numD) goto GetDealTot;
|
||||
if(@dAce == 1 && @dealTot > 21) set @dealTot, @dealTot - 10;
|
||||
set @i, 0;
|
||||
GetPlayTot:
|
||||
set @playTot, @playTot + @playCard[@i];
|
||||
set @i, @i + 1;
|
||||
if(@i < @numP) goto GetPlayTot;
|
||||
if(@pAce == 1 && @playTot > 21) set @pAce, 2;
|
||||
if(@pAce > 0 && @playTot > 21) set @playTot, @playTot - 10;
|
||||
return;
|
||||
|
||||
//=======================================
|
||||
// Sub function for displaying the Cards
|
||||
sF_D2cards:
|
||||
mes " .-----. .-----. ";
|
||||
mes " | "+@dealCard$[0]+" | | "+@dealCard$[1]+" | ";
|
||||
mes " '-----' '-----' ";
|
||||
return;
|
||||
sF_P2cards:
|
||||
mes " .-----. .-----. ";
|
||||
mes " | "+@playCard$[0]+" | | "+@playCard$[1]+" | ";
|
||||
mes " '-----' '-----' ";
|
||||
return;
|
||||
sF_D3cards:
|
||||
mes " .-----. .-----. .-----. ";
|
||||
mes " | "+@dealCard$[0]+" | | "+@dealCard$[1]+" | | "+@dealCard$[2]+" | ";
|
||||
mes " '-----' '-----' '-----' ";
|
||||
return;
|
||||
sF_P3cards:
|
||||
mes " .-----. .-----. .-----. ";
|
||||
mes " | "+@playCard$[0]+" | | "+@playCard$[1]+" | | "+@playCard$[2]+" | ";
|
||||
mes " '-----' '-----' '-----' ";
|
||||
return;
|
||||
sF_D4cards:
|
||||
mes " .-----. .-----. .-----. ";
|
||||
mes " | "+@dealCard$[0]+" | | "+@dealCard$[1]+" | | "+@dealCard$[2]+" | ";
|
||||
mes " '-----' '-----' '-----' ";
|
||||
mes " .-----. ";
|
||||
mes " | "+@dealCard$[3]+" |";
|
||||
mes " '-----' ";
|
||||
return;
|
||||
sF_P4cards:
|
||||
mes " .-----. .-----. .-----. ";
|
||||
mes " | "+@playCard$[0]+" | | "+@playCard$[1]+" | | "+@playCard$[2]+" |";
|
||||
mes " '-----' '-----' '-----' ";
|
||||
mes " .-----. ";
|
||||
mes " | "+@playCard$[3]+" |";
|
||||
mes " '-----' ";
|
||||
return;
|
||||
sF_D5cards:
|
||||
mes " .-----. .-----. .-----. ";
|
||||
mes " | "+@dealCard$[0]+" | | "+@dealCard$[1]+" | | "+@dealCard$[2]+" | ";
|
||||
mes " '-----' '-----' '-----' ";
|
||||
mes " .-----. .-----. ";
|
||||
mes " | "+@dealCard$[3]+" | | "+@dealCard$[4]+" | ";
|
||||
mes " '-----' '-----' ";
|
||||
return;
|
||||
sF_P5cards:
|
||||
mes " .-----. .-----. .-----. ";
|
||||
mes " | "+@playCard$[0]+" | | "+@playCard$[1]+" | | "+@playCard$[2]+" | ";
|
||||
mes " '-----' '-----' '-----' ";
|
||||
mes " .-----. .-----. ";
|
||||
mes " | "+@playCard$[3]+" | | "+@playCard$[4]+" | ";
|
||||
mes " '-----' '-----' ";
|
||||
return;
|
||||
}
|
||||
//===== rAthena Script =======================================
|
||||
//= Black Jack
|
||||
//===== By: ==================================================
|
||||
//= kobra_k88
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Black Jack card game. Gameplay based off standard casino
|
||||
//= black jack rules. Dealer must have at least 17 to stay and will
|
||||
//= automatically stay at 17 and up. Player must have at least
|
||||
//= 13 to stay. Aces counted as 11 or 1. Option to "Double Down".
|
||||
//= Currently does not allow for "insurance", or "splitting"
|
||||
//= of pairs.
|
||||
//===== Additional Comments: =================================
|
||||
//=
|
||||
//============================================================
|
||||
|
||||
cmd_in02,188,89,1 script Black Jack Dealer 57,{
|
||||
mes "[Dealer]";
|
||||
mes "Hello there! Would you like to play a game of Black Jack?";
|
||||
M_Menu:
|
||||
next;
|
||||
menu "What are the rules?",M_0, "I want to play.",L_Play, "No thanks.",M_End;
|
||||
|
||||
M_0:
|
||||
mes "[Dealer]";
|
||||
mes "What would you like to know?";
|
||||
sM_Menu0:
|
||||
next;
|
||||
menu "The basics.",sM_0a, "Winning and loosing.",sM_0b, "'Double Down'.",sM_0c,
|
||||
"Ace value.",sM_0d, "Nothing.",M_Menu;
|
||||
|
||||
sM_0a:
|
||||
mes "[Dealer]";
|
||||
mes "Black Jack is a card game in which the goal is to get 21, or as";
|
||||
mes "close to 21 points as possible, without going over 21.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "Before the game starts, the player must make a bet. Once the bet";
|
||||
mes "has been made, both the dealer and the player are dealt 2 cards";
|
||||
mes "each. Depending on what cards you have, you can choose to ^5533FF'stay'^000000,";
|
||||
mes "or you can choose to ^5533FF'pull'^000000.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "When you choose to 'stay', you are telling the dealer that you don't";
|
||||
mes "need anymore cards. This allows the dealer to pull if he/she";
|
||||
mes "wants to. In order to stay, you must have ^FF3355at least 13 points^000000. The";
|
||||
mes "dealer can only stay when he/she has^FF3355 17 points or more^000000.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "When you choose to 'pull', you are telling the dealer that you want";
|
||||
mes "another card. By pulling more cards you can increase your point";
|
||||
mes "total. As long has you have ^FF3355less than 21^000000 points you can pull a";
|
||||
mes "card from the deck.";
|
||||
goto sM_Menu0;
|
||||
sM_0b:
|
||||
mes "[Dealer]";
|
||||
mes "There are 3 ways to win and loose at Black Jack.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "1.) At the end of a Black Jack round, if you have more points";
|
||||
mes "than the dealer you will win the round. Conversely if you have";
|
||||
mes "less points than the dealer you will loose.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "2.) If you pull a card that makes your point total go over 21 you";
|
||||
mes "will automatically loose the round. This is called a ^5533FF'bust'^000000. If";
|
||||
mes "the dealer busts then you will win the round.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "3.) If you have a point total of 21 with the first 2 cards, you";
|
||||
mes "will automatically win the round. This is called a ^5533FF'Black Jack'^000000";
|
||||
mes "and happens when you get an 'Ace' and a '10 valued' card. If the";
|
||||
mes "dealer gets a Black Jack he/she will automatically win the round.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "4.) Besides winning and loosing, you can tie with the dealer. If";
|
||||
mes "both you and the dealer have the same point total at the end of a";
|
||||
mes "round, this will result in a tie with no winner and no loss or gain";
|
||||
mes "in money.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "This is called a ^5533FF'push'^000000 with the dealer. This also";
|
||||
mes "applies to both you and the dealer having Black Jack at the same";
|
||||
mes "time.";
|
||||
goto sM_Menu0;
|
||||
sM_0c:
|
||||
mes "[Dealer]";
|
||||
mes "The 'Double Down' option allows you to double your current bet,";
|
||||
mes "but with the drawback that you will only be able to pull one";
|
||||
mes "additional card. This option is only available at the beggining of";
|
||||
mes "each round.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "An example of when doubling down is useful, is when";
|
||||
mes "your first 2 cards give you a point total of 11. You have a good";
|
||||
mes "chance of getting 21 or 20 with the next card that you draw. This";
|
||||
mes "would be a good hand to double down on.";
|
||||
goto sM_Menu0;
|
||||
sM_0d:
|
||||
mes "[Dealer]";
|
||||
mes "The 'Ace' card is a unique card in the game of Black Jack because";
|
||||
mes "it can have 2 values. An Ace can be counted as either 11 points,";
|
||||
mes "or just 1 point. For example if you had an Ace and a 4, that would";
|
||||
mes "give you either 15 or 5 points.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "If you decided to stay, the Ace would automatically be counted as";
|
||||
mes "11 points to give you 15 points total.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "If you had decided to pull and received a 9, the ace would";
|
||||
mes "automatically be counted as 1 point to give you a total of 14";
|
||||
mes "points. If the Ace was counted as 11 points, you would have a";
|
||||
mes "point total over 21 and would have lost.";
|
||||
next;
|
||||
mes "[Dealer]";
|
||||
mes "It is because of the flexibilty you have with the 'Ace' that makes";
|
||||
mes "it the most powerfull card in the game.";
|
||||
goto sM_Menu0;
|
||||
M_End:
|
||||
mes "[Dealer]";
|
||||
mes "Feel free to come back anytime";
|
||||
close;
|
||||
|
||||
//================
|
||||
L_Play:
|
||||
mes "[Dealer]";
|
||||
mes "Please place your bets...";
|
||||
next;
|
||||
menu "2z",M_1a, "10z",M_1b, "20z",M_1c, "100z",M_1d, "Too rich for my blood....",M_End;
|
||||
|
||||
M_1a:
|
||||
if(Zeny < 2) goto sL_NotEnuf;
|
||||
set @bet, 2;
|
||||
goto L_Cont0;
|
||||
M_1b:
|
||||
if(Zeny < 10) goto sL_NotEnuf;
|
||||
set @bet, 10;
|
||||
goto L_Cont0;
|
||||
M_1c:
|
||||
if(Zeny < 20) goto sL_NotEnuf;
|
||||
set @bet, 20;
|
||||
goto L_Cont0;
|
||||
M_1d:
|
||||
if(Zeny < 100) goto sL_NotEnuf;
|
||||
set @bet, 100;
|
||||
goto L_Cont0;
|
||||
|
||||
sL_NotEnuf:
|
||||
mes "[Dealer]";
|
||||
mes "I'm sorry but you don't have enough zeny to make that bet.";
|
||||
close;
|
||||
|
||||
L_Cont0:
|
||||
mes "(the cards are being dealt)";
|
||||
next;
|
||||
deletearray $@card[0],13;
|
||||
set @dealerTurn, 0;
|
||||
set @numP, 0;
|
||||
set @numD, 0;
|
||||
set @pAce, 0;
|
||||
set @dAce, 0;
|
||||
callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
|
||||
callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
|
||||
callsub sF_GetCards, @numD, @dealCard[@numD], @dealCard$[@numD], @dAce;
|
||||
callsub sF_GetCards, @numD, @dealCard[@numD], @dealCard$[@numD], @dAce;
|
||||
|
||||
//==============
|
||||
L_Start:
|
||||
callsub sF_GetTot;
|
||||
|
||||
mes "- Here are the ^FF5533DEALER'S^000000 cards:";
|
||||
if (@numD==2) callsub sF_D2cards;
|
||||
if (@numD==3) callsub sF_D3cards;
|
||||
if (@numD==4) callsub sF_D4cards;
|
||||
if (@numD==5) callsub sF_D5cards;
|
||||
mes " The DEALER has: ^FF5533"+@dealTot+"^000000";
|
||||
mes " ";
|
||||
mes "- Here are ^5533FFYOUR^000000 cards:";
|
||||
if (@numP==2) callsub sF_P2cards;
|
||||
if (@numP==3) callsub sF_P3cards;
|
||||
if (@numP==4) callsub sF_P4cards;
|
||||
if (@numP==5) callsub sF_P5cards;
|
||||
if(@pAce != 1 || @playTot == 21) mes " YOU have: ^5533FF" +@playTot+ "^000000";
|
||||
if(@pAce == 1 && @playTot != 21) mes " You have: ^5533FF" +@playTot+ "^000000, or ^5533FF" +(@playTot-10)+ "^000000";
|
||||
next;
|
||||
if(@playTot==21 && @dealTot==21) goto sL_Push;
|
||||
if(@numP==2 && @playTot == 21) goto sL_Win;
|
||||
if(@numD==2 && @dealTot == 21) goto sL_Lose;
|
||||
if(@playTot > 21) goto sL_Lose;
|
||||
if(@dealTot > 21) goto sL_Win;
|
||||
if(@numP==2 && @dealerTurn==0) menu "Hit me(pull)",M_Hit, "Stay",M_Stay, "Double Down",M_Double;
|
||||
if(@dealerTurn == 0) menu "Hit me(pull)",M_Hit, "Stay",M_Stay;
|
||||
|
||||
M_Stay:
|
||||
mes "[Dealer]";
|
||||
if(@playTot < 13) goto sL_PlayToLow;
|
||||
if(@dealTot > 16) mes "The Dealer stays.";
|
||||
if(@dealTot > 16 || @numD == 5) goto L_Check;
|
||||
mes "The Dealer is going to pull";
|
||||
next;
|
||||
callsub sF_GetCards, @numD, @dealCard[@numD], @dealCard$[@numD], @dAce;
|
||||
set @dealerTurn, 1;
|
||||
goto L_Start;
|
||||
|
||||
sL_PlayToLow:
|
||||
mes "I'm sorry but you do not have a high enough total to stay. You must pull.";
|
||||
next;
|
||||
goto M_Hit;
|
||||
|
||||
M_Hit:
|
||||
if(@numP == 5) goto M_Stay;
|
||||
callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
|
||||
goto L_Start;
|
||||
M_Double:
|
||||
mes "[Dealer]";
|
||||
mes "Player has chosen to Double Down. You're current bet will be";
|
||||
mes "doubled, and you will only be able to pull 1 extra card.";
|
||||
next;
|
||||
set @dealerTurn, 1;
|
||||
set @bet, @bet*2;
|
||||
callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
|
||||
goto L_Start;
|
||||
|
||||
//=============
|
||||
L_Check:
|
||||
next;
|
||||
if(@playTot < @dealTot) goto sL_Lose;
|
||||
if(@playTot == @dealTot) goto sL_Push;
|
||||
|
||||
sL_Win:
|
||||
mes "[Dealer]";
|
||||
mes "Congratulations, you've won!";
|
||||
next;
|
||||
set Zeny, Zeny + @bet;
|
||||
goto L_Play;
|
||||
sL_Lose:
|
||||
mes "[Dealer]";
|
||||
mes "I'm sorry but you've lost.";
|
||||
set Zeny, Zeny - @bet;
|
||||
next;
|
||||
goto L_Play;
|
||||
sL_Push:
|
||||
mes "[Dealer]";
|
||||
mes "Its a push. You tied with the Dealer.";
|
||||
next;
|
||||
goto L_Play;
|
||||
|
||||
|
||||
//==================================
|
||||
// Sub function for dealing/pulling the cards
|
||||
sF_GetCards:
|
||||
set @rnd, rand(1,13);
|
||||
if($@card[@rnd] == 4) goto sF_GetCards;
|
||||
set $@card[@rnd], $@card[@rnd] + 1;
|
||||
set getarg(1), @rnd;
|
||||
if(getarg(1) > 10) set getarg(1), 10;
|
||||
if(getarg(1) == 1 && getarg(3) < 1) set getarg(1), 11;
|
||||
if(getarg(1) == 11) set getarg(3), 1;
|
||||
set getarg(2), " " + getarg(1) + " ";
|
||||
if(@rnd == 10) set getarg(2), getarg(1);
|
||||
if(@rnd == 1) set getarg(2), " A ";
|
||||
if(@rnd == 11) set getarg(2), " J ";
|
||||
if(@rnd == 12) set getarg(2), " Q ";
|
||||
if(@rnd == 13) set getarg(2), " K ";
|
||||
set getarg(0), getarg(0) + 1;
|
||||
return;
|
||||
|
||||
//==================================
|
||||
// Sub function for getting the total score for each hand
|
||||
sF_GetTot:
|
||||
set @i, 0;
|
||||
set @dealTot, 0;
|
||||
set @playTot, 0;
|
||||
|
||||
GetDealTot:
|
||||
set @dealTot, @dealTot + @dealCard[@i];
|
||||
set @i, @i + 1;
|
||||
if(@i < @numD) goto GetDealTot;
|
||||
if(@dAce == 1 && @dealTot > 21) set @dealTot, @dealTot - 10;
|
||||
set @i, 0;
|
||||
GetPlayTot:
|
||||
set @playTot, @playTot + @playCard[@i];
|
||||
set @i, @i + 1;
|
||||
if(@i < @numP) goto GetPlayTot;
|
||||
if(@pAce == 1 && @playTot > 21) set @pAce, 2;
|
||||
if(@pAce > 0 && @playTot > 21) set @playTot, @playTot - 10;
|
||||
return;
|
||||
|
||||
//=======================================
|
||||
// Sub function for displaying the Cards
|
||||
sF_D2cards:
|
||||
mes " .-----. .-----. ";
|
||||
mes " | "+@dealCard$[0]+" | | "+@dealCard$[1]+" | ";
|
||||
mes " '-----' '-----' ";
|
||||
return;
|
||||
sF_P2cards:
|
||||
mes " .-----. .-----. ";
|
||||
mes " | "+@playCard$[0]+" | | "+@playCard$[1]+" | ";
|
||||
mes " '-----' '-----' ";
|
||||
return;
|
||||
sF_D3cards:
|
||||
mes " .-----. .-----. .-----. ";
|
||||
mes " | "+@dealCard$[0]+" | | "+@dealCard$[1]+" | | "+@dealCard$[2]+" | ";
|
||||
mes " '-----' '-----' '-----' ";
|
||||
return;
|
||||
sF_P3cards:
|
||||
mes " .-----. .-----. .-----. ";
|
||||
mes " | "+@playCard$[0]+" | | "+@playCard$[1]+" | | "+@playCard$[2]+" | ";
|
||||
mes " '-----' '-----' '-----' ";
|
||||
return;
|
||||
sF_D4cards:
|
||||
mes " .-----. .-----. .-----. ";
|
||||
mes " | "+@dealCard$[0]+" | | "+@dealCard$[1]+" | | "+@dealCard$[2]+" | ";
|
||||
mes " '-----' '-----' '-----' ";
|
||||
mes " .-----. ";
|
||||
mes " | "+@dealCard$[3]+" |";
|
||||
mes " '-----' ";
|
||||
return;
|
||||
sF_P4cards:
|
||||
mes " .-----. .-----. .-----. ";
|
||||
mes " | "+@playCard$[0]+" | | "+@playCard$[1]+" | | "+@playCard$[2]+" |";
|
||||
mes " '-----' '-----' '-----' ";
|
||||
mes " .-----. ";
|
||||
mes " | "+@playCard$[3]+" |";
|
||||
mes " '-----' ";
|
||||
return;
|
||||
sF_D5cards:
|
||||
mes " .-----. .-----. .-----. ";
|
||||
mes " | "+@dealCard$[0]+" | | "+@dealCard$[1]+" | | "+@dealCard$[2]+" | ";
|
||||
mes " '-----' '-----' '-----' ";
|
||||
mes " .-----. .-----. ";
|
||||
mes " | "+@dealCard$[3]+" | | "+@dealCard$[4]+" | ";
|
||||
mes " '-----' '-----' ";
|
||||
return;
|
||||
sF_P5cards:
|
||||
mes " .-----. .-----. .-----. ";
|
||||
mes " | "+@playCard$[0]+" | | "+@playCard$[1]+" | | "+@playCard$[2]+" | ";
|
||||
mes " '-----' '-----' '-----' ";
|
||||
mes " .-----. .-----. ";
|
||||
mes " | "+@playCard$[3]+" | | "+@playCard$[4]+" | ";
|
||||
mes " '-----' '-----' ";
|
||||
return;
|
||||
}
|
||||
|
@ -1,43 +1,43 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Floating Server Rates
|
||||
//===== By: ==================================================
|
||||
//= Lupus
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= It's a simply example of setbattleflag
|
||||
//= This script will change your server rates from 1x to 1.5x every 6 hours
|
||||
//= Note: It doesn't affect Card granted drops, MVP & Treasure Chests drops ^_-
|
||||
//= It also doesn't affect CARD drops, because they are just 0.01%
|
||||
//===== Additional Comments: =================================
|
||||
//= You can make incredible scripts with 'setbattleflag'!
|
||||
//============================================================
|
||||
|
||||
- script FloatingRates -1,{
|
||||
OnInit:
|
||||
//add any other HOURS
|
||||
OnHour00:
|
||||
OnHour06:
|
||||
OnHour12:
|
||||
OnHour18:
|
||||
//-------------------
|
||||
set $@brate,rand(100,150);
|
||||
set $@jrate,rand(100,150);
|
||||
set $@drate,rand(100,150);
|
||||
//Base exp
|
||||
setbattleflag("base_exp_rate",$@brate);
|
||||
//Job exp
|
||||
setbattleflag("job_exp_rate",$@jrate);
|
||||
//Drops
|
||||
setbattleflag("item_rate_common",$@drate);
|
||||
setbattleflag("item_rate_heal",$@drate);
|
||||
setbattleflag("item_rate_use",$@drate);
|
||||
setbattleflag("item_rate_equip",$@drate);
|
||||
//we don't change card drops rate, because these values won't change them anyway
|
||||
atcommand "@reloadmobdb";
|
||||
|
||||
announce "Current Rune-Midgard rates are: 1."+($@brate-100)+"x 1."+($@jrate-100)+"x 1."+($@drate-100)+"x",bc_all,0xFF6060;
|
||||
end;
|
||||
}
|
||||
//===== rAthena Script =======================================
|
||||
//= Floating Server Rates
|
||||
//===== By: ==================================================
|
||||
//= Lupus
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= It's a simply example of setbattleflag
|
||||
//= This script will change your server rates from 1x to 1.5x every 6 hours
|
||||
//= Note: It doesn't affect Card granted drops, MVP & Treasure Chests drops ^_-
|
||||
//= It also doesn't affect CARD drops, because they are just 0.01%
|
||||
//===== Additional Comments: =================================
|
||||
//= You can make incredible scripts with 'setbattleflag'!
|
||||
//============================================================
|
||||
|
||||
- script FloatingRates -1,{
|
||||
OnInit:
|
||||
//add any other HOURS
|
||||
OnHour00:
|
||||
OnHour06:
|
||||
OnHour12:
|
||||
OnHour18:
|
||||
//-------------------
|
||||
set $@brate,rand(100,150);
|
||||
set $@jrate,rand(100,150);
|
||||
set $@drate,rand(100,150);
|
||||
//Base exp
|
||||
setbattleflag("base_exp_rate",$@brate);
|
||||
//Job exp
|
||||
setbattleflag("job_exp_rate",$@jrate);
|
||||
//Drops
|
||||
setbattleflag("item_rate_common",$@drate);
|
||||
setbattleflag("item_rate_heal",$@drate);
|
||||
setbattleflag("item_rate_use",$@drate);
|
||||
setbattleflag("item_rate_equip",$@drate);
|
||||
//we don't change card drops rate, because these values won't change them anyway
|
||||
atcommand "@reloadmobdb";
|
||||
|
||||
announce "Current Rune-Midgard rates are: 1."+($@brate-100)+"x 1."+($@jrate-100)+"x 1."+($@drate-100)+"x",bc_all,0xFF6060;
|
||||
end;
|
||||
}
|
||||
|
@ -1,454 +1,454 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Lottery
|
||||
//===== By: ==================================================
|
||||
//= acky
|
||||
//===== Current Version: =====================================
|
||||
//= 1.2.1a
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Daily lottery draw
|
||||
//===== Additional Comments: =================================
|
||||
//= Numbers drawn daily (Time is configured line 29)
|
||||
//= *Added GM-Riggability
|
||||
//= *Ability to renew ticket
|
||||
//= *Improved interface
|
||||
//= *Fixed minor bug where first load didn't work.
|
||||
//= 1.2.1a fix due to new script engine
|
||||
//============================================================
|
||||
|
||||
- script lotterygenerator -1,{
|
||||
OnInit:
|
||||
set $L_TicketPrice,4750; // TICKET COST
|
||||
set $L_Prize_Money,5000000; // JACKPOT AMOUNT
|
||||
set $L_Prize_Money_Small,1000000; // SECONDARY PRIZE
|
||||
if ($LID == 0) goto L_GenID;
|
||||
end;
|
||||
|
||||
//Modify for own time
|
||||
OnClock2045:
|
||||
// CHECKS IF LOTTERY IS RIGGED
|
||||
if ($L_Rigged == 1) goto L_Rigged_Draw;
|
||||
// GENERATES RANDOM NUMBERS 1-40
|
||||
Pick1:
|
||||
set $LW1,rand (1,40);
|
||||
|
||||
Pick2:
|
||||
set $LW2,rand (1,40);
|
||||
if ($LW2 == $LW1) goto Pick2;
|
||||
|
||||
Pick3:
|
||||
set $LW3,rand (1,40);
|
||||
if ($LW3 == $LW2) goto Pick3;
|
||||
if ($LW3 == $LW1) goto Pick3;
|
||||
|
||||
Pick4:
|
||||
set $LW4,rand (1,40);
|
||||
if ($LW4 == $LW2) goto Pick4;
|
||||
if ($LW4 == $LW1) goto Pick4;
|
||||
if ($LW4 == $LW3) goto Pick4;
|
||||
|
||||
Pick5:
|
||||
set $LW5,rand (1,40);
|
||||
if ($LW5 == $LW1) goto Pick5;
|
||||
if ($LW5 == $LW2) goto Pick5;
|
||||
if ($LW5 == $LW3) goto Pick5;
|
||||
if ($LW5 == $LW4) goto Pick5;
|
||||
|
||||
Pick6:
|
||||
set $LW6,rand (1,40);
|
||||
if ($LW6 == $LW1) goto Pick6;
|
||||
if ($LW6 == $LW2) goto Pick6;
|
||||
if ($LW6 == $LW3) goto Pick6;
|
||||
if ($LW6 == $LW4) goto Pick6;
|
||||
if ($LW6 == $LW5) goto Pick6;
|
||||
|
||||
// BROADCASTS DRAW
|
||||
L_Broadcast:
|
||||
Announce "Lottery: Welcome to tonight's lotto draw!",8;
|
||||
Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8;
|
||||
Announce "Congratulations to the winners of tonight!",8;
|
||||
|
||||
// GENERATES DRAW ID CODE
|
||||
L_GenID:
|
||||
set $LID2,$LID;
|
||||
// SETS TOMORROW'S ID NUMBER
|
||||
set $LID,rand (100000,999999);
|
||||
end;
|
||||
|
||||
// SETS DRAW TO RIGGED NUMBERS
|
||||
L_Rigged_Draw:
|
||||
set $LW1,$LR1;
|
||||
set $LW2,$LR2;
|
||||
set $LW3,$LR3;
|
||||
set $LW4,$LR4;
|
||||
set $LW5,$LR5;
|
||||
set $LW6,$LR6;
|
||||
set $L_Rigged,0;
|
||||
goto L_Broadcast;
|
||||
}
|
||||
|
||||
prontera,141,182,5 script Lottery 76,{
|
||||
L_Begin:
|
||||
mes "[Lottery]";
|
||||
mes "Winning Lotto Numbers ("+$LID2+"):";
|
||||
mes "^0000FF[" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]^000000";
|
||||
if ($LID > 99999) mes "Your Ticket ("+#LID+"):";
|
||||
if ($LID > 99999) mes "^FF0000[" + #LW1 + "] [" + #LW2 + "] [" + #LW3 + "] [" + #LW4 + "] [" + #LW5 + "] [" + #LW6 + "]^000000";
|
||||
mes "Next Draw-ID: ^FF0000" + $LID + "^000000.";
|
||||
next;
|
||||
if (getgmlevel() > 90) goto L_GM;
|
||||
menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"Cancel",L_Cancel;
|
||||
|
||||
// PURCHASE TICKET
|
||||
L_Buy:
|
||||
if (#LID == $LID && #L1 != 0) goto L_DoubleTicket;
|
||||
mes "[Lottery]";
|
||||
mes "Tickets cost ^0000FF" + $L_TicketPrice + "z^000000.";
|
||||
mes "The Jackpot is ^FF0000" + $L_Prize_Money + "z^000000.";
|
||||
next;
|
||||
menu "Buy Ticket",-,"Cancel",L_Cancel;
|
||||
if (zeny < $L_TicketPrice) goto L_NoZeny;
|
||||
set zeny,zeny-$L_TicketPrice;
|
||||
mes "[Lottery]";
|
||||
mes "Would you like your numbers hand picked or computer generated?";
|
||||
next;
|
||||
menu "Computer Generated",L_ComputerGen,"Hand Picked",L_HandPick,"Renew Ticket",L_Renew;
|
||||
|
||||
// RENEW LAST TICKET
|
||||
L_Renew:
|
||||
if ($LID < 99999) goto L_Invalid;
|
||||
set #LID,$LID;
|
||||
goto L_Confirm2;
|
||||
|
||||
L_ComputerGen:
|
||||
// SELECTS RANDOM NUMBERS
|
||||
set @L1,0;
|
||||
set @L2,0;
|
||||
set @L3,0;
|
||||
set @L4,0;
|
||||
set @L5,0;
|
||||
set @L6,0;
|
||||
Pick1:
|
||||
set @L1,rand (1,40);
|
||||
Pick2:
|
||||
set @L2,rand (1,40);
|
||||
if (@L2 == @L1) goto Pick2;
|
||||
Pick3:
|
||||
set @L3,rand (1,40);
|
||||
if (@L3 == @L2) goto Pick3;
|
||||
if (@L3 == @L1) goto Pick3;
|
||||
Pick4:
|
||||
set @L4,rand (1,40);
|
||||
if (@L4 == @L2) goto Pick4;
|
||||
if (@L4 == @L1) goto Pick4;
|
||||
if (@L4 == @L3) goto Pick4;
|
||||
Pick5:
|
||||
set @L5,rand (1,40);
|
||||
if (@L5 == @L1) goto Pick5;
|
||||
if (@L5 == @L2) goto Pick5;
|
||||
if (@L5 == @L3) goto Pick5;
|
||||
if (@L5 == @L4) goto Pick5;
|
||||
Pick6:
|
||||
set @L6,rand (1,40);
|
||||
if (@L6 == @L1) goto Pick6;
|
||||
if (@L6 == @L2) goto Pick6;
|
||||
if (@L6 == @L3) goto Pick6;
|
||||
if (@L6 == @L4) goto Pick6;
|
||||
if (@L6 == @L5) goto Pick6;
|
||||
mes "[Lottery]";
|
||||
mes "The computer has selected the following numbers:";
|
||||
mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000";
|
||||
next;
|
||||
menu "Confirm",L_Confirm,"Re-Generate",L_ComputerGen;
|
||||
|
||||
// HAND PICK LOTTERY NUMBERS
|
||||
L_HandPick:
|
||||
mes "[Lottery]";
|
||||
mes "Please pick your numbers (1-40):";
|
||||
set @L1,0;
|
||||
set @L2,0;
|
||||
set @L3,0;
|
||||
set @L4,0;
|
||||
set @L5,0;
|
||||
set @L6,0;
|
||||
Input1:
|
||||
input @L1;
|
||||
if (@L1 < 1 || @L1 > 40) goto Input1;
|
||||
mes @L1;
|
||||
Input2:
|
||||
input @L2;
|
||||
if (@L2 < 1 || @L2 > 40) goto Input2;
|
||||
if (@L2 == @L1) goto Input2;
|
||||
mes @L2;
|
||||
Input3:
|
||||
input @L3;
|
||||
if (@L3 < 1 || @L3 > 40) goto Input3;
|
||||
if (@L3 == @L1) goto Input3;
|
||||
if (@L3 == @L2) goto Input3;
|
||||
mes @L3;
|
||||
Input4:
|
||||
input @L4;
|
||||
if (@L4 < 1 || @L4 > 40) goto Input4;
|
||||
if (@L4 == @L1) goto Input4;
|
||||
if (@L4 == @L2) goto Input4;
|
||||
if (@L4 == @L3) goto Input4;
|
||||
mes @L4;
|
||||
Input5:
|
||||
input @L5;
|
||||
if (@L5 < 1 || @L5 > 40) goto Input5;
|
||||
if (@L5 == @L1) goto Input5;
|
||||
if (@L5 == @L2) goto Input5;
|
||||
if (@L5 == @L3) goto Input5;
|
||||
if (@L5 == @L4) goto Input5;
|
||||
mes @L5;
|
||||
Input6:
|
||||
input @L6;
|
||||
if (@L6 < 1 || @L6 > 40) goto Input6;
|
||||
if (@L6 == @L1) goto Input6;
|
||||
if (@L6 == @L2) goto Input6;
|
||||
if (@L6 == @L3) goto Input6;
|
||||
if (@L6 == @L4) goto Input6;
|
||||
if (@L6 == @L5) goto Input6;
|
||||
mes @L6;
|
||||
next;
|
||||
mes "[Lottery]";
|
||||
mes "Your numbers are:";
|
||||
mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000";
|
||||
next;
|
||||
menu "Confirm",L_Confirm,"Re-Pick",L_HandPick;
|
||||
|
||||
L_Confirm:
|
||||
set #LW1,@L1;
|
||||
set #LW2,@L2;
|
||||
set #LW3,@L3;
|
||||
set #LW4,@L4;
|
||||
set #LW5,@L5;
|
||||
set #LW6,@L6;
|
||||
set #LID,$LID;
|
||||
L_Confirm2:
|
||||
mes "[Lottery]";
|
||||
mes "The live broadcasted draw is at 9pm.";
|
||||
mes "You can claim your ticket between then and the next draw.";
|
||||
next;
|
||||
mes "[Lottery]";
|
||||
mes "Good luck!";
|
||||
close;
|
||||
|
||||
L_Claim:
|
||||
// CHECKS TICKET VALIDILITY
|
||||
if (#LID != $LID2) goto L_Invalid;
|
||||
// CHECKS HOW MANY NUMBERS MATCHED
|
||||
set @LPrize,0;
|
||||
if (#LW1 == $LW1) set @LPrize,@LPrize+1;
|
||||
if (#LW1 == $LW2) set @LPrize,@LPrize+1;
|
||||
if (#LW1 == $LW3) set @LPrize,@LPrize+1;
|
||||
if (#LW1 == $LW4) set @LPrize,@LPrize+1;
|
||||
if (#LW1 == $LW5) set @LPrize,@LPrize+1;
|
||||
if (#LW1 == $LW6) set @LPrize,@LPrize+1;
|
||||
if (#LW2 == $LW1) set @LPrize,@LPrize+1;
|
||||
if (#LW2 == $LW2) set @LPrize,@LPrize+1;
|
||||
if (#LW2 == $LW3) set @LPrize,@LPrize+1;
|
||||
if (#LW2 == $LW4) set @LPrize,@LPrize+1;
|
||||
if (#LW2 == $LW5) set @LPrize,@LPrize+1;
|
||||
if (#LW2 == $LW6) set @LPrize,@LPrize+1;
|
||||
if (#LW3 == $LW1) set @LPrize,@LPrize+1;
|
||||
if (#LW3 == $LW2) set @LPrize,@LPrize+1;
|
||||
if (#LW3 == $LW3) set @LPrize,@LPrize+1;
|
||||
if (#LW3 == $LW4) set @LPrize,@LPrize+1;
|
||||
if (#LW3 == $LW5) set @LPrize,@LPrize+1;
|
||||
if (#LW3 == $LW6) set @LPrize,@LPrize+1;
|
||||
if (#LW4 == $LW1) set @LPrize,@LPrize+1;
|
||||
if (#LW4 == $LW2) set @LPrize,@LPrize+1;
|
||||
if (#LW4 == $LW3) set @LPrize,@LPrize+1;
|
||||
if (#LW4 == $LW4) set @LPrize,@LPrize+1;
|
||||
if (#LW4 == $LW5) set @LPrize,@LPrize+1;
|
||||
if (#LW4 == $LW6) set @LPrize,@LPrize+1;
|
||||
if (#LW5 == $LW1) set @LPrize,@LPrize+1;
|
||||
if (#LW5 == $LW2) set @LPrize,@LPrize+1;
|
||||
if (#LW5 == $LW3) set @LPrize,@LPrize+1;
|
||||
if (#LW5 == $LW4) set @LPrize,@LPrize+1;
|
||||
if (#LW5 == $LW5) set @LPrize,@LPrize+1;
|
||||
if (#LW5 == $LW6) set @LPrize,@LPrize+1;
|
||||
if (#LW6 == $LW1) set @LPrize,@LPrize+1;
|
||||
if (#LW6 == $LW2) set @LPrize,@LPrize+1;
|
||||
if (#LW6 == $LW3) set @LPrize,@LPrize+1;
|
||||
if (#LW6 == $LW4) set @LPrize,@LPrize+1;
|
||||
if (#LW6 == $LW5) set @LPrize,@LPrize+1;
|
||||
if (#LW6 == $LW6) set @LPrize,@LPrize+1;
|
||||
|
||||
if (@LPrize == 6) goto LWinBig;
|
||||
if (@LPrize > 3 && @LPrize < 6) goto LWinSmall;
|
||||
|
||||
// NO WINNER
|
||||
mes "[Lottery]";
|
||||
mes "Bad luck, it appears you do not hold a winning ticket.";
|
||||
next;
|
||||
mes "[Lottery]";
|
||||
mes "Better luck next time!.";
|
||||
close;
|
||||
|
||||
// MATCHED ALL SIX
|
||||
LWinBig:
|
||||
mes "[Lottery]";
|
||||
mes "You have matched all six numbers!";
|
||||
mes "Jackpot!";
|
||||
mes "You've won ^0000FF" + $L_Prize_Money + "z^000000.";
|
||||
set zeny,zeny+$L_Prize_Money;
|
||||
Announce "Lottery: " + strcharinfo(0) + " has won the JACKPOT of " + $L_Prize_Money + "z!",8;
|
||||
set #LID,0;
|
||||
close;
|
||||
|
||||
// MATCHED AT LEAST 4
|
||||
LWinSmall:
|
||||
mes "[Lottery]";
|
||||
mes "You have matched at least 4 numbers!";
|
||||
mes "You've won ^0000FF" + $L_Prize_Money_Small + "z^000000.";
|
||||
set zeny,zeny+$L_Prize_Money_Small;
|
||||
Announce "Lottery: " + strcharinfo(0) + " has won a prize of " + $L_Prize_Money_Small + "z!",8;
|
||||
set #LID,0;
|
||||
close;
|
||||
|
||||
// NO ZENY
|
||||
L_NoZeny:
|
||||
mes "[Lottery]";
|
||||
mes "You can't afford a lottery ticket.";
|
||||
close;
|
||||
|
||||
// INVALID TICKET
|
||||
L_Invalid:
|
||||
mes "[Lottery]";
|
||||
mes "I'm sorry but it appears that you have an invalid ticket.";
|
||||
close;
|
||||
|
||||
// DOUBLE TICKET
|
||||
L_DoubleTicket:
|
||||
mes "[Lottery]";
|
||||
mes "It appears that you already have a ticket for today.";
|
||||
mes "You may only purchase one ticket per draw.";
|
||||
close;
|
||||
|
||||
L_Cancel:
|
||||
mes "[Lottery]";
|
||||
mes "Come back soon!";
|
||||
close;
|
||||
|
||||
// GM MENU (Lets you manually do draws)
|
||||
L_GM:
|
||||
menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"[GM]Do Draw Now",-,"[GM]Rig the Lottery",L_GM_Rig,"Cancel",L_Cancel;
|
||||
|
||||
// CHECKS IF LOTTERY IS RIGGED
|
||||
if ($L_Rigged == 1) goto L_Rigged_Draw;
|
||||
// GENERATES RANDOM NUMBERS 1-40
|
||||
GMPick1:
|
||||
set $LW1,rand (1,40);
|
||||
|
||||
GMPick2:
|
||||
set $LW2,rand (1,40);
|
||||
if ($LW2 == $LW1) goto GMPick2;
|
||||
|
||||
GMPick3:
|
||||
set $LW3,rand (1,40);
|
||||
if ($LW3 == $LW2) goto GMPick3;
|
||||
if ($LW3 == $LW1) goto GMPick3;
|
||||
|
||||
GMPick4:
|
||||
set $LW4,rand (1,40);
|
||||
if ($LW4 == $LW2) goto GMPick4;
|
||||
if ($LW4 == $LW1) goto GMPick4;
|
||||
if ($LW4 == $LW3) goto GMPick4;
|
||||
|
||||
GMPick5:
|
||||
set $LW5,rand (1,40);
|
||||
if ($LW5 == $LW1) goto GMPick5;
|
||||
if ($LW5 == $LW2) goto GMPick5;
|
||||
if ($LW5 == $LW3) goto GMPick5;
|
||||
if ($LW5 == $LW4) goto GMPick5;
|
||||
|
||||
GMPick6:
|
||||
set $LW6,rand (1,40);
|
||||
if ($LW6 == $LW1) goto GMPick6;
|
||||
if ($LW6 == $LW2) goto GMPick6;
|
||||
if ($LW6 == $LW3) goto GMPick6;
|
||||
if ($LW6 == $LW4) goto GMPick6;
|
||||
if ($LW6 == $LW5) goto GMPick6;
|
||||
|
||||
// BROADCASTS DRAW
|
||||
L_Broadcast:
|
||||
Announce "Lottery: Welcome to the special GM's lotto draw!",8;
|
||||
Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8;
|
||||
Announce "Congratulations to the winners!",8;
|
||||
|
||||
// GENERATES DRAW ID CODE
|
||||
L_GenID:
|
||||
set $LID2,$LID;
|
||||
// SETS TOMORROW'S ID NUMBER
|
||||
set $LID,rand (100000,999999);
|
||||
close;
|
||||
|
||||
// SETS DRAW TO RIGGED NUMBERS
|
||||
L_Rigged_Draw:
|
||||
set $LW1,$LR1;
|
||||
set $LW2,$LR2;
|
||||
set $LW3,$LR3;
|
||||
set $LW4,$LR4;
|
||||
set $LW5,$LR5;
|
||||
set $LW6,$LR6;
|
||||
set $L_Rigged,0;
|
||||
goto L_Broadcast;
|
||||
|
||||
// ALLOWS GM TO DO A RIGGED DRAW
|
||||
L_GM_Rig:
|
||||
mes "[Lottery]";
|
||||
mes "Please pick your numbers (1-40):";
|
||||
set $LR1,0;
|
||||
set $LR2,0;
|
||||
set $LR3,0;
|
||||
set $LR4,0;
|
||||
set $LR5,0;
|
||||
set $LR6,0;
|
||||
GMInput1:
|
||||
Input $LR1;
|
||||
if ($LR1 < 1 || $LR1 > 40) goto GMInput1;
|
||||
mes $LR1;
|
||||
GMInput2:
|
||||
Input $LR2;
|
||||
if ($LR2 < 1 || $LR2 > 40) goto GMInput2;
|
||||
if ($LR2 == $LR1) goto GMInput2;
|
||||
mes $LR2;
|
||||
GMInput3:
|
||||
Input $LR3;
|
||||
if ($LR3 < 1 || $LR3 > 40) goto GMInput3;
|
||||
if ($LR3 == $LR1) goto GMInput3;
|
||||
if ($LR3 == $LR2) goto GMInput3;
|
||||
mes $LR3;
|
||||
GMInput4:
|
||||
Input $LR4;
|
||||
if ($LR4 < 1 || $LR4 > 40) goto GMInput4;
|
||||
if ($LR4 == $LR1) goto GMInput4;
|
||||
if ($LR4 == $LR2) goto GMInput4;
|
||||
if ($LR4 == $LR3) goto GMInput4;
|
||||
mes $LR4;
|
||||
GMInput5:
|
||||
Input $LR5;
|
||||
if ($LR5 < 1 || $LR5 > 40) goto GMInput5;
|
||||
if ($LR5 == $LR1) goto GMInput5;
|
||||
if ($LR5 == $LR2) goto GMInput5;
|
||||
if ($LR5 == $LR3) goto GMInput5;
|
||||
if ($LR5 == $LR4) goto GMInput5;
|
||||
mes $LR5;
|
||||
GMInput6:
|
||||
Input $LR6;
|
||||
if ($LR6 < 1 || $LR6 > 40) goto GMInput6;
|
||||
if ($LR6 == $LR1) goto GMInput6;
|
||||
if ($LR6 == $LR2) goto GMInput6;
|
||||
if ($LR6 == $LR3) goto GMInput6;
|
||||
if ($LR6 == $LR4) goto GMInput6;
|
||||
if ($LR6 == $LR5) goto GMInput6;
|
||||
mes $LR6;
|
||||
next;
|
||||
mes "[Lottery]";
|
||||
mes "Lottery rigged for next draw.";
|
||||
set $L_Rigged,1;
|
||||
close;
|
||||
}
|
||||
//===== rAthena Script =======================================
|
||||
//= Lottery
|
||||
//===== By: ==================================================
|
||||
//= acky
|
||||
//===== Current Version: =====================================
|
||||
//= 1.2.1a
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Daily lottery draw
|
||||
//===== Additional Comments: =================================
|
||||
//= Numbers drawn daily (Time is configured line 29)
|
||||
//= *Added GM-Riggability
|
||||
//= *Ability to renew ticket
|
||||
//= *Improved interface
|
||||
//= *Fixed minor bug where first load didn't work.
|
||||
//= 1.2.1a fix due to new script engine
|
||||
//============================================================
|
||||
|
||||
- script lotterygenerator -1,{
|
||||
OnInit:
|
||||
set $L_TicketPrice,4750; // TICKET COST
|
||||
set $L_Prize_Money,5000000; // JACKPOT AMOUNT
|
||||
set $L_Prize_Money_Small,1000000; // SECONDARY PRIZE
|
||||
if ($LID == 0) goto L_GenID;
|
||||
end;
|
||||
|
||||
//Modify for own time
|
||||
OnClock2045:
|
||||
// CHECKS IF LOTTERY IS RIGGED
|
||||
if ($L_Rigged == 1) goto L_Rigged_Draw;
|
||||
// GENERATES RANDOM NUMBERS 1-40
|
||||
Pick1:
|
||||
set $LW1,rand (1,40);
|
||||
|
||||
Pick2:
|
||||
set $LW2,rand (1,40);
|
||||
if ($LW2 == $LW1) goto Pick2;
|
||||
|
||||
Pick3:
|
||||
set $LW3,rand (1,40);
|
||||
if ($LW3 == $LW2) goto Pick3;
|
||||
if ($LW3 == $LW1) goto Pick3;
|
||||
|
||||
Pick4:
|
||||
set $LW4,rand (1,40);
|
||||
if ($LW4 == $LW2) goto Pick4;
|
||||
if ($LW4 == $LW1) goto Pick4;
|
||||
if ($LW4 == $LW3) goto Pick4;
|
||||
|
||||
Pick5:
|
||||
set $LW5,rand (1,40);
|
||||
if ($LW5 == $LW1) goto Pick5;
|
||||
if ($LW5 == $LW2) goto Pick5;
|
||||
if ($LW5 == $LW3) goto Pick5;
|
||||
if ($LW5 == $LW4) goto Pick5;
|
||||
|
||||
Pick6:
|
||||
set $LW6,rand (1,40);
|
||||
if ($LW6 == $LW1) goto Pick6;
|
||||
if ($LW6 == $LW2) goto Pick6;
|
||||
if ($LW6 == $LW3) goto Pick6;
|
||||
if ($LW6 == $LW4) goto Pick6;
|
||||
if ($LW6 == $LW5) goto Pick6;
|
||||
|
||||
// BROADCASTS DRAW
|
||||
L_Broadcast:
|
||||
Announce "Lottery: Welcome to tonight's lotto draw!",8;
|
||||
Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8;
|
||||
Announce "Congratulations to the winners of tonight!",8;
|
||||
|
||||
// GENERATES DRAW ID CODE
|
||||
L_GenID:
|
||||
set $LID2,$LID;
|
||||
// SETS TOMORROW'S ID NUMBER
|
||||
set $LID,rand (100000,999999);
|
||||
end;
|
||||
|
||||
// SETS DRAW TO RIGGED NUMBERS
|
||||
L_Rigged_Draw:
|
||||
set $LW1,$LR1;
|
||||
set $LW2,$LR2;
|
||||
set $LW3,$LR3;
|
||||
set $LW4,$LR4;
|
||||
set $LW5,$LR5;
|
||||
set $LW6,$LR6;
|
||||
set $L_Rigged,0;
|
||||
goto L_Broadcast;
|
||||
}
|
||||
|
||||
prontera,141,182,5 script Lottery 76,{
|
||||
L_Begin:
|
||||
mes "[Lottery]";
|
||||
mes "Winning Lotto Numbers ("+$LID2+"):";
|
||||
mes "^0000FF[" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]^000000";
|
||||
if ($LID > 99999) mes "Your Ticket ("+#LID+"):";
|
||||
if ($LID > 99999) mes "^FF0000[" + #LW1 + "] [" + #LW2 + "] [" + #LW3 + "] [" + #LW4 + "] [" + #LW5 + "] [" + #LW6 + "]^000000";
|
||||
mes "Next Draw-ID: ^FF0000" + $LID + "^000000.";
|
||||
next;
|
||||
if (getgmlevel() > 90) goto L_GM;
|
||||
menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"Cancel",L_Cancel;
|
||||
|
||||
// PURCHASE TICKET
|
||||
L_Buy:
|
||||
if (#LID == $LID && #L1 != 0) goto L_DoubleTicket;
|
||||
mes "[Lottery]";
|
||||
mes "Tickets cost ^0000FF" + $L_TicketPrice + "z^000000.";
|
||||
mes "The Jackpot is ^FF0000" + $L_Prize_Money + "z^000000.";
|
||||
next;
|
||||
menu "Buy Ticket",-,"Cancel",L_Cancel;
|
||||
if (zeny < $L_TicketPrice) goto L_NoZeny;
|
||||
set zeny,zeny-$L_TicketPrice;
|
||||
mes "[Lottery]";
|
||||
mes "Would you like your numbers hand picked or computer generated?";
|
||||
next;
|
||||
menu "Computer Generated",L_ComputerGen,"Hand Picked",L_HandPick,"Renew Ticket",L_Renew;
|
||||
|
||||
// RENEW LAST TICKET
|
||||
L_Renew:
|
||||
if ($LID < 99999) goto L_Invalid;
|
||||
set #LID,$LID;
|
||||
goto L_Confirm2;
|
||||
|
||||
L_ComputerGen:
|
||||
// SELECTS RANDOM NUMBERS
|
||||
set @L1,0;
|
||||
set @L2,0;
|
||||
set @L3,0;
|
||||
set @L4,0;
|
||||
set @L5,0;
|
||||
set @L6,0;
|
||||
Pick1:
|
||||
set @L1,rand (1,40);
|
||||
Pick2:
|
||||
set @L2,rand (1,40);
|
||||
if (@L2 == @L1) goto Pick2;
|
||||
Pick3:
|
||||
set @L3,rand (1,40);
|
||||
if (@L3 == @L2) goto Pick3;
|
||||
if (@L3 == @L1) goto Pick3;
|
||||
Pick4:
|
||||
set @L4,rand (1,40);
|
||||
if (@L4 == @L2) goto Pick4;
|
||||
if (@L4 == @L1) goto Pick4;
|
||||
if (@L4 == @L3) goto Pick4;
|
||||
Pick5:
|
||||
set @L5,rand (1,40);
|
||||
if (@L5 == @L1) goto Pick5;
|
||||
if (@L5 == @L2) goto Pick5;
|
||||
if (@L5 == @L3) goto Pick5;
|
||||
if (@L5 == @L4) goto Pick5;
|
||||
Pick6:
|
||||
set @L6,rand (1,40);
|
||||
if (@L6 == @L1) goto Pick6;
|
||||
if (@L6 == @L2) goto Pick6;
|
||||
if (@L6 == @L3) goto Pick6;
|
||||
if (@L6 == @L4) goto Pick6;
|
||||
if (@L6 == @L5) goto Pick6;
|
||||
mes "[Lottery]";
|
||||
mes "The computer has selected the following numbers:";
|
||||
mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000";
|
||||
next;
|
||||
menu "Confirm",L_Confirm,"Re-Generate",L_ComputerGen;
|
||||
|
||||
// HAND PICK LOTTERY NUMBERS
|
||||
L_HandPick:
|
||||
mes "[Lottery]";
|
||||
mes "Please pick your numbers (1-40):";
|
||||
set @L1,0;
|
||||
set @L2,0;
|
||||
set @L3,0;
|
||||
set @L4,0;
|
||||
set @L5,0;
|
||||
set @L6,0;
|
||||
Input1:
|
||||
input @L1;
|
||||
if (@L1 < 1 || @L1 > 40) goto Input1;
|
||||
mes @L1;
|
||||
Input2:
|
||||
input @L2;
|
||||
if (@L2 < 1 || @L2 > 40) goto Input2;
|
||||
if (@L2 == @L1) goto Input2;
|
||||
mes @L2;
|
||||
Input3:
|
||||
input @L3;
|
||||
if (@L3 < 1 || @L3 > 40) goto Input3;
|
||||
if (@L3 == @L1) goto Input3;
|
||||
if (@L3 == @L2) goto Input3;
|
||||
mes @L3;
|
||||
Input4:
|
||||
input @L4;
|
||||
if (@L4 < 1 || @L4 > 40) goto Input4;
|
||||
if (@L4 == @L1) goto Input4;
|
||||
if (@L4 == @L2) goto Input4;
|
||||
if (@L4 == @L3) goto Input4;
|
||||
mes @L4;
|
||||
Input5:
|
||||
input @L5;
|
||||
if (@L5 < 1 || @L5 > 40) goto Input5;
|
||||
if (@L5 == @L1) goto Input5;
|
||||
if (@L5 == @L2) goto Input5;
|
||||
if (@L5 == @L3) goto Input5;
|
||||
if (@L5 == @L4) goto Input5;
|
||||
mes @L5;
|
||||
Input6:
|
||||
input @L6;
|
||||
if (@L6 < 1 || @L6 > 40) goto Input6;
|
||||
if (@L6 == @L1) goto Input6;
|
||||
if (@L6 == @L2) goto Input6;
|
||||
if (@L6 == @L3) goto Input6;
|
||||
if (@L6 == @L4) goto Input6;
|
||||
if (@L6 == @L5) goto Input6;
|
||||
mes @L6;
|
||||
next;
|
||||
mes "[Lottery]";
|
||||
mes "Your numbers are:";
|
||||
mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000";
|
||||
next;
|
||||
menu "Confirm",L_Confirm,"Re-Pick",L_HandPick;
|
||||
|
||||
L_Confirm:
|
||||
set #LW1,@L1;
|
||||
set #LW2,@L2;
|
||||
set #LW3,@L3;
|
||||
set #LW4,@L4;
|
||||
set #LW5,@L5;
|
||||
set #LW6,@L6;
|
||||
set #LID,$LID;
|
||||
L_Confirm2:
|
||||
mes "[Lottery]";
|
||||
mes "The live broadcasted draw is at 9pm.";
|
||||
mes "You can claim your ticket between then and the next draw.";
|
||||
next;
|
||||
mes "[Lottery]";
|
||||
mes "Good luck!";
|
||||
close;
|
||||
|
||||
L_Claim:
|
||||
// CHECKS TICKET VALIDILITY
|
||||
if (#LID != $LID2) goto L_Invalid;
|
||||
// CHECKS HOW MANY NUMBERS MATCHED
|
||||
set @LPrize,0;
|
||||
if (#LW1 == $LW1) set @LPrize,@LPrize+1;
|
||||
if (#LW1 == $LW2) set @LPrize,@LPrize+1;
|
||||
if (#LW1 == $LW3) set @LPrize,@LPrize+1;
|
||||
if (#LW1 == $LW4) set @LPrize,@LPrize+1;
|
||||
if (#LW1 == $LW5) set @LPrize,@LPrize+1;
|
||||
if (#LW1 == $LW6) set @LPrize,@LPrize+1;
|
||||
if (#LW2 == $LW1) set @LPrize,@LPrize+1;
|
||||
if (#LW2 == $LW2) set @LPrize,@LPrize+1;
|
||||
if (#LW2 == $LW3) set @LPrize,@LPrize+1;
|
||||
if (#LW2 == $LW4) set @LPrize,@LPrize+1;
|
||||
if (#LW2 == $LW5) set @LPrize,@LPrize+1;
|
||||
if (#LW2 == $LW6) set @LPrize,@LPrize+1;
|
||||
if (#LW3 == $LW1) set @LPrize,@LPrize+1;
|
||||
if (#LW3 == $LW2) set @LPrize,@LPrize+1;
|
||||
if (#LW3 == $LW3) set @LPrize,@LPrize+1;
|
||||
if (#LW3 == $LW4) set @LPrize,@LPrize+1;
|
||||
if (#LW3 == $LW5) set @LPrize,@LPrize+1;
|
||||
if (#LW3 == $LW6) set @LPrize,@LPrize+1;
|
||||
if (#LW4 == $LW1) set @LPrize,@LPrize+1;
|
||||
if (#LW4 == $LW2) set @LPrize,@LPrize+1;
|
||||
if (#LW4 == $LW3) set @LPrize,@LPrize+1;
|
||||
if (#LW4 == $LW4) set @LPrize,@LPrize+1;
|
||||
if (#LW4 == $LW5) set @LPrize,@LPrize+1;
|
||||
if (#LW4 == $LW6) set @LPrize,@LPrize+1;
|
||||
if (#LW5 == $LW1) set @LPrize,@LPrize+1;
|
||||
if (#LW5 == $LW2) set @LPrize,@LPrize+1;
|
||||
if (#LW5 == $LW3) set @LPrize,@LPrize+1;
|
||||
if (#LW5 == $LW4) set @LPrize,@LPrize+1;
|
||||
if (#LW5 == $LW5) set @LPrize,@LPrize+1;
|
||||
if (#LW5 == $LW6) set @LPrize,@LPrize+1;
|
||||
if (#LW6 == $LW1) set @LPrize,@LPrize+1;
|
||||
if (#LW6 == $LW2) set @LPrize,@LPrize+1;
|
||||
if (#LW6 == $LW3) set @LPrize,@LPrize+1;
|
||||
if (#LW6 == $LW4) set @LPrize,@LPrize+1;
|
||||
if (#LW6 == $LW5) set @LPrize,@LPrize+1;
|
||||
if (#LW6 == $LW6) set @LPrize,@LPrize+1;
|
||||
|
||||
if (@LPrize == 6) goto LWinBig;
|
||||
if (@LPrize > 3 && @LPrize < 6) goto LWinSmall;
|
||||
|
||||
// NO WINNER
|
||||
mes "[Lottery]";
|
||||
mes "Bad luck, it appears you do not hold a winning ticket.";
|
||||
next;
|
||||
mes "[Lottery]";
|
||||
mes "Better luck next time!.";
|
||||
close;
|
||||
|
||||
// MATCHED ALL SIX
|
||||
LWinBig:
|
||||
mes "[Lottery]";
|
||||
mes "You have matched all six numbers!";
|
||||
mes "Jackpot!";
|
||||
mes "You've won ^0000FF" + $L_Prize_Money + "z^000000.";
|
||||
set zeny,zeny+$L_Prize_Money;
|
||||
Announce "Lottery: " + strcharinfo(0) + " has won the JACKPOT of " + $L_Prize_Money + "z!",8;
|
||||
set #LID,0;
|
||||
close;
|
||||
|
||||
// MATCHED AT LEAST 4
|
||||
LWinSmall:
|
||||
mes "[Lottery]";
|
||||
mes "You have matched at least 4 numbers!";
|
||||
mes "You've won ^0000FF" + $L_Prize_Money_Small + "z^000000.";
|
||||
set zeny,zeny+$L_Prize_Money_Small;
|
||||
Announce "Lottery: " + strcharinfo(0) + " has won a prize of " + $L_Prize_Money_Small + "z!",8;
|
||||
set #LID,0;
|
||||
close;
|
||||
|
||||
// NO ZENY
|
||||
L_NoZeny:
|
||||
mes "[Lottery]";
|
||||
mes "You can't afford a lottery ticket.";
|
||||
close;
|
||||
|
||||
// INVALID TICKET
|
||||
L_Invalid:
|
||||
mes "[Lottery]";
|
||||
mes "I'm sorry but it appears that you have an invalid ticket.";
|
||||
close;
|
||||
|
||||
// DOUBLE TICKET
|
||||
L_DoubleTicket:
|
||||
mes "[Lottery]";
|
||||
mes "It appears that you already have a ticket for today.";
|
||||
mes "You may only purchase one ticket per draw.";
|
||||
close;
|
||||
|
||||
L_Cancel:
|
||||
mes "[Lottery]";
|
||||
mes "Come back soon!";
|
||||
close;
|
||||
|
||||
// GM MENU (Lets you manually do draws)
|
||||
L_GM:
|
||||
menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"[GM]Do Draw Now",-,"[GM]Rig the Lottery",L_GM_Rig,"Cancel",L_Cancel;
|
||||
|
||||
// CHECKS IF LOTTERY IS RIGGED
|
||||
if ($L_Rigged == 1) goto L_Rigged_Draw;
|
||||
// GENERATES RANDOM NUMBERS 1-40
|
||||
GMPick1:
|
||||
set $LW1,rand (1,40);
|
||||
|
||||
GMPick2:
|
||||
set $LW2,rand (1,40);
|
||||
if ($LW2 == $LW1) goto GMPick2;
|
||||
|
||||
GMPick3:
|
||||
set $LW3,rand (1,40);
|
||||
if ($LW3 == $LW2) goto GMPick3;
|
||||
if ($LW3 == $LW1) goto GMPick3;
|
||||
|
||||
GMPick4:
|
||||
set $LW4,rand (1,40);
|
||||
if ($LW4 == $LW2) goto GMPick4;
|
||||
if ($LW4 == $LW1) goto GMPick4;
|
||||
if ($LW4 == $LW3) goto GMPick4;
|
||||
|
||||
GMPick5:
|
||||
set $LW5,rand (1,40);
|
||||
if ($LW5 == $LW1) goto GMPick5;
|
||||
if ($LW5 == $LW2) goto GMPick5;
|
||||
if ($LW5 == $LW3) goto GMPick5;
|
||||
if ($LW5 == $LW4) goto GMPick5;
|
||||
|
||||
GMPick6:
|
||||
set $LW6,rand (1,40);
|
||||
if ($LW6 == $LW1) goto GMPick6;
|
||||
if ($LW6 == $LW2) goto GMPick6;
|
||||
if ($LW6 == $LW3) goto GMPick6;
|
||||
if ($LW6 == $LW4) goto GMPick6;
|
||||
if ($LW6 == $LW5) goto GMPick6;
|
||||
|
||||
// BROADCASTS DRAW
|
||||
L_Broadcast:
|
||||
Announce "Lottery: Welcome to the special GM's lotto draw!",8;
|
||||
Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8;
|
||||
Announce "Congratulations to the winners!",8;
|
||||
|
||||
// GENERATES DRAW ID CODE
|
||||
L_GenID:
|
||||
set $LID2,$LID;
|
||||
// SETS TOMORROW'S ID NUMBER
|
||||
set $LID,rand (100000,999999);
|
||||
close;
|
||||
|
||||
// SETS DRAW TO RIGGED NUMBERS
|
||||
L_Rigged_Draw:
|
||||
set $LW1,$LR1;
|
||||
set $LW2,$LR2;
|
||||
set $LW3,$LR3;
|
||||
set $LW4,$LR4;
|
||||
set $LW5,$LR5;
|
||||
set $LW6,$LR6;
|
||||
set $L_Rigged,0;
|
||||
goto L_Broadcast;
|
||||
|
||||
// ALLOWS GM TO DO A RIGGED DRAW
|
||||
L_GM_Rig:
|
||||
mes "[Lottery]";
|
||||
mes "Please pick your numbers (1-40):";
|
||||
set $LR1,0;
|
||||
set $LR2,0;
|
||||
set $LR3,0;
|
||||
set $LR4,0;
|
||||
set $LR5,0;
|
||||
set $LR6,0;
|
||||
GMInput1:
|
||||
Input $LR1;
|
||||
if ($LR1 < 1 || $LR1 > 40) goto GMInput1;
|
||||
mes $LR1;
|
||||
GMInput2:
|
||||
Input $LR2;
|
||||
if ($LR2 < 1 || $LR2 > 40) goto GMInput2;
|
||||
if ($LR2 == $LR1) goto GMInput2;
|
||||
mes $LR2;
|
||||
GMInput3:
|
||||
Input $LR3;
|
||||
if ($LR3 < 1 || $LR3 > 40) goto GMInput3;
|
||||
if ($LR3 == $LR1) goto GMInput3;
|
||||
if ($LR3 == $LR2) goto GMInput3;
|
||||
mes $LR3;
|
||||
GMInput4:
|
||||
Input $LR4;
|
||||
if ($LR4 < 1 || $LR4 > 40) goto GMInput4;
|
||||
if ($LR4 == $LR1) goto GMInput4;
|
||||
if ($LR4 == $LR2) goto GMInput4;
|
||||
if ($LR4 == $LR3) goto GMInput4;
|
||||
mes $LR4;
|
||||
GMInput5:
|
||||
Input $LR5;
|
||||
if ($LR5 < 1 || $LR5 > 40) goto GMInput5;
|
||||
if ($LR5 == $LR1) goto GMInput5;
|
||||
if ($LR5 == $LR2) goto GMInput5;
|
||||
if ($LR5 == $LR3) goto GMInput5;
|
||||
if ($LR5 == $LR4) goto GMInput5;
|
||||
mes $LR5;
|
||||
GMInput6:
|
||||
Input $LR6;
|
||||
if ($LR6 < 1 || $LR6 > 40) goto GMInput6;
|
||||
if ($LR6 == $LR1) goto GMInput6;
|
||||
if ($LR6 == $LR2) goto GMInput6;
|
||||
if ($LR6 == $LR3) goto GMInput6;
|
||||
if ($LR6 == $LR4) goto GMInput6;
|
||||
if ($LR6 == $LR5) goto GMInput6;
|
||||
mes $LR6;
|
||||
next;
|
||||
mes "[Lottery]";
|
||||
mes "Lottery rigged for next draw.";
|
||||
set $L_Rigged,1;
|
||||
close;
|
||||
}
|
||||
|
@ -1,39 +1,39 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Market Place
|
||||
//===== By: ==================================================
|
||||
//= Lupus
|
||||
//===== Current Version: =====================================
|
||||
//= 1.1
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= This script should move vending crowds from Prontera
|
||||
//= streets to a suitable market place. Save your traffic 8)
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.1 Optimized it, Removed labels. [Spre]
|
||||
//============================================================
|
||||
|
||||
prontera,144,174,3 script Market Place 722,{
|
||||
mes"[Market Place]";
|
||||
mes"Tristan III's order: ^FF0000Move all the private shops to a special Market Place^000000.";
|
||||
next;
|
||||
if (select("Yes Please:No") == 2) {
|
||||
close;
|
||||
}
|
||||
// I didn't see the need to check and show venders.... Since it didnt even work
|
||||
warp "gon_test",27+rand(5),98;
|
||||
end;
|
||||
}
|
||||
|
||||
gon_test,73,103,0 script MarketExit 45,1,2,{
|
||||
warp "prontera",155,177-rand(10);
|
||||
end;
|
||||
}
|
||||
|
||||
//disable vending in Prontera
|
||||
prontera mapflag novending
|
||||
prt_in mapflag novending
|
||||
//Market Place settings
|
||||
gon_test mapflag noteleport
|
||||
gon_test mapflag nomemo
|
||||
gon_test mapflag nobranch
|
||||
//===== rAthena Script =======================================
|
||||
//= Market Place
|
||||
//===== By: ==================================================
|
||||
//= Lupus
|
||||
//===== Current Version: =====================================
|
||||
//= 1.1
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= This script should move vending crowds from Prontera
|
||||
//= streets to a suitable market place. Save your traffic 8)
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.1 Optimized it, Removed labels. [Spre]
|
||||
//============================================================
|
||||
|
||||
prontera,144,174,3 script Market Place 722,{
|
||||
mes"[Market Place]";
|
||||
mes"Tristan III's order: ^FF0000Move all the private shops to a special Market Place^000000.";
|
||||
next;
|
||||
if (select("Yes Please:No") == 2) {
|
||||
close;
|
||||
}
|
||||
// I didn't see the need to check and show venders.... Since it didnt even work
|
||||
warp "gon_test",27+rand(5),98;
|
||||
end;
|
||||
}
|
||||
|
||||
gon_test,73,103,0 script MarketExit 45,1,2,{
|
||||
warp "prontera",155,177-rand(10);
|
||||
end;
|
||||
}
|
||||
|
||||
//disable vending in Prontera
|
||||
prontera mapflag novending
|
||||
prt_in mapflag novending
|
||||
//Market Place settings
|
||||
gon_test mapflag noteleport
|
||||
gon_test mapflag nomemo
|
||||
gon_test mapflag nobranch
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,238 +1,238 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Morroc Raceway
|
||||
//===== By: ==================================================
|
||||
//= acky
|
||||
//===== Current Version: =====================================
|
||||
//= 1.3
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Lets players race around Morroc (pvp_y_1-5)
|
||||
//===== Additional Comments: =================================
|
||||
//= If there are more than 3 players, at least 3 people
|
||||
//= must finish before a new race can be started.
|
||||
//=
|
||||
//= If there are less than 3 players, at least 1 person
|
||||
//= must finish before a new race can be started.
|
||||
//=
|
||||
//= Removed permanent global variables
|
||||
//= 1.2 Removed Duplicates [Silent]
|
||||
//= 1.3 Replaced effect numerics with constants. [Samuray22]
|
||||
//============================================================
|
||||
|
||||
//Warps you into race way
|
||||
morocc,166,105,6 script Race Girl#01 116,{
|
||||
mes "[Race Girl]";
|
||||
mes "Would you like to visit ^0000FFMorroc Raceway^000000?";
|
||||
next;
|
||||
menu "Yes",L_Warp,"No",-;
|
||||
mes "[Race Girl]";
|
||||
mes "Alright, talk to me again when you want to go.";
|
||||
close;
|
||||
L_Warp:
|
||||
warp "pvp_y_1-5",165,256;
|
||||
close;
|
||||
}
|
||||
|
||||
//Warps you out of raceway
|
||||
pvp_y_1-5,169,265,5 script Race Girl#02 116,{
|
||||
mes "[Race Girl]";
|
||||
mes "Welcome to Morroc Raceway!";
|
||||
next;
|
||||
menu "Information",-,"Leave",L_Warp,"Cancel",L_Cancel;
|
||||
mes "[Race Girl]";
|
||||
mes "Someone must click on the Starter NPC to start the race.";
|
||||
next;
|
||||
mes "[Race Girl]";
|
||||
mes "Once the race is started, run around Morroc anti-clockwise.";
|
||||
next;
|
||||
mes "[Race Girl]";
|
||||
mes "You must reach all the checkpoints - No cheating!";
|
||||
close;
|
||||
L_Warp:
|
||||
warp "morocc",165,101;
|
||||
L_Cancel:
|
||||
mes "[Race Girl]";
|
||||
mes "Come again soon!";
|
||||
close;
|
||||
}
|
||||
|
||||
//Counts down and starts race
|
||||
pvp_y_1-5,145,269,5 script Starter 733,{
|
||||
if ($@race != 0) goto L_Started;
|
||||
if ($@counting != 0) goto L_Started;
|
||||
if ($@racecount == 1) goto L_Started;
|
||||
L_Menu:
|
||||
mes "[Race Starter]";
|
||||
mes "Please stay on the Eastern side of me.";
|
||||
menu "Start Race",L_Count,"Cancel",-;
|
||||
close;
|
||||
L_Count:
|
||||
set $@counting,1;
|
||||
mes "Counting down...";
|
||||
addtimer 1000, "Starter::OnCount1000";
|
||||
addtimer 2000, "Starter::OnCount2000";
|
||||
addtimer 3000, "Starter::OnCount3000";
|
||||
addtimer 4000, "Starter::OnCount4000";
|
||||
announce strcharinfo(0) + "Started a countdown",1;
|
||||
announce "Get ready to race!",1;
|
||||
close;
|
||||
|
||||
OnCount1000:
|
||||
announce "[3]",1;
|
||||
end;
|
||||
OnCount2000:
|
||||
announce "[2]",1;
|
||||
end;
|
||||
OnCount3000:
|
||||
announce "[1]",1;
|
||||
end;
|
||||
OnCount4000:
|
||||
emotion 27;
|
||||
specialeffect EF_CHIMTO;
|
||||
announce "[GO!]",1;
|
||||
set $@race,1;
|
||||
set $@position,0;
|
||||
set $@counting,0;
|
||||
set $@raceid,rand(100000,999999);
|
||||
end;
|
||||
|
||||
L_Started:
|
||||
if ((getmapusers("pvp_y_1-5") < 3) && ($@position > 0)) goto L_Menu;
|
||||
if ($@position > 2) goto L_Menu;
|
||||
mes "[Starter]";
|
||||
mes "Race in progress";
|
||||
close;
|
||||
|
||||
OnInit:
|
||||
set $@race,0;
|
||||
set $@position,0;
|
||||
set $@racecount,0;
|
||||
end;
|
||||
}
|
||||
|
||||
//Checkpoint 1
|
||||
pvp_y_1-5,144,262,5 script Check Point 1 111,0,5,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (@raceid != $@raceid) goto L_Started;
|
||||
if (@race == 6) goto L_Finished;
|
||||
if ($@race == 1) goto L_Started;
|
||||
mes "The race has not started, please move back.";
|
||||
close;
|
||||
L_Started:
|
||||
set @race,1;
|
||||
set @raceid,$@raceid;
|
||||
end;
|
||||
L_Finished:
|
||||
mes "You have already completed the race.";
|
||||
close;
|
||||
}
|
||||
|
||||
//Checkpoint 2
|
||||
pvp_y_1-5,73,247,5 script Check Point 2 111,6,6,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (@race != 1) goto L_Miss;
|
||||
set @race,2;
|
||||
announce "[" + strcharinfo(0) +"] has reached Checkpoint [1]",1;
|
||||
end;
|
||||
L_Miss:
|
||||
mes "You have missed a Checkpoint. Please go back.";
|
||||
close;
|
||||
}
|
||||
|
||||
//Checkpoint 3
|
||||
pvp_y_1-5,77,44,5 script Check Point 3 111,6,6,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (@race != 2) goto L_Miss;
|
||||
set @race,3;
|
||||
announce "[" + strcharinfo(0) +"] has reached Checkpoint [2]",1;
|
||||
end;
|
||||
L_Miss:
|
||||
mes "You have missed a Checkpoint. Please go back.";
|
||||
close;
|
||||
}
|
||||
|
||||
//Checkpoint 3
|
||||
pvp_y_1-5,249,60,5 script Check Point 4 111,6,6,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (@race != 3) goto L_Miss;
|
||||
set @race,4;
|
||||
announce "[" + strcharinfo(0) +"] has reached Checkpoint [3]",1;
|
||||
end;
|
||||
L_Miss:
|
||||
mes "You have missed a Checkpoint. Please go back.";
|
||||
close;
|
||||
}
|
||||
|
||||
//Checkpoint 4
|
||||
pvp_y_1-5,255,256,5 script Check Point 5 111,6,6,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (@race != 4) goto L_Miss;
|
||||
set @race,5;
|
||||
announce "[" + strcharinfo(0) +"] has reached Checkpoint [4]",1;
|
||||
end;
|
||||
L_Miss:
|
||||
mes "You have missed a Checkpoint. Please go back.";
|
||||
close;
|
||||
}
|
||||
|
||||
//Finish Line
|
||||
pvp_y_1-5,174,244,5 script Finish Line 111,6,6,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (@raceid != $@raceid) goto L_WrongRace;
|
||||
if (@race != 5) goto L_Miss;
|
||||
set @race,6;
|
||||
set $@position,$@position+1;
|
||||
announce "[" + strcharinfo(0) +"] has reached The Finish line! [Position: " + $@position + "]",1;
|
||||
end;
|
||||
L_Miss:
|
||||
mes "You have missed a Checkpoint. Please go back.";
|
||||
close;
|
||||
L_WrongRace:
|
||||
mes "You are not in this race.";
|
||||
close;
|
||||
}
|
||||
|
||||
//Check Point Marker Flags
|
||||
pvp_y_1-5,144,267,4 script Check Point 1#01 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,144,257,4 script Check Point 1#02 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,70,252,3 script Check Point 2#01 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,77,243,3 script Check Point 2#02 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,81,48,1 script Check Point 3#01 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,72,40,1 script Check Point 3#02 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,244,65,7 script Check Point 4#01 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,252,57,7 script Check Point 4#02 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,259,260,5 script Check Point 5#01 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,251,252,5 script Check Point 5#02 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,174,249,4 script Finish Line#01 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,174,238,4 script Finish Line#02 722,{
|
||||
end;
|
||||
}
|
||||
//===== rAthena Script =======================================
|
||||
//= Morroc Raceway
|
||||
//===== By: ==================================================
|
||||
//= acky
|
||||
//===== Current Version: =====================================
|
||||
//= 1.3
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Lets players race around Morroc (pvp_y_1-5)
|
||||
//===== Additional Comments: =================================
|
||||
//= If there are more than 3 players, at least 3 people
|
||||
//= must finish before a new race can be started.
|
||||
//=
|
||||
//= If there are less than 3 players, at least 1 person
|
||||
//= must finish before a new race can be started.
|
||||
//=
|
||||
//= Removed permanent global variables
|
||||
//= 1.2 Removed Duplicates [Silent]
|
||||
//= 1.3 Replaced effect numerics with constants. [Samuray22]
|
||||
//============================================================
|
||||
|
||||
//Warps you into race way
|
||||
morocc,166,105,6 script Race Girl#01 116,{
|
||||
mes "[Race Girl]";
|
||||
mes "Would you like to visit ^0000FFMorroc Raceway^000000?";
|
||||
next;
|
||||
menu "Yes",L_Warp,"No",-;
|
||||
mes "[Race Girl]";
|
||||
mes "Alright, talk to me again when you want to go.";
|
||||
close;
|
||||
L_Warp:
|
||||
warp "pvp_y_1-5",165,256;
|
||||
close;
|
||||
}
|
||||
|
||||
//Warps you out of raceway
|
||||
pvp_y_1-5,169,265,5 script Race Girl#02 116,{
|
||||
mes "[Race Girl]";
|
||||
mes "Welcome to Morroc Raceway!";
|
||||
next;
|
||||
menu "Information",-,"Leave",L_Warp,"Cancel",L_Cancel;
|
||||
mes "[Race Girl]";
|
||||
mes "Someone must click on the Starter NPC to start the race.";
|
||||
next;
|
||||
mes "[Race Girl]";
|
||||
mes "Once the race is started, run around Morroc anti-clockwise.";
|
||||
next;
|
||||
mes "[Race Girl]";
|
||||
mes "You must reach all the checkpoints - No cheating!";
|
||||
close;
|
||||
L_Warp:
|
||||
warp "morocc",165,101;
|
||||
L_Cancel:
|
||||
mes "[Race Girl]";
|
||||
mes "Come again soon!";
|
||||
close;
|
||||
}
|
||||
|
||||
//Counts down and starts race
|
||||
pvp_y_1-5,145,269,5 script Starter 733,{
|
||||
if ($@race != 0) goto L_Started;
|
||||
if ($@counting != 0) goto L_Started;
|
||||
if ($@racecount == 1) goto L_Started;
|
||||
L_Menu:
|
||||
mes "[Race Starter]";
|
||||
mes "Please stay on the Eastern side of me.";
|
||||
menu "Start Race",L_Count,"Cancel",-;
|
||||
close;
|
||||
L_Count:
|
||||
set $@counting,1;
|
||||
mes "Counting down...";
|
||||
addtimer 1000, "Starter::OnCount1000";
|
||||
addtimer 2000, "Starter::OnCount2000";
|
||||
addtimer 3000, "Starter::OnCount3000";
|
||||
addtimer 4000, "Starter::OnCount4000";
|
||||
announce strcharinfo(0) + "Started a countdown",1;
|
||||
announce "Get ready to race!",1;
|
||||
close;
|
||||
|
||||
OnCount1000:
|
||||
announce "[3]",1;
|
||||
end;
|
||||
OnCount2000:
|
||||
announce "[2]",1;
|
||||
end;
|
||||
OnCount3000:
|
||||
announce "[1]",1;
|
||||
end;
|
||||
OnCount4000:
|
||||
emotion 27;
|
||||
specialeffect EF_CHIMTO;
|
||||
announce "[GO!]",1;
|
||||
set $@race,1;
|
||||
set $@position,0;
|
||||
set $@counting,0;
|
||||
set $@raceid,rand(100000,999999);
|
||||
end;
|
||||
|
||||
L_Started:
|
||||
if ((getmapusers("pvp_y_1-5") < 3) && ($@position > 0)) goto L_Menu;
|
||||
if ($@position > 2) goto L_Menu;
|
||||
mes "[Starter]";
|
||||
mes "Race in progress";
|
||||
close;
|
||||
|
||||
OnInit:
|
||||
set $@race,0;
|
||||
set $@position,0;
|
||||
set $@racecount,0;
|
||||
end;
|
||||
}
|
||||
|
||||
//Checkpoint 1
|
||||
pvp_y_1-5,144,262,5 script Check Point 1 111,0,5,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (@raceid != $@raceid) goto L_Started;
|
||||
if (@race == 6) goto L_Finished;
|
||||
if ($@race == 1) goto L_Started;
|
||||
mes "The race has not started, please move back.";
|
||||
close;
|
||||
L_Started:
|
||||
set @race,1;
|
||||
set @raceid,$@raceid;
|
||||
end;
|
||||
L_Finished:
|
||||
mes "You have already completed the race.";
|
||||
close;
|
||||
}
|
||||
|
||||
//Checkpoint 2
|
||||
pvp_y_1-5,73,247,5 script Check Point 2 111,6,6,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (@race != 1) goto L_Miss;
|
||||
set @race,2;
|
||||
announce "[" + strcharinfo(0) +"] has reached Checkpoint [1]",1;
|
||||
end;
|
||||
L_Miss:
|
||||
mes "You have missed a Checkpoint. Please go back.";
|
||||
close;
|
||||
}
|
||||
|
||||
//Checkpoint 3
|
||||
pvp_y_1-5,77,44,5 script Check Point 3 111,6,6,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (@race != 2) goto L_Miss;
|
||||
set @race,3;
|
||||
announce "[" + strcharinfo(0) +"] has reached Checkpoint [2]",1;
|
||||
end;
|
||||
L_Miss:
|
||||
mes "You have missed a Checkpoint. Please go back.";
|
||||
close;
|
||||
}
|
||||
|
||||
//Checkpoint 3
|
||||
pvp_y_1-5,249,60,5 script Check Point 4 111,6,6,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (@race != 3) goto L_Miss;
|
||||
set @race,4;
|
||||
announce "[" + strcharinfo(0) +"] has reached Checkpoint [3]",1;
|
||||
end;
|
||||
L_Miss:
|
||||
mes "You have missed a Checkpoint. Please go back.";
|
||||
close;
|
||||
}
|
||||
|
||||
//Checkpoint 4
|
||||
pvp_y_1-5,255,256,5 script Check Point 5 111,6,6,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (@race != 4) goto L_Miss;
|
||||
set @race,5;
|
||||
announce "[" + strcharinfo(0) +"] has reached Checkpoint [4]",1;
|
||||
end;
|
||||
L_Miss:
|
||||
mes "You have missed a Checkpoint. Please go back.";
|
||||
close;
|
||||
}
|
||||
|
||||
//Finish Line
|
||||
pvp_y_1-5,174,244,5 script Finish Line 111,6,6,{
|
||||
end;
|
||||
OnTouch:
|
||||
if (@raceid != $@raceid) goto L_WrongRace;
|
||||
if (@race != 5) goto L_Miss;
|
||||
set @race,6;
|
||||
set $@position,$@position+1;
|
||||
announce "[" + strcharinfo(0) +"] has reached The Finish line! [Position: " + $@position + "]",1;
|
||||
end;
|
||||
L_Miss:
|
||||
mes "You have missed a Checkpoint. Please go back.";
|
||||
close;
|
||||
L_WrongRace:
|
||||
mes "You are not in this race.";
|
||||
close;
|
||||
}
|
||||
|
||||
//Check Point Marker Flags
|
||||
pvp_y_1-5,144,267,4 script Check Point 1#01 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,144,257,4 script Check Point 1#02 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,70,252,3 script Check Point 2#01 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,77,243,3 script Check Point 2#02 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,81,48,1 script Check Point 3#01 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,72,40,1 script Check Point 3#02 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,244,65,7 script Check Point 4#01 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,252,57,7 script Check Point 4#02 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,259,260,5 script Check Point 5#01 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,251,252,5 script Check Point 5#02 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,174,249,4 script Finish Line#01 722,{
|
||||
end;
|
||||
}
|
||||
pvp_y_1-5,174,238,4 script Finish Line#02 722,{
|
||||
end;
|
||||
}
|
||||
|
@ -1,322 +1,322 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= MVP Arena
|
||||
//===== By: ==================================================
|
||||
//= Darkchild
|
||||
//===== Current Version: =====================================
|
||||
//= 1.4
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Rooms containing 16 different MVPs
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 first version of script
|
||||
//= 1.1 Optimised The MVP arena [massdriller]
|
||||
//= 1.2 - NPC in prontera [Silent]
|
||||
//= 1.3 - Removed Duplicates
|
||||
//= 1.4 - Optimized, text edited [Euphy]
|
||||
//============================================================
|
||||
|
||||
// ==== Entrance ====
|
||||
prontera,154,197,3 script MVP Warper 768,{
|
||||
mes "[ ^0065DFMVP Warper^000000 ]";
|
||||
mes "Would you like to enter";
|
||||
mes "the MVP Arena?";
|
||||
if (select("Yes!","No thanks.") == 2) close;
|
||||
warp "quiz_00",50,24;
|
||||
close;
|
||||
}
|
||||
|
||||
// ==== Information NPC ====
|
||||
quiz_00,49,31,4 script MVP Arena Guide 778,{
|
||||
mes "[ ^0065DFMVP Arena Guide^000000 ]";
|
||||
mes "Welcome and behold this sacred place. Here you will find out if you truly have what it takes to call yourself a warrior.";
|
||||
next;
|
||||
switch(select("Information","Heal me!","Return to Prontera","Cancel")) {
|
||||
case 1:
|
||||
mes "[ ^0065DFMVP Arena Guide^000000 ]";
|
||||
mes "There are four Keepers, and each can spawn four different MVPs.";
|
||||
mes "There are eight rooms per Keeper, and sixteen MVPs in total.";
|
||||
close;
|
||||
case 2:
|
||||
specialeffect2 313;
|
||||
percentheal 100,100;
|
||||
close;
|
||||
case 3:
|
||||
warp "prontera",156,179;
|
||||
close;
|
||||
case 4:
|
||||
close; }
|
||||
}
|
||||
|
||||
// ==== Keepers ====
|
||||
function script Keeper {
|
||||
mes "[ ^0065DF"+strnpcinfo(1)+"^000000 ]";
|
||||
mes "Which arena would you";
|
||||
mes "like to enter?";
|
||||
set .@menu$,"";
|
||||
for(set .@i,1; .@i<9; set .@i,.@i+1)
|
||||
set .@menu$, .@menu$+"Arena "+.@i+" ["+getmapusers("pvp_n_"+.@i+"-"+getarg(0))+"/20]:";
|
||||
set .@i, select(.@menu$);
|
||||
if (getmapusers("pvp_n_"+.@i+"-"+getarg(0))>19) {
|
||||
mes "[ ^0065DF"+strnpcinfo(1)+"^000000 ]";
|
||||
mes "Sorry, this arena is full!";
|
||||
close; }
|
||||
warp "pvp_n_"+.@i+"-"+getarg(0),102,102;
|
||||
close;
|
||||
}
|
||||
|
||||
quiz_00,56,31,4 script Alpha MVP 770,{
|
||||
callfunc "Keeper",2; }
|
||||
quiz_00,58,31,4 script Beta MVP 773,{
|
||||
callfunc "Keeper",3; }
|
||||
quiz_00,60,31,4 script Theta MVP 774,{
|
||||
callfunc "Keeper",4; }
|
||||
quiz_00,62,31,4 script Epsilon MVP 776,{
|
||||
callfunc "Keeper",5; }
|
||||
|
||||
// ==== Protectors ====
|
||||
function script Protector {
|
||||
switch(select(""+((getarg(0)=="")?"":"Harder Monsters")+":Heal:Exit")) {
|
||||
case 1:
|
||||
warp getarg(0),102,102;
|
||||
close;
|
||||
case 2:
|
||||
specialeffect2 313;
|
||||
percentheal 100,100;
|
||||
close;
|
||||
case 3:
|
||||
warp "prontera",156,179;
|
||||
close; }
|
||||
}
|
||||
|
||||
pvp_n_1-2,100,100,4 script MVP-Protector#01 727,{
|
||||
callfunc "Protector","pvp_n_2-2"; }
|
||||
pvp_n_2-2,100,100,4 script MVP-Protector#02 727,{
|
||||
callfunc "Protector","pvp_n_3-2"; }
|
||||
pvp_n_3-2,100,100,4 script MVP-Protector#03 727,{
|
||||
callfunc "Protector","pvp_n_4-2"; }
|
||||
pvp_n_4-2,100,100,4 script MVP-Protector#04 727,{
|
||||
callfunc "Protector","pvp_n_5-2"; }
|
||||
pvp_n_5-2,100,100,4 script MVP-Protector#05 727,{
|
||||
callfunc "Protector","pvp_n_6-2"; }
|
||||
pvp_n_6-2,100,100,4 script MVP-Protector#06 727,{
|
||||
callfunc "Protector","pvp_n_7-2"; }
|
||||
pvp_n_7-2,100,100,4 script MVP-Protector#07 727,{
|
||||
callfunc "Protector","pvp_n_8-2"; }
|
||||
pvp_n_8-2,100,100,4 script MVP-Protector#08 727,{
|
||||
callfunc "Protector",""; }
|
||||
|
||||
pvp_n_1-3,100,100,4 script MVP-Protector#09 727,{
|
||||
callfunc "Protector","pvp_n_2-3"; }
|
||||
pvp_n_2-3,100,100,4 script MVP-Protector#10 727,{
|
||||
callfunc "Protector","pvp_n_3-3"; }
|
||||
pvp_n_3-3,100,100,4 script MVP-Protector#11 727,{
|
||||
callfunc "Protector","pvp_n_4-3"; }
|
||||
pvp_n_4-3,100,100,4 script MVP-Protector#12 727,{
|
||||
callfunc "Protector","pvp_n_5-3"; }
|
||||
pvp_n_5-3,100,100,4 script MVP-Protector#13 727,{
|
||||
callfunc "Protector","pvp_n_6-3"; }
|
||||
pvp_n_6-3,100,100,4 script MVP-Protector#14 727,{
|
||||
callfunc "Protector","pvp_n_7-3"; }
|
||||
pvp_n_7-3,100,100,4 script MVP-Protector#15 727,{
|
||||
callfunc "Protector","pvp_n_8-3"; }
|
||||
pvp_n_8-3,100,100,4 script MVP-Protector#16 727,{
|
||||
callfunc "Protector",""; }
|
||||
|
||||
pvp_n_1-4,100,100,4 script MVP-Protector#17 727,{
|
||||
callfunc "Protector","pvp_n_2-4"; }
|
||||
pvp_n_2-4,100,100,4 script MVP-Protector#18 727,{
|
||||
callfunc "Protector","pvp_n_3-4"; }
|
||||
pvp_n_3-4,100,100,4 script MVP-Protector#19 727,{
|
||||
callfunc "Protector","pvp_n_4-4"; }
|
||||
pvp_n_4-4,100,100,4 script MVP-Protector#20 727,{
|
||||
callfunc "Protector","pvp_n_5-4"; }
|
||||
pvp_n_5-4,100,100,4 script MVP-Protector#21 727,{
|
||||
callfunc "Protector","pvp_n_6-4"; }
|
||||
pvp_n_6-4,100,100,4 script MVP-Protector#22 727,{
|
||||
callfunc "Protector","pvp_n_7-4"; }
|
||||
pvp_n_7-4,100,100,4 script MVP-Protector#23 727,{
|
||||
callfunc "Protector","pvp_n_8-4"; }
|
||||
pvp_n_8-4,100,100,4 script MVP-Protector#24 727,{
|
||||
callfunc "Protector",""; }
|
||||
|
||||
pvp_n_1-5,100,100,4 script MVP-Protector#25 727,{
|
||||
callfunc "Protector","pvp_n_2-5"; }
|
||||
pvp_n_2-5,100,100,4 script MVP-Protector#26 727,{
|
||||
callfunc "Protector","pvp_n_3-5"; }
|
||||
pvp_n_3-5,100,100,4 script MVP-Protector#27 727,{
|
||||
callfunc "Protector","pvp_n_4-5"; }
|
||||
pvp_n_4-5,100,100,4 script MVP-Protector#28 727,{
|
||||
callfunc "Protector","pvp_n_5-5"; }
|
||||
pvp_n_5-5,100,100,4 script MVP-Protector#29 727,{
|
||||
callfunc "Protector","pvp_n_6-5"; }
|
||||
pvp_n_6-5,100,100,4 script MVP-Protector#30 727,{
|
||||
callfunc "Protector","pvp_n_7-5"; }
|
||||
pvp_n_7-5,100,100,4 script MVP-Protector#31 727,{
|
||||
callfunc "Protector","pvp_n_8-5"; }
|
||||
pvp_n_8-5,100,100,4 script MVP-Protector#32 727,{
|
||||
callfunc "Protector",""; }
|
||||
|
||||
// ==== Alpha ====
|
||||
pvp_n_1-2,0,0,0,0 monster Eddga 1115,3,60000,66000
|
||||
pvp_n_1-2,0,0,0,0 monster Mistress 1059,1,60000,66000
|
||||
pvp_n_2-2,0,0,0,0 monster Mistress 1059,3,60000,66000
|
||||
pvp_n_2-2,0,0,0,0 monster Moonlight 1150,1,60000,66000
|
||||
pvp_n_3-2,0,0,0,0 monster Mistress 1059,1,60000,66000
|
||||
pvp_n_3-2,0,0,0,0 monster Moonlight 1150,2,60000,66000
|
||||
pvp_n_3-2,0,0,0,0 monster Maya 1147,1,60000,66000
|
||||
pvp_n_4-2,0,0,0,0 monster Eddga 1115,1,60000,66000
|
||||
pvp_n_4-2,0,0,0,0 monster Mistress 1059,1,60000,66000
|
||||
pvp_n_4-2,0,0,0,0 monster Moonlight 1150,1,60000,66000
|
||||
pvp_n_4-2,0,0,0,0 monster Maya 1147,1,60000,66000
|
||||
pvp_n_5-2,0,0,0,0 monster Eddga 1115,1,60000,66000
|
||||
pvp_n_5-2,0,0,0,0 monster Mistress 1059,2,60000,66000
|
||||
pvp_n_5-2,0,0,0,0 monster Moonlight 1150,1,60000,66000
|
||||
pvp_n_5-2,0,0,0,0 monster Maya 1147,2,60000,66000
|
||||
pvp_n_6-2,0,0,0,0 monster Eddga 1115,2,60000,66000
|
||||
pvp_n_6-2,0,0,0,0 monster Mistress 1059,3,60000,66000
|
||||
pvp_n_6-2,0,0,0,0 monster Moonlight 1150,1,60000,66000
|
||||
pvp_n_6-2,0,0,0,0 monster Maya 1147,2,60000,66000
|
||||
pvp_n_7-2,0,0,0,0 monster Eddga 1115,3,60000,66000
|
||||
pvp_n_7-2,0,0,0,0 monster Mistress 1059,3,60000,66000
|
||||
pvp_n_7-2,0,0,0,0 monster Moonlight 1150,2,60000,66000
|
||||
pvp_n_7-2,0,0,0,0 monster Maya 1147,2,60000,66000
|
||||
pvp_n_8-2,0,0,0,0 monster Eddga 1115,3,60000,66000
|
||||
pvp_n_8-2,0,0,0,0 monster Mistress 1059,3,60000,66000
|
||||
pvp_n_8-2,0,0,0,0 monster Moonlight 1150,3,60000,66000
|
||||
pvp_n_8-2,0,0,0,0 monster Maya 1147,3,60000,66000
|
||||
|
||||
// ==== Beta ====
|
||||
pvp_n_1-3,0,0,0,0 monster Phreeoni 1159,3,60000,66000
|
||||
pvp_n_1-3,0,0,0,0 monster Turtle General 1312,1,60000,66000
|
||||
pvp_n_2-3,0,0,0,0 monster Phreeoni 1159,2,60000,66000
|
||||
pvp_n_2-3,0,0,0,0 monster Turtle General 1312,1,60000,66000
|
||||
pvp_n_2-3,0,0,0,0 monster Orc Hero 1087,1,60000,66000
|
||||
pvp_n_3-3,0,0,0,0 monster Phreeoni 1159,1,60000,66000
|
||||
pvp_n_3-3,0,0,0,0 monster Turtle General 1312,1,60000,66000
|
||||
pvp_n_3-3,0,0,0,0 monster Orc Hero 1087,1,60000,66000
|
||||
pvp_n_3-3,0,0,0,0 monster Orc Lord 1190,1,60000,66000
|
||||
pvp_n_4-3,0,0,0,0 monster Phreeoni 1159,2,60000,66000
|
||||
pvp_n_4-3,0,0,0,0 monster Turtle General 1312,1,60000,66000
|
||||
pvp_n_4-3,0,0,0,0 monster Orc Hero 1087,1,60000,66000
|
||||
pvp_n_4-3,0,0,0,0 monster Orc Lord 1190,1,60000,66000
|
||||
pvp_n_5-3,0,0,0,0 monster Phreeoni 1159,1,60000,66000
|
||||
pvp_n_5-3,0,0,0,0 monster Turtle General 1312,2,60000,66000
|
||||
pvp_n_5-3,0,0,0,0 monster Orc Hero 1087,2,60000,66000
|
||||
pvp_n_5-3,0,0,0,0 monster Orc Lord 1190,1,60000,66000
|
||||
pvp_n_6-3,0,0,0,0 monster Phreeoni 1159,2,60000,66000
|
||||
pvp_n_6-3,0,0,0,0 monster Turtle General 1312,1,60000,66000
|
||||
pvp_n_6-3,0,0,0,0 monster Orc Hero 1087,2,60000,66000
|
||||
pvp_n_6-3,0,0,0,0 monster Orc Lord 1190,2,60000,66000
|
||||
pvp_n_7-3,0,0,0,0 monster Phreeoni 1159,3,60000,66000
|
||||
pvp_n_7-3,0,0,0,0 monster Turtle General 1312,1,60000,66000
|
||||
pvp_n_7-3,0,0,0,0 monster Orc Hero 1087,2,60000,66000
|
||||
pvp_n_7-3,0,0,0,0 monster Orc Lord 1190,3,60000,66000
|
||||
pvp_n_8-3,0,0,0,0 monster Phreeoni 1159,3,60000,66000
|
||||
pvp_n_8-3,0,0,0,0 monster Turtle General 1312,3,60000,66000
|
||||
pvp_n_8-3,0,0,0,0 monster Orc Hero 1087,3,60000,66000
|
||||
pvp_n_8-3,0,0,0,0 monster Orc Lord 1190,3,60000,66000
|
||||
|
||||
// ==== Theta ====
|
||||
pvp_n_1-4,0,0,0,0 monster Drake 1112,3,60000,66000
|
||||
pvp_n_1-4,0,0,0,0 monster Osiris 1038,1,60000,66000
|
||||
pvp_n_2-4,0,0,0,0 monster Drake 1112,2,60000,66000
|
||||
pvp_n_2-4,0,0,0,0 monster Osiris 1038,1,60000,66000
|
||||
pvp_n_2-4,0,0,0,0 monster Doppelganger 1046,1,60000,66000
|
||||
pvp_n_3-4,0,0,0,0 monster Drake 1112,1,60000,66000
|
||||
pvp_n_3-4,0,0,0,0 monster Osiris 1038,1,60000,66000
|
||||
pvp_n_3-4,0,0,0,0 monster Doppelganger 1046,1,60000,66000
|
||||
pvp_n_3-4,0,0,0,0 monster Lord of Death 1373,1,60000,66000
|
||||
pvp_n_4-4,0,0,0,0 monster Drake 1112,2,60000,66000
|
||||
pvp_n_4-4,0,0,0,0 monster Osiris 1038,1,60000,66000
|
||||
pvp_n_4-4,0,0,0,0 monster Doppelganger 1046,2,60000,66000
|
||||
pvp_n_4-4,0,0,0,0 monster Lord of Death 1373,1,60000,66000
|
||||
pvp_n_5-4,0,0,0,0 monster Drake 1112,3,60000,66000
|
||||
pvp_n_5-4,0,0,0,0 monster Osiris 1038,2,60000,66000
|
||||
pvp_n_5-4,0,0,0,0 monster Doppelganger 1046,2,60000,66000
|
||||
pvp_n_5-4,0,0,0,0 monster Lord of Death 1373,1,60000,66000
|
||||
pvp_n_6-4,0,0,0,0 monster Drake 1112,3,60000,66000
|
||||
pvp_n_6-4,0,0,0,0 monster Osiris 1038,2,60000,66000
|
||||
pvp_n_6-4,0,0,0,0 monster Doppelganger 1046,2,60000,66000
|
||||
pvp_n_6-4,0,0,0,0 monster Lord of Death 1373,2,60000,66000
|
||||
pvp_n_7-4,0,0,0,0 monster Drake 1112,3,60000,66000
|
||||
pvp_n_7-4,0,0,0,0 monster Osiris 1038,2,60000,66000
|
||||
pvp_n_7-4,0,0,0,0 monster Doppelganger 1046,3,60000,66000
|
||||
pvp_n_7-4,0,0,0,0 monster Lord of Death 1373,2,60000,66000
|
||||
pvp_n_8-4,0,0,0,0 monster Drake 1112,3,60000,66000
|
||||
pvp_n_8-4,0,0,0,0 monster Osiris 1038,3,60000,66000
|
||||
pvp_n_8-4,0,0,0,0 monster Doppelganger 1046,3,60000,66000
|
||||
pvp_n_8-4,0,0,0,0 monster Lord of Death 1373,3,60000,66000
|
||||
|
||||
// ==== Epsilon ====
|
||||
pvp_n_1-5,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000
|
||||
pvp_n_1-5,0,0,0,0 monster Pharoh 1157,1,60000,66000
|
||||
pvp_n_2-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000
|
||||
pvp_n_2-5,0,0,0,0 monster Pharoh 1157,1,60000,66000
|
||||
pvp_n_2-5,0,0,0,0 monster Dark Lord 1272,1,60000,66000
|
||||
pvp_n_3-5,0,0,0,0 monster Incantation Samurai 1492,1,60000,66000
|
||||
pvp_n_3-5,0,0,0,0 monster Pharoh 1157,1,60000,66000
|
||||
pvp_n_3-5,0,0,0,0 monster Dark Lord 1272,1,60000,66000
|
||||
pvp_n_3-5,0,0,0,0 monster Baphomet 1039,1,60000,66000
|
||||
pvp_n_4-5,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000
|
||||
pvp_n_4-5,0,0,0,0 monster Pharoh 1157,1,60000,66000
|
||||
pvp_n_4-5,0,0,0,0 monster Dark Lord 1272,1,60000,66000
|
||||
pvp_n_4-5,0,0,0,0 monster Baphomet 1039,1,60000,66000
|
||||
pvp_n_5-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000
|
||||
pvp_n_5-5,0,0,0,0 monster Pharoh 1157,2,60000,66000
|
||||
pvp_n_5-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000
|
||||
pvp_n_5-5,0,0,0,0 monster Baphomet 1039,1,60000,66000
|
||||
pvp_n_6-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000
|
||||
pvp_n_6-5,0,0,0,0 monster Pharoh 1157,2,60000,66000
|
||||
pvp_n_6-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000
|
||||
pvp_n_6-5,0,0,0,0 monster Baphomet 1039,1,60000,66000
|
||||
pvp_n_7-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000
|
||||
pvp_n_7-5,0,0,0,0 monster Pharoh 1157,2,60000,66000
|
||||
pvp_n_7-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000
|
||||
pvp_n_7-5,0,0,0,0 monster Baphomet 1039,2,60000,66000
|
||||
pvp_n_8-5,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000
|
||||
pvp_n_8-5,0,0,0,0 monster Pharoh 1157,2,60000,66000
|
||||
pvp_n_8-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000
|
||||
pvp_n_8-5,0,0,0,0 monster Baphomet 1039,2,60000,66000
|
||||
|
||||
// ==== Mapflags ====
|
||||
pvp_n_1-1 mapflag pvp_nightmaredrop off
|
||||
pvp_n_2-1 mapflag pvp_nightmaredrop off
|
||||
pvp_n_3-1 mapflag pvp_nightmaredrop off
|
||||
pvp_n_4-1 mapflag pvp_nightmaredrop off
|
||||
pvp_n_5-1 mapflag pvp_nightmaredrop off
|
||||
pvp_n_6-1 mapflag pvp_nightmaredrop off
|
||||
pvp_n_7-1 mapflag pvp_nightmaredrop off
|
||||
pvp_n_8-1 mapflag pvp_nightmaredrop off
|
||||
pvp_n_1-2 mapflag pvp_nightmaredrop off
|
||||
pvp_n_2-2 mapflag pvp_nightmaredrop off
|
||||
pvp_n_3-2 mapflag pvp_nightmaredrop off
|
||||
pvp_n_4-2 mapflag pvp_nightmaredrop off
|
||||
pvp_n_5-2 mapflag pvp_nightmaredrop off
|
||||
pvp_n_6-2 mapflag pvp_nightmaredrop off
|
||||
pvp_n_7-2 mapflag pvp_nightmaredrop off
|
||||
pvp_n_8-2 mapflag pvp_nightmaredrop off
|
||||
pvp_n_1-3 mapflag pvp_nightmaredrop off
|
||||
pvp_n_2-3 mapflag pvp_nightmaredrop off
|
||||
pvp_n_3-3 mapflag pvp_nightmaredrop off
|
||||
pvp_n_4-3 mapflag pvp_nightmaredrop off
|
||||
pvp_n_5-3 mapflag pvp_nightmaredrop off
|
||||
pvp_n_6-3 mapflag pvp_nightmaredrop off
|
||||
pvp_n_7-3 mapflag pvp_nightmaredrop off
|
||||
pvp_n_8-3 mapflag pvp_nightmaredrop off
|
||||
pvp_n_1-4 mapflag pvp_nightmaredrop off
|
||||
pvp_n_2-4 mapflag pvp_nightmaredrop off
|
||||
pvp_n_3-4 mapflag pvp_nightmaredrop off
|
||||
pvp_n_4-4 mapflag pvp_nightmaredrop off
|
||||
pvp_n_5-4 mapflag pvp_nightmaredrop off
|
||||
pvp_n_6-4 mapflag pvp_nightmaredrop off
|
||||
pvp_n_7-4 mapflag pvp_nightmaredrop off
|
||||
pvp_n_8-4 mapflag pvp_nightmaredrop off
|
||||
pvp_n_1-5 mapflag pvp_nightmaredrop off
|
||||
pvp_n_2-5 mapflag pvp_nightmaredrop off
|
||||
pvp_n_3-5 mapflag pvp_nightmaredrop off
|
||||
pvp_n_4-5 mapflag pvp_nightmaredrop off
|
||||
pvp_n_5-5 mapflag pvp_nightmaredrop off
|
||||
pvp_n_6-5 mapflag pvp_nightmaredrop off
|
||||
pvp_n_7-5 mapflag pvp_nightmaredrop off
|
||||
//===== rAthena Script =======================================
|
||||
//= MVP Arena
|
||||
//===== By: ==================================================
|
||||
//= Darkchild
|
||||
//===== Current Version: =====================================
|
||||
//= 1.4
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Rooms containing 16 different MVPs
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 first version of script
|
||||
//= 1.1 Optimised The MVP arena [massdriller]
|
||||
//= 1.2 - NPC in prontera [Silent]
|
||||
//= 1.3 - Removed Duplicates
|
||||
//= 1.4 - Optimized, text edited [Euphy]
|
||||
//============================================================
|
||||
|
||||
// ==== Entrance ====
|
||||
prontera,154,197,3 script MVP Warper 768,{
|
||||
mes "[ ^0065DFMVP Warper^000000 ]";
|
||||
mes "Would you like to enter";
|
||||
mes "the MVP Arena?";
|
||||
if (select("Yes!","No thanks.") == 2) close;
|
||||
warp "quiz_00",50,24;
|
||||
close;
|
||||
}
|
||||
|
||||
// ==== Information NPC ====
|
||||
quiz_00,49,31,4 script MVP Arena Guide 778,{
|
||||
mes "[ ^0065DFMVP Arena Guide^000000 ]";
|
||||
mes "Welcome and behold this sacred place. Here you will find out if you truly have what it takes to call yourself a warrior.";
|
||||
next;
|
||||
switch(select("Information","Heal me!","Return to Prontera","Cancel")) {
|
||||
case 1:
|
||||
mes "[ ^0065DFMVP Arena Guide^000000 ]";
|
||||
mes "There are four Keepers, and each can spawn four different MVPs.";
|
||||
mes "There are eight rooms per Keeper, and sixteen MVPs in total.";
|
||||
close;
|
||||
case 2:
|
||||
specialeffect2 313;
|
||||
percentheal 100,100;
|
||||
close;
|
||||
case 3:
|
||||
warp "prontera",156,179;
|
||||
close;
|
||||
case 4:
|
||||
close; }
|
||||
}
|
||||
|
||||
// ==== Keepers ====
|
||||
function script Keeper {
|
||||
mes "[ ^0065DF"+strnpcinfo(1)+"^000000 ]";
|
||||
mes "Which arena would you";
|
||||
mes "like to enter?";
|
||||
set .@menu$,"";
|
||||
for(set .@i,1; .@i<9; set .@i,.@i+1)
|
||||
set .@menu$, .@menu$+"Arena "+.@i+" ["+getmapusers("pvp_n_"+.@i+"-"+getarg(0))+"/20]:";
|
||||
set .@i, select(.@menu$);
|
||||
if (getmapusers("pvp_n_"+.@i+"-"+getarg(0))>19) {
|
||||
mes "[ ^0065DF"+strnpcinfo(1)+"^000000 ]";
|
||||
mes "Sorry, this arena is full!";
|
||||
close; }
|
||||
warp "pvp_n_"+.@i+"-"+getarg(0),102,102;
|
||||
close;
|
||||
}
|
||||
|
||||
quiz_00,56,31,4 script Alpha MVP 770,{
|
||||
callfunc "Keeper",2; }
|
||||
quiz_00,58,31,4 script Beta MVP 773,{
|
||||
callfunc "Keeper",3; }
|
||||
quiz_00,60,31,4 script Theta MVP 774,{
|
||||
callfunc "Keeper",4; }
|
||||
quiz_00,62,31,4 script Epsilon MVP 776,{
|
||||
callfunc "Keeper",5; }
|
||||
|
||||
// ==== Protectors ====
|
||||
function script Protector {
|
||||
switch(select(""+((getarg(0)=="")?"":"Harder Monsters")+":Heal:Exit")) {
|
||||
case 1:
|
||||
warp getarg(0),102,102;
|
||||
close;
|
||||
case 2:
|
||||
specialeffect2 313;
|
||||
percentheal 100,100;
|
||||
close;
|
||||
case 3:
|
||||
warp "prontera",156,179;
|
||||
close; }
|
||||
}
|
||||
|
||||
pvp_n_1-2,100,100,4 script MVP-Protector#01 727,{
|
||||
callfunc "Protector","pvp_n_2-2"; }
|
||||
pvp_n_2-2,100,100,4 script MVP-Protector#02 727,{
|
||||
callfunc "Protector","pvp_n_3-2"; }
|
||||
pvp_n_3-2,100,100,4 script MVP-Protector#03 727,{
|
||||
callfunc "Protector","pvp_n_4-2"; }
|
||||
pvp_n_4-2,100,100,4 script MVP-Protector#04 727,{
|
||||
callfunc "Protector","pvp_n_5-2"; }
|
||||
pvp_n_5-2,100,100,4 script MVP-Protector#05 727,{
|
||||
callfunc "Protector","pvp_n_6-2"; }
|
||||
pvp_n_6-2,100,100,4 script MVP-Protector#06 727,{
|
||||
callfunc "Protector","pvp_n_7-2"; }
|
||||
pvp_n_7-2,100,100,4 script MVP-Protector#07 727,{
|
||||
callfunc "Protector","pvp_n_8-2"; }
|
||||
pvp_n_8-2,100,100,4 script MVP-Protector#08 727,{
|
||||
callfunc "Protector",""; }
|
||||
|
||||
pvp_n_1-3,100,100,4 script MVP-Protector#09 727,{
|
||||
callfunc "Protector","pvp_n_2-3"; }
|
||||
pvp_n_2-3,100,100,4 script MVP-Protector#10 727,{
|
||||
callfunc "Protector","pvp_n_3-3"; }
|
||||
pvp_n_3-3,100,100,4 script MVP-Protector#11 727,{
|
||||
callfunc "Protector","pvp_n_4-3"; }
|
||||
pvp_n_4-3,100,100,4 script MVP-Protector#12 727,{
|
||||
callfunc "Protector","pvp_n_5-3"; }
|
||||
pvp_n_5-3,100,100,4 script MVP-Protector#13 727,{
|
||||
callfunc "Protector","pvp_n_6-3"; }
|
||||
pvp_n_6-3,100,100,4 script MVP-Protector#14 727,{
|
||||
callfunc "Protector","pvp_n_7-3"; }
|
||||
pvp_n_7-3,100,100,4 script MVP-Protector#15 727,{
|
||||
callfunc "Protector","pvp_n_8-3"; }
|
||||
pvp_n_8-3,100,100,4 script MVP-Protector#16 727,{
|
||||
callfunc "Protector",""; }
|
||||
|
||||
pvp_n_1-4,100,100,4 script MVP-Protector#17 727,{
|
||||
callfunc "Protector","pvp_n_2-4"; }
|
||||
pvp_n_2-4,100,100,4 script MVP-Protector#18 727,{
|
||||
callfunc "Protector","pvp_n_3-4"; }
|
||||
pvp_n_3-4,100,100,4 script MVP-Protector#19 727,{
|
||||
callfunc "Protector","pvp_n_4-4"; }
|
||||
pvp_n_4-4,100,100,4 script MVP-Protector#20 727,{
|
||||
callfunc "Protector","pvp_n_5-4"; }
|
||||
pvp_n_5-4,100,100,4 script MVP-Protector#21 727,{
|
||||
callfunc "Protector","pvp_n_6-4"; }
|
||||
pvp_n_6-4,100,100,4 script MVP-Protector#22 727,{
|
||||
callfunc "Protector","pvp_n_7-4"; }
|
||||
pvp_n_7-4,100,100,4 script MVP-Protector#23 727,{
|
||||
callfunc "Protector","pvp_n_8-4"; }
|
||||
pvp_n_8-4,100,100,4 script MVP-Protector#24 727,{
|
||||
callfunc "Protector",""; }
|
||||
|
||||
pvp_n_1-5,100,100,4 script MVP-Protector#25 727,{
|
||||
callfunc "Protector","pvp_n_2-5"; }
|
||||
pvp_n_2-5,100,100,4 script MVP-Protector#26 727,{
|
||||
callfunc "Protector","pvp_n_3-5"; }
|
||||
pvp_n_3-5,100,100,4 script MVP-Protector#27 727,{
|
||||
callfunc "Protector","pvp_n_4-5"; }
|
||||
pvp_n_4-5,100,100,4 script MVP-Protector#28 727,{
|
||||
callfunc "Protector","pvp_n_5-5"; }
|
||||
pvp_n_5-5,100,100,4 script MVP-Protector#29 727,{
|
||||
callfunc "Protector","pvp_n_6-5"; }
|
||||
pvp_n_6-5,100,100,4 script MVP-Protector#30 727,{
|
||||
callfunc "Protector","pvp_n_7-5"; }
|
||||
pvp_n_7-5,100,100,4 script MVP-Protector#31 727,{
|
||||
callfunc "Protector","pvp_n_8-5"; }
|
||||
pvp_n_8-5,100,100,4 script MVP-Protector#32 727,{
|
||||
callfunc "Protector",""; }
|
||||
|
||||
// ==== Alpha ====
|
||||
pvp_n_1-2,0,0,0,0 monster Eddga 1115,3,60000,66000
|
||||
pvp_n_1-2,0,0,0,0 monster Mistress 1059,1,60000,66000
|
||||
pvp_n_2-2,0,0,0,0 monster Mistress 1059,3,60000,66000
|
||||
pvp_n_2-2,0,0,0,0 monster Moonlight 1150,1,60000,66000
|
||||
pvp_n_3-2,0,0,0,0 monster Mistress 1059,1,60000,66000
|
||||
pvp_n_3-2,0,0,0,0 monster Moonlight 1150,2,60000,66000
|
||||
pvp_n_3-2,0,0,0,0 monster Maya 1147,1,60000,66000
|
||||
pvp_n_4-2,0,0,0,0 monster Eddga 1115,1,60000,66000
|
||||
pvp_n_4-2,0,0,0,0 monster Mistress 1059,1,60000,66000
|
||||
pvp_n_4-2,0,0,0,0 monster Moonlight 1150,1,60000,66000
|
||||
pvp_n_4-2,0,0,0,0 monster Maya 1147,1,60000,66000
|
||||
pvp_n_5-2,0,0,0,0 monster Eddga 1115,1,60000,66000
|
||||
pvp_n_5-2,0,0,0,0 monster Mistress 1059,2,60000,66000
|
||||
pvp_n_5-2,0,0,0,0 monster Moonlight 1150,1,60000,66000
|
||||
pvp_n_5-2,0,0,0,0 monster Maya 1147,2,60000,66000
|
||||
pvp_n_6-2,0,0,0,0 monster Eddga 1115,2,60000,66000
|
||||
pvp_n_6-2,0,0,0,0 monster Mistress 1059,3,60000,66000
|
||||
pvp_n_6-2,0,0,0,0 monster Moonlight 1150,1,60000,66000
|
||||
pvp_n_6-2,0,0,0,0 monster Maya 1147,2,60000,66000
|
||||
pvp_n_7-2,0,0,0,0 monster Eddga 1115,3,60000,66000
|
||||
pvp_n_7-2,0,0,0,0 monster Mistress 1059,3,60000,66000
|
||||
pvp_n_7-2,0,0,0,0 monster Moonlight 1150,2,60000,66000
|
||||
pvp_n_7-2,0,0,0,0 monster Maya 1147,2,60000,66000
|
||||
pvp_n_8-2,0,0,0,0 monster Eddga 1115,3,60000,66000
|
||||
pvp_n_8-2,0,0,0,0 monster Mistress 1059,3,60000,66000
|
||||
pvp_n_8-2,0,0,0,0 monster Moonlight 1150,3,60000,66000
|
||||
pvp_n_8-2,0,0,0,0 monster Maya 1147,3,60000,66000
|
||||
|
||||
// ==== Beta ====
|
||||
pvp_n_1-3,0,0,0,0 monster Phreeoni 1159,3,60000,66000
|
||||
pvp_n_1-3,0,0,0,0 monster Turtle General 1312,1,60000,66000
|
||||
pvp_n_2-3,0,0,0,0 monster Phreeoni 1159,2,60000,66000
|
||||
pvp_n_2-3,0,0,0,0 monster Turtle General 1312,1,60000,66000
|
||||
pvp_n_2-3,0,0,0,0 monster Orc Hero 1087,1,60000,66000
|
||||
pvp_n_3-3,0,0,0,0 monster Phreeoni 1159,1,60000,66000
|
||||
pvp_n_3-3,0,0,0,0 monster Turtle General 1312,1,60000,66000
|
||||
pvp_n_3-3,0,0,0,0 monster Orc Hero 1087,1,60000,66000
|
||||
pvp_n_3-3,0,0,0,0 monster Orc Lord 1190,1,60000,66000
|
||||
pvp_n_4-3,0,0,0,0 monster Phreeoni 1159,2,60000,66000
|
||||
pvp_n_4-3,0,0,0,0 monster Turtle General 1312,1,60000,66000
|
||||
pvp_n_4-3,0,0,0,0 monster Orc Hero 1087,1,60000,66000
|
||||
pvp_n_4-3,0,0,0,0 monster Orc Lord 1190,1,60000,66000
|
||||
pvp_n_5-3,0,0,0,0 monster Phreeoni 1159,1,60000,66000
|
||||
pvp_n_5-3,0,0,0,0 monster Turtle General 1312,2,60000,66000
|
||||
pvp_n_5-3,0,0,0,0 monster Orc Hero 1087,2,60000,66000
|
||||
pvp_n_5-3,0,0,0,0 monster Orc Lord 1190,1,60000,66000
|
||||
pvp_n_6-3,0,0,0,0 monster Phreeoni 1159,2,60000,66000
|
||||
pvp_n_6-3,0,0,0,0 monster Turtle General 1312,1,60000,66000
|
||||
pvp_n_6-3,0,0,0,0 monster Orc Hero 1087,2,60000,66000
|
||||
pvp_n_6-3,0,0,0,0 monster Orc Lord 1190,2,60000,66000
|
||||
pvp_n_7-3,0,0,0,0 monster Phreeoni 1159,3,60000,66000
|
||||
pvp_n_7-3,0,0,0,0 monster Turtle General 1312,1,60000,66000
|
||||
pvp_n_7-3,0,0,0,0 monster Orc Hero 1087,2,60000,66000
|
||||
pvp_n_7-3,0,0,0,0 monster Orc Lord 1190,3,60000,66000
|
||||
pvp_n_8-3,0,0,0,0 monster Phreeoni 1159,3,60000,66000
|
||||
pvp_n_8-3,0,0,0,0 monster Turtle General 1312,3,60000,66000
|
||||
pvp_n_8-3,0,0,0,0 monster Orc Hero 1087,3,60000,66000
|
||||
pvp_n_8-3,0,0,0,0 monster Orc Lord 1190,3,60000,66000
|
||||
|
||||
// ==== Theta ====
|
||||
pvp_n_1-4,0,0,0,0 monster Drake 1112,3,60000,66000
|
||||
pvp_n_1-4,0,0,0,0 monster Osiris 1038,1,60000,66000
|
||||
pvp_n_2-4,0,0,0,0 monster Drake 1112,2,60000,66000
|
||||
pvp_n_2-4,0,0,0,0 monster Osiris 1038,1,60000,66000
|
||||
pvp_n_2-4,0,0,0,0 monster Doppelganger 1046,1,60000,66000
|
||||
pvp_n_3-4,0,0,0,0 monster Drake 1112,1,60000,66000
|
||||
pvp_n_3-4,0,0,0,0 monster Osiris 1038,1,60000,66000
|
||||
pvp_n_3-4,0,0,0,0 monster Doppelganger 1046,1,60000,66000
|
||||
pvp_n_3-4,0,0,0,0 monster Lord of Death 1373,1,60000,66000
|
||||
pvp_n_4-4,0,0,0,0 monster Drake 1112,2,60000,66000
|
||||
pvp_n_4-4,0,0,0,0 monster Osiris 1038,1,60000,66000
|
||||
pvp_n_4-4,0,0,0,0 monster Doppelganger 1046,2,60000,66000
|
||||
pvp_n_4-4,0,0,0,0 monster Lord of Death 1373,1,60000,66000
|
||||
pvp_n_5-4,0,0,0,0 monster Drake 1112,3,60000,66000
|
||||
pvp_n_5-4,0,0,0,0 monster Osiris 1038,2,60000,66000
|
||||
pvp_n_5-4,0,0,0,0 monster Doppelganger 1046,2,60000,66000
|
||||
pvp_n_5-4,0,0,0,0 monster Lord of Death 1373,1,60000,66000
|
||||
pvp_n_6-4,0,0,0,0 monster Drake 1112,3,60000,66000
|
||||
pvp_n_6-4,0,0,0,0 monster Osiris 1038,2,60000,66000
|
||||
pvp_n_6-4,0,0,0,0 monster Doppelganger 1046,2,60000,66000
|
||||
pvp_n_6-4,0,0,0,0 monster Lord of Death 1373,2,60000,66000
|
||||
pvp_n_7-4,0,0,0,0 monster Drake 1112,3,60000,66000
|
||||
pvp_n_7-4,0,0,0,0 monster Osiris 1038,2,60000,66000
|
||||
pvp_n_7-4,0,0,0,0 monster Doppelganger 1046,3,60000,66000
|
||||
pvp_n_7-4,0,0,0,0 monster Lord of Death 1373,2,60000,66000
|
||||
pvp_n_8-4,0,0,0,0 monster Drake 1112,3,60000,66000
|
||||
pvp_n_8-4,0,0,0,0 monster Osiris 1038,3,60000,66000
|
||||
pvp_n_8-4,0,0,0,0 monster Doppelganger 1046,3,60000,66000
|
||||
pvp_n_8-4,0,0,0,0 monster Lord of Death 1373,3,60000,66000
|
||||
|
||||
// ==== Epsilon ====
|
||||
pvp_n_1-5,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000
|
||||
pvp_n_1-5,0,0,0,0 monster Pharoh 1157,1,60000,66000
|
||||
pvp_n_2-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000
|
||||
pvp_n_2-5,0,0,0,0 monster Pharoh 1157,1,60000,66000
|
||||
pvp_n_2-5,0,0,0,0 monster Dark Lord 1272,1,60000,66000
|
||||
pvp_n_3-5,0,0,0,0 monster Incantation Samurai 1492,1,60000,66000
|
||||
pvp_n_3-5,0,0,0,0 monster Pharoh 1157,1,60000,66000
|
||||
pvp_n_3-5,0,0,0,0 monster Dark Lord 1272,1,60000,66000
|
||||
pvp_n_3-5,0,0,0,0 monster Baphomet 1039,1,60000,66000
|
||||
pvp_n_4-5,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000
|
||||
pvp_n_4-5,0,0,0,0 monster Pharoh 1157,1,60000,66000
|
||||
pvp_n_4-5,0,0,0,0 monster Dark Lord 1272,1,60000,66000
|
||||
pvp_n_4-5,0,0,0,0 monster Baphomet 1039,1,60000,66000
|
||||
pvp_n_5-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000
|
||||
pvp_n_5-5,0,0,0,0 monster Pharoh 1157,2,60000,66000
|
||||
pvp_n_5-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000
|
||||
pvp_n_5-5,0,0,0,0 monster Baphomet 1039,1,60000,66000
|
||||
pvp_n_6-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000
|
||||
pvp_n_6-5,0,0,0,0 monster Pharoh 1157,2,60000,66000
|
||||
pvp_n_6-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000
|
||||
pvp_n_6-5,0,0,0,0 monster Baphomet 1039,1,60000,66000
|
||||
pvp_n_7-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000
|
||||
pvp_n_7-5,0,0,0,0 monster Pharoh 1157,2,60000,66000
|
||||
pvp_n_7-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000
|
||||
pvp_n_7-5,0,0,0,0 monster Baphomet 1039,2,60000,66000
|
||||
pvp_n_8-5,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000
|
||||
pvp_n_8-5,0,0,0,0 monster Pharoh 1157,2,60000,66000
|
||||
pvp_n_8-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000
|
||||
pvp_n_8-5,0,0,0,0 monster Baphomet 1039,2,60000,66000
|
||||
|
||||
// ==== Mapflags ====
|
||||
pvp_n_1-1 mapflag pvp_nightmaredrop off
|
||||
pvp_n_2-1 mapflag pvp_nightmaredrop off
|
||||
pvp_n_3-1 mapflag pvp_nightmaredrop off
|
||||
pvp_n_4-1 mapflag pvp_nightmaredrop off
|
||||
pvp_n_5-1 mapflag pvp_nightmaredrop off
|
||||
pvp_n_6-1 mapflag pvp_nightmaredrop off
|
||||
pvp_n_7-1 mapflag pvp_nightmaredrop off
|
||||
pvp_n_8-1 mapflag pvp_nightmaredrop off
|
||||
pvp_n_1-2 mapflag pvp_nightmaredrop off
|
||||
pvp_n_2-2 mapflag pvp_nightmaredrop off
|
||||
pvp_n_3-2 mapflag pvp_nightmaredrop off
|
||||
pvp_n_4-2 mapflag pvp_nightmaredrop off
|
||||
pvp_n_5-2 mapflag pvp_nightmaredrop off
|
||||
pvp_n_6-2 mapflag pvp_nightmaredrop off
|
||||
pvp_n_7-2 mapflag pvp_nightmaredrop off
|
||||
pvp_n_8-2 mapflag pvp_nightmaredrop off
|
||||
pvp_n_1-3 mapflag pvp_nightmaredrop off
|
||||
pvp_n_2-3 mapflag pvp_nightmaredrop off
|
||||
pvp_n_3-3 mapflag pvp_nightmaredrop off
|
||||
pvp_n_4-3 mapflag pvp_nightmaredrop off
|
||||
pvp_n_5-3 mapflag pvp_nightmaredrop off
|
||||
pvp_n_6-3 mapflag pvp_nightmaredrop off
|
||||
pvp_n_7-3 mapflag pvp_nightmaredrop off
|
||||
pvp_n_8-3 mapflag pvp_nightmaredrop off
|
||||
pvp_n_1-4 mapflag pvp_nightmaredrop off
|
||||
pvp_n_2-4 mapflag pvp_nightmaredrop off
|
||||
pvp_n_3-4 mapflag pvp_nightmaredrop off
|
||||
pvp_n_4-4 mapflag pvp_nightmaredrop off
|
||||
pvp_n_5-4 mapflag pvp_nightmaredrop off
|
||||
pvp_n_6-4 mapflag pvp_nightmaredrop off
|
||||
pvp_n_7-4 mapflag pvp_nightmaredrop off
|
||||
pvp_n_8-4 mapflag pvp_nightmaredrop off
|
||||
pvp_n_1-5 mapflag pvp_nightmaredrop off
|
||||
pvp_n_2-5 mapflag pvp_nightmaredrop off
|
||||
pvp_n_3-5 mapflag pvp_nightmaredrop off
|
||||
pvp_n_4-5 mapflag pvp_nightmaredrop off
|
||||
pvp_n_5-5 mapflag pvp_nightmaredrop off
|
||||
pvp_n_6-5 mapflag pvp_nightmaredrop off
|
||||
pvp_n_7-5 mapflag pvp_nightmaredrop off
|
||||
pvp_n_8-5 mapflag pvp_nightmaredrop off
|
@ -1,193 +1,193 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Penal Servitude
|
||||
//===== By: ==================================================
|
||||
//= Lupus
|
||||
//===== Current Version: =====================================
|
||||
//= 1.2
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= A simple Penal Servitude Script.
|
||||
//= It could cheer up your prisoners a bit.
|
||||
//===== Additional Comments: =================================
|
||||
// This script uses CHEQUES of the 2nd KAFRA_BANK.TXT
|
||||
// var PRISON - it counts number of your imprisonments.
|
||||
// 1.1 English translation
|
||||
// 1.2 Stricted the conditions a bit
|
||||
//============================================================
|
||||
|
||||
sec_pri,36,58,1 script Chief Warder 105,{
|
||||
mes "[Saddeus]";
|
||||
emotion 1;
|
||||
if(sex) {
|
||||
mes "Mr. Prisoner #"+BaseLevel+JobLevel+",";
|
||||
} else {
|
||||
mes "Ms. Prisoner #"+BaseLevel+JobLevel+",";
|
||||
}
|
||||
mes "what's the noise over there?";
|
||||
next;
|
||||
menu "Let me free, I'll pay!",-, "Let me to work off my freedom!",M_Q1, "Nothing",M_NO_THANKS;
|
||||
|
||||
M_PAY:
|
||||
mes "[Saddeus]";
|
||||
set @MUSTPAY,(PRISON+1)*1000000;
|
||||
if (@MUSTPAY<1000000) set @MUSTPAY,1000000;
|
||||
if (@MUSTPAY>100000000) set @MUSTPAY,100000000;
|
||||
if (PRISON==1) mes "I can't remember you. Is it your 1st time?";
|
||||
if (PRISON>1) mes "You again? Sombody hasn't grown wiser from the very first visit...";
|
||||
mes "OK, we could release you for ^FF0000"+@MUSTPAY+"z^000000.";
|
||||
next;
|
||||
menu "I pay cash!",M_PAYCASH,"Do you accept cheques?",M_PAYBANK,"I've changed my mind.",-;
|
||||
|
||||
mes "[Saddeus]";
|
||||
mes "You've got some time to think about...";
|
||||
close;
|
||||
|
||||
M_PAYCASH:
|
||||
if (@MUSTPAY>Zeny) goto L_NOCASH;
|
||||
set Zeny,Zeny-@MUSTPAY;
|
||||
mes "[Saddeus]";
|
||||
mes "OK, sing here and there.";
|
||||
goto L_RELEASE;
|
||||
|
||||
L_NOCASH:
|
||||
mes "[Saddeus]";
|
||||
mes "What's this? It's not enough!";
|
||||
close;
|
||||
|
||||
M_PAYBANK:
|
||||
if (@MUSTPAY>#kafrabank) goto L_NOBANK;
|
||||
set #kafrabank,#kafrabank-@MUSTPAY;
|
||||
mes "[Saddeus]";
|
||||
mes "OK, sign your cheque. And put down your name in my book.";
|
||||
goto L_RELEASE;
|
||||
|
||||
L_NOBANK:
|
||||
mes "[Saddeus]";
|
||||
if (#kafrabank==0) mes "Your case says nothing about your bank accounts.";
|
||||
if (#kafrabank!=0) mes "Alas, there's your bank account info... ^FF0000"+#kafrabank+"z^000000... in the case. It's not enough.";
|
||||
mes "Stop your silly games now!";
|
||||
close;
|
||||
|
||||
L_RELEASE:
|
||||
set PRISON,PRISON+1;
|
||||
next;
|
||||
mes "[Saddeus]";
|
||||
mes "You are free now!";
|
||||
next;
|
||||
savepoint "izlude",105,112;
|
||||
warp "izlude",105,112;
|
||||
close;
|
||||
|
||||
M_Q1:
|
||||
mes "[Saddeus]";
|
||||
mes "Our stocks are short of toadstools. Remember your morning's skilly? What about some work at our sponsored mushroom farm?";
|
||||
next;
|
||||
menu "OK, I'll work off!",-, "I love this prison!",M_NO_THANKS;
|
||||
|
||||
mes "[Saddeus]";
|
||||
if(checkcart() || checkfalcon() || checkriding()){
|
||||
emotion e_hmm;
|
||||
mes "I'm sorry, you should release your Cart, PecoPeco or Falcon!";
|
||||
close;
|
||||
}
|
||||
mes "Talk to our overseer, Oliver.";
|
||||
next;
|
||||
|
||||
nude;
|
||||
|
||||
set @rw,rand(1,4);
|
||||
if (@rw==2) goto L_W2;
|
||||
if (@rw==3) goto L_W3;
|
||||
if (@rw==4) goto L_W4;
|
||||
|
||||
L_W1:
|
||||
savepoint "sec_in02",179,76;
|
||||
warp "sec_in02",179,76;
|
||||
close;
|
||||
|
||||
L_W2:
|
||||
savepoint "sec_in02",139,32;
|
||||
warp "sec_in02",139,32;
|
||||
close;
|
||||
|
||||
L_W3:
|
||||
savepoint "sec_in02",100,28;
|
||||
warp "sec_in02",100,28;
|
||||
close;
|
||||
|
||||
L_W4:
|
||||
savepoint "sec_in02",107,75;
|
||||
warp "sec_in02",107,75;
|
||||
close;
|
||||
|
||||
M_NO_THANKS:
|
||||
mes "[Saddeus]";
|
||||
if (rand(2)) mes "Is today X-Mas time, huh?";
|
||||
mes "Now shut up and back off!";
|
||||
if (rand(2)) emotion 23;
|
||||
close;
|
||||
}
|
||||
|
||||
sec_in02,137,57,1 script Overseer 708,{
|
||||
mes "[Oliver]";
|
||||
|
||||
delitem 4002,countitem(4002);//Items: Fabre_Card,
|
||||
delitem 4009,countitem(4009);//Items: Chonchon_Card,
|
||||
delitem 4022,countitem(4022);//Items: Spore_Card,
|
||||
delitem 4048,countitem(4048);//Items: Poison_Spore_Card,
|
||||
|
||||
if (PRISON_Q <= 0 ) goto L_GET_Q;
|
||||
|
||||
mes "I want you to gather ^FF0000"+PRISON_Q+" Orange Net Mushroom^000000.";
|
||||
if ( countitem(1069)<PRISON_Q ) close;//Items: Orange_Net_Mushroom,
|
||||
mes "OK... hand me all the shrooms...";
|
||||
mes "Let me see... "+countitem(1069)+" of almost eadible ones...";//Items: Orange_Net_Mushroom,
|
||||
mes "And "+countitem(1070)+" useless deadly ones.";//Items: Orange_Gooey_Mushroom_,
|
||||
next;
|
||||
mes "[Oliver]";
|
||||
mes "Thank you. You are free!";
|
||||
set PRISON_Q,0;
|
||||
delitem 1069,countitem(1069);//Items: Orange_Net_Mushroom,
|
||||
delitem 1070,countitem(1070);//Items: Orange_Gooey_Mushroom_,
|
||||
next;
|
||||
savepoint "izlude",105,112;
|
||||
warp "izlude",105,112;
|
||||
close;
|
||||
|
||||
L_GET_Q:
|
||||
set PRISON,PRISON+1;
|
||||
if (PRISON > 1) mes "Hmm... You've been here already... Well-well...";
|
||||
|
||||
if ( countitem(1069) || countitem(1070) ) mes "Drop these mushrooms!! They are poisonous!";//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_,
|
||||
delitem 1069,countitem(1069);//Items: Orange_Net_Mushroom,
|
||||
delitem 1070,countitem(1070);//Items: Orange_Gooey_Mushroom_,
|
||||
|
||||
set PRISON_Q, PRISON*3 + BaseLevel/3;
|
||||
set PRISON_Q, PRISON_Q * (readparam(bAspd)/55 + 1);
|
||||
set PRISON_Q, PRISON_Q+rand(50,60);
|
||||
mes "OK, you must bring me ^FF0000"+PRISON_Q+"^000000 edible ^FF0000Orange Net Mushroom^000000 toadstoo.. shrooms.";
|
||||
if(readparam(bAspd)>=100) mes "You're a fast fella! You'll have to get more shrooms, then.";
|
||||
if (rand(10)<4) mes "And you may eat the deadly ones for breakfast.";
|
||||
close;
|
||||
}
|
||||
|
||||
|
||||
sec_in02 mapflag nomemo
|
||||
sec_in02 mapflag nosave SavePoint
|
||||
sec_in02 mapflag noteleport
|
||||
sec_in02 mapflag nobranch
|
||||
sec_in02 mapflag nowarp
|
||||
sec_in02 mapflag nowarpto
|
||||
sec_in02 mapflag noexp
|
||||
sec_in02 mapflag noskill
|
||||
//sec_in02 mapflag pvp
|
||||
//sec_in02 mapflag pvp_noparty
|
||||
//sec_in02 mapflag gvg
|
||||
sec_in02 mapflag pvp_nightmaredrop random,all,300
|
||||
|
||||
sec_in02,138,55,100,100 monster Toadstool 1182,30,10000,10000,1
|
||||
sec_in02,138,55,100,100 monster Fabre 1184,10,20000,20000
|
||||
sec_in02,138,55,100,100 monster Chonchon 1183,11,20000,20000
|
||||
sec_in02,138,55,100,100 monster Spore 1014,12,20000,20000
|
||||
sec_in02,138,55,100,100 monster Poison Spore 1077,3,20000,20000
|
||||
//===== rAthena Script =======================================
|
||||
//= Penal Servitude
|
||||
//===== By: ==================================================
|
||||
//= Lupus
|
||||
//===== Current Version: =====================================
|
||||
//= 1.2
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= A simple Penal Servitude Script.
|
||||
//= It could cheer up your prisoners a bit.
|
||||
//===== Additional Comments: =================================
|
||||
// This script uses CHEQUES of the 2nd KAFRA_BANK.TXT
|
||||
// var PRISON - it counts number of your imprisonments.
|
||||
// 1.1 English translation
|
||||
// 1.2 Stricted the conditions a bit
|
||||
//============================================================
|
||||
|
||||
sec_pri,36,58,1 script Chief Warder 105,{
|
||||
mes "[Saddeus]";
|
||||
emotion 1;
|
||||
if(sex) {
|
||||
mes "Mr. Prisoner #"+BaseLevel+JobLevel+",";
|
||||
} else {
|
||||
mes "Ms. Prisoner #"+BaseLevel+JobLevel+",";
|
||||
}
|
||||
mes "what's the noise over there?";
|
||||
next;
|
||||
menu "Let me free, I'll pay!",-, "Let me to work off my freedom!",M_Q1, "Nothing",M_NO_THANKS;
|
||||
|
||||
M_PAY:
|
||||
mes "[Saddeus]";
|
||||
set @MUSTPAY,(PRISON+1)*1000000;
|
||||
if (@MUSTPAY<1000000) set @MUSTPAY,1000000;
|
||||
if (@MUSTPAY>100000000) set @MUSTPAY,100000000;
|
||||
if (PRISON==1) mes "I can't remember you. Is it your 1st time?";
|
||||
if (PRISON>1) mes "You again? Sombody hasn't grown wiser from the very first visit...";
|
||||
mes "OK, we could release you for ^FF0000"+@MUSTPAY+"z^000000.";
|
||||
next;
|
||||
menu "I pay cash!",M_PAYCASH,"Do you accept cheques?",M_PAYBANK,"I've changed my mind.",-;
|
||||
|
||||
mes "[Saddeus]";
|
||||
mes "You've got some time to think about...";
|
||||
close;
|
||||
|
||||
M_PAYCASH:
|
||||
if (@MUSTPAY>Zeny) goto L_NOCASH;
|
||||
set Zeny,Zeny-@MUSTPAY;
|
||||
mes "[Saddeus]";
|
||||
mes "OK, sing here and there.";
|
||||
goto L_RELEASE;
|
||||
|
||||
L_NOCASH:
|
||||
mes "[Saddeus]";
|
||||
mes "What's this? It's not enough!";
|
||||
close;
|
||||
|
||||
M_PAYBANK:
|
||||
if (@MUSTPAY>#kafrabank) goto L_NOBANK;
|
||||
set #kafrabank,#kafrabank-@MUSTPAY;
|
||||
mes "[Saddeus]";
|
||||
mes "OK, sign your cheque. And put down your name in my book.";
|
||||
goto L_RELEASE;
|
||||
|
||||
L_NOBANK:
|
||||
mes "[Saddeus]";
|
||||
if (#kafrabank==0) mes "Your case says nothing about your bank accounts.";
|
||||
if (#kafrabank!=0) mes "Alas, there's your bank account info... ^FF0000"+#kafrabank+"z^000000... in the case. It's not enough.";
|
||||
mes "Stop your silly games now!";
|
||||
close;
|
||||
|
||||
L_RELEASE:
|
||||
set PRISON,PRISON+1;
|
||||
next;
|
||||
mes "[Saddeus]";
|
||||
mes "You are free now!";
|
||||
next;
|
||||
savepoint "izlude",105,112;
|
||||
warp "izlude",105,112;
|
||||
close;
|
||||
|
||||
M_Q1:
|
||||
mes "[Saddeus]";
|
||||
mes "Our stocks are short of toadstools. Remember your morning's skilly? What about some work at our sponsored mushroom farm?";
|
||||
next;
|
||||
menu "OK, I'll work off!",-, "I love this prison!",M_NO_THANKS;
|
||||
|
||||
mes "[Saddeus]";
|
||||
if(checkcart() || checkfalcon() || checkriding()){
|
||||
emotion e_hmm;
|
||||
mes "I'm sorry, you should release your Cart, PecoPeco or Falcon!";
|
||||
close;
|
||||
}
|
||||
mes "Talk to our overseer, Oliver.";
|
||||
next;
|
||||
|
||||
nude;
|
||||
|
||||
set @rw,rand(1,4);
|
||||
if (@rw==2) goto L_W2;
|
||||
if (@rw==3) goto L_W3;
|
||||
if (@rw==4) goto L_W4;
|
||||
|
||||
L_W1:
|
||||
savepoint "sec_in02",179,76;
|
||||
warp "sec_in02",179,76;
|
||||
close;
|
||||
|
||||
L_W2:
|
||||
savepoint "sec_in02",139,32;
|
||||
warp "sec_in02",139,32;
|
||||
close;
|
||||
|
||||
L_W3:
|
||||
savepoint "sec_in02",100,28;
|
||||
warp "sec_in02",100,28;
|
||||
close;
|
||||
|
||||
L_W4:
|
||||
savepoint "sec_in02",107,75;
|
||||
warp "sec_in02",107,75;
|
||||
close;
|
||||
|
||||
M_NO_THANKS:
|
||||
mes "[Saddeus]";
|
||||
if (rand(2)) mes "Is today X-Mas time, huh?";
|
||||
mes "Now shut up and back off!";
|
||||
if (rand(2)) emotion 23;
|
||||
close;
|
||||
}
|
||||
|
||||
sec_in02,137,57,1 script Overseer 708,{
|
||||
mes "[Oliver]";
|
||||
|
||||
delitem 4002,countitem(4002);//Items: Fabre_Card,
|
||||
delitem 4009,countitem(4009);//Items: Chonchon_Card,
|
||||
delitem 4022,countitem(4022);//Items: Spore_Card,
|
||||
delitem 4048,countitem(4048);//Items: Poison_Spore_Card,
|
||||
|
||||
if (PRISON_Q <= 0 ) goto L_GET_Q;
|
||||
|
||||
mes "I want you to gather ^FF0000"+PRISON_Q+" Orange Net Mushroom^000000.";
|
||||
if ( countitem(1069)<PRISON_Q ) close;//Items: Orange_Net_Mushroom,
|
||||
mes "OK... hand me all the shrooms...";
|
||||
mes "Let me see... "+countitem(1069)+" of almost eadible ones...";//Items: Orange_Net_Mushroom,
|
||||
mes "And "+countitem(1070)+" useless deadly ones.";//Items: Orange_Gooey_Mushroom_,
|
||||
next;
|
||||
mes "[Oliver]";
|
||||
mes "Thank you. You are free!";
|
||||
set PRISON_Q,0;
|
||||
delitem 1069,countitem(1069);//Items: Orange_Net_Mushroom,
|
||||
delitem 1070,countitem(1070);//Items: Orange_Gooey_Mushroom_,
|
||||
next;
|
||||
savepoint "izlude",105,112;
|
||||
warp "izlude",105,112;
|
||||
close;
|
||||
|
||||
L_GET_Q:
|
||||
set PRISON,PRISON+1;
|
||||
if (PRISON > 1) mes "Hmm... You've been here already... Well-well...";
|
||||
|
||||
if ( countitem(1069) || countitem(1070) ) mes "Drop these mushrooms!! They are poisonous!";//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_,
|
||||
delitem 1069,countitem(1069);//Items: Orange_Net_Mushroom,
|
||||
delitem 1070,countitem(1070);//Items: Orange_Gooey_Mushroom_,
|
||||
|
||||
set PRISON_Q, PRISON*3 + BaseLevel/3;
|
||||
set PRISON_Q, PRISON_Q * (readparam(bAspd)/55 + 1);
|
||||
set PRISON_Q, PRISON_Q+rand(50,60);
|
||||
mes "OK, you must bring me ^FF0000"+PRISON_Q+"^000000 edible ^FF0000Orange Net Mushroom^000000 toadstoo.. shrooms.";
|
||||
if(readparam(bAspd)>=100) mes "You're a fast fella! You'll have to get more shrooms, then.";
|
||||
if (rand(10)<4) mes "And you may eat the deadly ones for breakfast.";
|
||||
close;
|
||||
}
|
||||
|
||||
|
||||
sec_in02 mapflag nomemo
|
||||
sec_in02 mapflag nosave SavePoint
|
||||
sec_in02 mapflag noteleport
|
||||
sec_in02 mapflag nobranch
|
||||
sec_in02 mapflag nowarp
|
||||
sec_in02 mapflag nowarpto
|
||||
sec_in02 mapflag noexp
|
||||
sec_in02 mapflag noskill
|
||||
//sec_in02 mapflag pvp
|
||||
//sec_in02 mapflag pvp_noparty
|
||||
//sec_in02 mapflag gvg
|
||||
sec_in02 mapflag pvp_nightmaredrop random,all,300
|
||||
|
||||
sec_in02,138,55,100,100 monster Toadstool 1182,30,10000,10000,1
|
||||
sec_in02,138,55,100,100 monster Fabre 1184,10,20000,20000
|
||||
sec_in02,138,55,100,100 monster Chonchon 1183,11,20000,20000
|
||||
sec_in02,138,55,100,100 monster Spore 1014,12,20000,20000
|
||||
sec_in02,138,55,100,100 monster Poison Spore 1077,3,20000,20000
|
||||
|
@ -1,286 +1,286 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Rock Scissors Roulette
|
||||
//===== By: ==================================================
|
||||
//= acky
|
||||
//===== Current Version: =====================================
|
||||
//= 1.2
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Plays a hybrid Russian Roulette Rock Scissors Paper game.
|
||||
//===== Additional Comments: =================================
|
||||
//= Prizes customizable, Added emotions.
|
||||
//= 1.2 Fixes by Blackthunder and me [Poki#3]
|
||||
//============================================================
|
||||
|
||||
cmd_in02,182,126,2 script Crazy Boris 85,{
|
||||
mes "Crazy Boris";
|
||||
set @counter,1;
|
||||
mes "Hey you! Up for Rock Scissors Roulette?";
|
||||
next;
|
||||
menu "Let me play.",PLAY,"Explain the rules.",RULES,"Leave",LEAVE;
|
||||
SAME:
|
||||
mes "Draw! Again!";
|
||||
next;
|
||||
goto PLAY;
|
||||
|
||||
WIN:
|
||||
mes "Damnit, You Win!";
|
||||
emotion 19;
|
||||
next;
|
||||
goto OPPPULL;
|
||||
|
||||
LOSE:
|
||||
emotion 18;
|
||||
mes "Boorah! You Lose!";
|
||||
next;
|
||||
goto YOUPULL;
|
||||
|
||||
PLAY:
|
||||
mes "Rock... Paper...";
|
||||
set @opp,rand (1,3);
|
||||
menu "^0000FFROCK!",ROCK,"^FF0000SCISSORS!",SCISSORS,"^00FF00PAPER!^000000",PAPER;
|
||||
|
||||
ROCK:
|
||||
if (@lastchoice == 1) set @opp,rand (1,3);
|
||||
if (@opp == 1) emotion 11;
|
||||
if (@opp == 2) emotion 10;
|
||||
if (@opp == 3) emotion 12;
|
||||
set @lastchoice,1;
|
||||
if (@opp == 1) goto SAME;
|
||||
if (@opp == 2) goto WIN;
|
||||
if (@opp == 3) goto LOSE;
|
||||
|
||||
SCISSORS:
|
||||
if (@lastchoice == 2) set @opp,rand (1,2);
|
||||
if (@opp == 1) emotion 11;
|
||||
if (@opp == 2) emotion 10;
|
||||
if (@opp == 3) emotion 12;
|
||||
set @lastchoice,2;
|
||||
if (@opp == 1) goto LOSE;
|
||||
if (@opp == 2) goto SAME;
|
||||
if (@opp == 3) goto WIN;
|
||||
|
||||
PAPER:
|
||||
if (@lastchoice == 3) set @opp,rand (2,3);
|
||||
if (@opp == 1) emotion 11;
|
||||
if (@opp == 2) emotion 10;
|
||||
if (@opp == 3) emotion 12;
|
||||
set @lastchoice,3;
|
||||
if (@opp == 1) goto WIN;
|
||||
if (@opp == 2) goto LOSE;
|
||||
if (@opp == 3) goto SAME;
|
||||
|
||||
YOUPULL:
|
||||
if (@counter == 1) goto ONE;
|
||||
if (@counter == 2) goto TWO;
|
||||
if (@counter == 3) goto THREE;
|
||||
if (@counter == 4) goto FOUR;
|
||||
if (@counter == 5) goto FIVE;
|
||||
if (@counter == 6) goto SIX;
|
||||
|
||||
OPPPULL:
|
||||
if (@counter == 1) goto ONEa;
|
||||
if (@counter == 2) goto TWOa;
|
||||
if (@counter == 3) goto THREEa;
|
||||
if (@counter == 4) goto FOURa;
|
||||
if (@counter == 5) goto FIVEa;
|
||||
if (@counter == 6) goto SIXa;
|
||||
|
||||
ONE:
|
||||
set @counter,2;
|
||||
mes "1 of 6";
|
||||
set @pull,rand (1,6);
|
||||
next;
|
||||
if (@pull == 1) goto DIE;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
TWO:
|
||||
set @counter,3;
|
||||
mes "2 of 6";
|
||||
set @pull,rand (1,5);
|
||||
next;
|
||||
if (@pull == 1) goto DIE;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
THREE:
|
||||
set @counter,4;
|
||||
mes "3 of 6";
|
||||
set @pull,rand (1,4);
|
||||
next;
|
||||
if (@pull == 1) goto DIE;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
FOUR:
|
||||
set @counter,5;
|
||||
mes "4 of 6";
|
||||
set @pull,rand (1,3);
|
||||
next;
|
||||
if (@pull == 1) goto DIE;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
FIVE:
|
||||
set @counter,6;
|
||||
mes "5 of 6";
|
||||
set @pull,rand (1,2);
|
||||
if (@pull == 1) set @pull,rand (1,2);
|
||||
next;
|
||||
if (@pull == 1) goto DIE;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
SIX:
|
||||
mes "6 of 6";
|
||||
mes "Say your prayers";
|
||||
set @pull,1;
|
||||
next;
|
||||
if (@pull == 1) goto DIE;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
ONEa:
|
||||
set @counter,2;
|
||||
mes "1 of 6";
|
||||
set @pull,rand (1,6);
|
||||
next;
|
||||
if (@pull == 1) goto KILL;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
TWOa:
|
||||
set @counter,3;
|
||||
mes "2 of 6";
|
||||
set @pull,rand (1,5);
|
||||
next;
|
||||
if (@pull == 1) goto KILL;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
THREEa:
|
||||
set @counter,4;
|
||||
mes "3 of 6";
|
||||
set @pull,rand (1,4);
|
||||
next;
|
||||
if (@pull == 1) goto KILL;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
FOURa:
|
||||
set @counter,5;
|
||||
mes "4 of 6";
|
||||
set @pull,rand (1,3);
|
||||
next;
|
||||
if (@pull == 1) goto KILL;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
FIVEa:
|
||||
set @counter,6;
|
||||
mes "5 of 6";
|
||||
set @pull,rand (1,2);
|
||||
next;
|
||||
if (@pull == 1) goto KILL;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
SIXa:
|
||||
mes "6 of 6";
|
||||
mes "Say your prayers";
|
||||
set @pull,1;
|
||||
next;
|
||||
if (@pull == 1) goto KILL;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
SAFE:
|
||||
emotion 32;
|
||||
mes "*^0000FFClick^000000* whew...";
|
||||
goto PLAY;
|
||||
|
||||
DIE:
|
||||
specialeffect2 183;
|
||||
emotion 29;
|
||||
percentheal -100,-100;
|
||||
mes "*^0000FFClick^000000* *^FF0000BANG^000000*";
|
||||
mes "You're dead!";
|
||||
close;
|
||||
|
||||
KILL:
|
||||
specialeffect 183;
|
||||
emotion 23;
|
||||
mes "*^0000FFClick^000000* *^FF0000BANG^000000*";
|
||||
mes "OWWW @#$%^!! THAT HURT LIKE HELL!!";
|
||||
next;
|
||||
goto PRIZE;
|
||||
|
||||
RULES:
|
||||
mes "Ok here are the rules:";
|
||||
mes "I have with me a ^FF00006^000000 chamber pistol with ^FF00001^000000 round. First we play ^FF0000Scissors ^00FF00Paper ^0000FFRock^000000. The loser pulls the trigger. The winner is whoever comes out best.";
|
||||
mes "Beat me to win a prize.";
|
||||
menu "Let me play.",CONT,"No thanks.",LEAVE;
|
||||
|
||||
CONT:
|
||||
mes "Ok here we go...";
|
||||
next;
|
||||
goto PLAY;
|
||||
|
||||
PRIZE:
|
||||
mes "Congratulations! You have won...";
|
||||
set @prize,rand (1,10);
|
||||
if (@prize == 1) goto P1;
|
||||
if (@prize == 2) goto P2;
|
||||
if (@prize == 3) goto P3;
|
||||
if (@prize == 4) goto P4;
|
||||
if (@prize == 5) goto P5;
|
||||
if (@prize == 6) goto P6;
|
||||
if (@prize == 7) goto P7;
|
||||
if (@prize == 8) goto P8;
|
||||
if (@prize == 9) goto P9;
|
||||
if (@prize == 10) goto P10;
|
||||
|
||||
P1:
|
||||
mes "10x Oridicon!";
|
||||
getitem 984,10;
|
||||
close;
|
||||
|
||||
P2:
|
||||
mes "10x Elunium!";
|
||||
getitem 985,10;
|
||||
close;
|
||||
|
||||
P3:
|
||||
mes "100x Fly Wings!";
|
||||
getitem 601,100;
|
||||
close;
|
||||
|
||||
P4:
|
||||
mes "8x Old Blue Box!";
|
||||
getitem 603,8;
|
||||
close;
|
||||
|
||||
P5:
|
||||
mes "4x Old Violet Box!";
|
||||
getitem 617,4;
|
||||
close;
|
||||
|
||||
P6:
|
||||
mes "1x Old Card Album!";
|
||||
getitem 616,1;
|
||||
close;
|
||||
|
||||
P7:
|
||||
mes "10x Dead Branch!";
|
||||
getitem 604,10;
|
||||
close;
|
||||
|
||||
P8:
|
||||
mes "3x Gold!";
|
||||
getitem 969,3;
|
||||
close;
|
||||
|
||||
P9:
|
||||
mes "10x Elunium!";
|
||||
getitem 985,10;
|
||||
close;
|
||||
|
||||
P10:
|
||||
mes "20x Blue Potion!";
|
||||
getitem 505,20;
|
||||
close;
|
||||
|
||||
LEAVE:
|
||||
mes "Pansy.";
|
||||
close;
|
||||
}
|
||||
//===== rAthena Script =======================================
|
||||
//= Rock Scissors Roulette
|
||||
//===== By: ==================================================
|
||||
//= acky
|
||||
//===== Current Version: =====================================
|
||||
//= 1.2
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Plays a hybrid Russian Roulette Rock Scissors Paper game.
|
||||
//===== Additional Comments: =================================
|
||||
//= Prizes customizable, Added emotions.
|
||||
//= 1.2 Fixes by Blackthunder and me [Poki#3]
|
||||
//============================================================
|
||||
|
||||
cmd_in02,182,126,2 script Crazy Boris 85,{
|
||||
mes "Crazy Boris";
|
||||
set @counter,1;
|
||||
mes "Hey you! Up for Rock Scissors Roulette?";
|
||||
next;
|
||||
menu "Let me play.",PLAY,"Explain the rules.",RULES,"Leave",LEAVE;
|
||||
SAME:
|
||||
mes "Draw! Again!";
|
||||
next;
|
||||
goto PLAY;
|
||||
|
||||
WIN:
|
||||
mes "Damnit, You Win!";
|
||||
emotion 19;
|
||||
next;
|
||||
goto OPPPULL;
|
||||
|
||||
LOSE:
|
||||
emotion 18;
|
||||
mes "Boorah! You Lose!";
|
||||
next;
|
||||
goto YOUPULL;
|
||||
|
||||
PLAY:
|
||||
mes "Rock... Paper...";
|
||||
set @opp,rand (1,3);
|
||||
menu "^0000FFROCK!",ROCK,"^FF0000SCISSORS!",SCISSORS,"^00FF00PAPER!^000000",PAPER;
|
||||
|
||||
ROCK:
|
||||
if (@lastchoice == 1) set @opp,rand (1,3);
|
||||
if (@opp == 1) emotion 11;
|
||||
if (@opp == 2) emotion 10;
|
||||
if (@opp == 3) emotion 12;
|
||||
set @lastchoice,1;
|
||||
if (@opp == 1) goto SAME;
|
||||
if (@opp == 2) goto WIN;
|
||||
if (@opp == 3) goto LOSE;
|
||||
|
||||
SCISSORS:
|
||||
if (@lastchoice == 2) set @opp,rand (1,2);
|
||||
if (@opp == 1) emotion 11;
|
||||
if (@opp == 2) emotion 10;
|
||||
if (@opp == 3) emotion 12;
|
||||
set @lastchoice,2;
|
||||
if (@opp == 1) goto LOSE;
|
||||
if (@opp == 2) goto SAME;
|
||||
if (@opp == 3) goto WIN;
|
||||
|
||||
PAPER:
|
||||
if (@lastchoice == 3) set @opp,rand (2,3);
|
||||
if (@opp == 1) emotion 11;
|
||||
if (@opp == 2) emotion 10;
|
||||
if (@opp == 3) emotion 12;
|
||||
set @lastchoice,3;
|
||||
if (@opp == 1) goto WIN;
|
||||
if (@opp == 2) goto LOSE;
|
||||
if (@opp == 3) goto SAME;
|
||||
|
||||
YOUPULL:
|
||||
if (@counter == 1) goto ONE;
|
||||
if (@counter == 2) goto TWO;
|
||||
if (@counter == 3) goto THREE;
|
||||
if (@counter == 4) goto FOUR;
|
||||
if (@counter == 5) goto FIVE;
|
||||
if (@counter == 6) goto SIX;
|
||||
|
||||
OPPPULL:
|
||||
if (@counter == 1) goto ONEa;
|
||||
if (@counter == 2) goto TWOa;
|
||||
if (@counter == 3) goto THREEa;
|
||||
if (@counter == 4) goto FOURa;
|
||||
if (@counter == 5) goto FIVEa;
|
||||
if (@counter == 6) goto SIXa;
|
||||
|
||||
ONE:
|
||||
set @counter,2;
|
||||
mes "1 of 6";
|
||||
set @pull,rand (1,6);
|
||||
next;
|
||||
if (@pull == 1) goto DIE;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
TWO:
|
||||
set @counter,3;
|
||||
mes "2 of 6";
|
||||
set @pull,rand (1,5);
|
||||
next;
|
||||
if (@pull == 1) goto DIE;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
THREE:
|
||||
set @counter,4;
|
||||
mes "3 of 6";
|
||||
set @pull,rand (1,4);
|
||||
next;
|
||||
if (@pull == 1) goto DIE;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
FOUR:
|
||||
set @counter,5;
|
||||
mes "4 of 6";
|
||||
set @pull,rand (1,3);
|
||||
next;
|
||||
if (@pull == 1) goto DIE;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
FIVE:
|
||||
set @counter,6;
|
||||
mes "5 of 6";
|
||||
set @pull,rand (1,2);
|
||||
if (@pull == 1) set @pull,rand (1,2);
|
||||
next;
|
||||
if (@pull == 1) goto DIE;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
SIX:
|
||||
mes "6 of 6";
|
||||
mes "Say your prayers";
|
||||
set @pull,1;
|
||||
next;
|
||||
if (@pull == 1) goto DIE;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
ONEa:
|
||||
set @counter,2;
|
||||
mes "1 of 6";
|
||||
set @pull,rand (1,6);
|
||||
next;
|
||||
if (@pull == 1) goto KILL;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
TWOa:
|
||||
set @counter,3;
|
||||
mes "2 of 6";
|
||||
set @pull,rand (1,5);
|
||||
next;
|
||||
if (@pull == 1) goto KILL;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
THREEa:
|
||||
set @counter,4;
|
||||
mes "3 of 6";
|
||||
set @pull,rand (1,4);
|
||||
next;
|
||||
if (@pull == 1) goto KILL;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
FOURa:
|
||||
set @counter,5;
|
||||
mes "4 of 6";
|
||||
set @pull,rand (1,3);
|
||||
next;
|
||||
if (@pull == 1) goto KILL;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
FIVEa:
|
||||
set @counter,6;
|
||||
mes "5 of 6";
|
||||
set @pull,rand (1,2);
|
||||
next;
|
||||
if (@pull == 1) goto KILL;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
SIXa:
|
||||
mes "6 of 6";
|
||||
mes "Say your prayers";
|
||||
set @pull,1;
|
||||
next;
|
||||
if (@pull == 1) goto KILL;
|
||||
if (@pull != 1) goto SAFE;
|
||||
|
||||
SAFE:
|
||||
emotion 32;
|
||||
mes "*^0000FFClick^000000* whew...";
|
||||
goto PLAY;
|
||||
|
||||
DIE:
|
||||
specialeffect2 183;
|
||||
emotion 29;
|
||||
percentheal -100,-100;
|
||||
mes "*^0000FFClick^000000* *^FF0000BANG^000000*";
|
||||
mes "You're dead!";
|
||||
close;
|
||||
|
||||
KILL:
|
||||
specialeffect 183;
|
||||
emotion 23;
|
||||
mes "*^0000FFClick^000000* *^FF0000BANG^000000*";
|
||||
mes "OWWW @#$%^!! THAT HURT LIKE HELL!!";
|
||||
next;
|
||||
goto PRIZE;
|
||||
|
||||
RULES:
|
||||
mes "Ok here are the rules:";
|
||||
mes "I have with me a ^FF00006^000000 chamber pistol with ^FF00001^000000 round. First we play ^FF0000Scissors ^00FF00Paper ^0000FFRock^000000. The loser pulls the trigger. The winner is whoever comes out best.";
|
||||
mes "Beat me to win a prize.";
|
||||
menu "Let me play.",CONT,"No thanks.",LEAVE;
|
||||
|
||||
CONT:
|
||||
mes "Ok here we go...";
|
||||
next;
|
||||
goto PLAY;
|
||||
|
||||
PRIZE:
|
||||
mes "Congratulations! You have won...";
|
||||
set @prize,rand (1,10);
|
||||
if (@prize == 1) goto P1;
|
||||
if (@prize == 2) goto P2;
|
||||
if (@prize == 3) goto P3;
|
||||
if (@prize == 4) goto P4;
|
||||
if (@prize == 5) goto P5;
|
||||
if (@prize == 6) goto P6;
|
||||
if (@prize == 7) goto P7;
|
||||
if (@prize == 8) goto P8;
|
||||
if (@prize == 9) goto P9;
|
||||
if (@prize == 10) goto P10;
|
||||
|
||||
P1:
|
||||
mes "10x Oridicon!";
|
||||
getitem 984,10;
|
||||
close;
|
||||
|
||||
P2:
|
||||
mes "10x Elunium!";
|
||||
getitem 985,10;
|
||||
close;
|
||||
|
||||
P3:
|
||||
mes "100x Fly Wings!";
|
||||
getitem 601,100;
|
||||
close;
|
||||
|
||||
P4:
|
||||
mes "8x Old Blue Box!";
|
||||
getitem 603,8;
|
||||
close;
|
||||
|
||||
P5:
|
||||
mes "4x Old Violet Box!";
|
||||
getitem 617,4;
|
||||
close;
|
||||
|
||||
P6:
|
||||
mes "1x Old Card Album!";
|
||||
getitem 616,1;
|
||||
close;
|
||||
|
||||
P7:
|
||||
mes "10x Dead Branch!";
|
||||
getitem 604,10;
|
||||
close;
|
||||
|
||||
P8:
|
||||
mes "3x Gold!";
|
||||
getitem 969,3;
|
||||
close;
|
||||
|
||||
P9:
|
||||
mes "10x Elunium!";
|
||||
getitem 985,10;
|
||||
close;
|
||||
|
||||
P10:
|
||||
mes "20x Blue Potion!";
|
||||
getitem 505,20;
|
||||
close;
|
||||
|
||||
LEAVE:
|
||||
mes "Pansy.";
|
||||
close;
|
||||
}
|
||||
|
@ -1,199 +1,199 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Shifty Assassin
|
||||
//===== By: ==================================================
|
||||
//= acky
|
||||
//===== Current Version: =====================================
|
||||
//= 1.1.2
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Players buy ninjas to assassinate other players
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.1.1 Changed all gmcommand to atcommand as Poki#3 suggested. [Vicious]
|
||||
//= 1.1.2 Updated WoE Check. [Paradox924X]
|
||||
//============================================================
|
||||
|
||||
morocc,148,86,5 script Shifty Assassin 725,{
|
||||
set $ninja_price,250000;
|
||||
|
||||
// STARTS THE MENU //
|
||||
M_Start:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "What do you want?";
|
||||
next;
|
||||
if (getgmlevel() > 90) goto M_GM;
|
||||
menu "Buy Ninjas",M_Buy,"Assassinate somebody",M_Kill,"Check your Ninjas",M_Check,"Cancel",M_Exit;
|
||||
M_GM:
|
||||
menu "Buy Ninjas",M_Buy,"Assassinate somebody",M_Kill,"Check your Ninjas",M_Check,"Add Ninjas",M_Add,"Cancel",M_Exit;
|
||||
|
||||
// GM MENU TO ADD NINJAS //
|
||||
M_Add:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "How many ninjas do you want to make available?";
|
||||
next;
|
||||
set @add,0;
|
||||
input @add;
|
||||
set $ninja_avail,$ninja_avail+@add;
|
||||
mes @add + " ninjas added.";
|
||||
close;
|
||||
|
||||
// BUY NINJAS //
|
||||
M_Buy:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "How many ninjas do you want buy?";
|
||||
mes "There are ^0000FF" + $ninja_avail + "^000000 ninjas available.";
|
||||
mes "They cost ^0000FF" + $ninja_price + " zeny ^000000each.";
|
||||
|
||||
set @buy,0;
|
||||
input @buy;
|
||||
next;
|
||||
if ($ninja_avail < 1) goto NoNinjas;
|
||||
if ($ninja_avail < @buy) goto NotEnoughNinjas;
|
||||
set @price,@buy*$ninja_price;
|
||||
if (zeny < @price ) goto NoZeny;
|
||||
|
||||
mes "[Shifty Assassin]";
|
||||
mes "That will cost you ^0000FF" + @price + " zeny^000000.";
|
||||
next;
|
||||
menu "Continue",-,"Cancel",M_Exit;
|
||||
|
||||
set zeny,zeny-@price;
|
||||
set #ninjas,#ninjas+@buy;
|
||||
set $ninja_avail,$ninja_avail-@buy;
|
||||
|
||||
mes "[Shifty Assassin]";
|
||||
mes "Thank you.";
|
||||
close;
|
||||
|
||||
// ASSASSINATE SOMEBODY //
|
||||
M_Kill:
|
||||
if (agitcheck()) goto M_Busy;
|
||||
mes "[Shifty Assassin]";
|
||||
mes "Enter the name of the target.";
|
||||
mes "^FF0000Type the name exactly, otherwise I won't be able to find the victim.^000000";
|
||||
next;
|
||||
menu "Continue",-,"Cancel",M_Exit;
|
||||
set @name$,"0";
|
||||
input @name$;
|
||||
next;
|
||||
mes "[Shifty Assassin]";
|
||||
mes "Active Ninjas: "+#ninjas;
|
||||
mes "Resting Ninjas: "+#ninjasr;
|
||||
mes "How many do you want to send?";
|
||||
set @number,0;
|
||||
input @number;
|
||||
if (@number < 1) goto NoNinjasSent;
|
||||
if (@number > #ninjas) goto NotEnoughNinjas1;
|
||||
if (@number > 10) goto TooManyNinjas;
|
||||
set @chance,rand (1,12);
|
||||
set #ninjas,#ninjas-@number;
|
||||
set #ninjas,#ninjas+#ninjasr;
|
||||
set #ninjasr,0;
|
||||
if (@number < @chance) goto M_Failure;
|
||||
|
||||
// SUCCESSFUL ATTACK //
|
||||
mes "Sending ninjas now.";
|
||||
next;
|
||||
mes "[Shifty Assassin]";
|
||||
set @ninjasurvived,rand (1,@number);
|
||||
set #ninjasr,@number-@ninjasurvived;
|
||||
mes "Your attack succeeded but only ^FF0000" + #ninjasr + "^000000 Ninjas survived.";
|
||||
|
||||
atcommand strcharinfo(0) + "@kill "+@name$;
|
||||
announce @name$+" has been assassinated by " + strcharinfo(0) +"'s Ninjas.",8;
|
||||
close;
|
||||
|
||||
// FAILED ATTACK //
|
||||
M_Failure:
|
||||
mes "Sending ninjas now.";
|
||||
next;
|
||||
mes "[Shifty Assassin]";
|
||||
set @ninjasurvived,rand (1,@number);
|
||||
set #ninjasr,@number-@ninjasurvived;
|
||||
mes "Your attack failed and only ^FF0000" + #ninjasr + "^000000 Ninjas survived.";
|
||||
|
||||
announce @name$+" has survived " + strcharinfo(0) +"'s Ninja attack.",8;
|
||||
close;
|
||||
|
||||
// NINJAS BUSY FOR WOE //
|
||||
M_Busy:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "Sorry, all my ninjas are busy doing War of Emperium.";
|
||||
close;
|
||||
|
||||
// CHECK YOUR NINJAS //
|
||||
M_Check:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "You have:";
|
||||
mes "^FF0000" + #ninjas + "^000000 Active Ninjas.";
|
||||
mes "^0000FF" + #ninjasr + "^000000 Resting Ninjas.";
|
||||
next;
|
||||
goto M_Start;
|
||||
|
||||
|
||||
// LIMIT //
|
||||
NoNinjasSent:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "You can't kill anyone without ninjas.";
|
||||
next;
|
||||
goto M_Start;
|
||||
|
||||
TooManyNinjas:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "You can only send 10 ninjas max.";
|
||||
next;
|
||||
goto M_Start;
|
||||
|
||||
NoZeny:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "You do not have enough zeny.";
|
||||
close;
|
||||
|
||||
NotEnoughNinjas:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "There aren't that many ninjas to buy.";
|
||||
next;
|
||||
goto M_Start;
|
||||
|
||||
NoNinjas:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "There are no ninjas left to buy.";
|
||||
close;
|
||||
|
||||
NotEnoughNinjas1:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "You do not have that many ninjas.";
|
||||
next;
|
||||
goto M_Start;
|
||||
|
||||
M_Exit:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "Goodbye.";
|
||||
close;
|
||||
|
||||
// TIMER DELAY NINJA ADDER //
|
||||
OnClock0600:
|
||||
set $ninja_avail,$ninja_avail+2;
|
||||
end;
|
||||
OnClock1200:
|
||||
set $ninja_avail,$ninja_avail+2;
|
||||
end;
|
||||
OnClock1500:
|
||||
set $ninja_avail,$ninja_avail+2;
|
||||
end;
|
||||
OnClock1800:
|
||||
set $ninja_avail,$ninja_avail+3;
|
||||
end;
|
||||
OnClock1900:
|
||||
set $ninja_avail,$ninja_avail+2;
|
||||
end;
|
||||
OnClock2000:
|
||||
set $ninja_avail,$ninja_avail+2;
|
||||
end;
|
||||
OnClock0000:
|
||||
set $ninja_avail,$ninja_avail+2;
|
||||
end;
|
||||
OnInit:
|
||||
set $ninja_avail,$ninja_avail+1;
|
||||
end;
|
||||
}
|
||||
//===== rAthena Script =======================================
|
||||
//= Shifty Assassin
|
||||
//===== By: ==================================================
|
||||
//= acky
|
||||
//===== Current Version: =====================================
|
||||
//= 1.1.2
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Players buy ninjas to assassinate other players
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.1.1 Changed all gmcommand to atcommand as Poki#3 suggested. [Vicious]
|
||||
//= 1.1.2 Updated WoE Check. [Paradox924X]
|
||||
//============================================================
|
||||
|
||||
morocc,148,86,5 script Shifty Assassin 725,{
|
||||
set $ninja_price,250000;
|
||||
|
||||
// STARTS THE MENU //
|
||||
M_Start:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "What do you want?";
|
||||
next;
|
||||
if (getgmlevel() > 90) goto M_GM;
|
||||
menu "Buy Ninjas",M_Buy,"Assassinate somebody",M_Kill,"Check your Ninjas",M_Check,"Cancel",M_Exit;
|
||||
M_GM:
|
||||
menu "Buy Ninjas",M_Buy,"Assassinate somebody",M_Kill,"Check your Ninjas",M_Check,"Add Ninjas",M_Add,"Cancel",M_Exit;
|
||||
|
||||
// GM MENU TO ADD NINJAS //
|
||||
M_Add:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "How many ninjas do you want to make available?";
|
||||
next;
|
||||
set @add,0;
|
||||
input @add;
|
||||
set $ninja_avail,$ninja_avail+@add;
|
||||
mes @add + " ninjas added.";
|
||||
close;
|
||||
|
||||
// BUY NINJAS //
|
||||
M_Buy:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "How many ninjas do you want buy?";
|
||||
mes "There are ^0000FF" + $ninja_avail + "^000000 ninjas available.";
|
||||
mes "They cost ^0000FF" + $ninja_price + " zeny ^000000each.";
|
||||
|
||||
set @buy,0;
|
||||
input @buy;
|
||||
next;
|
||||
if ($ninja_avail < 1) goto NoNinjas;
|
||||
if ($ninja_avail < @buy) goto NotEnoughNinjas;
|
||||
set @price,@buy*$ninja_price;
|
||||
if (zeny < @price ) goto NoZeny;
|
||||
|
||||
mes "[Shifty Assassin]";
|
||||
mes "That will cost you ^0000FF" + @price + " zeny^000000.";
|
||||
next;
|
||||
menu "Continue",-,"Cancel",M_Exit;
|
||||
|
||||
set zeny,zeny-@price;
|
||||
set #ninjas,#ninjas+@buy;
|
||||
set $ninja_avail,$ninja_avail-@buy;
|
||||
|
||||
mes "[Shifty Assassin]";
|
||||
mes "Thank you.";
|
||||
close;
|
||||
|
||||
// ASSASSINATE SOMEBODY //
|
||||
M_Kill:
|
||||
if (agitcheck()) goto M_Busy;
|
||||
mes "[Shifty Assassin]";
|
||||
mes "Enter the name of the target.";
|
||||
mes "^FF0000Type the name exactly, otherwise I won't be able to find the victim.^000000";
|
||||
next;
|
||||
menu "Continue",-,"Cancel",M_Exit;
|
||||
set @name$,"0";
|
||||
input @name$;
|
||||
next;
|
||||
mes "[Shifty Assassin]";
|
||||
mes "Active Ninjas: "+#ninjas;
|
||||
mes "Resting Ninjas: "+#ninjasr;
|
||||
mes "How many do you want to send?";
|
||||
set @number,0;
|
||||
input @number;
|
||||
if (@number < 1) goto NoNinjasSent;
|
||||
if (@number > #ninjas) goto NotEnoughNinjas1;
|
||||
if (@number > 10) goto TooManyNinjas;
|
||||
set @chance,rand (1,12);
|
||||
set #ninjas,#ninjas-@number;
|
||||
set #ninjas,#ninjas+#ninjasr;
|
||||
set #ninjasr,0;
|
||||
if (@number < @chance) goto M_Failure;
|
||||
|
||||
// SUCCESSFUL ATTACK //
|
||||
mes "Sending ninjas now.";
|
||||
next;
|
||||
mes "[Shifty Assassin]";
|
||||
set @ninjasurvived,rand (1,@number);
|
||||
set #ninjasr,@number-@ninjasurvived;
|
||||
mes "Your attack succeeded but only ^FF0000" + #ninjasr + "^000000 Ninjas survived.";
|
||||
|
||||
atcommand strcharinfo(0) + "@kill "+@name$;
|
||||
announce @name$+" has been assassinated by " + strcharinfo(0) +"'s Ninjas.",8;
|
||||
close;
|
||||
|
||||
// FAILED ATTACK //
|
||||
M_Failure:
|
||||
mes "Sending ninjas now.";
|
||||
next;
|
||||
mes "[Shifty Assassin]";
|
||||
set @ninjasurvived,rand (1,@number);
|
||||
set #ninjasr,@number-@ninjasurvived;
|
||||
mes "Your attack failed and only ^FF0000" + #ninjasr + "^000000 Ninjas survived.";
|
||||
|
||||
announce @name$+" has survived " + strcharinfo(0) +"'s Ninja attack.",8;
|
||||
close;
|
||||
|
||||
// NINJAS BUSY FOR WOE //
|
||||
M_Busy:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "Sorry, all my ninjas are busy doing War of Emperium.";
|
||||
close;
|
||||
|
||||
// CHECK YOUR NINJAS //
|
||||
M_Check:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "You have:";
|
||||
mes "^FF0000" + #ninjas + "^000000 Active Ninjas.";
|
||||
mes "^0000FF" + #ninjasr + "^000000 Resting Ninjas.";
|
||||
next;
|
||||
goto M_Start;
|
||||
|
||||
|
||||
// LIMIT //
|
||||
NoNinjasSent:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "You can't kill anyone without ninjas.";
|
||||
next;
|
||||
goto M_Start;
|
||||
|
||||
TooManyNinjas:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "You can only send 10 ninjas max.";
|
||||
next;
|
||||
goto M_Start;
|
||||
|
||||
NoZeny:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "You do not have enough zeny.";
|
||||
close;
|
||||
|
||||
NotEnoughNinjas:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "There aren't that many ninjas to buy.";
|
||||
next;
|
||||
goto M_Start;
|
||||
|
||||
NoNinjas:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "There are no ninjas left to buy.";
|
||||
close;
|
||||
|
||||
NotEnoughNinjas1:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "You do not have that many ninjas.";
|
||||
next;
|
||||
goto M_Start;
|
||||
|
||||
M_Exit:
|
||||
mes "[Shifty Assassin]";
|
||||
mes "Goodbye.";
|
||||
close;
|
||||
|
||||
// TIMER DELAY NINJA ADDER //
|
||||
OnClock0600:
|
||||
set $ninja_avail,$ninja_avail+2;
|
||||
end;
|
||||
OnClock1200:
|
||||
set $ninja_avail,$ninja_avail+2;
|
||||
end;
|
||||
OnClock1500:
|
||||
set $ninja_avail,$ninja_avail+2;
|
||||
end;
|
||||
OnClock1800:
|
||||
set $ninja_avail,$ninja_avail+3;
|
||||
end;
|
||||
OnClock1900:
|
||||
set $ninja_avail,$ninja_avail+2;
|
||||
end;
|
||||
OnClock2000:
|
||||
set $ninja_avail,$ninja_avail+2;
|
||||
end;
|
||||
OnClock0000:
|
||||
set $ninja_avail,$ninja_avail+2;
|
||||
end;
|
||||
OnInit:
|
||||
set $ninja_avail,$ninja_avail+1;
|
||||
end;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,49 +1,49 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Healer
|
||||
//===== By: ==================================================
|
||||
//= Euphy
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Basic healer script.
|
||||
//============================================================
|
||||
|
||||
- script Healer -1,{
|
||||
|
||||
set .@Price,0; // Zeny required for heal
|
||||
set .@Buffs,0; // Also buff players? (1: yes / 0: no)
|
||||
set .@Delay,0; // Heal delay, in seconds
|
||||
|
||||
if (@HD > gettimetick(2)) end;
|
||||
if (.@Price) {
|
||||
message strcharinfo(0),"Healing costs "+.@Price+" Zeny.";
|
||||
if (Zeny < .@Price) end;
|
||||
if(select("^0055FFHeal^000000:^777777Cancel^000000")==2) close;
|
||||
set Zeny, Zeny-.@Price; }
|
||||
specialeffect2 313; percentheal 100,100;
|
||||
if (.@Buffs) {
|
||||
specialeffect2 37; sc_start SC_INCREASEAGI,240000,10;
|
||||
specialeffect2 42; sc_start SC_BLESSING,240000,10; }
|
||||
if (.@Delay) set @HD, gettimetick(2)+.@Delay;
|
||||
if (.@Price) close;
|
||||
end;
|
||||
}
|
||||
|
||||
alberta,185,144,5 duplicate(Healer) Healer#alb 742
|
||||
aldebaran,134,123,5 duplicate(Healer) Healer#alde 742
|
||||
amatsu,200,80,5 duplicate(Healer) Healer#ama 742
|
||||
ayothaya,155,111,5 duplicate(Healer) Healer#ayo 742
|
||||
comodo,188,162,5 duplicate(Healer) Healer#com 742
|
||||
geffen,121,61,5 duplicate(Healer) Healer#gef 742
|
||||
gonryun,164,130,5 duplicate(Healer) Healer#gon 742
|
||||
izlude,125,118,5 duplicate(Healer) Healer#izl 742
|
||||
louyang,225,103,5 duplicate(Healer) Healer#lou 742
|
||||
morocc,159,96,5 duplicate(Healer) Healer#mor 742
|
||||
niflheim,188,180,5 duplicate(Healer) Healer#nif 742
|
||||
payon,180,105,5 duplicate(Healer) Healer#pay 742
|
||||
prontera,150,184,5 duplicate(Healer) Healer#pront 742
|
||||
umbala,94,162,5 duplicate(Healer) Healer#umb 742
|
||||
xmas,149,136,5 duplicate(Healer) Healer#xmas 742
|
||||
//===== rAthena Script =======================================
|
||||
//= Healer
|
||||
//===== By: ==================================================
|
||||
//= Euphy
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Basic healer script.
|
||||
//============================================================
|
||||
|
||||
- script Healer -1,{
|
||||
|
||||
set .@Price,0; // Zeny required for heal
|
||||
set .@Buffs,0; // Also buff players? (1: yes / 0: no)
|
||||
set .@Delay,0; // Heal delay, in seconds
|
||||
|
||||
if (@HD > gettimetick(2)) end;
|
||||
if (.@Price) {
|
||||
message strcharinfo(0),"Healing costs "+.@Price+" Zeny.";
|
||||
if (Zeny < .@Price) end;
|
||||
if(select("^0055FFHeal^000000:^777777Cancel^000000")==2) close;
|
||||
set Zeny, Zeny-.@Price; }
|
||||
specialeffect2 313; percentheal 100,100;
|
||||
if (.@Buffs) {
|
||||
specialeffect2 37; sc_start SC_INCREASEAGI,240000,10;
|
||||
specialeffect2 42; sc_start SC_BLESSING,240000,10; }
|
||||
if (.@Delay) set @HD, gettimetick(2)+.@Delay;
|
||||
if (.@Price) close;
|
||||
end;
|
||||
}
|
||||
|
||||
alberta,185,144,5 duplicate(Healer) Healer#alb 742
|
||||
aldebaran,134,123,5 duplicate(Healer) Healer#alde 742
|
||||
amatsu,200,80,5 duplicate(Healer) Healer#ama 742
|
||||
ayothaya,155,111,5 duplicate(Healer) Healer#ayo 742
|
||||
comodo,188,162,5 duplicate(Healer) Healer#com 742
|
||||
geffen,121,61,5 duplicate(Healer) Healer#gef 742
|
||||
gonryun,164,130,5 duplicate(Healer) Healer#gon 742
|
||||
izlude,125,118,5 duplicate(Healer) Healer#izl 742
|
||||
louyang,225,103,5 duplicate(Healer) Healer#lou 742
|
||||
morocc,159,96,5 duplicate(Healer) Healer#mor 742
|
||||
niflheim,188,180,5 duplicate(Healer) Healer#nif 742
|
||||
payon,180,105,5 duplicate(Healer) Healer#pay 742
|
||||
prontera,150,184,5 duplicate(Healer) Healer#pront 742
|
||||
umbala,94,162,5 duplicate(Healer) Healer#umb 742
|
||||
xmas,149,136,5 duplicate(Healer) Healer#xmas 742
|
||||
yuno,152,186,5 duplicate(Healer) Healer#yuno 742
|
@ -1,223 +1,223 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Sign Your Items
|
||||
//===== By: ==================================================
|
||||
//= Lupus
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Write you name on your rare equipment or weapon ^_-
|
||||
//= Original X-Mas mini-quest(could be used as a permanent one)
|
||||
//===== Additional Comments: =================================
|
||||
//=
|
||||
//============================================================
|
||||
|
||||
prt_in,24,61,7 script Perchik 47,{
|
||||
mes "[Perchik]";
|
||||
if(BaseJob==Job_Novice || BaseLevel<50) {
|
||||
mes "Sorry, I don't help newbies. Go kill more Porings.";
|
||||
emotion e_sry;
|
||||
close;
|
||||
}
|
||||
mes "Hi, I can ^000090sign your name^000000 on almost any rare item you can hold.";
|
||||
next;
|
||||
menu "Tell me more...",-, "Sign my items, please",M_DO;
|
||||
|
||||
mes "[Perchik]";
|
||||
mes "I can put your name on any slotless equipment or weapon.";
|
||||
emotion e_ic;
|
||||
next;
|
||||
mes "[Perchik]";
|
||||
mes "A week ago, my BOSS told me to send away newbies. I dunno why.";
|
||||
next;
|
||||
mes "[Perchik]";
|
||||
mes "For my work I accept ^0000803 Gift Box^000000es (gray one)";
|
||||
mes "plus ^FF00005000z^000000 per each refine of your item.";
|
||||
next;
|
||||
emotion e_cry;
|
||||
mes "[Perchik]";
|
||||
mes "Alas, I have 12 hungry children";
|
||||
mes "and a very angry wife.";
|
||||
next;
|
||||
mes "[Perchik]";
|
||||
mes "Or it was... 12 angry children";
|
||||
mes "and a very hungry wife...";
|
||||
emotion e_hmm;
|
||||
close;
|
||||
|
||||
M_DO:
|
||||
mes "[Perchik]";
|
||||
mes "Show me your items to sign...";
|
||||
M_MENU:
|
||||
next;
|
||||
menu getequipname(1),M_PART1,getequipname(9),M_PART9,getequipname(10),M_PART10,getequipname(2),M_PART2,getequipname(4),M_PART4,
|
||||
getequipname(3),M_PART3,getequipname(5),M_PART5,getequipname(6),M_PART6,getequipname(7),M_PART7,getequipname(8),M_PART8;
|
||||
|
||||
//Head Gear
|
||||
M_PART1:
|
||||
set @part,1;
|
||||
if (getequipisequiped(1)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "A bald head under a cheap wig... There's nothing worthy to sign.";
|
||||
emotion 6;
|
||||
goto M_MENU;
|
||||
M_PART9:
|
||||
set @part,9;
|
||||
if (getequipisequiped(9)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "Glasses... I can't see any glasses...";
|
||||
emotion 20;
|
||||
goto M_MENU;
|
||||
M_PART10:
|
||||
set @part,10;
|
||||
if (getequipisequiped(10)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "I don't see any mask here.";
|
||||
emotion 20;
|
||||
goto M_MENU;
|
||||
//Armor
|
||||
M_PART2:
|
||||
set @part,2;
|
||||
if (getequipisequiped(2)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "Your belly...? Yes, it's rather fat.";
|
||||
emotion 6;
|
||||
goto M_MENU;
|
||||
//Left Hand
|
||||
M_PART3:
|
||||
set @part,3;
|
||||
if (getequipisequiped(3)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "Sign your left hand? I'm not a celebrity, you know...";
|
||||
emotion 4;
|
||||
goto M_MENU;
|
||||
//Right Hand
|
||||
M_PART4:
|
||||
set @part,4;
|
||||
if (getequipisequiped(4)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "It isn't an armor... It's a mud!!! Wash your hands more often.";
|
||||
emotion 4;
|
||||
goto M_MENU;
|
||||
//Garment
|
||||
M_PART5:
|
||||
set @part,5;
|
||||
if (getequipisequiped(5)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "Look... It's empty...";
|
||||
goto M_MENU;
|
||||
//Foot Gear
|
||||
M_PART6:
|
||||
set @part,6;
|
||||
if (getequipisequiped(6)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "Aw!! I don't like stinky feet.";
|
||||
emotion 16;
|
||||
goto M_MENU;
|
||||
//Accessory1
|
||||
M_PART7:
|
||||
set @part,7;
|
||||
if (getequipisequiped(7)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "Yep... a pocket with a huge hole...";
|
||||
emotion 20;
|
||||
goto M_MENU;
|
||||
//Accessory2
|
||||
M_PART8:
|
||||
set @part,8;
|
||||
if (getequipisequiped(8)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "I see your fat belly...";
|
||||
emotion 20;
|
||||
goto M_MENU;
|
||||
|
||||
L_CHECK1:
|
||||
set @ref,0;
|
||||
set @id,getequipid(@part);
|
||||
if(getequipisidentify(@part)) goto L_CHECK2;
|
||||
mes "[Perchik]";
|
||||
mes "How could you equip such unknown item?";
|
||||
npctalk "What a sneaky cheater!";
|
||||
emotion e_wah;
|
||||
close;
|
||||
|
||||
L_CHECK2:
|
||||
set @ref,getequiprefinerycnt(@part);
|
||||
mes "[Perchik]";
|
||||
mes "You want me to sign your "+getitemname(@id)+"...";
|
||||
if(BaseJob==Job_Novice) {
|
||||
mes "But you're a Novice. My BOSS told me to send such weaklings away.";
|
||||
emotion e_sry;
|
||||
goto M_MENU;
|
||||
}
|
||||
set @slot0,getequipcardid(@part,0);
|
||||
set @slot1,getequipcardid(@part,1);
|
||||
set @slot2,getequipcardid(@part,2);
|
||||
set @slot3,getequipcardid(@part,3);
|
||||
|
||||
if(@slot0==255 || @slot0==254 || @slot0<0) {
|
||||
mes "Alas, this item's already signed.";
|
||||
mes "I would never touch masters work.";
|
||||
emotion e_hmm;
|
||||
goto M_MENU;
|
||||
}
|
||||
if(@slot0>4000 && @slot0<5000) {
|
||||
mes "A card? Here?!";
|
||||
mes "As I said before, I don't sign items with cards.";
|
||||
emotion e_hmm;
|
||||
goto M_MENU;
|
||||
}
|
||||
if(getiteminfo(@id,10)) {
|
||||
mes "Sorry. I don't sign slotted items.";
|
||||
emotion e_sry;
|
||||
goto M_MENU;
|
||||
}
|
||||
getinventorylist;
|
||||
for (set .@i,0; .@i < @inventorylist_count; set .@i,.@i+1){
|
||||
if(@inventorylist_expire[.@i] != 0) {
|
||||
mes "Sorry, I don't sign rental items!";
|
||||
emotion e_hmm;
|
||||
goto M_MENU;
|
||||
}
|
||||
}
|
||||
|
||||
if(@ref)mes "It has been refined "+@ref+" times... Adding ^FF00005000z^000000 per time.";
|
||||
mes "Give me ^0000803 gray Gift Boxes^000000";
|
||||
if(@ref)mes "and ^FF0000"+(5000*@ref)+"z^000000.";
|
||||
next;
|
||||
menu "Ok!",-, "Leave",M_END;
|
||||
if(Zeny>=(5000*@ref) && countitem(644)>=3) {
|
||||
delitem 644,3;
|
||||
set Zeny,Zeny-(5000*@ref);
|
||||
goto L_MAKE;
|
||||
}
|
||||
mes "[Perchik]";
|
||||
mes "I don't work for 'thanks'.";
|
||||
emotion e_sry;
|
||||
close;
|
||||
|
||||
L_MAKE:
|
||||
if(countitem2(@id,1,@ref,0,@slot0,@slot1,@slot2,@slot3)==0) {
|
||||
mes "[Perchik]";
|
||||
mes "Where is... "+getitemname(@id)+"?";
|
||||
npctalk "You're a snoozy cheater!";
|
||||
logmes "CHEATER: Tried to sign an item not having it: "+getitemname(@id);
|
||||
emotion e_wah;
|
||||
close;
|
||||
}
|
||||
delitem2 @id,1,1,@ref,0,@slot0,@slot1,@slot2,@slot3;
|
||||
|
||||
mes "[Perchik]";
|
||||
mes "Done!";
|
||||
emotion e_proud;
|
||||
|
||||
getitem2 @id,1,1,@ref,0,254,0,getcharid(0)&0xffff,(getcharid(0)>>16)&0xffff;
|
||||
close;
|
||||
|
||||
M_END:
|
||||
mes "[Perchik]";
|
||||
mes "See you...";
|
||||
emotion e_yawn;
|
||||
close;
|
||||
}
|
||||
//===== rAthena Script =======================================
|
||||
//= Sign Your Items
|
||||
//===== By: ==================================================
|
||||
//= Lupus
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Write you name on your rare equipment or weapon ^_-
|
||||
//= Original X-Mas mini-quest(could be used as a permanent one)
|
||||
//===== Additional Comments: =================================
|
||||
//=
|
||||
//============================================================
|
||||
|
||||
prt_in,24,61,7 script Perchik 47,{
|
||||
mes "[Perchik]";
|
||||
if(BaseJob==Job_Novice || BaseLevel<50) {
|
||||
mes "Sorry, I don't help newbies. Go kill more Porings.";
|
||||
emotion e_sry;
|
||||
close;
|
||||
}
|
||||
mes "Hi, I can ^000090sign your name^000000 on almost any rare item you can hold.";
|
||||
next;
|
||||
menu "Tell me more...",-, "Sign my items, please",M_DO;
|
||||
|
||||
mes "[Perchik]";
|
||||
mes "I can put your name on any slotless equipment or weapon.";
|
||||
emotion e_ic;
|
||||
next;
|
||||
mes "[Perchik]";
|
||||
mes "A week ago, my BOSS told me to send away newbies. I dunno why.";
|
||||
next;
|
||||
mes "[Perchik]";
|
||||
mes "For my work I accept ^0000803 Gift Box^000000es (gray one)";
|
||||
mes "plus ^FF00005000z^000000 per each refine of your item.";
|
||||
next;
|
||||
emotion e_cry;
|
||||
mes "[Perchik]";
|
||||
mes "Alas, I have 12 hungry children";
|
||||
mes "and a very angry wife.";
|
||||
next;
|
||||
mes "[Perchik]";
|
||||
mes "Or it was... 12 angry children";
|
||||
mes "and a very hungry wife...";
|
||||
emotion e_hmm;
|
||||
close;
|
||||
|
||||
M_DO:
|
||||
mes "[Perchik]";
|
||||
mes "Show me your items to sign...";
|
||||
M_MENU:
|
||||
next;
|
||||
menu getequipname(1),M_PART1,getequipname(9),M_PART9,getequipname(10),M_PART10,getequipname(2),M_PART2,getequipname(4),M_PART4,
|
||||
getequipname(3),M_PART3,getequipname(5),M_PART5,getequipname(6),M_PART6,getequipname(7),M_PART7,getequipname(8),M_PART8;
|
||||
|
||||
//Head Gear
|
||||
M_PART1:
|
||||
set @part,1;
|
||||
if (getequipisequiped(1)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "A bald head under a cheap wig... There's nothing worthy to sign.";
|
||||
emotion 6;
|
||||
goto M_MENU;
|
||||
M_PART9:
|
||||
set @part,9;
|
||||
if (getequipisequiped(9)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "Glasses... I can't see any glasses...";
|
||||
emotion 20;
|
||||
goto M_MENU;
|
||||
M_PART10:
|
||||
set @part,10;
|
||||
if (getequipisequiped(10)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "I don't see any mask here.";
|
||||
emotion 20;
|
||||
goto M_MENU;
|
||||
//Armor
|
||||
M_PART2:
|
||||
set @part,2;
|
||||
if (getequipisequiped(2)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "Your belly...? Yes, it's rather fat.";
|
||||
emotion 6;
|
||||
goto M_MENU;
|
||||
//Left Hand
|
||||
M_PART3:
|
||||
set @part,3;
|
||||
if (getequipisequiped(3)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "Sign your left hand? I'm not a celebrity, you know...";
|
||||
emotion 4;
|
||||
goto M_MENU;
|
||||
//Right Hand
|
||||
M_PART4:
|
||||
set @part,4;
|
||||
if (getequipisequiped(4)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "It isn't an armor... It's a mud!!! Wash your hands more often.";
|
||||
emotion 4;
|
||||
goto M_MENU;
|
||||
//Garment
|
||||
M_PART5:
|
||||
set @part,5;
|
||||
if (getequipisequiped(5)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "Look... It's empty...";
|
||||
goto M_MENU;
|
||||
//Foot Gear
|
||||
M_PART6:
|
||||
set @part,6;
|
||||
if (getequipisequiped(6)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "Aw!! I don't like stinky feet.";
|
||||
emotion 16;
|
||||
goto M_MENU;
|
||||
//Accessory1
|
||||
M_PART7:
|
||||
set @part,7;
|
||||
if (getequipisequiped(7)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "Yep... a pocket with a huge hole...";
|
||||
emotion 20;
|
||||
goto M_MENU;
|
||||
//Accessory2
|
||||
M_PART8:
|
||||
set @part,8;
|
||||
if (getequipisequiped(8)) goto L_CHECK1;
|
||||
mes "[Perchik]";
|
||||
mes "I see your fat belly...";
|
||||
emotion 20;
|
||||
goto M_MENU;
|
||||
|
||||
L_CHECK1:
|
||||
set @ref,0;
|
||||
set @id,getequipid(@part);
|
||||
if(getequipisidentify(@part)) goto L_CHECK2;
|
||||
mes "[Perchik]";
|
||||
mes "How could you equip such unknown item?";
|
||||
npctalk "What a sneaky cheater!";
|
||||
emotion e_wah;
|
||||
close;
|
||||
|
||||
L_CHECK2:
|
||||
set @ref,getequiprefinerycnt(@part);
|
||||
mes "[Perchik]";
|
||||
mes "You want me to sign your "+getitemname(@id)+"...";
|
||||
if(BaseJob==Job_Novice) {
|
||||
mes "But you're a Novice. My BOSS told me to send such weaklings away.";
|
||||
emotion e_sry;
|
||||
goto M_MENU;
|
||||
}
|
||||
set @slot0,getequipcardid(@part,0);
|
||||
set @slot1,getequipcardid(@part,1);
|
||||
set @slot2,getequipcardid(@part,2);
|
||||
set @slot3,getequipcardid(@part,3);
|
||||
|
||||
if(@slot0==255 || @slot0==254 || @slot0<0) {
|
||||
mes "Alas, this item's already signed.";
|
||||
mes "I would never touch masters work.";
|
||||
emotion e_hmm;
|
||||
goto M_MENU;
|
||||
}
|
||||
if(@slot0>4000 && @slot0<5000) {
|
||||
mes "A card? Here?!";
|
||||
mes "As I said before, I don't sign items with cards.";
|
||||
emotion e_hmm;
|
||||
goto M_MENU;
|
||||
}
|
||||
if(getiteminfo(@id,10)) {
|
||||
mes "Sorry. I don't sign slotted items.";
|
||||
emotion e_sry;
|
||||
goto M_MENU;
|
||||
}
|
||||
getinventorylist;
|
||||
for (set .@i,0; .@i < @inventorylist_count; set .@i,.@i+1){
|
||||
if(@inventorylist_expire[.@i] != 0) {
|
||||
mes "Sorry, I don't sign rental items!";
|
||||
emotion e_hmm;
|
||||
goto M_MENU;
|
||||
}
|
||||
}
|
||||
|
||||
if(@ref)mes "It has been refined "+@ref+" times... Adding ^FF00005000z^000000 per time.";
|
||||
mes "Give me ^0000803 gray Gift Boxes^000000";
|
||||
if(@ref)mes "and ^FF0000"+(5000*@ref)+"z^000000.";
|
||||
next;
|
||||
menu "Ok!",-, "Leave",M_END;
|
||||
if(Zeny>=(5000*@ref) && countitem(644)>=3) {
|
||||
delitem 644,3;
|
||||
set Zeny,Zeny-(5000*@ref);
|
||||
goto L_MAKE;
|
||||
}
|
||||
mes "[Perchik]";
|
||||
mes "I don't work for 'thanks'.";
|
||||
emotion e_sry;
|
||||
close;
|
||||
|
||||
L_MAKE:
|
||||
if(countitem2(@id,1,@ref,0,@slot0,@slot1,@slot2,@slot3)==0) {
|
||||
mes "[Perchik]";
|
||||
mes "Where is... "+getitemname(@id)+"?";
|
||||
npctalk "You're a snoozy cheater!";
|
||||
logmes "CHEATER: Tried to sign an item not having it: "+getitemname(@id);
|
||||
emotion e_wah;
|
||||
close;
|
||||
}
|
||||
delitem2 @id,1,1,@ref,0,@slot0,@slot1,@slot2,@slot3;
|
||||
|
||||
mes "[Perchik]";
|
||||
mes "Done!";
|
||||
emotion e_proud;
|
||||
|
||||
getitem2 @id,1,1,@ref,0,254,0,getcharid(0)&0xffff,(getcharid(0)>>16)&0xffff;
|
||||
close;
|
||||
|
||||
M_END:
|
||||
mes "[Perchik]";
|
||||
mes "See you...";
|
||||
emotion e_yawn;
|
||||
close;
|
||||
}
|
||||
|
@ -1,44 +1,44 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Shop Street
|
||||
//===== By: ==================================================
|
||||
//= Masao
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0 [Masao]
|
||||
//===== Compatible With: =====================================
|
||||
//= Any rA SVN
|
||||
//===== Description: =========================================
|
||||
//= A Shopstreet in Prontera where players can buy some Equipment.
|
||||
//============================================================
|
||||
|
||||
prontera,147,240,5 shop Armor 99,2304:10000,2306:20000,2308:20000,2310:50000,2311:50000,2313:50000,2315:75000,2317:100000,2322:20000,2326:60000,2331:75000,2342:100000,2353:75000,2364:150000,2367:100000,2399:50000
|
||||
prontera,147,242,5 shop Shield 99,2102:10000,2106:60000,2108:60000,2110:85000,2114:30000,2116:30000,2123:50000,2124:50000
|
||||
prontera,147,244,5 shop Footgear 99,2404:10000,2406:20000,2409:30000,2412:50000,2417:50000,2418:50000,2424:50000,2425:20000
|
||||
prontera,147,246,5 shop Mace 99,1502:10000,1505:20000,1511:20000,1514:-1,1517:-1,1520:50000,1522:100000,1523:25000,1528:50000,1529:50000,1531:50000
|
||||
prontera,147,248,5 shop Knuckle 494,1802:20000,1804:50000,1806:60000,1808:75000,1810:70000,1812:60000,1813:100000,1814:100000,1822:150000
|
||||
prontera,147,250,5 shop Whips 494,1951:10000,1953:20000,1955:30000,1962:20000,1963:50000,1972:10000,1974:10000,1976:50000
|
||||
prontera,147,252,5 shop Instruments 494,1902:10000,1904:20000,1906:-1,1908:50000,1913:50000,1914:50000,1915:50000,1916:50000,1917:50000
|
||||
prontera,147,254,5 shop Books 494,1550:30000,1551:60000,1552:51000,1559:25000,1561:75000,1564:25000,1568:70000,1569:70000,1570:70000,1571:70000,1572:50000
|
||||
prontera,147,256,5 shop Guns 497,13103:60000,13105:100000,13106:200000,13101:10000,13150:6000,13152:30000,13153:50000,13155:60000,13156:100000,13154:30000,13159:250000,13157:150000,13161:300000,13162:500000
|
||||
prontera,147,258,5 shop Fuuma Shuriken 497,7522:500,7521:500,7523:500
|
||||
prontera,147,260,5 shop One-Handed Swords 497,1108:10000,1117:10000,1120:100000,1124:50000,1130:100000,1131:50000,1133:50000,1138:200000,1139:200000,1145:-1,1149:50000
|
||||
prontera,147,262,5 shop Two-Handed Swords 497,1155:50000,1158:90000,1163:120000,1164:50000,1165:50000,1166:75000,1168:50000,1169:500000,1172:200000,1175:75000
|
||||
prontera,147,264,5 shop Spears 731,1405:20000,1408:50000,1415:100000,1417:75000,1421:75000,1422:25000
|
||||
prontera,147,238,1 shop Dagger 731,1208:20000,1211:20000,1217:20000,1223:50000,1231:75000,1235:75000,1236:75000,1237:75000
|
||||
prontera,164,264,4 shop Axes 731,1302:10000,1306:20000,1307:45000,1309:75000,1352:20000,1355:30000,1358:75000,1363:50000,1364:50000,1365:50000,1366:50000,1371:100000
|
||||
prontera,164,262,4 shop Accessories 731,2621:-1,2622:-1,2624:30000,2618:10000,2625:30000,2626:30000,2674:10000,2648:50000,2649:50000,2627:-1,2701:75000
|
||||
prontera,164,260,4 shop Bows 731,1702:20000,1705:50000,1708:20000,1720:50000,1723:75000,1724:75000,1725:75000
|
||||
prontera,164,258,4 shop Staffs / Rods 731,1602:20000,1605:20000,1608:20000,1611:45000,1618:85000,1620:85000,1622:50000,1624:50000,1625:50000,1626:50000
|
||||
prontera,164,256,4 shop Garments 405,2504:10000,2506:40000,2507:82000,2508:56000,2514:50000,2518:60000,2519:60000,2528:85000,2531:10000,2553:10000
|
||||
prontera,164,254,4 shop Katars 405,1251:50000,1253:100000,1255:75000,1261:125000,1262:20000,1263:20000,1265:100000,1275:100000,1276:100000,1277:100000,1278:100000
|
||||
prontera,164,252,4 shop Lower Headgear 405,2218:10000,5054:30000,2267:5000,5107:100000,2265:5000,2266:50000,2269:50000,2270:50000
|
||||
prontera,164,250,4 shop Middle Headgear 405,2201:5000,2203:4000,2205:3500,2212:5000,2225:10000,2229:50000,2231:50000,2234:50000,2235:50000,2281:25000,2292:50000,2296:50000
|
||||
prontera,164,248,4 shop Upper Headgear 405,2210:1000,2211:1000,2213:10000,2214:20000,2217:10000,2221:5000,2223:10000,2246:75000,2256:75000,2264:100000,2280:20000,2299:30000
|
||||
prontera,164,246,4 shop Headgear 01 832,5380:40000,5382:40000,2269:5000,2270:5000,5107:15000,5110:15000,2247:30000:5206:10000,2245:30000,2286:35000,2296:15000,2258:45000,5161:200000,5104:40000,2295:20000,5026:30000,5032:100000,5038:30000,5229:65000,5227:65000,5228:65000,5198:50000,5058:300000,5253:80000,5252:60000,5296:100000,5231:300000,5232:300000,5233:300000,5230:300000,5234:300000,5076:50000
|
||||
prontera,164,244,4 shop Headgear 02 832,5059:100000,5235:75000,5236:75000,5237:75000,5293:150000,5303:35000,5304:65000,5312:65000,5315:45000,5317:45000,5319:75000,5320:120000,5323:588888,5336:50000,5337:50000,5338:50000,5339:50000,5346:50000
|
||||
prontera,164,242,4 shop Headgear 03 832,5181:300000,5102:500000,5016:75000,5349:150000,5013:700000,5022:500000,5171:1250000,5135:500000,5029:50000,5033:65000,5040:100000,5047:35000,5065:65000,5068:50000,5074:50000,5084:75000,5086:150000,5108:350000,5121:100000,5133:50000,5137:100000,5138:150000,5140:55000,5146:75000,5151:75000,5152:150000,5170:150000,5173:75000,5174:75000,5175:75000,5184:50000,5185:45000,5187:75000,5188:50000,5191:25000,5192:25000,5193:25000,5194:25000,5195:25000,5196:25000,5197:25000
|
||||
prontera,164,240,4 shop Headgear 04 832,5200:75000,5205:100000,5211:75000,5226:50000,5238:75000,5239:75000,5240:75000,5241:75000,5242:75000,5243:50000,5325:75000,5254:100000,5255:65000,5257:50000,5297:100000,2202:45000,5258:35000,5298:50000,5276:50000,5273:50000,5275:50000,5274:50000,5259:50000,5271:250000,5272:50000,5284:50000,5286:75000,5288:50000,5289:50000,5291:55000,5292:55000,5294:55000,5352:50000,5324:100000,5359:50000,5360:50000
|
||||
prontera,164,238,4 shop Headgear 05 832,5340:50000,5341:50000,5342:50000,5343:50000,5344:50000,5345:50000,5354:50000,5355:50000,5361:65000,5365:50000,5373:75000,5374:350000,5379:50000,5383:60000,5384:88888,5390:88888,5388:50000,5411:50000,5393:75000,5397:35000,5399:50000,5800:175000,5801:300000,5802:150000
|
||||
prontera,151,284,4 shop Ammunition 880,1766:50,1755:20,1750:10,1754:20,1761:20,1752:20,1760:20,1759:20,1772:100,1757:30,1770:20,1769:30,1765:40,1763:30,1762:30,1767:30,1764:30,1751:20,1768:30,1753:30,1756:30,1758:30,1771:1000,13200:50,13202:100,13201:300,13206:500,13203:500,13207:500,13204:500,13205:500,13252:50,13254:500,13251:100,13253:300,13250:50,13256:50,13259:50,13258:50,13255:50,13257:50
|
||||
prontera,153,284,4 shop Alchemist Dealer 880,715:600,716:600,717:600,1025:200,7136:500,7135:500,7136:500,7137:500,7138:500,7139:500
|
||||
prontera,155,284,4 shop Street Dealer 880,678:5000,505:-1,506:40,610:4000,545:150,546:600,547:1650
|
||||
//===== rAthena Script =======================================
|
||||
//= Shop Street
|
||||
//===== By: ==================================================
|
||||
//= Masao
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0 [Masao]
|
||||
//===== Compatible With: =====================================
|
||||
//= Any rA SVN
|
||||
//===== Description: =========================================
|
||||
//= A Shopstreet in Prontera where players can buy some Equipment.
|
||||
//============================================================
|
||||
|
||||
prontera,147,240,5 shop Armor 99,2304:10000,2306:20000,2308:20000,2310:50000,2311:50000,2313:50000,2315:75000,2317:100000,2322:20000,2326:60000,2331:75000,2342:100000,2353:75000,2364:150000,2367:100000,2399:50000
|
||||
prontera,147,242,5 shop Shield 99,2102:10000,2106:60000,2108:60000,2110:85000,2114:30000,2116:30000,2123:50000,2124:50000
|
||||
prontera,147,244,5 shop Footgear 99,2404:10000,2406:20000,2409:30000,2412:50000,2417:50000,2418:50000,2424:50000,2425:20000
|
||||
prontera,147,246,5 shop Mace 99,1502:10000,1505:20000,1511:20000,1514:-1,1517:-1,1520:50000,1522:100000,1523:25000,1528:50000,1529:50000,1531:50000
|
||||
prontera,147,248,5 shop Knuckle 494,1802:20000,1804:50000,1806:60000,1808:75000,1810:70000,1812:60000,1813:100000,1814:100000,1822:150000
|
||||
prontera,147,250,5 shop Whips 494,1951:10000,1953:20000,1955:30000,1962:20000,1963:50000,1972:10000,1974:10000,1976:50000
|
||||
prontera,147,252,5 shop Instruments 494,1902:10000,1904:20000,1906:-1,1908:50000,1913:50000,1914:50000,1915:50000,1916:50000,1917:50000
|
||||
prontera,147,254,5 shop Books 494,1550:30000,1551:60000,1552:51000,1559:25000,1561:75000,1564:25000,1568:70000,1569:70000,1570:70000,1571:70000,1572:50000
|
||||
prontera,147,256,5 shop Guns 497,13103:60000,13105:100000,13106:200000,13101:10000,13150:6000,13152:30000,13153:50000,13155:60000,13156:100000,13154:30000,13159:250000,13157:150000,13161:300000,13162:500000
|
||||
prontera,147,258,5 shop Fuuma Shuriken 497,7522:500,7521:500,7523:500
|
||||
prontera,147,260,5 shop One-Handed Swords 497,1108:10000,1117:10000,1120:100000,1124:50000,1130:100000,1131:50000,1133:50000,1138:200000,1139:200000,1145:-1,1149:50000
|
||||
prontera,147,262,5 shop Two-Handed Swords 497,1155:50000,1158:90000,1163:120000,1164:50000,1165:50000,1166:75000,1168:50000,1169:500000,1172:200000,1175:75000
|
||||
prontera,147,264,5 shop Spears 731,1405:20000,1408:50000,1415:100000,1417:75000,1421:75000,1422:25000
|
||||
prontera,147,238,1 shop Dagger 731,1208:20000,1211:20000,1217:20000,1223:50000,1231:75000,1235:75000,1236:75000,1237:75000
|
||||
prontera,164,264,4 shop Axes 731,1302:10000,1306:20000,1307:45000,1309:75000,1352:20000,1355:30000,1358:75000,1363:50000,1364:50000,1365:50000,1366:50000,1371:100000
|
||||
prontera,164,262,4 shop Accessories 731,2621:-1,2622:-1,2624:30000,2618:10000,2625:30000,2626:30000,2674:10000,2648:50000,2649:50000,2627:-1,2701:75000
|
||||
prontera,164,260,4 shop Bows 731,1702:20000,1705:50000,1708:20000,1720:50000,1723:75000,1724:75000,1725:75000
|
||||
prontera,164,258,4 shop Staffs / Rods 731,1602:20000,1605:20000,1608:20000,1611:45000,1618:85000,1620:85000,1622:50000,1624:50000,1625:50000,1626:50000
|
||||
prontera,164,256,4 shop Garments 405,2504:10000,2506:40000,2507:82000,2508:56000,2514:50000,2518:60000,2519:60000,2528:85000,2531:10000,2553:10000
|
||||
prontera,164,254,4 shop Katars 405,1251:50000,1253:100000,1255:75000,1261:125000,1262:20000,1263:20000,1265:100000,1275:100000,1276:100000,1277:100000,1278:100000
|
||||
prontera,164,252,4 shop Lower Headgear 405,2218:10000,5054:30000,2267:5000,5107:100000,2265:5000,2266:50000,2269:50000,2270:50000
|
||||
prontera,164,250,4 shop Middle Headgear 405,2201:5000,2203:4000,2205:3500,2212:5000,2225:10000,2229:50000,2231:50000,2234:50000,2235:50000,2281:25000,2292:50000,2296:50000
|
||||
prontera,164,248,4 shop Upper Headgear 405,2210:1000,2211:1000,2213:10000,2214:20000,2217:10000,2221:5000,2223:10000,2246:75000,2256:75000,2264:100000,2280:20000,2299:30000
|
||||
prontera,164,246,4 shop Headgear 01 832,5380:40000,5382:40000,2269:5000,2270:5000,5107:15000,5110:15000,2247:30000:5206:10000,2245:30000,2286:35000,2296:15000,2258:45000,5161:200000,5104:40000,2295:20000,5026:30000,5032:100000,5038:30000,5229:65000,5227:65000,5228:65000,5198:50000,5058:300000,5253:80000,5252:60000,5296:100000,5231:300000,5232:300000,5233:300000,5230:300000,5234:300000,5076:50000
|
||||
prontera,164,244,4 shop Headgear 02 832,5059:100000,5235:75000,5236:75000,5237:75000,5293:150000,5303:35000,5304:65000,5312:65000,5315:45000,5317:45000,5319:75000,5320:120000,5323:588888,5336:50000,5337:50000,5338:50000,5339:50000,5346:50000
|
||||
prontera,164,242,4 shop Headgear 03 832,5181:300000,5102:500000,5016:75000,5349:150000,5013:700000,5022:500000,5171:1250000,5135:500000,5029:50000,5033:65000,5040:100000,5047:35000,5065:65000,5068:50000,5074:50000,5084:75000,5086:150000,5108:350000,5121:100000,5133:50000,5137:100000,5138:150000,5140:55000,5146:75000,5151:75000,5152:150000,5170:150000,5173:75000,5174:75000,5175:75000,5184:50000,5185:45000,5187:75000,5188:50000,5191:25000,5192:25000,5193:25000,5194:25000,5195:25000,5196:25000,5197:25000
|
||||
prontera,164,240,4 shop Headgear 04 832,5200:75000,5205:100000,5211:75000,5226:50000,5238:75000,5239:75000,5240:75000,5241:75000,5242:75000,5243:50000,5325:75000,5254:100000,5255:65000,5257:50000,5297:100000,2202:45000,5258:35000,5298:50000,5276:50000,5273:50000,5275:50000,5274:50000,5259:50000,5271:250000,5272:50000,5284:50000,5286:75000,5288:50000,5289:50000,5291:55000,5292:55000,5294:55000,5352:50000,5324:100000,5359:50000,5360:50000
|
||||
prontera,164,238,4 shop Headgear 05 832,5340:50000,5341:50000,5342:50000,5343:50000,5344:50000,5345:50000,5354:50000,5355:50000,5361:65000,5365:50000,5373:75000,5374:350000,5379:50000,5383:60000,5384:88888,5390:88888,5388:50000,5411:50000,5393:75000,5397:35000,5399:50000,5800:175000,5801:300000,5802:150000
|
||||
prontera,151,284,4 shop Ammunition 880,1766:50,1755:20,1750:10,1754:20,1761:20,1752:20,1760:20,1759:20,1772:100,1757:30,1770:20,1769:30,1765:40,1763:30,1762:30,1767:30,1764:30,1751:20,1768:30,1753:30,1756:30,1758:30,1771:1000,13200:50,13202:100,13201:300,13206:500,13203:500,13207:500,13204:500,13205:500,13252:50,13254:500,13251:100,13253:300,13250:50,13256:50,13259:50,13258:50,13255:50,13257:50
|
||||
prontera,153,284,4 shop Alchemist Dealer 880,715:600,716:600,717:600,1025:200,7136:500,7135:500,7136:500,7137:500,7138:500,7139:500
|
||||
prontera,155,284,4 shop Street Dealer 880,678:5000,505:-1,506:40,610:4000,545:150,546:600,547:1650
|
||||
prontera,157,284,4 shop Sheepy Gonzales 895,12028:1000,12262:500,12016:750
|
@ -1,319 +1,319 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Job Master
|
||||
//===== By: ==================================================
|
||||
//= rAthena Dev Team [Ori:LunatikBunnie]
|
||||
//===== Current Version: =====================================
|
||||
//= 1.7
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN; 15624+
|
||||
//===== Description: =========================================
|
||||
//= Changes your job without asking too much
|
||||
//= For other info, please contact me at Lunatikbunnie@gmail.com
|
||||
//= Editted menu to avoid button mashing.
|
||||
//= 1.3 Added TK/SL/SG, thanks to Haplo. Fixed minor bugs [Lupus]
|
||||
//= script leaves grabage variable: 'lastJob'
|
||||
//= 1.4 Added NJ/GS, changed all job numbers to Job_* constants.
|
||||
//= All credits go to pxxx [Skotlex]
|
||||
//= 1.5 Rewrite everything from scratch. [Lance]
|
||||
//= 1.5a fixed Baby -> Super Baby change. Switched to JobName() [Lupus]
|
||||
//= 1.6 Added support for both branches of 3rd classes,
|
||||
//= unified response order, fixed minor quirk.
|
||||
//= 1.7 Corrected typo on EAJ_THIRD to EAJL_THIRD and fixed job
|
||||
//= level requirement to change to 3rd. [Rytech]
|
||||
//===== TODO: ================================================
|
||||
//= Add baby 3rd classes
|
||||
//= Could be restructured some more using eajobs
|
||||
//============================================================
|
||||
|
||||
prontera,153,193,6 script Job Master 123,{
|
||||
mes "^ff0000[Job Master]^000000";
|
||||
if(Class >= Job_Rune_Knight) goto L_noReq;
|
||||
|
||||
if(SkillPoint != 0)
|
||||
{
|
||||
mes "I'm sorry, please use up all your skill points before changing jobs";
|
||||
mes "Please come again soon!";
|
||||
close;
|
||||
}
|
||||
|
||||
if(JobLevel < 10) goto L_LvError;
|
||||
|
||||
switch(Class){
|
||||
case Job_Novice_High:
|
||||
case Job_Baby:
|
||||
case Job_Novice:
|
||||
skill 142,1,0;
|
||||
skill 143,1,0;
|
||||
mes "Welcome, please select the job you wish to change into";
|
||||
if(lastJob != 0 && Class == Job_Novice_High){
|
||||
switch(lastJob){
|
||||
case Job_Knight:
|
||||
case Job_Crusader:
|
||||
set @target_job, Job_Swordman_High;
|
||||
break;
|
||||
case Job_Monk:
|
||||
case Job_Priest:
|
||||
set @target_job, Job_Acolyte_High;
|
||||
break;
|
||||
case Job_Alchemist:
|
||||
case Job_Blacksmith:
|
||||
set @target_job, Job_Merchant_High;
|
||||
break;
|
||||
case Job_Rogue:
|
||||
case Job_Assassin:
|
||||
set @target_job, Job_Thief_High;
|
||||
break;
|
||||
case Job_Wizard:
|
||||
case Job_Sage:
|
||||
set @target_job, Job_Mage_High;
|
||||
break;
|
||||
case Job_Hunter:
|
||||
case Job_Bard:
|
||||
case Job_Dancer:
|
||||
set @target_job, Job_Archer_High;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch(select("Swordsman","Mage","Archer","Acolyte","Merchant","Thief",
|
||||
"Super Novice","Taekwon","Gunslinger","Ninja")){
|
||||
case 7:
|
||||
if(Class == Job_Novice_High) goto L_noReq;
|
||||
if($@JC_SupNovM > BaseLevel) goto L_BvError;
|
||||
if(Upper == 2)
|
||||
set @target_job, Job_Super_Baby;
|
||||
else
|
||||
set @target_job, Job_SuperNovice;
|
||||
break;
|
||||
case 8:
|
||||
if(Class == Job_Novice_High) goto L_noReq;
|
||||
if(Upper == 2) goto L_noReq;
|
||||
set @target_job, Job_Taekwon;
|
||||
break;
|
||||
case 9:
|
||||
case 10:
|
||||
if(Class == Job_Novice_High || Upper == 2) goto L_noReq;
|
||||
set @target_job, @menu + 15;
|
||||
break;
|
||||
default:
|
||||
set @target_job, @menu;
|
||||
if(Class == Job_Novice_High) set @target_job, @target_job + 4001;
|
||||
break;
|
||||
}
|
||||
}
|
||||
mes "Are you sure you want to change to " + JobName(@target_job) + "?";
|
||||
if(select("Yes","No") == 1){
|
||||
callfunc "Job_Change", @target_job;
|
||||
if(@target_job == Job_Gunslinger || @target_job == Job_Ninja || @target_job == Job_Taekwon) {
|
||||
callfunc "F_ClearJobVar";
|
||||
} else {
|
||||
if($@JC_Plat) goto L_GivePlat;
|
||||
}
|
||||
}
|
||||
close;
|
||||
break;
|
||||
default:
|
||||
if(JobLevel < $@JC_MinimumJB) goto L_LvError;
|
||||
deletearray @job_opt, getarraysize(@job_opt);
|
||||
if(Class < Job_Knight || Class == Job_Taekwon || (Class > Job_Baby && Class < Job_Baby_Knight) || (Class > Job_Novice_High && Class < Job_Lord_Knight)){
|
||||
if(lastJob != 0 && Class >= Job_Swordman_High){ // lastJob could have been set before changing back to non-trans
|
||||
set @target_job, lastJob + 4001;
|
||||
} else {
|
||||
switch(Class){
|
||||
case Job_Swordman_High:
|
||||
case Job_Baby_Swordman:
|
||||
case Job_Swordman:
|
||||
set @job_opt[0], Job_Knight;
|
||||
set @job_opt[1], Job_Crusader;
|
||||
break;
|
||||
case Job_Mage_High:
|
||||
case Job_Baby_Mage:
|
||||
case Job_Mage:
|
||||
set @job_opt[0], Job_Wizard;
|
||||
set @job_opt[1], Job_Sage;
|
||||
break;
|
||||
case Job_Archer_High:
|
||||
case Job_Baby_Archer:
|
||||
case Job_Archer:
|
||||
set @job_opt[0], Job_Hunter;
|
||||
if(Sex == 0)
|
||||
set @job_opt[1], Job_Dancer;
|
||||
else
|
||||
set @job_opt[1], Job_Bard;
|
||||
break;
|
||||
case Job_Acolyte_High:
|
||||
case Job_Baby_Acolyte:
|
||||
case Job_Acolyte:
|
||||
set @job_opt[0], Job_Priest;
|
||||
set @job_opt[1], Job_Monk;
|
||||
break;
|
||||
case Job_Merchant_High:
|
||||
case Job_Baby_Merchant:
|
||||
case Job_Merchant:
|
||||
set @job_opt[0], Job_Blacksmith;
|
||||
set @job_opt[1], Job_Alchemist;
|
||||
break;
|
||||
case Job_Thief_High:
|
||||
case Job_Baby_Thief:
|
||||
case Job_Thief:
|
||||
set @job_opt[0], Job_Assassin;
|
||||
set @job_opt[1], Job_Rogue;
|
||||
break;
|
||||
default:
|
||||
set @job_opt[0], Job_Star_Gladiator;
|
||||
set @job_opt[1], Job_Soul_Linker;
|
||||
break;
|
||||
}
|
||||
mes "Welcome, please select the job you wish to change into";
|
||||
set @target_job, @job_opt[select(JobName(@job_opt[0]), JobName(@job_opt[1]))-1];
|
||||
if(Class > Job_Novice_High && Class < Job_Lord_Knight) set @target_job, @target_job + 4001;
|
||||
}
|
||||
mes "Are you sure you want to change to " + JobName(@target_job) + "?";
|
||||
if(select("Yes","No")==1){
|
||||
callfunc "Job_Change", @target_job;
|
||||
if(@target_job == Job_Star_Gladiator || @target_job == Job_Soul_Linker) {
|
||||
callfunc "F_ClearJobVar";
|
||||
} else {
|
||||
if($@JC_Plat) goto L_GivePlat;
|
||||
}
|
||||
}
|
||||
close;
|
||||
}
|
||||
|
||||
if(BaseLevel < 99 || JobLevel < 50) goto L_cantCh;
|
||||
if(checkfalcon() || checkcart() || checkriding()) goto L_remove;
|
||||
|
||||
if((Class >= Job_Knight) && (Class <= Job_Crusader2)){
|
||||
if (.thirdclass==1) {
|
||||
mes "Would you like to be reborn or change to 3rd class?";
|
||||
switch(select("I want to be reborn!", "I want to change to 3rd class!", "Cancel"))
|
||||
{
|
||||
case 1:
|
||||
mes "Are you sure you want to be reborn?";
|
||||
if(select("Yes", "No")==1){
|
||||
set lastJob, Class;
|
||||
if(Class == Job_Knight2){
|
||||
set lastJob, Job_Knight;
|
||||
} else {
|
||||
if(Class == Job_Crusader2){
|
||||
set lastJob, Job_Crusader;
|
||||
}
|
||||
}
|
||||
jobchange Job_Novice_High;
|
||||
resetlvl(1);
|
||||
skill 142,1,0;
|
||||
skill 143,1,0;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
goto L_Third;
|
||||
}
|
||||
close;
|
||||
}
|
||||
else {
|
||||
mes "Are you sure you want to be reborn?";
|
||||
if(select("Yes", "No")==1){
|
||||
set lastJob, Class;
|
||||
if(Class == Job_Knight2){
|
||||
set lastJob, Job_Knight;
|
||||
} else {
|
||||
if(Class == Job_Crusader2){
|
||||
set lastJob, Job_Crusader;
|
||||
}
|
||||
}
|
||||
jobchange Job_Novice_High;
|
||||
resetlvl(1);
|
||||
skill 142,1,0;
|
||||
skill 143,1,0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Class >= Job_Lord_Knight && Class <= Job_Paladin2 && .thirdclass == 1)
|
||||
{
|
||||
if(JobLevel < 50) goto L_cantCh;
|
||||
goto L_Third;
|
||||
}
|
||||
}
|
||||
mes "I'm sorry, there are no further classes for your job.";
|
||||
close;
|
||||
|
||||
L_Third:
|
||||
set @target_job, roclass(eaclass() | EAJL_THIRD);
|
||||
mes "Are you sure you want to change to " + JobName(@target_job) + "?";
|
||||
if(select("Yes", "No")==1){
|
||||
callfunc "Job_Change", @target_job;
|
||||
}
|
||||
close;
|
||||
L_GivePlat:
|
||||
if (BaseClass==Job_SuperNovice) goto L_sSuperN;
|
||||
if (BaseClass==Job_Swordman) goto L_sSword;
|
||||
if (BaseClass==Job_Mage) goto L_sMage;
|
||||
if (BaseClass==Job_Archer) goto L_sArcher;
|
||||
if (BaseClass==Job_Acolyte) goto L_sAcolyte;
|
||||
if (BaseClass==Job_Merchant) goto L_sMerchant;
|
||||
if (BaseClass==Job_Thief) goto L_sThief;
|
||||
close;
|
||||
L_sSuperN:
|
||||
skill 142,1,0;
|
||||
close;
|
||||
L_sSword:
|
||||
skill 142,1,0;
|
||||
skill 144,1,0;
|
||||
skill 145,1,0;
|
||||
skill 146,1,0;
|
||||
close;
|
||||
L_sMage:
|
||||
skill 142,1,0;
|
||||
skill 157,1,0;
|
||||
close;
|
||||
L_sArcher:
|
||||
skill 142,1,0;
|
||||
skill 147,1,0;
|
||||
skill 148,1,0;
|
||||
close;
|
||||
L_sAcolyte:
|
||||
skill 142,1,0;
|
||||
skill 156,1,0;
|
||||
close;
|
||||
L_sMerchant:
|
||||
skill 142,1,0;
|
||||
skill 153,1,0;
|
||||
skill 154,1,0;
|
||||
skill 155,1,0;
|
||||
close;
|
||||
L_sThief:
|
||||
skill 142,1,0;
|
||||
skill 149,1,0;
|
||||
skill 150,1,0;
|
||||
skill 151,1,0;
|
||||
skill 152,1,0;
|
||||
close;
|
||||
|
||||
L_cantCh:
|
||||
mes "I'm sorry, you do not meet the requirements to change";
|
||||
mes "Please come again soon!";
|
||||
close;
|
||||
L_LvError:
|
||||
mes "I'm sorry, you do not seem to have enough Job Levels";
|
||||
mes "Please come again soon!";
|
||||
close;
|
||||
L_BvError:
|
||||
mes "I'm sorry, you do not seem to have enough Base Levels";
|
||||
mes "Please come again soon!";
|
||||
close;
|
||||
L_noReq:
|
||||
mes "I'm sorry, you do not meet the requirements to change";
|
||||
mes "Please come again soon!";
|
||||
close;
|
||||
L_remove:
|
||||
mes "Please remove your cart,falcon or peco";
|
||||
mes "Please come again soon!";
|
||||
close;
|
||||
|
||||
OnInit:
|
||||
// Variable Setup
|
||||
set $@JC_MinimumJB, 40; //Minimum job level for changing to 2nd classes (Default : 40)
|
||||
set $@JC_Plat, 1; //Give Platinum skills on Jobchange (Default : 1-yes)
|
||||
set $@JC_SupNovM, 45; //Base Level to change into Super Novice (Default : 45)
|
||||
set .thirdclass, 1; // Allow players to change into third class?
|
||||
end;
|
||||
}
|
||||
//===== rAthena Script =======================================
|
||||
//= Job Master
|
||||
//===== By: ==================================================
|
||||
//= rAthena Dev Team [Ori:LunatikBunnie]
|
||||
//===== Current Version: =====================================
|
||||
//= 1.7
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN; 15624+
|
||||
//===== Description: =========================================
|
||||
//= Changes your job without asking too much
|
||||
//= For other info, please contact me at Lunatikbunnie@gmail.com
|
||||
//= Editted menu to avoid button mashing.
|
||||
//= 1.3 Added TK/SL/SG, thanks to Haplo. Fixed minor bugs [Lupus]
|
||||
//= script leaves grabage variable: 'lastJob'
|
||||
//= 1.4 Added NJ/GS, changed all job numbers to Job_* constants.
|
||||
//= All credits go to pxxx [Skotlex]
|
||||
//= 1.5 Rewrite everything from scratch. [Lance]
|
||||
//= 1.5a fixed Baby -> Super Baby change. Switched to JobName() [Lupus]
|
||||
//= 1.6 Added support for both branches of 3rd classes,
|
||||
//= unified response order, fixed minor quirk.
|
||||
//= 1.7 Corrected typo on EAJ_THIRD to EAJL_THIRD and fixed job
|
||||
//= level requirement to change to 3rd. [Rytech]
|
||||
//===== TODO: ================================================
|
||||
//= Add baby 3rd classes
|
||||
//= Could be restructured some more using eajobs
|
||||
//============================================================
|
||||
|
||||
prontera,153,193,6 script Job Master 123,{
|
||||
mes "^ff0000[Job Master]^000000";
|
||||
if(Class >= Job_Rune_Knight) goto L_noReq;
|
||||
|
||||
if(SkillPoint != 0)
|
||||
{
|
||||
mes "I'm sorry, please use up all your skill points before changing jobs";
|
||||
mes "Please come again soon!";
|
||||
close;
|
||||
}
|
||||
|
||||
if(JobLevel < 10) goto L_LvError;
|
||||
|
||||
switch(Class){
|
||||
case Job_Novice_High:
|
||||
case Job_Baby:
|
||||
case Job_Novice:
|
||||
skill 142,1,0;
|
||||
skill 143,1,0;
|
||||
mes "Welcome, please select the job you wish to change into";
|
||||
if(lastJob != 0 && Class == Job_Novice_High){
|
||||
switch(lastJob){
|
||||
case Job_Knight:
|
||||
case Job_Crusader:
|
||||
set @target_job, Job_Swordman_High;
|
||||
break;
|
||||
case Job_Monk:
|
||||
case Job_Priest:
|
||||
set @target_job, Job_Acolyte_High;
|
||||
break;
|
||||
case Job_Alchemist:
|
||||
case Job_Blacksmith:
|
||||
set @target_job, Job_Merchant_High;
|
||||
break;
|
||||
case Job_Rogue:
|
||||
case Job_Assassin:
|
||||
set @target_job, Job_Thief_High;
|
||||
break;
|
||||
case Job_Wizard:
|
||||
case Job_Sage:
|
||||
set @target_job, Job_Mage_High;
|
||||
break;
|
||||
case Job_Hunter:
|
||||
case Job_Bard:
|
||||
case Job_Dancer:
|
||||
set @target_job, Job_Archer_High;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch(select("Swordsman","Mage","Archer","Acolyte","Merchant","Thief",
|
||||
"Super Novice","Taekwon","Gunslinger","Ninja")){
|
||||
case 7:
|
||||
if(Class == Job_Novice_High) goto L_noReq;
|
||||
if($@JC_SupNovM > BaseLevel) goto L_BvError;
|
||||
if(Upper == 2)
|
||||
set @target_job, Job_Super_Baby;
|
||||
else
|
||||
set @target_job, Job_SuperNovice;
|
||||
break;
|
||||
case 8:
|
||||
if(Class == Job_Novice_High) goto L_noReq;
|
||||
if(Upper == 2) goto L_noReq;
|
||||
set @target_job, Job_Taekwon;
|
||||
break;
|
||||
case 9:
|
||||
case 10:
|
||||
if(Class == Job_Novice_High || Upper == 2) goto L_noReq;
|
||||
set @target_job, @menu + 15;
|
||||
break;
|
||||
default:
|
||||
set @target_job, @menu;
|
||||
if(Class == Job_Novice_High) set @target_job, @target_job + 4001;
|
||||
break;
|
||||
}
|
||||
}
|
||||
mes "Are you sure you want to change to " + JobName(@target_job) + "?";
|
||||
if(select("Yes","No") == 1){
|
||||
callfunc "Job_Change", @target_job;
|
||||
if(@target_job == Job_Gunslinger || @target_job == Job_Ninja || @target_job == Job_Taekwon) {
|
||||
callfunc "F_ClearJobVar";
|
||||
} else {
|
||||
if($@JC_Plat) goto L_GivePlat;
|
||||
}
|
||||
}
|
||||
close;
|
||||
break;
|
||||
default:
|
||||
if(JobLevel < $@JC_MinimumJB) goto L_LvError;
|
||||
deletearray @job_opt, getarraysize(@job_opt);
|
||||
if(Class < Job_Knight || Class == Job_Taekwon || (Class > Job_Baby && Class < Job_Baby_Knight) || (Class > Job_Novice_High && Class < Job_Lord_Knight)){
|
||||
if(lastJob != 0 && Class >= Job_Swordman_High){ // lastJob could have been set before changing back to non-trans
|
||||
set @target_job, lastJob + 4001;
|
||||
} else {
|
||||
switch(Class){
|
||||
case Job_Swordman_High:
|
||||
case Job_Baby_Swordman:
|
||||
case Job_Swordman:
|
||||
set @job_opt[0], Job_Knight;
|
||||
set @job_opt[1], Job_Crusader;
|
||||
break;
|
||||
case Job_Mage_High:
|
||||
case Job_Baby_Mage:
|
||||
case Job_Mage:
|
||||
set @job_opt[0], Job_Wizard;
|
||||
set @job_opt[1], Job_Sage;
|
||||
break;
|
||||
case Job_Archer_High:
|
||||
case Job_Baby_Archer:
|
||||
case Job_Archer:
|
||||
set @job_opt[0], Job_Hunter;
|
||||
if(Sex == 0)
|
||||
set @job_opt[1], Job_Dancer;
|
||||
else
|
||||
set @job_opt[1], Job_Bard;
|
||||
break;
|
||||
case Job_Acolyte_High:
|
||||
case Job_Baby_Acolyte:
|
||||
case Job_Acolyte:
|
||||
set @job_opt[0], Job_Priest;
|
||||
set @job_opt[1], Job_Monk;
|
||||
break;
|
||||
case Job_Merchant_High:
|
||||
case Job_Baby_Merchant:
|
||||
case Job_Merchant:
|
||||
set @job_opt[0], Job_Blacksmith;
|
||||
set @job_opt[1], Job_Alchemist;
|
||||
break;
|
||||
case Job_Thief_High:
|
||||
case Job_Baby_Thief:
|
||||
case Job_Thief:
|
||||
set @job_opt[0], Job_Assassin;
|
||||
set @job_opt[1], Job_Rogue;
|
||||
break;
|
||||
default:
|
||||
set @job_opt[0], Job_Star_Gladiator;
|
||||
set @job_opt[1], Job_Soul_Linker;
|
||||
break;
|
||||
}
|
||||
mes "Welcome, please select the job you wish to change into";
|
||||
set @target_job, @job_opt[select(JobName(@job_opt[0]), JobName(@job_opt[1]))-1];
|
||||
if(Class > Job_Novice_High && Class < Job_Lord_Knight) set @target_job, @target_job + 4001;
|
||||
}
|
||||
mes "Are you sure you want to change to " + JobName(@target_job) + "?";
|
||||
if(select("Yes","No")==1){
|
||||
callfunc "Job_Change", @target_job;
|
||||
if(@target_job == Job_Star_Gladiator || @target_job == Job_Soul_Linker) {
|
||||
callfunc "F_ClearJobVar";
|
||||
} else {
|
||||
if($@JC_Plat) goto L_GivePlat;
|
||||
}
|
||||
}
|
||||
close;
|
||||
}
|
||||
|
||||
if(BaseLevel < 99 || JobLevel < 50) goto L_cantCh;
|
||||
if(checkfalcon() || checkcart() || checkriding()) goto L_remove;
|
||||
|
||||
if((Class >= Job_Knight) && (Class <= Job_Crusader2)){
|
||||
if (.thirdclass==1) {
|
||||
mes "Would you like to be reborn or change to 3rd class?";
|
||||
switch(select("I want to be reborn!", "I want to change to 3rd class!", "Cancel"))
|
||||
{
|
||||
case 1:
|
||||
mes "Are you sure you want to be reborn?";
|
||||
if(select("Yes", "No")==1){
|
||||
set lastJob, Class;
|
||||
if(Class == Job_Knight2){
|
||||
set lastJob, Job_Knight;
|
||||
} else {
|
||||
if(Class == Job_Crusader2){
|
||||
set lastJob, Job_Crusader;
|
||||
}
|
||||
}
|
||||
jobchange Job_Novice_High;
|
||||
resetlvl(1);
|
||||
skill 142,1,0;
|
||||
skill 143,1,0;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
goto L_Third;
|
||||
}
|
||||
close;
|
||||
}
|
||||
else {
|
||||
mes "Are you sure you want to be reborn?";
|
||||
if(select("Yes", "No")==1){
|
||||
set lastJob, Class;
|
||||
if(Class == Job_Knight2){
|
||||
set lastJob, Job_Knight;
|
||||
} else {
|
||||
if(Class == Job_Crusader2){
|
||||
set lastJob, Job_Crusader;
|
||||
}
|
||||
}
|
||||
jobchange Job_Novice_High;
|
||||
resetlvl(1);
|
||||
skill 142,1,0;
|
||||
skill 143,1,0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Class >= Job_Lord_Knight && Class <= Job_Paladin2 && .thirdclass == 1)
|
||||
{
|
||||
if(JobLevel < 50) goto L_cantCh;
|
||||
goto L_Third;
|
||||
}
|
||||
}
|
||||
mes "I'm sorry, there are no further classes for your job.";
|
||||
close;
|
||||
|
||||
L_Third:
|
||||
set @target_job, roclass(eaclass() | EAJL_THIRD);
|
||||
mes "Are you sure you want to change to " + JobName(@target_job) + "?";
|
||||
if(select("Yes", "No")==1){
|
||||
callfunc "Job_Change", @target_job;
|
||||
}
|
||||
close;
|
||||
L_GivePlat:
|
||||
if (BaseClass==Job_SuperNovice) goto L_sSuperN;
|
||||
if (BaseClass==Job_Swordman) goto L_sSword;
|
||||
if (BaseClass==Job_Mage) goto L_sMage;
|
||||
if (BaseClass==Job_Archer) goto L_sArcher;
|
||||
if (BaseClass==Job_Acolyte) goto L_sAcolyte;
|
||||
if (BaseClass==Job_Merchant) goto L_sMerchant;
|
||||
if (BaseClass==Job_Thief) goto L_sThief;
|
||||
close;
|
||||
L_sSuperN:
|
||||
skill 142,1,0;
|
||||
close;
|
||||
L_sSword:
|
||||
skill 142,1,0;
|
||||
skill 144,1,0;
|
||||
skill 145,1,0;
|
||||
skill 146,1,0;
|
||||
close;
|
||||
L_sMage:
|
||||
skill 142,1,0;
|
||||
skill 157,1,0;
|
||||
close;
|
||||
L_sArcher:
|
||||
skill 142,1,0;
|
||||
skill 147,1,0;
|
||||
skill 148,1,0;
|
||||
close;
|
||||
L_sAcolyte:
|
||||
skill 142,1,0;
|
||||
skill 156,1,0;
|
||||
close;
|
||||
L_sMerchant:
|
||||
skill 142,1,0;
|
||||
skill 153,1,0;
|
||||
skill 154,1,0;
|
||||
skill 155,1,0;
|
||||
close;
|
||||
L_sThief:
|
||||
skill 142,1,0;
|
||||
skill 149,1,0;
|
||||
skill 150,1,0;
|
||||
skill 151,1,0;
|
||||
skill 152,1,0;
|
||||
close;
|
||||
|
||||
L_cantCh:
|
||||
mes "I'm sorry, you do not meet the requirements to change";
|
||||
mes "Please come again soon!";
|
||||
close;
|
||||
L_LvError:
|
||||
mes "I'm sorry, you do not seem to have enough Job Levels";
|
||||
mes "Please come again soon!";
|
||||
close;
|
||||
L_BvError:
|
||||
mes "I'm sorry, you do not seem to have enough Base Levels";
|
||||
mes "Please come again soon!";
|
||||
close;
|
||||
L_noReq:
|
||||
mes "I'm sorry, you do not meet the requirements to change";
|
||||
mes "Please come again soon!";
|
||||
close;
|
||||
L_remove:
|
||||
mes "Please remove your cart,falcon or peco";
|
||||
mes "Please come again soon!";
|
||||
close;
|
||||
|
||||
OnInit:
|
||||
// Variable Setup
|
||||
set $@JC_MinimumJB, 40; //Minimum job level for changing to 2nd classes (Default : 40)
|
||||
set $@JC_Plat, 1; //Give Platinum skills on Jobchange (Default : 1-yes)
|
||||
set $@JC_SupNovM, 45; //Base Level to change into Super Novice (Default : 45)
|
||||
set .thirdclass, 1; // Allow players to change into third class?
|
||||
end;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,62 +1,62 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Reset NPC
|
||||
//===== By: ==================================================
|
||||
//= rAthena Dev Team
|
||||
//===== Current Version: =====================================
|
||||
//= 1.1
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Resets skills, stats, or both.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First Version
|
||||
//= 1.1 Optimized for the greater good. [Kisuka]
|
||||
//= 1.2 Cleaning [Euphy]
|
||||
//============================================================
|
||||
|
||||
prontera,150,193,4 script Reset Girl 124,{
|
||||
|
||||
set .@ResetStat,5000; // Zeny for stat reset
|
||||
set .@ResetSkill,5000; // Zeny for skill reset
|
||||
set .@ResetBoth,9000; // Zeny for resetting both together
|
||||
|
||||
mes "[Reset Girl]";
|
||||
mes "I am the Reset Girl.";
|
||||
mes "Reset Stats: "+ .@ResetStat +"z";
|
||||
mes "Reset Skills: "+ .@ResetSkill +"z";
|
||||
mes "Reset Both: "+ .@ResetBoth +"z";
|
||||
mes "Please select the service you want:";
|
||||
next;
|
||||
switch(select("^FF3355Reset Skills:Reset Stats:Reset Both^000000:Cancel")) {
|
||||
case 1:
|
||||
mes "[Reset Girl]";
|
||||
if (Zeny < .@ResetSkill) {
|
||||
mes "Sorry, you don't have enough Zeny.";
|
||||
close; }
|
||||
set Zeny, Zeny-.@ResetSkill;
|
||||
ResetSkill;
|
||||
mes "There you go!";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Reset Girl]";
|
||||
if (Zeny < .@ResetStat) {
|
||||
mes "Sorry, you don't have enough Zeny.";
|
||||
close; }
|
||||
set Zeny, Zeny-.@ResetStat;
|
||||
ResetStatus;
|
||||
mes "There you go!";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Reset Girl]";
|
||||
if (Zeny < .@ResetBoth) {
|
||||
mes "Sorry, you don't have enough Zeny.";
|
||||
close; }
|
||||
set Zeny, Zeny-.@ResetBoth;
|
||||
ResetSkill;
|
||||
ResetStatus;
|
||||
mes "There you go!";
|
||||
close;
|
||||
case 4:
|
||||
close;
|
||||
}
|
||||
//===== rAthena Script =======================================
|
||||
//= Reset NPC
|
||||
//===== By: ==================================================
|
||||
//= rAthena Dev Team
|
||||
//===== Current Version: =====================================
|
||||
//= 1.1
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Resets skills, stats, or both.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First Version
|
||||
//= 1.1 Optimized for the greater good. [Kisuka]
|
||||
//= 1.2 Cleaning [Euphy]
|
||||
//============================================================
|
||||
|
||||
prontera,150,193,4 script Reset Girl 124,{
|
||||
|
||||
set .@ResetStat,5000; // Zeny for stat reset
|
||||
set .@ResetSkill,5000; // Zeny for skill reset
|
||||
set .@ResetBoth,9000; // Zeny for resetting both together
|
||||
|
||||
mes "[Reset Girl]";
|
||||
mes "I am the Reset Girl.";
|
||||
mes "Reset Stats: "+ .@ResetStat +"z";
|
||||
mes "Reset Skills: "+ .@ResetSkill +"z";
|
||||
mes "Reset Both: "+ .@ResetBoth +"z";
|
||||
mes "Please select the service you want:";
|
||||
next;
|
||||
switch(select("^FF3355Reset Skills:Reset Stats:Reset Both^000000:Cancel")) {
|
||||
case 1:
|
||||
mes "[Reset Girl]";
|
||||
if (Zeny < .@ResetSkill) {
|
||||
mes "Sorry, you don't have enough Zeny.";
|
||||
close; }
|
||||
set Zeny, Zeny-.@ResetSkill;
|
||||
ResetSkill;
|
||||
mes "There you go!";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Reset Girl]";
|
||||
if (Zeny < .@ResetStat) {
|
||||
mes "Sorry, you don't have enough Zeny.";
|
||||
close; }
|
||||
set Zeny, Zeny-.@ResetStat;
|
||||
ResetStatus;
|
||||
mes "There you go!";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Reset Girl]";
|
||||
if (Zeny < .@ResetBoth) {
|
||||
mes "Sorry, you don't have enough Zeny.";
|
||||
close; }
|
||||
set Zeny, Zeny-.@ResetBoth;
|
||||
ResetSkill;
|
||||
ResetStatus;
|
||||
mes "There you go!";
|
||||
close;
|
||||
case 4:
|
||||
close;
|
||||
}
|
||||
}
|
@ -1,33 +1,33 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Stylist
|
||||
//===== By: ==================================================
|
||||
//= Euphy
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Changes your hair style, hair color, and cloth color.
|
||||
//============================================================
|
||||
|
||||
prontera,170,180,1 script Stylist#custom_stylist 122,{
|
||||
|
||||
setarray .@Styles[1],553,37,250; // Maximum dye, hair style, and hair color
|
||||
|
||||
setarray .@Look[1],7,1,6;
|
||||
set .@s, select(" ~ Cloth color: ~ Hairstyle: ~ Hair color");
|
||||
set .@Revert, getlook(.@Look[.@s]); set .@Style,1;
|
||||
while(1) {
|
||||
setlook .@Look[.@s], .@Style;
|
||||
message strcharinfo(0),"This is style #"+.@Style+".";
|
||||
set .@menu$, " ~ Next (^0055FF"+((.@Style!=.@Styles[.@s])?.@Style+1:1)+"^000000): ~ Previous (^0055FF"+((.@Style!=1)?.@Style-1:.@Styles[.@s])+"^000000): ~ Jump to...: ~ Revert to original (^0055FF"+.@Revert+"^000000)";
|
||||
switch(select(.@menu$)) {
|
||||
case 1: set .@Style, ((.@Style!=.@Styles[.@s])?.@Style+1:1); break;
|
||||
case 2: set .@Style, ((.@Style!=1)?.@Style-1:.@Styles[.@s]); break;
|
||||
case 3: message strcharinfo(0),"Choose a style between 1 - "+.@Styles[.@s]+".";
|
||||
input .@Style,0,.@Styles[.@s];
|
||||
if (!.@Style) set .@Style, rand(1,.@Styles[.@s]);
|
||||
break;
|
||||
case 4: set .@Style, .@Revert; setlook .@Look[.@s], .@Revert; break; }
|
||||
} end;
|
||||
//===== rAthena Script =======================================
|
||||
//= Stylist
|
||||
//===== By: ==================================================
|
||||
//= Euphy
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Changes your hair style, hair color, and cloth color.
|
||||
//============================================================
|
||||
|
||||
prontera,170,180,1 script Stylist#custom_stylist 122,{
|
||||
|
||||
setarray .@Styles[1],553,37,250; // Maximum dye, hair style, and hair color
|
||||
|
||||
setarray .@Look[1],7,1,6;
|
||||
set .@s, select(" ~ Cloth color: ~ Hairstyle: ~ Hair color");
|
||||
set .@Revert, getlook(.@Look[.@s]); set .@Style,1;
|
||||
while(1) {
|
||||
setlook .@Look[.@s], .@Style;
|
||||
message strcharinfo(0),"This is style #"+.@Style+".";
|
||||
set .@menu$, " ~ Next (^0055FF"+((.@Style!=.@Styles[.@s])?.@Style+1:1)+"^000000): ~ Previous (^0055FF"+((.@Style!=1)?.@Style-1:.@Styles[.@s])+"^000000): ~ Jump to...: ~ Revert to original (^0055FF"+.@Revert+"^000000)";
|
||||
switch(select(.@menu$)) {
|
||||
case 1: set .@Style, ((.@Style!=.@Styles[.@s])?.@Style+1:1); break;
|
||||
case 2: set .@Style, ((.@Style!=1)?.@Style-1:.@Styles[.@s]); break;
|
||||
case 3: message strcharinfo(0),"Choose a style between 1 - "+.@Styles[.@s]+".";
|
||||
input .@Style,0,.@Styles[.@s];
|
||||
if (!.@Style) set .@Style, rand(1,.@Styles[.@s]);
|
||||
break;
|
||||
case 4: set .@Style, .@Revert; setlook .@Look[.@s], .@Revert; break; }
|
||||
} end;
|
||||
}
|
@ -1,123 +1,123 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Falcon Flute Trader
|
||||
//===== By: ==================================================
|
||||
//= Masao
|
||||
//= Credits to Muad_Dib for the translation & Ziu for the
|
||||
//= Item ID of the Falcon Flute.
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena
|
||||
//===== Description: =========================================
|
||||
//= An NPC which sells you a Falcon Flute so you're able to
|
||||
//= summon a Falcon wherever you are.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First Version. [Masao]
|
||||
//= 1.1 Added Baby Hunter and Baby Ranger check. bugreport:5728 [Masao]
|
||||
//============================================================
|
||||
|
||||
- script Falcon Flute Trader::fflute -1,{
|
||||
|
||||
if (Class == Job_Baby_Hunter || Class == Job_Hunter || Class == Job_Sniper || Class == Job_Baby_Ranger || Class == Job_Ranger || Class == Job_Ranger_T) {
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Do you need a Falcon?";
|
||||
mes "With a magical Flute, you can call your Falcon from anywhere!";
|
||||
next;
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "It's marvelous, isn't it? Ha ha ha!";
|
||||
next;
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Why I'm selling these Falcon Flutes?";
|
||||
mes "It's because I have no clue how they work.";
|
||||
mes "Ha ha ha!";
|
||||
next;
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Of course, you'll need the Skill ^ff0000Falcon Mastery^000000.";
|
||||
mes "I don't have the Skill, so I don't know how to handle Falcons.";
|
||||
mes "As it's for now, I may never have a Falcon.";
|
||||
next;
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "But I can't give you one for free!";
|
||||
mes "I have to make money since i also need to eat!";
|
||||
next;
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "If you need a Falcon Flute I will sell them for 12,500 zeny. Or is that too expensive?";
|
||||
next;
|
||||
if (Class == Job_Baby_Hunter || Class == Job_Hunter || Class == Job_Sniper) {
|
||||
switch (select("Don't buy one:Buy a Falcon Flute")) {
|
||||
case 1:
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "That's too bad. If you need one, come back!";
|
||||
close;
|
||||
case 2:
|
||||
if (Zeny >= 12500) {
|
||||
if (countitem(12848) >= 1) {
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "As i can see you already have an Falcon Flute!";
|
||||
mes "Don't worry my young friend, once you've purchased the Falcon Flute you won't need to do so again";
|
||||
mes "since the Falcon Flute won't disappear upon usage, isn't that great?";
|
||||
close;
|
||||
}
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Here, take this Flute.";
|
||||
mes "With it you can whistle for your Falcon from anywhere.";
|
||||
set Zeny, Zeny - 12500;
|
||||
getitem 12848,1; // Falcon Flute
|
||||
next;
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Just a reminder.";
|
||||
mes "You need the Skill ^ff0000Falcon Mastery^000000 in order to use it!";
|
||||
close;
|
||||
}
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "I'm sorry but you don't have enough money to buy a Falcon Flute, please come back when you have more money!";
|
||||
close;
|
||||
}
|
||||
}
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "For Rangers however, I have a special Price of 10,000 zeny!";
|
||||
next;
|
||||
switch (select("Don't buy one:Buy a Falcon flute")) {
|
||||
case 1:
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "That's too bad. If you need one, come back!";
|
||||
close;
|
||||
case 2:
|
||||
if (Zeny >= 10000) {
|
||||
if (countitem(12848) >= 1) {
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "As i can see you already have an Falcon Flute!";
|
||||
mes "Don't worry my young friend, once you've purchased the Falcon Flute you won't need to do so again";
|
||||
mes "since the Falcon Flute won't disappear upon usage, isn't that great?";
|
||||
close;
|
||||
}
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Here take this Flute.";
|
||||
mes "With it you can whistle for your Falcon from anywhere.";
|
||||
set Zeny, Zeny - 10000;
|
||||
getitem 12848,1; // Falcon Flute
|
||||
next;
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Just a reminder.";
|
||||
mes "You need the Skill ^ff0000Falcon Mastery^000000 in order to use it!";
|
||||
close;
|
||||
}
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "I'm sorry but you don't have enough money to buy a Falcon Flute, please come back when you have more money!";
|
||||
close;
|
||||
}
|
||||
}
|
||||
if (Class == Job_Baby_Archer || Class == Job_Archer) {
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Hello young one!";
|
||||
mes "Currently i can't help you,";
|
||||
mes "but why don't you return to me when you've become an great Hunter and learned how to handle Falcons properly?";
|
||||
close;
|
||||
}
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Isn't it a beautiful Day today?";
|
||||
close;
|
||||
}
|
||||
|
||||
hu_in01,386,306,3 duplicate(fflute) Falcon Flute Trader#fft 51
|
||||
pay_arche,91,134,3 duplicate(fflute) Falcon Flute Trader#fft2 51
|
||||
//===== rAthena Script =======================================
|
||||
//= Falcon Flute Trader
|
||||
//===== By: ==================================================
|
||||
//= Masao
|
||||
//= Credits to Muad_Dib for the translation & Ziu for the
|
||||
//= Item ID of the Falcon Flute.
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena
|
||||
//===== Description: =========================================
|
||||
//= An NPC which sells you a Falcon Flute so you're able to
|
||||
//= summon a Falcon wherever you are.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First Version. [Masao]
|
||||
//= 1.1 Added Baby Hunter and Baby Ranger check. bugreport:5728 [Masao]
|
||||
//============================================================
|
||||
|
||||
- script Falcon Flute Trader::fflute -1,{
|
||||
|
||||
if (Class == Job_Baby_Hunter || Class == Job_Hunter || Class == Job_Sniper || Class == Job_Baby_Ranger || Class == Job_Ranger || Class == Job_Ranger_T) {
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Do you need a Falcon?";
|
||||
mes "With a magical Flute, you can call your Falcon from anywhere!";
|
||||
next;
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "It's marvelous, isn't it? Ha ha ha!";
|
||||
next;
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Why I'm selling these Falcon Flutes?";
|
||||
mes "It's because I have no clue how they work.";
|
||||
mes "Ha ha ha!";
|
||||
next;
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Of course, you'll need the Skill ^ff0000Falcon Mastery^000000.";
|
||||
mes "I don't have the Skill, so I don't know how to handle Falcons.";
|
||||
mes "As it's for now, I may never have a Falcon.";
|
||||
next;
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "But I can't give you one for free!";
|
||||
mes "I have to make money since i also need to eat!";
|
||||
next;
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "If you need a Falcon Flute I will sell them for 12,500 zeny. Or is that too expensive?";
|
||||
next;
|
||||
if (Class == Job_Baby_Hunter || Class == Job_Hunter || Class == Job_Sniper) {
|
||||
switch (select("Don't buy one:Buy a Falcon Flute")) {
|
||||
case 1:
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "That's too bad. If you need one, come back!";
|
||||
close;
|
||||
case 2:
|
||||
if (Zeny >= 12500) {
|
||||
if (countitem(12848) >= 1) {
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "As i can see you already have an Falcon Flute!";
|
||||
mes "Don't worry my young friend, once you've purchased the Falcon Flute you won't need to do so again";
|
||||
mes "since the Falcon Flute won't disappear upon usage, isn't that great?";
|
||||
close;
|
||||
}
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Here, take this Flute.";
|
||||
mes "With it you can whistle for your Falcon from anywhere.";
|
||||
set Zeny, Zeny - 12500;
|
||||
getitem 12848,1; // Falcon Flute
|
||||
next;
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Just a reminder.";
|
||||
mes "You need the Skill ^ff0000Falcon Mastery^000000 in order to use it!";
|
||||
close;
|
||||
}
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "I'm sorry but you don't have enough money to buy a Falcon Flute, please come back when you have more money!";
|
||||
close;
|
||||
}
|
||||
}
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "For Rangers however, I have a special Price of 10,000 zeny!";
|
||||
next;
|
||||
switch (select("Don't buy one:Buy a Falcon flute")) {
|
||||
case 1:
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "That's too bad. If you need one, come back!";
|
||||
close;
|
||||
case 2:
|
||||
if (Zeny >= 10000) {
|
||||
if (countitem(12848) >= 1) {
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "As i can see you already have an Falcon Flute!";
|
||||
mes "Don't worry my young friend, once you've purchased the Falcon Flute you won't need to do so again";
|
||||
mes "since the Falcon Flute won't disappear upon usage, isn't that great?";
|
||||
close;
|
||||
}
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Here take this Flute.";
|
||||
mes "With it you can whistle for your Falcon from anywhere.";
|
||||
set Zeny, Zeny - 10000;
|
||||
getitem 12848,1; // Falcon Flute
|
||||
next;
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Just a reminder.";
|
||||
mes "You need the Skill ^ff0000Falcon Mastery^000000 in order to use it!";
|
||||
close;
|
||||
}
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "I'm sorry but you don't have enough money to buy a Falcon Flute, please come back when you have more money!";
|
||||
close;
|
||||
}
|
||||
}
|
||||
if (Class == Job_Baby_Archer || Class == Job_Archer) {
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Hello young one!";
|
||||
mes "Currently i can't help you,";
|
||||
mes "but why don't you return to me when you've become an great Hunter and learned how to handle Falcons properly?";
|
||||
close;
|
||||
}
|
||||
mes "[Falcon Flute Trader]";
|
||||
mes "Isn't it a beautiful Day today?";
|
||||
close;
|
||||
}
|
||||
|
||||
hu_in01,386,306,3 duplicate(fflute) Falcon Flute Trader#fft 51
|
||||
pay_arche,91,134,3 duplicate(fflute) Falcon Flute Trader#fft2 51
|
||||
|
@ -1,150 +1,150 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= iRO Repeatable EXP Quests.
|
||||
//===== By: ==================================================
|
||||
//= Masao
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Custom Version.
|
||||
//= Repeatable EXP Quest : Kill 50 Disguise or Loli Ruri.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version.
|
||||
//============================================================
|
||||
|
||||
nif_fild02,332,327,4 script Deadman 795,{
|
||||
|
||||
if (checkquest(60173) != -1) {
|
||||
if (checkquest(60173,HUNTING) != 2 ) {
|
||||
mes "[Deadman]";
|
||||
mes "Have you finished hunting the 50 Disguise?";
|
||||
next;
|
||||
switch(select("Yes:No:I want to quit")) {
|
||||
case 1:
|
||||
mes "[Deadman]";
|
||||
mes "Hmm, I don't think you've hunted 50 yet.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Deadman]";
|
||||
mes "Remember, I need help hunting Disguise so go and hunt 50 of them.";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Deadman]";
|
||||
mes "Are you sure that you want to stop hunting?";
|
||||
mes "Any progress that you've made will be erased";
|
||||
next;
|
||||
switch(select("Yes:No")) {
|
||||
case 1:
|
||||
mes "[Deadman]";
|
||||
mes "Ok then, well come back here if you change your mind.";
|
||||
erasequest 60173;
|
||||
close;
|
||||
case 2:
|
||||
mes "[Deadman]";
|
||||
mes "Please kill 50 Disguise in order to make this a Place were people can go to and gather Experience.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
}
|
||||
mes "[Deadman]";
|
||||
mes "Amazing, you did that with speed.";
|
||||
getexp 140600,95800;
|
||||
erasequest 60173;
|
||||
close;
|
||||
}
|
||||
if (checkquest(60176) != -1) {
|
||||
if (checkquest(60176,HUNTING) != 2 ) {
|
||||
mes "[Deadman]";
|
||||
mes "Have you finished hunting the 50 Loli Ruri?";
|
||||
next;
|
||||
switch(select("Yes:No:I want to quit")) {
|
||||
case 1:
|
||||
mes "[Deadman]";
|
||||
mes "Hmm, I don't think you've hunted 50 yet.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Deadman]";
|
||||
mes "Remember, I need help hunting Loli Ruri so go and hunt 50 of them.";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Deadman]";
|
||||
mes "Are you sure that you want to stop hunting?";
|
||||
mes "Any progress that you've made will be erased";
|
||||
next;
|
||||
switch(select("Yes:No")) {
|
||||
case 1:
|
||||
mes "[Deadman]";
|
||||
mes "Ok then, well come back here if you change your mind.";
|
||||
erasequest 60176;
|
||||
close;
|
||||
case 2:
|
||||
mes "[Deadman]";
|
||||
mes "Please kill 50 Loli Ruri in order to make this a Place were people can go to and gather Experience.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
}
|
||||
mes "[Deadman]";
|
||||
mes "Amazing, you did that with speed.";
|
||||
getexp 332000,239500;
|
||||
erasequest 60176;
|
||||
close;
|
||||
}
|
||||
if ((BaseLevel > 59) && (BaseLevel < 99)) {
|
||||
mes "[Deadman]";
|
||||
mes "Oh great!";
|
||||
mes "You are here to help me right?";
|
||||
mes "If not, i don't know what to do with the Monsters in this Place!";
|
||||
next;
|
||||
switch(select("Sure:No")) {
|
||||
case 1:
|
||||
mes "[Deadman]";
|
||||
mes "Great! I knew the moment i saw you that i can count on you!";
|
||||
mes "I need you to reduce the Amount of Monsters which are currently rampaging on this Map!";
|
||||
mes "There are to many Disguise and Loli Ruri around, which makes it impossible for the lower level players to gain good experience here.";
|
||||
next;
|
||||
mes "[Deadman]";
|
||||
mes "So, which of those Monsters would you like to hunt for me?";
|
||||
next;
|
||||
switch(select("Disguise:Loli Ruri:Cancel")) {
|
||||
case 1:
|
||||
if(BaseLevel > 90){
|
||||
mes "[Deadman]";
|
||||
mes "Thank you for your great help with the Disguise!";
|
||||
mes "Currently the Situation is stable and i'm not in need of your help anymore to kill them.";
|
||||
close;
|
||||
}
|
||||
mes "[Deadman]";
|
||||
mes "Kill 50 of those Disguise and let me know when you're done. I will reward you for your efforts.";
|
||||
setquest 60173;
|
||||
close;
|
||||
case 2:
|
||||
if(BaseLevel > 98){
|
||||
mes "[Deadman]";
|
||||
mes "Thank you for your great help with the Loli Ruri!";
|
||||
mes "Currently the Situation is stable and i'm not in need of your help anymore to kill them.";
|
||||
close;
|
||||
}
|
||||
mes "[Deadman]";
|
||||
mes "Kill 50 of those Loli Ruri and let me know when you're done. I will reward you for your efforts.";
|
||||
setquest 60176;
|
||||
close;
|
||||
case 3:
|
||||
mes "[Deadman]";
|
||||
mes "If you change your mind, please come back.";
|
||||
close;
|
||||
}
|
||||
case 2:
|
||||
mes "[Deadman]";
|
||||
mes "If you change your mind, please come back.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
mes "[Deadman]";
|
||||
mes "Oh boy, Oh boy!";
|
||||
next;
|
||||
mes "[Deadman]";
|
||||
mes "Sorry I can't talk right now I am in a world of pain here, these darn Disguise and Loli Ruri are going to kill me.";
|
||||
close;
|
||||
}
|
||||
//===== rAthena Script =======================================
|
||||
//= iRO Repeatable EXP Quests.
|
||||
//===== By: ==================================================
|
||||
//= Masao
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Custom Version.
|
||||
//= Repeatable EXP Quest : Kill 50 Disguise or Loli Ruri.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version.
|
||||
//============================================================
|
||||
|
||||
nif_fild02,332,327,4 script Deadman 795,{
|
||||
|
||||
if (checkquest(60173) != -1) {
|
||||
if (checkquest(60173,HUNTING) != 2 ) {
|
||||
mes "[Deadman]";
|
||||
mes "Have you finished hunting the 50 Disguise?";
|
||||
next;
|
||||
switch(select("Yes:No:I want to quit")) {
|
||||
case 1:
|
||||
mes "[Deadman]";
|
||||
mes "Hmm, I don't think you've hunted 50 yet.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Deadman]";
|
||||
mes "Remember, I need help hunting Disguise so go and hunt 50 of them.";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Deadman]";
|
||||
mes "Are you sure that you want to stop hunting?";
|
||||
mes "Any progress that you've made will be erased";
|
||||
next;
|
||||
switch(select("Yes:No")) {
|
||||
case 1:
|
||||
mes "[Deadman]";
|
||||
mes "Ok then, well come back here if you change your mind.";
|
||||
erasequest 60173;
|
||||
close;
|
||||
case 2:
|
||||
mes "[Deadman]";
|
||||
mes "Please kill 50 Disguise in order to make this a Place were people can go to and gather Experience.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
}
|
||||
mes "[Deadman]";
|
||||
mes "Amazing, you did that with speed.";
|
||||
getexp 140600,95800;
|
||||
erasequest 60173;
|
||||
close;
|
||||
}
|
||||
if (checkquest(60176) != -1) {
|
||||
if (checkquest(60176,HUNTING) != 2 ) {
|
||||
mes "[Deadman]";
|
||||
mes "Have you finished hunting the 50 Loli Ruri?";
|
||||
next;
|
||||
switch(select("Yes:No:I want to quit")) {
|
||||
case 1:
|
||||
mes "[Deadman]";
|
||||
mes "Hmm, I don't think you've hunted 50 yet.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Deadman]";
|
||||
mes "Remember, I need help hunting Loli Ruri so go and hunt 50 of them.";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Deadman]";
|
||||
mes "Are you sure that you want to stop hunting?";
|
||||
mes "Any progress that you've made will be erased";
|
||||
next;
|
||||
switch(select("Yes:No")) {
|
||||
case 1:
|
||||
mes "[Deadman]";
|
||||
mes "Ok then, well come back here if you change your mind.";
|
||||
erasequest 60176;
|
||||
close;
|
||||
case 2:
|
||||
mes "[Deadman]";
|
||||
mes "Please kill 50 Loli Ruri in order to make this a Place were people can go to and gather Experience.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
}
|
||||
mes "[Deadman]";
|
||||
mes "Amazing, you did that with speed.";
|
||||
getexp 332000,239500;
|
||||
erasequest 60176;
|
||||
close;
|
||||
}
|
||||
if ((BaseLevel > 59) && (BaseLevel < 99)) {
|
||||
mes "[Deadman]";
|
||||
mes "Oh great!";
|
||||
mes "You are here to help me right?";
|
||||
mes "If not, i don't know what to do with the Monsters in this Place!";
|
||||
next;
|
||||
switch(select("Sure:No")) {
|
||||
case 1:
|
||||
mes "[Deadman]";
|
||||
mes "Great! I knew the moment i saw you that i can count on you!";
|
||||
mes "I need you to reduce the Amount of Monsters which are currently rampaging on this Map!";
|
||||
mes "There are to many Disguise and Loli Ruri around, which makes it impossible for the lower level players to gain good experience here.";
|
||||
next;
|
||||
mes "[Deadman]";
|
||||
mes "So, which of those Monsters would you like to hunt for me?";
|
||||
next;
|
||||
switch(select("Disguise:Loli Ruri:Cancel")) {
|
||||
case 1:
|
||||
if(BaseLevel > 90){
|
||||
mes "[Deadman]";
|
||||
mes "Thank you for your great help with the Disguise!";
|
||||
mes "Currently the Situation is stable and i'm not in need of your help anymore to kill them.";
|
||||
close;
|
||||
}
|
||||
mes "[Deadman]";
|
||||
mes "Kill 50 of those Disguise and let me know when you're done. I will reward you for your efforts.";
|
||||
setquest 60173;
|
||||
close;
|
||||
case 2:
|
||||
if(BaseLevel > 98){
|
||||
mes "[Deadman]";
|
||||
mes "Thank you for your great help with the Loli Ruri!";
|
||||
mes "Currently the Situation is stable and i'm not in need of your help anymore to kill them.";
|
||||
close;
|
||||
}
|
||||
mes "[Deadman]";
|
||||
mes "Kill 50 of those Loli Ruri and let me know when you're done. I will reward you for your efforts.";
|
||||
setquest 60176;
|
||||
close;
|
||||
case 3:
|
||||
mes "[Deadman]";
|
||||
mes "If you change your mind, please come back.";
|
||||
close;
|
||||
}
|
||||
case 2:
|
||||
mes "[Deadman]";
|
||||
mes "If you change your mind, please come back.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
mes "[Deadman]";
|
||||
mes "Oh boy, Oh boy!";
|
||||
next;
|
||||
mes "[Deadman]";
|
||||
mes "Sorry I can't talk right now I am in a world of pain here, these darn Disguise and Loli Ruri are going to kill me.";
|
||||
close;
|
||||
}
|
||||
|
@ -1,101 +1,101 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= iRO Repeatable EXP Quests.
|
||||
//===== By: ==================================================
|
||||
//= Masao
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Custom Version.
|
||||
//= Repeatable EXP Quest : Kill 50 Mantis.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version.
|
||||
//============================================================
|
||||
|
||||
lou_fild01,240,354,4 script Mantis Researcher 878,{
|
||||
|
||||
if (checkquest(60179) != -1) {
|
||||
if (checkquest(60179,HUNTING) != 2 ) {
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Have you finished hunting the 50 Mantis?";
|
||||
next;
|
||||
switch(select("Yes:No:I want to quit")) {
|
||||
case 1:
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Hmm, I don't think you've hunted 50 yet.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Remember, I need help hunting Mantis so go and hunt 50 of them.";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Are you sure that you want to stop hunting?";
|
||||
mes "Any progress that you've made will be erased";
|
||||
next;
|
||||
switch(select("Yes:No")) {
|
||||
case 1:
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Ok then, well come back here if you change your mind.";
|
||||
erasequest 60179;
|
||||
close;
|
||||
case 2:
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Please kill 50 Mantis in order to make this a Place were people can go to and gather Experience.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
}
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Amazing, you did that with speed.";
|
||||
getexp 18818,7527;
|
||||
erasequest 60179;
|
||||
close;
|
||||
}
|
||||
if ((BaseLevel > 34) && (BaseLevel < 71)) {
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Oh great!";
|
||||
mes "You are here to help me right?";
|
||||
mes "If not, i don't know what to do with the Monsters in this Place!";
|
||||
next;
|
||||
switch(select("Sure:No")) {
|
||||
case 1:
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Great! I knew the moment i saw you that i can count on you!";
|
||||
mes "I need you to reduce the Amount of Monsters which are currently rampaging on this Map!";
|
||||
mes "There are to many Mantis around, which makes it impossible for the lower level players to gain good experience here.";
|
||||
next;
|
||||
mes "[Mantis Researcher]";
|
||||
mes "So, would you still like to help me?";
|
||||
next;
|
||||
switch(select("Sure:Cancel")) {
|
||||
case 1:
|
||||
if(BaseLevel > 70){
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Thank you for your great help with the Mantis!";
|
||||
mes "Currently the Situation is stable and i'm not in need of your help anymore to kill them.";
|
||||
close;
|
||||
}
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Kill 50 of those Mantis and let me know when you're done. I will reward you for your efforts.";
|
||||
setquest 60179;
|
||||
close;
|
||||
case 2:
|
||||
mes "[Mantis Researcher]";
|
||||
mes "If you change your mind, please come back.";
|
||||
close;
|
||||
}
|
||||
case 2:
|
||||
mes "[Mantis Researcher]";
|
||||
mes "If you change your mind, please come back.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Oh boy, Oh boy!";
|
||||
next;
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Sorry I can't talk right now I am in a world of pain here, these darn Mantis are going to kill me.";
|
||||
close;
|
||||
}
|
||||
//===== rAthena Script =======================================
|
||||
//= iRO Repeatable EXP Quests.
|
||||
//===== By: ==================================================
|
||||
//= Masao
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Custom Version.
|
||||
//= Repeatable EXP Quest : Kill 50 Mantis.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version.
|
||||
//============================================================
|
||||
|
||||
lou_fild01,240,354,4 script Mantis Researcher 878,{
|
||||
|
||||
if (checkquest(60179) != -1) {
|
||||
if (checkquest(60179,HUNTING) != 2 ) {
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Have you finished hunting the 50 Mantis?";
|
||||
next;
|
||||
switch(select("Yes:No:I want to quit")) {
|
||||
case 1:
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Hmm, I don't think you've hunted 50 yet.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Remember, I need help hunting Mantis so go and hunt 50 of them.";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Are you sure that you want to stop hunting?";
|
||||
mes "Any progress that you've made will be erased";
|
||||
next;
|
||||
switch(select("Yes:No")) {
|
||||
case 1:
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Ok then, well come back here if you change your mind.";
|
||||
erasequest 60179;
|
||||
close;
|
||||
case 2:
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Please kill 50 Mantis in order to make this a Place were people can go to and gather Experience.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
}
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Amazing, you did that with speed.";
|
||||
getexp 18818,7527;
|
||||
erasequest 60179;
|
||||
close;
|
||||
}
|
||||
if ((BaseLevel > 34) && (BaseLevel < 71)) {
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Oh great!";
|
||||
mes "You are here to help me right?";
|
||||
mes "If not, i don't know what to do with the Monsters in this Place!";
|
||||
next;
|
||||
switch(select("Sure:No")) {
|
||||
case 1:
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Great! I knew the moment i saw you that i can count on you!";
|
||||
mes "I need you to reduce the Amount of Monsters which are currently rampaging on this Map!";
|
||||
mes "There are to many Mantis around, which makes it impossible for the lower level players to gain good experience here.";
|
||||
next;
|
||||
mes "[Mantis Researcher]";
|
||||
mes "So, would you still like to help me?";
|
||||
next;
|
||||
switch(select("Sure:Cancel")) {
|
||||
case 1:
|
||||
if(BaseLevel > 70){
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Thank you for your great help with the Mantis!";
|
||||
mes "Currently the Situation is stable and i'm not in need of your help anymore to kill them.";
|
||||
close;
|
||||
}
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Kill 50 of those Mantis and let me know when you're done. I will reward you for your efforts.";
|
||||
setquest 60179;
|
||||
close;
|
||||
case 2:
|
||||
mes "[Mantis Researcher]";
|
||||
mes "If you change your mind, please come back.";
|
||||
close;
|
||||
}
|
||||
case 2:
|
||||
mes "[Mantis Researcher]";
|
||||
mes "If you change your mind, please come back.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Oh boy, Oh boy!";
|
||||
next;
|
||||
mes "[Mantis Researcher]";
|
||||
mes "Sorry I can't talk right now I am in a world of pain here, these darn Mantis are going to kill me.";
|
||||
close;
|
||||
}
|
||||
|
@ -1,101 +1,101 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= iRO Repeatable EXP Quests.
|
||||
//===== By: ==================================================
|
||||
//= Masao
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Custom Version.
|
||||
//= Repeatable EXP Quest : Kill 50 Zhu Po Long.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version.
|
||||
//============================================================
|
||||
|
||||
lou_dun02,161,264,4 script Dragon Hunter 732,{
|
||||
|
||||
if (checkquest(60182) != -1) {
|
||||
if (checkquest(60182,HUNTING) != 2 ) {
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Have you finished hunting the 50 Zhu Po Long?";
|
||||
next;
|
||||
switch(select("Yes:No:I want to quit")) {
|
||||
case 1:
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Hmm, I don't think you've hunted 50 yet.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Remember, I need help hunting Zhu Po Long so go and hunt 50 of them.";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Are you sure that you want to stop hunting?";
|
||||
mes "Any progress that you've made will be erased";
|
||||
next;
|
||||
switch(select("Yes:No")) {
|
||||
case 1:
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Ok then, well come back here if you change your mind.";
|
||||
erasequest 60182;
|
||||
close;
|
||||
case 2:
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Please kill 50 Zhu Po Long in order to make this a Place were people can go to and gather Experience.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
}
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Amazing, you did that with speed.";
|
||||
getexp 151300,60520;
|
||||
erasequest 60182;
|
||||
close;
|
||||
}
|
||||
if ((BaseLevel > 49) && (BaseLevel < 91)) {
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Oh great!";
|
||||
mes "You are here to help me right?";
|
||||
mes "If not, i don't know what to do with the Monsters in this Place!";
|
||||
next;
|
||||
switch(select("Sure:No")) {
|
||||
case 1:
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Great! I knew the moment i saw you that i can count on you!";
|
||||
mes "I need you to reduce the Amount of Monsters which are currently rampaging on this Map!";
|
||||
mes "There are to many Zhu Po Long around, which makes it impossible for the lower level players to gain good experience here.";
|
||||
next;
|
||||
mes "[Dragon Hunter]";
|
||||
mes "So, would you still like to help me?";
|
||||
next;
|
||||
switch(select("Sure:Cancel")) {
|
||||
case 1:
|
||||
if(BaseLevel > 90){
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Thank you for your great help with the Zhu Po Long!";
|
||||
mes "Currently the Situation is stable and i'm not in need of your help anymore to kill them.";
|
||||
close;
|
||||
}
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Kill 50 of those Zhu Po Long and let me know when you're done. I will reward you for your efforts.";
|
||||
setquest 60182;
|
||||
close;
|
||||
case 2:
|
||||
mes "[Dragon Hunter]";
|
||||
mes "If you change your mind, please come back.";
|
||||
close;
|
||||
}
|
||||
case 2:
|
||||
mes "[Dragon Hunter]";
|
||||
mes "If you change your mind, please come back.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Oh boy, Oh boy!";
|
||||
next;
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Sorry I can't talk right now I am in a world of pain here, these darn Zhu Po Long are going to kill me.";
|
||||
close;
|
||||
}
|
||||
//===== rAthena Script =======================================
|
||||
//= iRO Repeatable EXP Quests.
|
||||
//===== By: ==================================================
|
||||
//= Masao
|
||||
//===== Current Version: =====================================
|
||||
//= 1.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= Custom Version.
|
||||
//= Repeatable EXP Quest : Kill 50 Zhu Po Long.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 First version.
|
||||
//============================================================
|
||||
|
||||
lou_dun02,161,264,4 script Dragon Hunter 732,{
|
||||
|
||||
if (checkquest(60182) != -1) {
|
||||
if (checkquest(60182,HUNTING) != 2 ) {
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Have you finished hunting the 50 Zhu Po Long?";
|
||||
next;
|
||||
switch(select("Yes:No:I want to quit")) {
|
||||
case 1:
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Hmm, I don't think you've hunted 50 yet.";
|
||||
close;
|
||||
case 2:
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Remember, I need help hunting Zhu Po Long so go and hunt 50 of them.";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Are you sure that you want to stop hunting?";
|
||||
mes "Any progress that you've made will be erased";
|
||||
next;
|
||||
switch(select("Yes:No")) {
|
||||
case 1:
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Ok then, well come back here if you change your mind.";
|
||||
erasequest 60182;
|
||||
close;
|
||||
case 2:
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Please kill 50 Zhu Po Long in order to make this a Place were people can go to and gather Experience.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
}
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Amazing, you did that with speed.";
|
||||
getexp 151300,60520;
|
||||
erasequest 60182;
|
||||
close;
|
||||
}
|
||||
if ((BaseLevel > 49) && (BaseLevel < 91)) {
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Oh great!";
|
||||
mes "You are here to help me right?";
|
||||
mes "If not, i don't know what to do with the Monsters in this Place!";
|
||||
next;
|
||||
switch(select("Sure:No")) {
|
||||
case 1:
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Great! I knew the moment i saw you that i can count on you!";
|
||||
mes "I need you to reduce the Amount of Monsters which are currently rampaging on this Map!";
|
||||
mes "There are to many Zhu Po Long around, which makes it impossible for the lower level players to gain good experience here.";
|
||||
next;
|
||||
mes "[Dragon Hunter]";
|
||||
mes "So, would you still like to help me?";
|
||||
next;
|
||||
switch(select("Sure:Cancel")) {
|
||||
case 1:
|
||||
if(BaseLevel > 90){
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Thank you for your great help with the Zhu Po Long!";
|
||||
mes "Currently the Situation is stable and i'm not in need of your help anymore to kill them.";
|
||||
close;
|
||||
}
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Kill 50 of those Zhu Po Long and let me know when you're done. I will reward you for your efforts.";
|
||||
setquest 60182;
|
||||
close;
|
||||
case 2:
|
||||
mes "[Dragon Hunter]";
|
||||
mes "If you change your mind, please come back.";
|
||||
close;
|
||||
}
|
||||
case 2:
|
||||
mes "[Dragon Hunter]";
|
||||
mes "If you change your mind, please come back.";
|
||||
close;
|
||||
}
|
||||
}
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Oh boy, Oh boy!";
|
||||
next;
|
||||
mes "[Dragon Hunter]";
|
||||
mes "Sorry I can't talk right now I am in a world of pain here, these darn Zhu Po Long are going to kill me.";
|
||||
close;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,59 +1,59 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Pile Bunker Quest
|
||||
//===== By: ==================================================
|
||||
//= JayPee Mateo
|
||||
//===== Current Version: =====================================
|
||||
//= 2.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= 1.0 A Pile Bunker quest based on iRO WiKi. [JayPee Mateo]
|
||||
//= iRO WiKi Link: http://irowiki.org/wiki/Pile_Bunker_quest
|
||||
//= 2.0 Rewrited the Script a little so it looks a bit better. [Masao]
|
||||
//============================================================
|
||||
|
||||
yuno,179,174,5 script Gomer 813,{
|
||||
|
||||
if(Class == Job_Mechanic || Class == Job_Mechanic_T || Class == Job_Baby_Mechanic){
|
||||
mes "[Gomer]";
|
||||
mes "Hello "+strcharinfo(0)+",";
|
||||
mes "My name is Gomer and i can create Pile Bunkers for you if you bring me the required Items i need.";
|
||||
next;
|
||||
switch(select("Required items for Pile Bunker?:I brought the materials!")){
|
||||
case 1:
|
||||
mes "[Gomer]";
|
||||
mes "These are the required Items:";
|
||||
mes "1x Brocca";
|
||||
mes "200x Steel";
|
||||
mes "30x Flexible Tube";
|
||||
close;
|
||||
case 2:
|
||||
if(countitem(1415) < 1 || countitem(999) < 200 || countitem(7325) < 30){
|
||||
mes "[Gomer]";
|
||||
mes "You dont have all the required items. Just talk to me when you have all the requirements.";
|
||||
close;
|
||||
}
|
||||
mes "[Gomer]";
|
||||
mes "Great you brought me all the materials i needed!";
|
||||
next;
|
||||
delitem 1415,1; // Brocca
|
||||
delitem 999,50; // Steel
|
||||
delitem 7325,30; // Flexible Tube
|
||||
getitem 1549,1; // Pile Bunker
|
||||
getitem 1360,1; // Two-Handed Axe
|
||||
mes "[Gomer]";
|
||||
mes "So please, take this Pile Bunker and this Two-Handed Axe i made for you.";
|
||||
mes "If you need an new Pile Bunker just come and visit me again!";
|
||||
close;
|
||||
}
|
||||
}
|
||||
if(BaseJob == Merchant){
|
||||
mes "[Gomer]";
|
||||
mes "I'm sorry young one, but you do not seem ready yet to use the Pile Bunker.";
|
||||
mes "Come back when you've grown in strength!";
|
||||
close;
|
||||
}
|
||||
mes "[Gomer]";
|
||||
mes "Isn't it a beautiful Day today?";
|
||||
close;
|
||||
}
|
||||
//===== rAthena Script =======================================
|
||||
//= Pile Bunker Quest
|
||||
//===== By: ==================================================
|
||||
//= JayPee Mateo
|
||||
//===== Current Version: =====================================
|
||||
//= 2.0
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= 1.0 A Pile Bunker quest based on iRO WiKi. [JayPee Mateo]
|
||||
//= iRO WiKi Link: http://irowiki.org/wiki/Pile_Bunker_quest
|
||||
//= 2.0 Rewrited the Script a little so it looks a bit better. [Masao]
|
||||
//============================================================
|
||||
|
||||
yuno,179,174,5 script Gomer 813,{
|
||||
|
||||
if(Class == Job_Mechanic || Class == Job_Mechanic_T || Class == Job_Baby_Mechanic){
|
||||
mes "[Gomer]";
|
||||
mes "Hello "+strcharinfo(0)+",";
|
||||
mes "My name is Gomer and i can create Pile Bunkers for you if you bring me the required Items i need.";
|
||||
next;
|
||||
switch(select("Required items for Pile Bunker?:I brought the materials!")){
|
||||
case 1:
|
||||
mes "[Gomer]";
|
||||
mes "These are the required Items:";
|
||||
mes "1x Brocca";
|
||||
mes "200x Steel";
|
||||
mes "30x Flexible Tube";
|
||||
close;
|
||||
case 2:
|
||||
if(countitem(1415) < 1 || countitem(999) < 200 || countitem(7325) < 30){
|
||||
mes "[Gomer]";
|
||||
mes "You dont have all the required items. Just talk to me when you have all the requirements.";
|
||||
close;
|
||||
}
|
||||
mes "[Gomer]";
|
||||
mes "Great you brought me all the materials i needed!";
|
||||
next;
|
||||
delitem 1415,1; // Brocca
|
||||
delitem 999,50; // Steel
|
||||
delitem 7325,30; // Flexible Tube
|
||||
getitem 1549,1; // Pile Bunker
|
||||
getitem 1360,1; // Two-Handed Axe
|
||||
mes "[Gomer]";
|
||||
mes "So please, take this Pile Bunker and this Two-Handed Axe i made for you.";
|
||||
mes "If you need an new Pile Bunker just come and visit me again!";
|
||||
close;
|
||||
}
|
||||
}
|
||||
if(BaseJob == Merchant){
|
||||
mes "[Gomer]";
|
||||
mes "I'm sorry young one, but you do not seem ready yet to use the Pile Bunker.";
|
||||
mes "Come back when you've grown in strength!";
|
||||
close;
|
||||
}
|
||||
mes "[Gomer]";
|
||||
mes "Isn't it a beautiful Day today?";
|
||||
close;
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ struct Login_Config {
|
||||
int start_limited_time; // new account expiration time (-1: unlimited)
|
||||
bool use_md5_passwds; // work with password hashes instead of plaintext passwords?
|
||||
int group_id_to_connect; // required group id to connect
|
||||
int min_group_id_to_connect; // minimum group id to connect
|
||||
int min_group_id_to_connect; // minimum group id to connect
|
||||
bool check_client_version; // check the clientversion set in the clientinfo ?
|
||||
uint32 client_version_to_connect; // the client version needed to connect (if checking is enabled)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user