diff --git a/Account Management System - AMS.txt b/Account Management System - AMS.txt index f89df9f..5b49125 100644 --- a/Account Management System - AMS.txt +++ b/Account Management System - AMS.txt @@ -129,7 +129,7 @@ th u(NEWCONF,config,SYSTEM,AUTO_ACCOUNT,1,Auto-Bind accounts based on IP?,BOOL) &Q`GET`LOGINS [u(cobj,ams)]=SELECT login_result,login_address,UNIX_TIMESTAMP(login_date),login_reason from $LOGINS$ as logins LEFT JOIN $PLAYERS$ as players ON players.player_id=logins.player_id WHERE players.objid=? ORDER BY login_date ASC LIMIT 10 -&TRG`IP`CLEANCONNLOGS [u(cobj,ams)]=@attach %!/INC`IDCHECK=%0;@check %q;th u(setq,keepids,u(mysql,GET`GOOD_LOGINS,%q));@attach %!/INC`DOSQL=DELETE`OLD_LOGINS=%q,u(SQL`IN`NUMBER,%q) +&TRG`IP`CLEANCONNLOGS [u(cobj,ams)]=@attach %!/INC`IDCHECK=%0;@check %q;th u(setq,keepids,u(mysql,GET`GOOD_LOGINS,%q));@attach %!/INC`DOSQL=DELETE`OLD_LOGINS,%q,u(SQL`IN`NUMBER,%q) &Q`GET`GOOD_LOGINS [u(cobj,ams)]=SELECT login_id FROM $LOGINS$ WHERE player_id=? ORDER BY login_date DESC LIMIT 20 &Q`DELETE`OLD_LOGINS [u(cobj,ams)]=DELETE FROM $LOGINS$ WHERE player_id=? AND login_id NOT IN (!) diff --git a/Ancestor Objects - Room Parents.txt b/Ancestor Objects - Room Parents.txt index ac2cd08..9b2d9cb 100644 --- a/Ancestor Objects - Room Parents.txt +++ b/Ancestor Objects - Room Parents.txt @@ -1,7 +1,7 @@ @@ DEPENDENCIES: CORE @@ ANCESTOR ROOM -@select/inline isdbref(u(coi,ar))=1,{&COBJ`ANCESTOR_ROOM [cobj,mco]=[u(coi,ar)]},0,{@select/inline isdbref(u(cobj,ancestor_room))=0,{th u(attrib_set,u(cobj,mco),COBJ`ANCESTOR_ROOM,dig(Ancestor Room))}} +@select/inline isdbref(u(coi,ar))=1,{&COBJ`ANCESTOR_ROOM [u(cobj,mco)]=[u(coi,ar)]},0,{@select/inline isdbref(u(cobj,ancestor_room))=0,{th u(attrib_set,u(cobj,mco),COBJ`ANCESTOR_ROOM,dig(Ancestor Room))}} &HEADER [u(cobj,ancestor_room)]=header(%0,,%1,,v(COLOR`BORDER),v(COLOR`HEADER_STAR),v(COLOR`HEADER_TEXT)) &SEPARATOR [u(cobj,ancestor_room)]=separator(%0,,%1,,v(COLOR`BORDER),v(COLOR`HEADER_STAR),v(COLOR`HEADER_TEXT)) @@ -48,7 +48,7 @@ th u(NEWCONF,pconf,ROOM,EXITALIAS,,Color of exit names.,COLOR) @@ ANCESTOR PLAYER -@select/inline isbref(u(setr,ap,pmatch(*ancestor player)))=1,{th u(attrib_set,u(cobj,mco),COBJ`ANCESTOR_PLAYER,%q)},0,{@select/inline isdbref(u(cobj,ancestor_player))=0,{th u(attrib_set,u(cobj,mco),COBJ`ANCESTOR_PLAYER,pcreate(Ancestor Player,digest(md5,secs())))}} +@select/inline isdbref(u(setr,ap,u(coi,ap)))=1,{th u(attrib_set,u(cobj,mco),COBJ`ANCESTOR_PLAYER,%q)},0,{@select/inline isdbref(u(cobj,ancestor_player))=0,{th u(attrib_set,u(cobj,mco),COBJ`ANCESTOR_PLAYER,pcreate(Ancestor Player,digest(md5,secs())))}} @tel [u(cobj,ancestor_player)]=[u(cobj,ancestor_room)] @pageformat [u(cobj,ancestor_player)]=ansi(color(%@,COLOR,PAGE),colornames(%!,%4,PAGES,lwho(%!),%#)) @@ -67,5 +67,5 @@ th u(NEWCONF,pconf,COLOR,PAGE,,For incoming pages.,COLOR) th u(NEWCONF,pconf,COLOR,OUTPAGE,,For outgoing pages.,COLOR) @@ ANCESTOR THING -@select/inline isbref(u(coi,at))=1,{th u(attrib_set,u(cobj,mco),COBJ`ANCESTOR_THING,u(coi,at))},0,{@select/inline isdbref(u(coi,ae))=0,{th u(attrib_set,u(cobj,mco),COBJ`ANCESTOR_THING,create(Ancestor Thing ))}} +@select/inline isdbref(u(coi,at))=1,{th u(attrib_set,u(cobj,mco),COBJ`ANCESTOR_THING,u(coi,at))},0,{@select/inline isdbref(u(coi,ae))=0,{th u(attrib_set,u(cobj,mco),COBJ`ANCESTOR_THING,create(Ancestor Thing ))}} @tel [u(cobj,ancestor_thing)]=[u(cobj,ancestor_room)] \ No newline at end of file diff --git a/Bulletin Board System - BBS.txt b/Bulletin Board System - BBS.txt index 3dabaaf..bbf9262 100644 --- a/Bulletin Board System - BBS.txt +++ b/Bulletin Board System - BBS.txt @@ -31,6 +31,7 @@ th u(NEWCOBJ,Volund's Board System ,bbs,,,,WIZARD SAFE !NO_COMMAND,INHERIT &FIL`CANREAD`BB [u(cobj,bbs)]=cor(not(u(FUN`READLOCK`BB,%0,%1)),elock(%0,%1),u(isadmin,%1)) &FIL`CANWRITE`BB [u(cobj,bbs)]=cor(not(u(FUN`WRITELOCK`BB,%0,%1)),elock(%0/enter,%1),u(isadmin,%1)) +&FIL`CANADMIN`BB [u(Cobj,bbs)]=u(isadmin,%1) &FUN`READLOCK`BB [u(cobj,bbs)]=switch(v(game),PennMUSH,not(strmatch(lock(%0),*UNLOCKED*)),RhostMUSH,t(strlen(lock(%0)))) &FUN`WRITELOCK`BB [u(cobj,bbs)]=switch(v(game),PennMUSH,not(strmatch(lock(%0/enter),*UNLOCKED*)),RhostMUSH,t(strlen(lock(%0/enter)))) @@ -137,7 +138,7 @@ th u(NEWCONF,config,BBS,GBS,1,Enable group boards?,BOOL) &FIL`UNREADBB [u(cobj,bbs)]=t(words(setdiff(edit(u(lattr,%0/~`*),~`,),u(FUN`GETREAD,%1,%0)))) -&INC`READ`LISTGROUPS [u(cobj,bbs)]=@pemit %#=u(HEADER,u(fun`name,%0,%q,%q));@pemit %#=[space(7)]Board Name[space(20)]Last Post[space(6)]# of messages;@pemit %#=u(SEPARATOR);@dolist %q={th u(setq,listposts,u(FUN`LISTPOSTS,##));@pemit %#=rjust(u(pueblize,u(setr,bbnum,match(%q,##)),+[lcstr(%0)]read [match(%q,##)]),2)[center(u(FUN`SHOWLOCK,##,%#,%q,%0),5)][ljust(u(pueblize,u(moniker,##),+[lcstr(%0)]read %q),30)][ljust(if(u(setr,time,first(elements(u(setr,details,get(##/~`[u(setr,last,last(%q))]`DETAILS)),4 3,|,%B))),u(fancyday,%q