回精華區
作者qazq.bbs@bbs.cs.nchu.edu.tw (少做、少想、多放開) 看板: plan
標題[功能] 使用者自定習慣-上站自動購買隱身權。
時間中興資科 (Tue, 14 Oct 2003 00:21:14 +0800 (CST)) Updated: 2005/11/23
    目前的程式寫法,凡是購買暫時隱身權的人,下站再上站隱身權還在。

    除非使用者選擇了現身,不然幾乎等於擁有永久隱身。

    這樣每次上站自動購買隱身權就沒有意義了。

    所以先對程式修改一下,讓沒有永久隱身權(PERM_CLOAK)的人...

    上站後拿掉暫時隱身權(UFO_CLOAK)。

    然後判斷是否有上站自動購買隱身權的喜好設定。

    如果有再把暫時隱身權加回去,並且扣除購買暫時隱身權的錢!

==============================================================================

: src/include/ufo.h

+ #define UFO_LOGINCLOAK  BFLAG(19)   /* 上站直接隱身 */


! #define NUMUFOS_USER    20  /* 一般使用者 可以用前 20 個 ufo */

! #define STR_UFO     "-mpsnemPBQFANbwtSHKc----CHA"


#ifdef HAVE_NETTOOL
  "上站瀏覽新聞    (瀏覽/不要)",    /* UFO_KIMONEWS */
#else
  "保留",
#endif

+ "隱身上站        (隱身/現身)",    /* UFO_LOGINCLOAK */
- "保留",




        [2003/09/28] bbsd.c 改寫 tn_login()。

: src/maple/bbsd.c:tn_login()   030928 之前的,要改 tn_login()

: src/maple/bbsd.c:login_user() 030928 之後的,要改 login_user()


#endif  /* SYSOP_SU */
      {
        /* SYSOP gets all permission bits */
        /* itoc.010902: DENY perm 排外 */
        cuser.userlevel = ~0 ^ (PERM_DENYMAIL | PERM_DENYTALK | PERM_DENYCHAT |
PERM_DENYPOST);
      }
    }

+   if (!(HAS_PERM(PERM_ALLADMIN)) && !(HAS_PERM(PERM_CLOAK)))
+     cuser.ufo &= ~UFO_CLOAK;   //拿掉沒有永久隱身權的暫時隱身

+   if (!HAS_PERM(PERM_CLOAK) && cuser.ufo & UFO_LOGINCLOAK)
+   {                                           /* qazq.031010: 隱身上站 */
+     if (cuser.gold >= 10)
+     {
+       cuser.gold -= 10;      //這裡扣的錢要和 bank.c:b_invis() 扣的一樣。
+       cuser.ufo |= UFO_CLOAK;
+     }
+     else
+     {
+       vmsg("您的錢不夠購買暫時隱身,系統自動取消上站隱身的習慣");
+       cuser.ufo &= ~UFO_LOGINCLOAK;
+     }
+   }       // 註解好像有說在某個時段之前不能有 vmsg() 和 more()
            // 不過不知道會發生什麼事情。

    if (cuser.ufo & UFO_ACL)
    {
      usr_fpath(fpath, cuser.userid, FN_ACL);


--
  Author:  中興資科˙中興資科 e資獨秀  csNCHU.twbbs.org 
  Origin: qazq 61-216-136-36.HINET-IP.hinet.net 發表

> ───────────────────────────────────── <

發信人: guessi.bbs@bbs.wretch.cc (沒) 看板: plan
標  題: [功能] 自定ufo - 上站詢問是否購買暫時隱身權
發信站: 無名小站 (2005/11/21 Mon 20:11:58)

 ◇ [功能] bbsd.c 使用者自定習慣-上站自動購買隱身權

    ↑修改此篇內容 改為Y/N確認

: src/include/ufo.h

+ #define UFO_LOGINCLOAK  BFLAG(19)   /* 上站直接隱身 */

! #define STR_UFO     "-mpsnemPBQFANbwtSHKc----CHA"

+ "隱身上站        (隱身/現身)",    /* UFO_LOGINCLOAK */
- "保留",

: bbsd.c:login_user()

+ if (!(HAS_PERM(PERM_ALLADMIN)) && !(HAS_PERM(PERM_CLOAK)))
+      cuser.ufo &= ~UFO_CLOAK;             //拿掉沒有永久隱身權的暫時隱身
+
+ if (!(HAS_PERM(PERM_CLOAK)) && cuser.ufo & UFO_LOGINCLOAK)
+ {                                         // qazq.031010: 隱身上站
+    if (vans("是否花 1金隱身上站 Y/N[N] ") == 'y')
+    {
+      if (cuser.gold >= 1)  //扣的錢要和 bank.c:b_invis() 一樣
+      {
+      cuser.gold -= 1;
+      cuser.ufo ^= UFO_CLOAK;
+      }
+      else
+      {
+      vmsg("你的錢還不夠購買隱身唷!");
+      cuser.ufo &= ~UFO_LOGINCLOAK;
+      }
+    }
+ }

        if (cuser.ufo & UFO_ACL)
        {
          usr_fpath(fpath, cuser.userid, FN_ACL);


--
夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子
之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下
矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以
喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦將知止知止 61-231-197-55.dynamic.hinet.net
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻