Re: justinj>你的文章裡有亂碼,請更改
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間16年前 (2010/04/07 18:06)推噓1(1推 0噓 0→)留言1則, 1人參與討論串3/3 (看更多)
※ 引述《justinj (闇冥)》之銘言:
: Q1.A,B兩個檔案裡面都是function
: 若A裡面有name,start,end等function
: B裡面也一樣...
: 那要如何叫出A裡的start,B裡的start..而不會混太一起..
: Q2.
: 另一個問題是.在同一個檔案裡
: 假設有
: mixed fuc(var B)
: {
: ..return C;
: }
: 那如何使用這個東西..像要 C 的話..
: 是c=fuc(B)..
: 還是取內容就c[0],c[1]之類的
比方某函數 寫在 /open/test1.c
mixed get_userid(mixed usr)
{
mixed C=({});
object ppl;
foreach(ppl in usr)
C+=({ppl->query("name")});
return C; // 傳回線上所有玩家的 id
}
然後假設你是在別的檔案要用這東西(假設是 /open/test2.c)
void test()
{
mixed c;
c="/open/test1"->get_userid(users()); // 把線上玩家物件總合丟給它
}
比較保險的寫法則是
c=(mixed)"/open/test1"->get_userid(users());
即強制 -> 回傳的東西是 mixed 型態。
: Q3.
: int init()
: {
: int num;
: num=sizeof(all_inventory(environment(this_player())));
: if(num<=3 && !query("clone_ob"))
: {
: set("clone_ob",1);
: clone_object(DM"rob")->move(DR"b010");
: }
: }
: 是想寫一個當這個房間只有3人以下時才會觸發的條件
: 但這種寫法感覺不會成功
: 有沒有法子寫出來?
這有很多種情況要看你是要哪一種。
用 init 判斷的話代表你是用「進入」來當做判斷依據,
那麼你這樣寫是不保險的,因為任何房間只要進入任何的
東西(如玩家),那你的 num 就是 1,就一定會視為 <3
那依你程式的寫法, 個人建議你不要用觸發式的, 而是改
用指令式的, 比方房間有 N 個人, 其中一個人下了指令,
這時才判斷房間有幾個人, 才是較好的判斷方式.
<3 個人: 指令執行成功
>=3 個人: 就不理會你下指令的動作
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.225.160.106
推
04/07 18:20, , 1F
04/07 18:20, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
10
18