home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Devil's Doorknob BBS Capture (1996-2003)
/
devilsdoorknobbbscapture1996-2003.iso
/
Dloads
/
WWIVMODS
/
MODSUNKN.ZIP
/
ADDTOF1.MOD
< prev
next >
Wrap
Text File
|
1992-12-01
|
7KB
|
213 lines
/***************************************************************************/
Addition's to F1 User Edit
By: Caramon Majere
With Post-Call Ratio additions by: Lord Samos
Caramon Majere: Lord Samos:
3@8412 The Alliance 1@8412 The Alliance
/***************************************************************************/
This mod is fairly simple to add into your source. It will take no more
than 15 minutes to put in. If you get any errors (Which you shouldn't,
but it can always happen), just e-mail one of us at the above net nodes.
Legend:
* - Search for this.
+ - Add this.
- - Delete this line.
! - Change this line.
*void val_cur_user()
/* val_cur_user allows the sysop at the keyboard to validate the current user,
chaning sl, dsl, ar, dar, sysop sub, exemptions, restrictions, and user
note
*/
{
! char sl[4],dsl[4],exempt[4],sysopsub[4],ar[17],dar[17],restrict[17],rst[17],
tl[50],dk[34],uk[34],ndl[33],nul[33],gold[34],pr[5],cr[5];
int cp,i,done,rc,wx,wy;
pr_wait(1);
thisuser.sl=realsl;
savescreen(&screensave);
! curatr=14;
wx=15;
wy=4;
ansic(5);
! makewindow(wx,wy,50,11);
itoa((int)thisuser.sl,sl,10);
itoa((int)thisuser.dsl,dsl,10);
itoa((int)thisuser.exempt,exempt,10);
itoa((int)thisuser.sysopsub,sysopsub,10);
+ itoa((int)thisuser.dk,dk,10);
+ itoa((int)thisuser.uk,uk,10);
+ itoa((int)thisuser.downloaded,ndl,10);
+ itoa((int)thisuser.uploaded,nul,10);
+ itoa((int)thisuser.gold,gold,10);
+ itoa((int)thisuser.msgpost,pr,10);
+ itoa((int)thisuser.logons,cr,10);
strcpy(rst,restrict_string);
for (i=0; i<=15; i++) {
if (thisuser.ar & (1 << i))
ar[i]='A'+i;
else
ar[i]=32;
if (thisuser.dar & (1 << i))
dar[i]='A'+i;
else
dar[i]=32;
if (thisuser.restrict & (1 << i))
restrict[i]=rst[i];
else
restrict[i]=32;
}
dar[16]=0;
ar[16]=0;
restrict[16]=0;
cp=0;
done=0;
movecsr(wx+2,wy+1); sprintf(tl,"SL : %s",sl); outs(tl);
movecsr(wx+26,wy+1); sprintf(tl,"AR : %s",ar); outs(tl);
movecsr(wx+2,wy+2); sprintf(tl,"DSL : %s",dsl); outs(tl);
movecsr(wx+26,wy+2); sprintf(tl,"DAR : %s",dar); outs(tl);
movecsr(wx+2,wy+3); sprintf(tl,"EXMT: %s",exempt); outs(tl);
movecsr(wx+26,wy+3); sprintf(tl,"RSTR: %s",restrict); outs(tl);
movecsr(wx+2,wy+4); sprintf(tl,"SYSOPSUB: %s",sysopsub); outs(tl);
+ movecsr(wx+26,wy+4); sprintf(tl,"GOLD: %s",gold); outs(tl);
movecsr(wx+2,wy+5); sprintf(tl,"NOTE: %s",thisuser.note); outs(tl);
+ movecsr(wx+2,wy+6); sprintf(tl,"D/L KB : %s",dk); outs(tl);
+ movecsr(wx+26,wy+6); sprintf(tl,"U/L KB : %s",uk); outs(tl);
+ movecsr(wx+2,wy+7); sprintf(tl,"# OF D/L'S : %s",ndl); outs(tl);
+ movecsr(wx+26,wy+7); sprintf(tl,"# OF U/L'S : %s",nul); outs(tl);
+ movecsr(wx+2,wy+8); sprintf(tl,"# OF POSTS MADE : %s",pr); outs(tl);
+ movecsr(wx+26,wy+8); sprintf(tl,"# OF CALLS MADE : %s",cr); outs(tl);
+ movecsr(wx+2,wy+9); sprintf(tl,"CURRENT P/C RATIO : %-6.3f",mratio());
outs(tl);
while (done==0) {
switch(cp) {
case 0:
movecsr(wx+8,wy+1);
editline(sl,3,NUM_ONLY,&rc,"");
thisuser.sl=(char) atoi(sl);
itoa((int)thisuser.sl,sl,10);
sprintf(tl,"%-3s",sl); outs(tl);
break;
case 1:
movecsr(wx+32,wy+1);
editline(ar,16,SET,&rc,"ABCDEFGHIJKLMNOP");
thisuser.ar=0;
for (i=0; i<=15; i++)
if (ar[i]!=32)
thisuser.ar |= (1 << i);
break;
case 2:
movecsr(wx+8,wy+2);
editline(dsl,3,NUM_ONLY,&rc,"");
thisuser.dsl=(char) atoi(dsl);
itoa((int)thisuser.dsl,dsl,10);
sprintf(tl,"%-3s",dsl); outs(tl);
break;
case 3:
movecsr(wx+32,wy+2);
editline(dar,16,SET,&rc,"ABCDEFGHIJKLMNOP");
thisuser.dar=0;
for (i=0; i<=15; i++)
if (dar[i]!=32)
thisuser.dar |= (1 << i);
break;
case 4:
movecsr(wx+8,wy+3);
editline(exempt,3,NUM_ONLY,&rc,"");
thisuser.exempt=(char) atoi(exempt);
itoa((int)thisuser.exempt,exempt,10);
sprintf(tl,"%-3s",exempt); outs(tl);
break;
case 5:
movecsr(wx+32,wy+3);
editline(restrict,16,SET,&rc,rst);
thisuser.restrict=0;
for (i=0; i<=15; i++)
if (restrict[i]!=32)
thisuser.restrict |= (1 << i);
break;
case 6:
movecsr(wx+12,wy+4);
editline(sysopsub,3,NUM_ONLY,&rc,"");
thisuser.sysopsub=(char) atoi(sysopsub);
itoa((int)thisuser.sysopsub,sysopsub,10);
sprintf(tl,"%-3s",sysopsub); outs(tl);
break;
+ case 7:
+ movecsr(wx+32,wy+4);
+ editline(gold,4,NUM_ONLY,&rc,"");
+ thisuser.gold=(int) atoi(gold);
+ itoa((int)thisuser.gold,gold,10);
+ sprintf(tl,"%-3s",gold); outs(tl);
+ break;
! case 8:
movecsr(wx+8,wy+5);
editline(thisuser.note,40,ALL,&rc,"");
break;
+ case 9:
+ movecsr(wx+11,wy+6);
+ editline(dk,4,NUM_ONLY,&rc,"");
+ thisuser.dk=(int) atoi(dk);
+ itoa((int)thisuser.dk,dk,10);
+ sprintf(tl,"%-3s",dk); outs(tl);
+ break;
+ case 10:
+ movecsr(wx+35,wy+6);
+ editline(uk,4,NUM_ONLY,&rc,"");
+ thisuser.uk=(int) atoi(uk);
+ itoa((int)thisuser.uk,uk,10);
+ sprintf(tl,"%-3s",uk); outs(tl);
+ break;
+ case 11:
+ movecsr(wx+15,wy+7);
+ editline(ndl,3,NUM_ONLY,&rc,"");
+ thisuser.downloaded=(int) atoi(ndl);
+ itoa((int)thisuser.downloaded,ndl,10);
+ sprintf(tl,"%-3s",ndl); outs(tl);
+ break;
+ case 12:
+ movecsr(wx+39,wy+7);
+ editline(nul,3,NUM_ONLY,&rc,"");
+ thisuser.uploaded=(int) atoi(nul);
+ itoa((int)thisuser.uploaded,nul,10);
+ sprintf(tl,"%-3s",nul); outs(tl);
+ break;
+ case 13:
+ movecsr(wx+20,wy+8);
+ editline(pr,3,NUM_ONLY,&rc,"");
+ thisuser.msgpost=(int) atoi(pr);
+ itoa(thisuser.msgpost,pr,10);
+ sprintf(tl,"%-3s",pr); outs(tl);
+ movecsr(wx+2,wy+9); sprintf(tl,"CURRENT P/C RATIO :
%-6.3f",mratio()); outs(tl);
+ break;
+ case 14:
+ movecsr(wx+44,wy+8);
+ editline(cr,3,NUM_ONLY,&rc,"");
+ thisuser.logons=(int) atoi(cr);
+ itoa(thisuser.logons,cr,10);
+ sprintf(tl,"%-3s",cr); outs(tl);
+ movecsr(wx+2,wy+9); sprintf(tl,"CURRENT P/C RATIO :
%-6.3f",mratio()); outs(tl);
+ break;
}
switch(rc) {
case DONE: done=1; break;
! case NEXT: cp=(cp+1) % 15; break;
! case PREV: cp--; if (cp==-1) cp=14; break;
}
}
restorescreen(&screensave);
changedsl();
pr_wait(0);
}
Now just hi F9 and test it out....