Jump to content
  • 0

Request NPC Security Account


Yasunari Ishibashi

Question


  • Group:  Members
  • Topic Count:  49
  • Topics Per Day:  0.01
  • Content Count:  157
  • Reputation:   2
  • Joined:  01/06/12
  • Last Seen:  

Does anyone have the script?

the example shown below, please share. Thank you. /thx

post-1298-0-69314100-1350190666_thumb.jpg

Link to comment
Share on other sites

18 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  60
  • Topics Per Day:  0.01
  • Content Count:  562
  • Reputation:   219
  • Joined:  11/22/11
  • Last Seen:  


  • Group:  Members
  • Topic Count:  218
  • Topics Per Day:  0.05
  • Content Count:  1180
  • Reputation:   141
  • Joined:  01/27/12
  • Last Seen:  

I have also made another version of a secutiry script. http://rathena.org/board/topic/70567-peopleperson49s-scripts/

Peopleperson49

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  49
  • Topics Per Day:  0.01
  • Content Count:  157
  • Reputation:   2
  • Joined:  01/06/12
  • Last Seen:  

where is the script?

I have also made another version of a secutiry script. http://rathena.org/b...son49s-scripts/

Peopleperson49

I'll try first, thanks

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  218
  • Topics Per Day:  0.05
  • Content Count:  1180
  • Reputation:   141
  • Joined:  01/27/12
  • Last Seen:  

Which script is giving you problems? What is the issue?

Peopleperson49

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  782
  • Reputation:   82
  • Joined:  01/01/12
  • Last Seen:  

He might wants the bindatcmd instead OnWhisper.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  218
  • Topics Per Day:  0.05
  • Content Count:  1180
  • Reputation:   141
  • Joined:  01/27/12
  • Last Seen:  

I understand now, thanks darristan. I can't help him with that because I still use 16265 which doesn't have the command. I don't want to script something I can't test out.

Peopleperson49

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  782
  • Reputation:   82
  • Joined:  01/01/12
  • Last Seen:  

Alright, guess I'll just upload mine for him :P

Here you go:

//===== rAthena Script =======================================
//= Account Locker
//===== By: ==================================================
//= darristan ([email protected])
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
//= rAthena SVN
//===== Additional Comments: =================================
//= 1.0 Initial release
//= 1.1 Added wrong password attempt
//= 1.2 Added atcmd binding
//============================================================
aria_in,46,166,2 script Account Manager 57,{
mes "[Account Manager]";
mes "Hello " + strcharinfo(0) + ".";
mes "How may I assist you today?";
next;
switch(select(((!#AccLock)? "Lock Account:":":Unlock Account")+":Information:Cancel")) {
case 1:
 mes "[Account Manager]";
 mes "So if you would like to lock your account, you will need to input a password after next.";
 mes "^808080Tips: Input 0 to cancel.^000000";
 next;
 input .@Pass$;
 if (.@Pass$ == "0") {
  mes "[Account Manager]";
  mes "Alright, you can always talk me to again if you changed your mind.";
  close;
 }
 mes "[Account Manager]";
 mes "Good. So the password would be:";
 mes "^0055FF" + .@Pass$ + "^000000";
 mes "Proceed?";
 next;
 if (select("Confirm:Cancel") == 2) {
  mes "[Account Manager]";
  mes "Alright. Talk to me again anytime.";
  close;
 }
 mes "[Account Manager]";
 mes "Password is now set. Account will be locked upon log out.";
 set .@Pass$, #AccPass$;
 set #AccLock, 1;
 close;
case 2:
 mes "[Account Manager]";
 mes "Please input your password.";
 mes "^808080Tips: Input 0 to cancel.^000000";
 set @Attempt, .Attempt;
 next;
 input .@Pass$;
 if (.@Pass$ == "0") {
  mes "[Account Manager]";
  mes "Alright, you can always talk me to again if you changed your mind.";
  close;
 }
 while (.@Pass$ != #AccPass$) {
  if (@Attempt == 0) {
mes "[Account Manager]";
mes "You have entered wrong password too many times!";
close2;
atcommand "@kick " + strcharinfo(0);
end;
  }
  set @Attempt, @Attempt - 1;
  mes "[Account Manager]";
  mes "Wrong password! You have " + @Attempt + " attempt left.";
  next;
  input .@Pass$;
 }
 mes "[Account Manager]";
 mes "Account unlocked. You can always talk to me if you intended to lock your account again.";
 set #AccLock, 0;
 close;
case 3:
 mes "[Account Manager]";
 mes "If you feel unsafe with your account, you can always use my service and lock them with a password. Upon logging in, password will be asked and will give no access on wrong password.";
 close;
case 4:
 mes "[Account Manager]";
 mes "See you again!";
 close;
}
OnInit:
set .Attempt, 3; // Number of attempts if wrong password entered.
end;
}

- script AccLock -1,{
OnLock:
if (#AccLock == 1) {
 dispbottom "Lock failed! Your account is already locked.";
 end;
}
if (.@atcmd_parameters$ == "") {
 dispbottom "Lock failed! Password cannot be empty.";
 end;
}
if (getstrlen(.@atcmd_parameters$) < 4) {
 dispbottom "Lock failed! Password must be at least 4 characters.";
 end;
}
set #AccPass$, .@atcmd_parameters$;
set #AccLock, 1;
dispbottom "Account locked successfully! Password is " + #AccPass$ + ".";
end;
OnUnlock:
if (#AccLock == 0) {
 dispbottom "Unlock failed! Your account is already unlocked.";
 end;
}
if (.@atcmd_parameters$ == "" || .@atcmd_parameters$ != #AccPass$) {
 dispbottom "Unlock failed! Wrong password!";
 end;
}
set #AccLock, 0;
dispbottom "Account unlocked successfully.";
end;

OnPCLoginEvent:
if (#AccLock == 1) {
 specialeffect2 9;
 atcommand "@option 2 0 "+(64|(checkoption(8)*8)|(checkoption(16)*16)|(checkoption(32)*32)|(checkoption(128)*128)|(checkoption(256)*256)|(checkoption(512)*512)|(checkoption(1024)*1024));
 set @Attempt, .Attempt;
 mes "[Account Manager]";
 mes "Please input your password to continue.";
 next;
 input .@Pass$;
 while (.@Pass$ != #AccPass$) {
  if (@Attempt == 1) {
mes "[Account Manager]";
mes "You have entered wrong password too many times!";
close2;
atcommand "@kick " + strcharinfo(0);
end;
  }
  set @Attempt, @Attempt - 1;
  mes "[Account Manager]";
  mes "Wrong password! You have " + @Attempt + " attempt left.";
  next;
  input .@Pass$;
 }
 mes "[Account Manager]";
 mes "You may continue your game now.";
 atcommand "@option 0 0 " + ((checkoption(8)*8)|(checkoption(16)*16)|(checkoption(32)*32)|(checkoption(128)*128)|(checkoption(256)*256)|(checkoption(512)*512)|(checkoption(1024)*1024));
 close;
}
end;
OnInit:
bindatcmd("lock","AccLock::OnLock");
bindatcmd("unlock","AccLock::OnUnlock");
set .Attempt, 3; // Number of attempts if wrong password entered.
end;
}

Usage:

@lock <password>

@unlock <password>

or talk to the NPC.

Edited by darristan
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  152
  • Topics Per Day:  0.03
  • Content Count:  569
  • Reputation:   11
  • Joined:  11/24/11
  • Last Seen:  

Alright, guess I'll just upload mine for him :P

Here you go:

//===== rAthena Script =======================================
//= Account Locker
//===== By: ==================================================
//= darristan ([email protected])
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
//= rAthena SVN
//===== Additional Comments: =================================
//= 1.0 Initial release
//= 1.1 Added wrong password attempt
//= 1.2 Added atcmd binding
//============================================================
aria_in,46,166,2 script Account Manager 57,{
mes "[Account Manager]";
mes "Hello " + strcharinfo(0) + ".";
mes "How may I assist you today?";
next;
switch(select(((!#AccLock)? "Lock Account:":":Unlock Account")+":Information:Cancel")) {
case 1:
 mes "[Account Manager]";
 mes "So if you would like to lock your account, you will need to input a password after next.";
 mes "^808080Tips: Input 0 to cancel.^000000";
 next;
 input .@Pass$;
 if (.@Pass$ == "0") {
  mes "[Account Manager]";
  mes "Alright, you can always talk me to again if you changed your mind.";
  close;
 }
 mes "[Account Manager]";
 mes "Good. So the password would be:";
 mes "^0055FF" + .@Pass$ + "^000000";
 mes "Proceed?";
 next;
 if (select("Confirm:Cancel") == 2) {
  mes "[Account Manager]";
  mes "Alright. Talk to me again anytime.";
  close;
 }
 mes "[Account Manager]";
 mes "Password is now set. Account will be locked upon log out.";
 set .@Pass$, #AccPass$;
 set #AccLock, 1;
 close;
case 2:
 mes "[Account Manager]";
 mes "Please input your password.";
 mes "^808080Tips: Input 0 to cancel.^000000";
 set @Attempt, .Attempt;
 next;
 input .@Pass$;
 if (.@Pass$ == "0") {
  mes "[Account Manager]";
  mes "Alright, you can always talk me to again if you changed your mind.";
  close;
 }
 while (.@Pass$ != #AccPass$) {
  if (@Attempt == 0) {
mes "[Account Manager]";
mes "You have entered wrong password too many times!";
close2;
atcommand "@kick " + strcharinfo(0);
end;
  }
  set @Attempt, @Attempt - 1;
  mes "[Account Manager]";
  mes "Wrong password! You have " + @Attempt + " attempt left.";
  next;
  input .@Pass$;
 }
 mes "[Account Manager]";
 mes "Account unlocked. You can always talk to me if you intended to lock your account again.";
 set #AccLock, 0;
 close;
case 3:
 mes "[Account Manager]";
 mes "If you feel unsafe with your account, you can always use my service and lock them with a password. Upon logging in, password will be asked and will give no access on wrong password.";
 close;
case 4:
 mes "[Account Manager]";
 mes "See you again!";
 close;
}
OnInit:
set .Attempt, 3; // Number of attempts if wrong password entered.
end;
}

- script AccLock -1,{
OnLock:
if (#AccLock == 1) {
 dispbottom "Lock failed! Your account is already locked.";
 end;
}
if (.@atcmd_parameters$ == "") {
 dispbottom "Lock failed! Password cannot be empty.";
 end;
}
if (getstrlen(.@atcmd_parameters$) < 4) {
 dispbottom "Lock failed! Password must be at least 4 characters.";
 end;
}
set #AccPass$, .@atcmd_parameters$;
set #AccLock, 1;
dispbottom "Account locked successfully! Password is " + #AccPass$ + ".";
end;
OnUnlock:
if (#AccLock == 0) {
 dispbottom "Unlock failed! Your account is already unlocked.";
 end;
}
if (.@atcmd_parameters$ == "" || .@atcmd_parameters$ != #AccPass$) {
 dispbottom "Unlock failed! Wrong password!";
 end;
}
set #AccLock, 0;
dispbottom "Account unlocked successfully.";
end;

OnPCLoginEvent:
if (#AccLock == 1) {
 specialeffect2 9;
 atcommand "@option 2 0 "+(64|(checkoption(8)*8)|(checkoption(16)*16)|(checkoption(32)*32)|(checkoption(128)*128)|(checkoption(256)*256)|(checkoption(512)*512)|(checkoption(1024)*1024));
 set @Attempt, .Attempt;
 mes "[Account Manager]";
 mes "Please input your password to continue.";
 next;
 input .@Pass$;
 while (.@Pass$ != #AccPass$) {
  if (@Attempt == 1) {
mes "[Account Manager]";
mes "You have entered wrong password too many times!";
close2;
atcommand "@kick " + strcharinfo(0);
end;
  }
  set @Attempt, @Attempt - 1;
  mes "[Account Manager]";
  mes "Wrong password! You have " + @Attempt + " attempt left.";
  next;
  input .@Pass$;
 }
 mes "[Account Manager]";
 mes "You may continue your game now.";
 atcommand "@option 0 0 " + ((checkoption(8)*8)|(checkoption(16)*16)|(checkoption(32)*32)|(checkoption(128)*128)|(checkoption(256)*256)|(checkoption(512)*512)|(checkoption(1024)*1024));
 close;
}
end;
OnInit:
bindatcmd("lock","AccLock::OnLock");
bindatcmd("unlock","AccLock::OnUnlock");
set .Attempt, 3; // Number of attempts if wrong password entered.
end;
}

Usage:

@lock <password>

@unlock <password>

or talk to the NPC.

error found. im using old eA revision. See the image below.

post-524-0-56587600-1350663688_thumb.jpg

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  782
  • Reputation:   82
  • Joined:  01/01/12
  • Last Seen:  

Well the script is dedicated for ts and I don't have any working resp of each so u have to fix urself. If not mistaken eA doesn't have bindatcmd.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  152
  • Topics Per Day:  0.03
  • Content Count:  569
  • Reputation:   11
  • Joined:  11/24/11
  • Last Seen:  

@darristan

Dunno how to fix it. I will give my svn revision to you so that you can fix it for me? :)

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

@darristan

Dunno how to fix it. I will give my svn revision to you so that you can fix it for me? :)

r16471

this is the diff file...

and not sure its compatible with eA or not ...since rA got alot things changed ~

beside....if you check the Old eA Forum ...

i believe you can find it mod made by @ToastOfDoom in source release section.

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  49
  • Topics Per Day:  0.01
  • Content Count:  157
  • Reputation:   2
  • Joined:  01/06/12
  • Last Seen:  

Alright, guess I'll just upload mine for him :P

Here you go:

//===== rAthena Script =======================================
//= Account Locker
//===== By: ==================================================
//= darristan ([email protected])
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
//= rAthena SVN
//===== Additional Comments: =================================
//= 1.0 Initial release
//= 1.1 Added wrong password attempt
//= 1.2 Added atcmd binding
//============================================================
aria_in,46,166,2 script Account Manager 57,{
mes "[Account Manager]";
mes "Hello " + strcharinfo(0) + ".";
mes "How may I assist you today?";
next;
switch(select(((!#AccLock)? "Lock Account:":":Unlock Account")+":Information:Cancel")) {
case 1:
 mes "[Account Manager]";
 mes "So if you would like to lock your account, you will need to input a password after next.";
 mes "^808080Tips: Input 0 to cancel.^000000";
 next;
 input .@Pass$;
 if (.@Pass$ == "0") {
  mes "[Account Manager]";
  mes "Alright, you can always talk me to again if you changed your mind.";
  close;
 }
 mes "[Account Manager]";
 mes "Good. So the password would be:";
 mes "^0055FF" + .@Pass$ + "^000000";
 mes "Proceed?";
 next;
 if (select("Confirm:Cancel") == 2) {
  mes "[Account Manager]";
  mes "Alright. Talk to me again anytime.";
  close;
 }
 mes "[Account Manager]";
 mes "Password is now set. Account will be locked upon log out.";
 set .@Pass$, #AccPass$;
 set #AccLock, 1;
 close;
case 2:
 mes "[Account Manager]";
 mes "Please input your password.";
 mes "^808080Tips: Input 0 to cancel.^000000";
 set @Attempt, .Attempt;
 next;
 input .@Pass$;
 if (.@Pass$ == "0") {
  mes "[Account Manager]";
  mes "Alright, you can always talk me to again if you changed your mind.";
  close;
 }
 while (.@Pass$ != #AccPass$) {
  if (@Attempt == 0) {
mes "[Account Manager]";
mes "You have entered wrong password too many times!";
close2;
atcommand "@kick " + strcharinfo(0);
end;
  }
  set @Attempt, @Attempt - 1;
  mes "[Account Manager]";
  mes "Wrong password! You have " + @Attempt + " attempt left.";
  next;
  input .@Pass$;
 }
 mes "[Account Manager]";
 mes "Account unlocked. You can always talk to me if you intended to lock your account again.";
 set #AccLock, 0;
 close;
case 3:
 mes "[Account Manager]";
 mes "If you feel unsafe with your account, you can always use my service and lock them with a password. Upon logging in, password will be asked and will give no access on wrong password.";
 close;
case 4:
 mes "[Account Manager]";
 mes "See you again!";
 close;
}
OnInit:
set .Attempt, 3; // Number of attempts if wrong password entered.
end;
}

- script AccLock -1,{
OnLock:
if (#AccLock == 1) {
 dispbottom "Lock failed! Your account is already locked.";
 end;
}
if (.@atcmd_parameters$ == "") {
 dispbottom "Lock failed! Password cannot be empty.";
 end;
}
if (getstrlen(.@atcmd_parameters$) < 4) {
 dispbottom "Lock failed! Password must be at least 4 characters.";
 end;
}
set #AccPass$, .@atcmd_parameters$;
set #AccLock, 1;
dispbottom "Account locked successfully! Password is " + #AccPass$ + ".";
end;
OnUnlock:
if (#AccLock == 0) {
 dispbottom "Unlock failed! Your account is already unlocked.";
 end;
}
if (.@atcmd_parameters$ == "" || .@atcmd_parameters$ != #AccPass$) {
 dispbottom "Unlock failed! Wrong password!";
 end;
}
set #AccLock, 0;
dispbottom "Account unlocked successfully.";
end;

OnPCLoginEvent:
if (#AccLock == 1) {
 specialeffect2 9;
 atcommand "@option 2 0 "+(64|(checkoption(8)*8)|(checkoption(16)*16)|(checkoption(32)*32)|(checkoption(128)*128)|(checkoption(256)*256)|(checkoption(512)*512)|(checkoption(1024)*1024));
 set @Attempt, .Attempt;
 mes "[Account Manager]";
 mes "Please input your password to continue.";
 next;
 input .@Pass$;
 while (.@Pass$ != #AccPass$) {
  if (@Attempt == 1) {
mes "[Account Manager]";
mes "You have entered wrong password too many times!";
close2;
atcommand "@kick " + strcharinfo(0);
end;
  }
  set @Attempt, @Attempt - 1;
  mes "[Account Manager]";
  mes "Wrong password! You have " + @Attempt + " attempt left.";
  next;
  input .@Pass$;
 }
 mes "[Account Manager]";
 mes "You may continue your game now.";
 atcommand "@option 0 0 " + ((checkoption(8)*8)|(checkoption(16)*16)|(checkoption(32)*32)|(checkoption(128)*128)|(checkoption(256)*256)|(checkoption(512)*512)|(checkoption(1024)*1024));
 close;
}
end;
OnInit:
bindatcmd("lock","AccLock::OnLock");
bindatcmd("unlock","AccLock::OnUnlock");
set .Attempt, 3; // Number of attempts if wrong password entered.
end;
}

Usage:

@lock <password>

@unlock <password>

or talk to the NPC.

Is it enough to run the script?

no need to change anything?

or change -> conf -> group.conf :

groups: (
{
id: 0 /* group 0 is the default group for every new account */
name: "Player"
level: 0
inherit: ( /*empty list*/ )
commands: {
	/* no commands by default */
}
permissions: {
	/* without this basic permissions regular players could not
	trade or party */
	can_trade: true ----> change false ?
	can_party: true
}
},

instructions please, thank you

Edited by Yasunari Ishibashi
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  782
  • Reputation:   82
  • Joined:  01/01/12
  • Last Seen:  

Use my script with Annie's little fix and on group.conf:

groups: (
{
id: 1
...
permissions: {
...
 can_trade: false
}
},

Only change permission, don't replace whole group block.

Edited by darristan
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  49
  • Topics Per Day:  0.01
  • Content Count:  157
  • Reputation:   2
  • Joined:  01/06/12
  • Last Seen:  

Use my script with Annie's little fix and on group.conf:

groups: (
{
id: 1
...
permissions: {
...
 can_trade: false
}
},

Only change permission, don't replace whole group block.

what if using SVN 3CeAM?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  782
  • Reputation:   82
  • Joined:  01/01/12
  • Last Seen:  

I don't know if 3CeAM have the permission setting.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...