Login script..
Posted by w.e
Monday, March 28, 2005
Description: no point 2 it?
on *:load: {
set %lgn.trigger .
}
dialog login {
title "Login Script :: w.e"
size -1 -1 170 126
option dbu
tab "Main", 1, 0 0 167 102
box "Users", 8, 4 10 90 88, tab 1
list 9, 6 16 68 78, tab 1 size
list 10, 74 16 18 78, tab 1 size
box "Add", 11, 96 10 68 36, tab 1
box "Address", 12, 100 16 44 16, tab 1
box "Level", 13, 144 16 18 16, tab 1
edit "", 14, 102 22 40 8, tab 1 autohs autovs
edit "", 15, 148 22 10 8, tab 1
button "Add", 16, 100 34 62 10, tab 1
box "Change", 17, 96 60 68 36, tab 1
box "Username", 18, 100 66 44 16, tab 1
edit "", 19, 102 72 40 8, tab 1 autohs autovs
box "Level", 21, 142 66 18 16, tab 1
button "Change", 22, 100 84 62 10, tab 1
edit "", 20, 146 72 10 8, tab 1 autohs autovs
text "Levels 1-4", 2, 96 47 20 6, tab 1
text All passwords are "changeme", 3, 96 54 67 6, tab 1
button "Save", 6, 0 104 168 10
button "Done", 7, 0 114 168 10, ok cancel
}
on *:dialog:login:init:0: {
usr.dialog
}
on *:dialog:login:sclick:16: {
write users.txt $did(login,14)
writeini login.usr access $did(login,14) $did(login,15)
writeini login.usr login $did(login,14) changeme
usr.dialog
}
on *:dialog:login:sclick:22: {
writeini login.usr access $did(login,19) $did(login,20)
usr.dialog
}
on *:dialog:login:sclick:9: {
did -ra login 19 $did(login,9).seltext
}
alias usr.dialog {
did -r login 9
did -r login 10
var %x 1
while (%x <= $lines(users.txt)) {
did -a login 9 $read(users.txt,%x)
did -a login 10 $readini(login.usr,access,$read(users.txt,%x))
inc %x
}
}
menu channel,menubar,query,status,nicklist {
Login v. $lgn.version
.Configure:dialog -m login login
}
alias lgn.version {
return 1.0
}
on *:text:.login*:#: {
if ($readini(login.usr,ban,$address($nick,2)) == 1) {
notice $nick You are ban from using this. Please ask me to unban you.
halt
}
if ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
notice $nick You are already logged in. Type " $+ %lgn.trigger $+ commands $+ " for more options.
halt
}
if (!$2) {
notice $nick Please supply your password. If you have forgotten your password type " $+ %lgn.trigger $+ recievepass $address($nick,2) $+ "
halt
}
if ($2 == $readini(login.usr,login,$address($nick,2))) {
notice $nick You are now logged in, type %lgn.trigger $+ commands for more options.
writeini login.usr loggedin $address($nick,2) 1
set %usr.llogin The last login was by: $nick ( $+ $address($nick,2) $+ ) at $date(h:nn) EST
halt
}
if ($2 != $readini(login.usr,login,$address($nick,2))) {
notice $nick Invalid password, to recieve your password type " $+ %lgn.trigger $+ recievepass $address($nick,2) $+ "
halt
}
else {
notice $nick You are not registered. Please type " $+ %lgn.trigger $+ register
halt
}
}
on *:text:$(%lgn.trigger $+ register):#: {
unset %usr.thing
var %x 1
while (%x <= $lines(users.txt)) {
if ($address($nick,2) != $read(users.txt,%x)) {
inc %usr.thing
inc %x
}
else {
inc %x
}
}
if (%usr.thing == $lines(users.txt)) {
createuser
}
if (!$lines(users.txt)) {
createuser
}
else {
notice $nick You already registered.
}
}
alias createuser {
var %pass $rand(1,9) $+ $rand(A,Z) $+ $rand(1,9) $+ $rand(a,z) $+ $rand(1,9)
writeini login.usr login $address($nick,2) %pass
notice $nick Please type " $+ %lgn.trigger $+ login %pass $+ "
writeini login.usr access $address($nick,2) 1
write users.txt $address($nick,2)
}
on *:text:$(%lgn.trigger $+ lastlogin):#: {
if ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
notice $nick %usr.llogin
}
else {
notice $nick Please login. ( $+ %lgn.trigger $+ login <pass>)
}
}
on *:text:$(%lgn.trigger $+ newpass*):#: {
if ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
if ($1- == $1 $2 $3 $4) {
if ($2 == $readini(login.usr,login,$address($nick,2))) {
if ($3 == $4) {
notice $nick Changed password successfully. ( $+ $4 $+ )
writeini login.usr login $address($nick,2) $4
halt
}
else {
notice $nick New password stated incorrect on second followup.
halt
}
}
else {
notice $nick Incorrect current password.
halt
}
}
else {
notice $nick Incorrect format. ( $+ %lgn.trigger $+ newpass <old> <new> <new> $+ )
}
}
else {
notice $nick You are not logged in.
}
}
on *:text:$(%lgn.trigger $+ logout):#: {
if ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
writeini login.usr loggedin $address($nick,2) 0
notice $nick You are now logged out.
}
else {
notice $nick Login first.
}
}
on *:text:$(%lgn.trigger $+ commands):#: {
if ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
if ($readini(login.usr,access,$address($nick,2)) == 1) {
notice $nick Level 1 access commands: %lgn.trigger $+ commands %lgn.trigger $+ lastlogin %lgn.trigger $+ newpass
}
if ($readini(login.usr,access,$address($nick,2)) == 2) {
notice $nick Level 2 access commands: %lgn.trigger $+ commands %lgn.trigger $+ lastlogin %lgn.trigger $+ newpass %lgn.trigger $+ timeban %lgn.trigger $+ unban %lgn.trigger $+ users
}
if ($readini(login.usr,access,$address($nick,2)) == 3) {
notice $nick Level 3 access commands: %lgn.trigger $+ commands %lgn.trigger $+ lastlogin %lgn.trigger $+ newpass %lgn.trigger $+ timeban %lgn.trigger $+ unban %lgn.trigger $+ users %lgn.trigger $+ channels %lgn.trigger $+ join %lgn.trigger $+ part %lgn.trigger $+ quit %lgn.trigger $+ reconnect
}
if ($readini(login.usr,access,$address($nick,2)) == 4) {
notice $nick Level 4 access commands: %lgn.trigger $+ commands %lgn.trigger $+ lastlogin %lgn.trigger $+ newpass %lgn.trigger $+ timeban %lgn.trigger $+ unban %lgn.trigger $+ users %lgn.trigger $+ channels %lgn.trigger $+ join %lgn.trigger $+ part %lgn.trigger $+ quit %lgn.trigger $+ reconnect %lgn.trigger $+ changeaccess
}
}
else {
notice $nick Login first.
}
}
on *:text:$(%lgn.trigger $+ timeban*):#: {
if ($readini(login.usr,access,$address($nick,2)) == 2) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
if ($3 >= 1199) {
notice $nick That is to long. Please shorten the seconds.
}
else {
write bans.txt $2
writeini login.usr ban $2 1
writeini login.usr loggedin $2 0
timerban $+ $2 1 $3 unban $2
notice $nick Banned $2 for $3 seconds.
}
}
if ($readini(login.usr,access,$address($nick,2)) == 3) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
if ($3 >= 1199) {
notice $nick That is to long. Please shorten the seconds.
}
else {
write bans.txt $2
writeini login.usr ban $2 1
writeini login.usr loggedin $2 0
timerban $+ $2 1 $3 unban $2
notice $nick Banned $2 for $3 seconds.
}
}
if ($readini(login.usr,access,$address($nick,2)) == 4) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
if ($3 >= 1199) {
notice $nick That is to long. Please shorten the seconds.
}
else {
write bans.txt $2
writeini login.usr ban $2 1
writeini login.usr loggedin $2 0
timerban $+ $2 1 $3 unban $2
notice $nick Banned $2 for $3 seconds.
}
halt
}
else {
notice $nick Not level 2-4 or not logged in.
}
}
alias unban {
writeini login.usr ban $1 0
write -d bans.txt $1
}
on *:text:$(%lgn.trigger $+ users):#: {
if ($readini(login.usr,access,$address($nick,2)) == 2) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
notice $nick Getting users...
var %x 1
while (%x <= $lines(users.txt)) {
notice $nick $read(users.txt,%x)
inc %x
}
halt
}
if ($readini(login.usr,access,$address($nick,2)) == 3) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
notice $nick Getting users...
var %x 1
while (%x <= $lines(users.txt)) {
notice $nick $read(users.txt,%x)
inc %x
}
halt
}
if ($readini(login.usr,access,$address($nick,2)) == 4) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
notice $nick Getting users...
var %x 1
while (%x <= $lines(users.txt)) {
notice $nick $read(users.txt,%x)
inc %x
}
halt
}
else {
notice $nick Not level 2-4 or not logged in.
}
}
on *:text:$(%lgn.trigger $+ unban*):#: {
if ($readini(login.usr,access,$address($nick,2)) == 2) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
if (!$readini(login.usr,ban,$2) == 1) {
notice $nick $2 is not ban. | halt
}
else {
unban $2
notice $nick $2 was unban.
halt
}
}
if ($readini(login.usr,access,$address($nick,2)) == 3) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
if (!$readini(login.usr,ban,$2) == 1) {
notice $nick $2 is not ban. | halt
}
else {
unban $2
notice $nick $2 was unban.
halt
}
}
if ($readini(login.usr,access,$address($nick,2)) == 4) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
if (!$readini(login.usr,ban,$2) == 1) {
notice $nick $2 is not ban. | halt
}
else {
unban $2
notice $nick $2 was unban.
halt
}
}
else {
notice $nick Not level 2-4 or not logged in.
}
}
on *:text:$(%lgn.trigger $+ join*):#: {
if ($readini(login.usr,access,$address($nick,2)) == 3) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
join $2 | notice $nick I have joined $2 $+ . | halt
}
if ($readini(login.usr,access,$address($nick,2)) == 4) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
join $2 | notice $nick I have joined $2 $+ . | halt }
else {
notice $nick Login or get some access.
}
}
on *:text:$(%lgn.trigger $+ part*):#: {
if ($readini(login.usr,access,$address($nick,2)) == 3) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
part $2 | notice $nick I have parted $2 $+ . | halt
}
if ($readini(login.usr,access,$address($nick,2)) == 4) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
part $2 | notice $nick I have parted $2 $+ . | halt
}
else {
notice $nick Login or get some access.
}
}
on *:text:$(%lgn.trigger $+ quit*):#: {
if ($readini(login.usr,access,$address($nick,2)) == 3) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
var %usr.server $server(3)
notice $nick Im quiting. | quit $nick $+ : $2 | server | halt
}
if ($readini(login.usr,access,$address($nick,2)) == 4) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
var %usr.server $server(3)
notice $nick Im quiting. | quit $nick $+ : $2 | server | halt
}
else {
notice $nick Login or get some access.
}
}
on *:text:$(%lgn.trigger $+ reconnect*):#: {
if ($readini(login.usr,access,$address($nick,2)) == 3) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
var %usr.server $server(3)
notice $nick I am restarting. | quit $nick $+ : $2 | server | halt
}
if ($readini(login.usr,access,$address($nick,2)) == 4) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
var %usr.server $server(3)
notice $nick I am restarting. | quit $nick $+ : $2 | server | halt
}
else {
notice $nick Login or get some access.
}
}
on *:text:$(%lgn.trigger $+ channels*):#: {
if ($readini(login.usr,access,$address($nick,2)) == 3) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
var %x 1
notice $nick Getting Channels...
while (%x <= $chan(0)) {
notice $nick $chan(%x)
inc %x
}
halt
}
if ($readini(login.usr,access,$address($nick,2)) == 4) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
var %x 1
notice $nick Getting Channels.
while (%x <= $chan(0)) {
notice $nick $chan(%x)
inc %x
}
halt
}
else {
notice $nick Login or get some access.
}
}
on *:text:$(%lgn.trigger $+ bans*):#: {
if ($readini(login.usr,access,$address($nick,2)) == 3) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
var %x 1
notice $nick Getting bans...
while (%x <= $lines(bans.txt)) {
notice $nick $read(bans.txt,%x)
inc %x
}
halt
}
if ($readini(login.usr,access,$address($nick,2)) == 4) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
var %x 1
notice $nick Getting bans...
while (%x <= $lines(bans.txt)) {
notice $nick $read(bans.txt,%x)
inc %x
}
halt
}
if ($readini(login.usr,access,$address($nick,2)) == 2) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
var %x 1
notice $nick Getting bans...
while (%x <= $lines(bans.txt)) {
notice $nick $read(bans.txt,%x)
inc %x
}
halt
}
else {
notice $nick Login or get some access.
}
}
on *:text:$(%lgn.trigger $+ recievepass*):#: {
var %x 1
while (%x <= $lines(users.txt)) {
if ($2 != $read(users.txt,%x)) { halt }
elseif ($2 == $read(users.txt,%x)) {
notice $nick Your password is $readini(login.usr,login,$address($nick,2)) $+ . You may now log in.
inc %x
}
else {
notice $nick You are not registered.
inc %x
}
}
}
on *:text:$(%lgn.trigger $+ changeaccess):#: {
if ($readini(login.usr,access,$address($nick,2)) == 4) && ($readini(login.usr,loggedin,$address($nick,2)) == 1) {
if ($2) {
if ($3) {
writeini login.usr access $2 $3
notice $nick Changed $2 $+ 's access to $3 $+ .
}
else {
notice $nick Please supply a level.
}
}
else {
notice $nick Please supply an name and level.
}
}
else {
notice $nick please login or get some access.
}
}