作者laechan (小太保)
看板mud_sanc
標題Re: [問題] 兩個問題, 舊魔神帶及 teach
時間Sat Aug 3 21:18:05 2013
※ 引述《hlead (希多)》之銘言:
: ※ 引述《longhairpan (Steven)》之銘言:
: : 1. 舊魔神帶在 savebox 內, take n from savebox 會出現如下訊息,
: : 魔神帶(Evil_God Wristlet)這件物品因故無法讀取喔.
: : 然後拿不出來, 佔住一格,
: 更改檔案:/u/l/laechan/skycastle/room/skyroom.c
: if(!file_exists(str1+".c"))
: {
: write(HIR+name+HIR"此物品不存在,這件物品已被移除。...\n"NOR);
: // 檔案不存在就將資料移除 by Norr in 2013.08.03
: data[target_savebox][res-1]=0;
: data[target_savebox]-=({0});
: return 1;
: }
我不做這個的原因是因為「有時檔案可能只是暫時移除」,
而你上面的判斷會造成檔案一不在就移除。
通常我會 #define 一個 mixed 型態的參數,用來儲存這類
的東西,只有確定檔案已永久移除的才會自動替玩家做移除
的動作,不然就會先佔住位置。
(然後玩家會回報,我們再來做確定)
給你當參考。
我暫時不會改天空城之家,你可自行研究,或就照你上面的
寫法亦可,則我移除 /d/dfire 及 /d/ppl/dragondoll下的
物件時,玩家丟進 savebox 的這些物件就會立即消失。
(通常這時我會試著至少讓玩家知道消失了什麼,我記得每
一個 data[target_savebox][i] 都存有 short 資料。)
: : 2. 被教的人, 學點會被扣到變負的, 然後一直扣下去, 還是能教...
: : 今天系統 shutdown 重開後, 還是負的, 賺學點會慢慢加回來...
: : 以上是今天遇到的兩個問題
: 更改檔案:/cmds/std/_teach.c
: me->add("up",-j+1);
: // 補上判斷 by Norr in 2013.08.03
: if((string)tar->query("pri_guild")!=(string)me->query("pri_guild"))
: tar->add("up",-j+1);
: tar->add_exp(l);
: 所以他是前面會先扣兩點...後面實際會在扣n-1點。 n = 教幾次。
: 正常應該會是 n = 20;
: 前面會先扣兩點的原因是,教不滿100時,固定扣兩點。
3q~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.26.176.170
1F:→ laechan :對了天空城之家修改前最好備份一下 08/03 21:18
2F:→ hlead :嗯..好。 08/03 21:54