今年到目前為止遇到的bug - 聖殿英雄傳說 MUD

Table of Contents

1.亂數排序

int random_sort(int a,int b)
{
return -1+random(2);
}

totols = sort_array(totols,"random_sort",this_object());
發現這樣不會亂數排序(要將-1拿掉才會出現)
因為要將之前寫的遊戲房放出來,但先測一下,但AI出牌根本沒變
這個我應該是看別人的寫法,所以

> findcode random_sort /cmds/std

cmd=findcode,str=random_sort /cmds/std
搜尋 random_sort
檔案:/cmds/std/_blarket.c
行號 269:int random_sort_beter(string aa,string bb)
行號 1135: tmps=sort_array(tmps,"random_sort_beter",this_object());

這個應該也是,沒權限改就列出來(我也只搜尋這個)

2.
quest: ({ "j001", 13, 1, "2013/10/21", 1676861204 })

quest leadit about MERC_QUEST_j001
你道:停!你們怎麼都一個模樣,給我好好的回答,不然....
【提示】你應找的對話目標:山寨-寨主住宅
執行時段錯誤: *Illegal to move or destruct an object
(/d/ppl/justinj/bandit/mob/robber#1044152) defining actions from a verb
function(quest) in object(/std/user#308605) which returns zero.
程式: 0:0
物件: 0

依我接下來遇到的情況,非常可能是有add_action然後就會出問題

3.
quest kenshin about MERC_QUEST_j003
上杉謙信道:這是給你的報酬
【你得到100000影特幣】
【你的道德下降100000點】
執行時段錯誤: *Illegal to move or destruct an object
(/d/ppl/justinj/dark/obj/AD#1045102) defining actions from a verb
function(quest) in object(/std/user#308605) which returns zero.
程式: 0:0
物件: 0

只要有放程序/d/ppl/justinj/dark/obj/AD.c移除就會發生

4.
quest show j005
cmd=quest,str=show j005
...

│23. 最後與燕情(Yanchin)對話,任務結束。 │
├──────────────────────────────────┤
│任務獎勵:    │
│    │
└──────────────────────────────────┘
執行時段錯誤: *Illegal to move or destruct an object
(/d/book/egingin#1077293) defining actions from a verb function(quest) in
object(/std/user#308605) which returns zero.
程式: 0:0
物件: 0

5.

=================================================================================
任務編號 任務名稱 狀態 接取任務NPC或地點
=====================================================================
n005 失蹤人口調查 未完成 神秘的乞丐(Beggar)
└0.fail clone
n005 /open/cmds/quest/n/n005 fail load 未完成 神秘的乞丐(Beggar)


quest: ({ "n005", 0, 3, "2013/08/15", 1676794600 })
([ ])

我應該完成了3次

6.

殺怪任務:
『解決魔化樹人首領翠博德(j034)』  【樹人首領】翠博? 0 / 1 )

(1)我應該是命名j034-1
(2)後面的亂掉可能是排版問題

7.
有關這隻/d/ppl/justinj/devil/mob/amethyst.c的問題
因為這隻會吃生命水晶,所以但它在打怪物時就會發生bug,所
以改成下列這樣就ok
if(userp(ppl) && ppl->query_vobjs("s001"))

8.
> quest shows j004
....

│任務獎勵:    │
│    │
│ step2_msg= │
└──────────────────────────────────┘
我最後一步寫都會變這樣
step2_npc=/d/ppl/justinj/dark/mob/receptionist##
step2_msg=##
step2_end=
ppl->force_me("finish")##

9.
之前按quest status
大概都會發生這樣
[傭兵行會]注意!獸潮已經開始了
己經改成第1個接任務時才呼叫
step1_end=
"/d/ppl/justinj/devil/room/043.c"->merc_init()##

--

All Comments

Skylar DavisLinda avatarSkylar DavisLinda2023-02-18
-1+random(3) 才對, 這樣才會出現 -1,0,1
Kristin avatarKristin2023-02-23
quest的部份,如果你的quest腳本檔有自創許多東西的
Rae avatarRae2023-02-18
話,建議先檢查腳本檔的寫法有無問題,包括執行時
Thomas avatarThomas2023-02-23
fail load的部份,有人把 if(!catch 寫成了if(catch
這部份我修正了
Sierra Rose avatarSierra Rose2023-02-18
至於已完成未完成的判斷,它是以次數[1]做為依據,因
為原則上能超過次數1代表這是一個可完成多次的任務
比方可完成5次,而你只完成3次,那判斷上就是未完成
不過我剛還是把 ==1 改成 >=1,即完成過一次就算完成
Mary avatarMary2023-02-23
_blarket.c 修正為-1+r(3),剛測試是可以 random 的
Daph Bay avatarDaph Bay2023-02-18
理論上 -1+r(2) 也會 random, 只是隨機性沒那麼高
以及特殊的數列或字串陣列有可能random無效
Linda avatarLinda2023-02-23
robber 的屬性設定我不建議用 set("stat",
Michael avatarMichael2023-02-18
robber 缺少了計算 sp 的 int 屬性
Regina avatarRegina2023-02-23
腳本內自訂函數時,如果該函數有用到關於 move 物件
Gary avatarGary2023-02-18
的程式段時,請宣告為 int 並且要 return 1以上正數
與move有關的比方:move,move_player,remove,die,..
Joseph avatarJoseph2023-02-23
最後
quest 本身是有問題,但我不想修它了,大致能跑就行了
有可能本來只有放著也不會怎樣的小問題,一但去動了
Selena avatarSelena2023-02-18
反而可能不能跑,bug越多,etc..上次動 _wear差點出事
Zenobia avatarZenobia2023-02-23
了解
Tom avatarTom2023-02-18
我下午改看看設三種狀態:未完成,已完成,完成過x次
Brianna avatarBrianna2023-02-23
times==1 && finish>=1 ? : finish>=1 ? : 大概可以
Candice avatarCandice2023-02-18
times==1 && finish>=1 , times>=1 && finish>=1
以及 finish < 1