fixed storage access w/o password trough Cool Corp. Staff. Yup. We don't have packet/client based Storage password yet. So fixed it due to many complains.
Also added cutins into Cool Evnt.Staff NPC git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11159 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
dab25c6b7b
commit
4d5c7cc604
@ -1,5 +1,10 @@
|
||||
Date Added
|
||||
======
|
||||
2007/09/10
|
||||
* Fixed Kafra Storage Exploit via Cool Event Co. Storage. Added password protection to C.E.C NPC [Lupus]
|
||||
Note: We use script based storage password due to lack of Packet/Client Storage Password Support.
|
||||
There were many complains from those servers that use extra password protection from account rippers
|
||||
- Added cutins to Cool Event Co. Staff
|
||||
2007/09/09
|
||||
* Uncommented Cursed Abbey spawns [Playtester]
|
||||
2007/09/08
|
||||
|
@ -3,7 +3,7 @@
|
||||
//===== By: ==================================================
|
||||
//= Gepard
|
||||
//===== Current Version: =====================================
|
||||
//= 1.2
|
||||
//= 1.3
|
||||
//===== Compatible With: =====================================
|
||||
//= eAthena
|
||||
//===== Description: =========================================
|
||||
@ -14,10 +14,13 @@
|
||||
//= 1.1 Optimized, fixed a conditional bug [Lupus]
|
||||
//= 1.1a Redo back. It wasn't a bug [Lupus]
|
||||
//= 1.2 Added Rachel Cool Event Corp. Staff [Playtester]
|
||||
//= 1.3 Added cutins, closed Kafra Password exploit
|
||||
//= until we got a client/packet based password support [Lupus]
|
||||
//============================================================
|
||||
|
||||
hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 874,{
|
||||
|
||||
cutin "zonda_01",2;
|
||||
mes "[Cool Event Corp. Staff]";
|
||||
mes "Welcome to Cool Event Corp.";
|
||||
mes "Our staff is always working";
|
||||
@ -26,7 +29,7 @@ hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 874,{
|
||||
mes "may I assist you today?";
|
||||
next;
|
||||
|
||||
switch(select("Save:Use Storage:Rent a Pushcart:Cancel")){
|
||||
switch(select("Save:Use Storage:Rent a Pushcart:Storage Password Service:Cancel")){
|
||||
case 1:
|
||||
mes "[Cool Event Corp. Staff]";
|
||||
mes "Your Respawn Point";
|
||||
@ -36,7 +39,9 @@ hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 874,{
|
||||
mes "Cool Event Corp. service~";
|
||||
emotion e_thx;
|
||||
savepoint "hugel",96,155;
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
case 2:
|
||||
mes "[Cool Event Corp. Staff]";
|
||||
if(basicskillcheck() && getskilllv(1) < 6){
|
||||
@ -45,7 +50,9 @@ hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 874,{
|
||||
mes "Basic Skill Level 6 to";
|
||||
mes "use the Storage Service.";
|
||||
emotion e_sry;
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
}
|
||||
if(Zeny < 40){
|
||||
mes "I'm sorry, but you don't";
|
||||
@ -53,7 +60,9 @@ hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 874,{
|
||||
mes "the Storage Service. Our";
|
||||
mes "Storage access fee is 40 Zeny.";
|
||||
emotion e_cash;
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
}
|
||||
set Zeny, Zeny - 40;
|
||||
set RESRVPTS, RESRVPTS + 4;
|
||||
@ -62,9 +71,13 @@ hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 874,{
|
||||
mes "Thanks for supporting Cool";
|
||||
mes "Event Corp. by using our";
|
||||
mes "services. Have a good day~";
|
||||
|
||||
callfunc("F_CheckKafCode"); //check your storage password, if set
|
||||
close2;
|
||||
openstorage;
|
||||
cutin "", 255;
|
||||
end;
|
||||
|
||||
case 3:
|
||||
mes "[Cool Event Corp. Staff]";
|
||||
if(BaseClass != Job_Merchant){
|
||||
@ -74,12 +87,16 @@ hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 874,{
|
||||
mes "Blacksmiths, White Smiths,";
|
||||
mes "Alchemists and Creators.";
|
||||
emotion e_sry;
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
}
|
||||
if(getskilllv(39) == 0){
|
||||
mes "You can only rent a cart after";
|
||||
mes "learning the Pushcart Skill.";
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
}
|
||||
if(checkcart() == 1){
|
||||
mes "You already have";
|
||||
@ -87,12 +104,16 @@ hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 874,{
|
||||
mes "Unfortunately, we can't";
|
||||
mes "rent more than one to";
|
||||
mes "each customer at a time.";
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
}
|
||||
if(countitem(7061)){
|
||||
delitem 7061,1;
|
||||
setcart;
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
}
|
||||
mes "The Pushcart rental";
|
||||
mes "fee is 800 Zeny. Would";
|
||||
@ -106,16 +127,25 @@ hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 874,{
|
||||
mes "Zeny to pay the Pushcart";
|
||||
mes "rental fee of 800 Zeny.";
|
||||
emotion e_cash;
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
} else {
|
||||
set Zeny, Zeny - 800;
|
||||
set RESRVPTS, RESRVPTS + 80;
|
||||
setcart;
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
}
|
||||
}
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
case 4:
|
||||
callfunc("F_SetKafCode","[Cool Event Corp. Staff]","Cool Event Corp.");
|
||||
//the function closes msg and remoes cutins
|
||||
case 5:
|
||||
default:
|
||||
mes "[Cool Event Corp. Staff]";
|
||||
mes "Cool Event Corp. is always";
|
||||
@ -124,12 +154,15 @@ hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 874,{
|
||||
mes "Help us become the best by";
|
||||
mes "providing us with your opinions";
|
||||
mes "and honest feedback. Thank you.";
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
}
|
||||
}
|
||||
|
||||
rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{
|
||||
|
||||
cutin "zonda_01",2;
|
||||
mes "[Cool Event Corp. Staff]";
|
||||
mes "Welcome to Cool Event Corp.";
|
||||
mes "Our staff is always working";
|
||||
@ -138,7 +171,7 @@ rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{
|
||||
mes "may I assist you today?";
|
||||
next;
|
||||
|
||||
switch(select("Save:Use Storage:Rent a Pushcart:Cancel")){
|
||||
switch(select("Save:Use Storage:Rent a Pushcart:Storage Password Service:Cancel")){
|
||||
case 1:
|
||||
mes "[Cool Event Corp. Staff]";
|
||||
mes "Your Respawn Point";
|
||||
@ -148,7 +181,9 @@ rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{
|
||||
mes "Cool Event Corp. service~";
|
||||
emotion e_thx;
|
||||
savepoint "rachel",113,137;
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
case 2:
|
||||
mes "[Cool Event Corp. Staff]";
|
||||
if(basicskillcheck() && getskilllv(1) < 6){
|
||||
@ -157,7 +192,9 @@ rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{
|
||||
mes "Basic Skill Level 6 to";
|
||||
mes "use the Storage Service.";
|
||||
emotion e_sry;
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
}
|
||||
if(Zeny < 40){
|
||||
mes "I'm sorry, but you don't";
|
||||
@ -165,7 +202,9 @@ rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{
|
||||
mes "the Storage Service. Our";
|
||||
mes "Storage access fee is 40 Zeny.";
|
||||
emotion e_cash;
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
}
|
||||
set Zeny, Zeny - 40;
|
||||
set RESRVPTS, RESRVPTS + 4;
|
||||
@ -186,12 +225,16 @@ rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{
|
||||
mes "Blacksmiths, White Smiths,";
|
||||
mes "Alchemists and Creators.";
|
||||
emotion e_sry;
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
}
|
||||
if(getskilllv(39) == 0){
|
||||
mes "You can only rent a cart after";
|
||||
mes "learning the Pushcart Skill.";
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
}
|
||||
if(checkcart() == 1){
|
||||
mes "You already have";
|
||||
@ -199,12 +242,16 @@ rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{
|
||||
mes "Unfortunately, we can't";
|
||||
mes "rent more than one to";
|
||||
mes "each customer at a time.";
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
}
|
||||
if(countitem(7061)){
|
||||
delitem 7061,1;
|
||||
setcart;
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
}
|
||||
mes "The Pushcart rental";
|
||||
mes "fee is 800 Zeny. Would";
|
||||
@ -218,16 +265,25 @@ rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{
|
||||
mes "Zeny to pay the Pushcart";
|
||||
mes "rental fee of 800 Zeny.";
|
||||
emotion e_cash;
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
} else {
|
||||
set Zeny, Zeny - 800;
|
||||
set RESRVPTS, RESRVPTS + 80;
|
||||
setcart;
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
}
|
||||
}
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
case 4:
|
||||
callfunc("F_SetKafCode","[Cool Event Corp. Staff]","Cool Event Corp.");
|
||||
//the function closes msg and remoes cutins
|
||||
case 5:
|
||||
default:
|
||||
mes "[Cool Event Corp. Staff]";
|
||||
mes "Cool Event Corp. is always";
|
||||
@ -236,6 +292,8 @@ rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{
|
||||
mes "Help us become the best by";
|
||||
mes "providing us with your opinions";
|
||||
mes "and honest feedback. Thank you.";
|
||||
close;
|
||||
close2;
|
||||
cutin "", 255;
|
||||
end;
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@
|
||||
//= Darlskies, Darkchild, Syrus22, Lupus, kobra_k88 (2.0)
|
||||
//= L0ne_W0lf
|
||||
//===== Current Version: =====================================
|
||||
//= 5.9
|
||||
//= 6.0
|
||||
//===== Compatible With: =====================================
|
||||
//= eAthena 1.0
|
||||
//===== Description: =========================================
|
||||
@ -54,6 +54,8 @@
|
||||
//= Thanks to Barron-Monster for pointing out the issues.
|
||||
//= 5.8 Fixed another double name being shown when "saving" [L0ne_W0lf]
|
||||
//= 5.9 Fixed the Kafra Welcome message for guilds. Thanks Barron-Monster. [L0ne_W0lf]
|
||||
//= 6.0 Closed Kafra Password exploit in Cool Event Corp. Storages until we got a client/packet based password support.
|
||||
//= Added 2 args into F_SetKafCode to fit it in Cool Evnt Co. NPC [Lupus]
|
||||
//============================================================
|
||||
|
||||
|
||||
@ -504,7 +506,7 @@ function script F_KafInfo {
|
||||
goto sM_Menu;
|
||||
|
||||
sM_KafCode:
|
||||
callfunc("F_SetKafCode");
|
||||
callfunc("F_SetKafCode","[Kafra Employee]","Kafra Services");
|
||||
|
||||
sM_End:
|
||||
return;
|
||||
@ -564,8 +566,9 @@ function script F_CheckKafCode {
|
||||
}
|
||||
|
||||
// Set / Change / Clear Storage Password Function ====================
|
||||
// getarg(0) = NPC Name, getarg(1) = Company Name
|
||||
function script F_SetKafCode {
|
||||
mes "[Kafra Employee]";
|
||||
mes getarg(0);
|
||||
if(#kafra_code) {
|
||||
mes "Your storage is protected with a password. What would you do now?";
|
||||
next;
|
||||
@ -573,14 +576,14 @@ function script F_SetKafCode {
|
||||
"Remove storage password -> 1000z",M_CLEAR,
|
||||
"Cancel",M_END;
|
||||
} else {
|
||||
mes "Kafra Services proudly presents you a new service:";
|
||||
mes ""+getarg(1)+" proudly presents you a new service:";
|
||||
mes "Additional storage protection with a password.";
|
||||
next;
|
||||
menu "Set new password -> 5000z",M_SET,
|
||||
"Cancel",M_END;
|
||||
}
|
||||
|
||||
mes "[Kafra Employee]";
|
||||
mes getarg(0);
|
||||
mes "At first, please enter your ^0000FFold password^000000.";
|
||||
set @code,callfunc("F_EntKafCode");
|
||||
if(@code==0 || @code != #kafra_code-getcharid(3)-1337) {
|
||||
@ -591,7 +594,7 @@ function script F_SetKafCode {
|
||||
next;
|
||||
|
||||
M_SET:
|
||||
mes "[Kafra Employee]";
|
||||
mes getarg(0);
|
||||
mes "Now enter your ^FF0000new password^000000 to protect your storage from thieves.";
|
||||
set @code,callfunc("F_EntKafCode");
|
||||
if(@code==0) {
|
||||
@ -600,19 +603,19 @@ M_SET:
|
||||
goto M_END;
|
||||
}
|
||||
next;
|
||||
mes "[Kafra Employee]";
|
||||
mes getarg(0);
|
||||
if(Zeny < 5000) goto L_ZENY;
|
||||
set Zeny,Zeny-5000;
|
||||
set RESRVPTS, RESRVPTS + (5000/50);
|
||||
//set RESRVPTS, RESRVPTS + (5000/50); //hardcoded password doesn't add pts
|
||||
|
||||
set #kafra_code,@code+getcharid(3)+1337;
|
||||
mes "You've protected your storage with a secret password.";
|
||||
mes "Thank you for using Kafra Services.";
|
||||
mes "Thank you for using "+getarg(1)+".";
|
||||
emotion e_thx;
|
||||
goto M_END;
|
||||
|
||||
M_CLEAR:
|
||||
mes "[Kafra Employee]";
|
||||
mes getarg(0);
|
||||
mes "Please, enter your password before its removal.";
|
||||
set @code,callfunc("F_EntKafCode");
|
||||
if(@code==0) {
|
||||
@ -621,14 +624,14 @@ M_CLEAR:
|
||||
goto M_END;
|
||||
}
|
||||
next;
|
||||
mes "[Kafra Employee]";
|
||||
mes getarg(0);
|
||||
if(Zeny < 1000) goto L_ZENY;
|
||||
set Zeny,Zeny-1000;
|
||||
set RESRVPTS, RESRVPTS + (1000/50);
|
||||
//set RESRVPTS, RESRVPTS + (1000/50); //hardcoded password doesn't add pts
|
||||
if(@code == #kafra_code-getcharid(3)-1337) {
|
||||
set #kafra_code,0;
|
||||
mes "You've successfully cleared your storage password.";
|
||||
mes "Thank you for using Kafra Services.";
|
||||
mes "Thank you for using "+getarg(1)+".";
|
||||
emotion e_thx;
|
||||
} else {
|
||||
mes "Wrong password. We won't return your 1000z.";
|
||||
|
Loading…
x
Reference in New Issue
Block a user