作者justinj (黑旋風)
看板mud_sanc
標題[wizs] 今年到目前為止遇到的bug
時間Tue Feb 21 09:22:03 2023
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()##
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.221.177.11 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/mud_sanc/M.1676942534.A.FBE.html
※ 編輯: justinj (61.221.177.11 臺灣), 02/21/2023 09:23:05
1F:→ laechan : -1+random(3) 才對, 這樣才會出現 -1,0,1 02/21 10:22
2F:→ laechan : quest的部份,如果你的quest腳本檔有自創許多東西的 02/21 10:23
3F:→ laechan : 話,建議先檢查腳本檔的寫法有無問題,包括執行時 02/21 10:24
4F:→ laechan : fail load的部份,有人把 if(!catch 寫成了if(catch 02/21 10:32
5F:→ laechan : 這部份我修正了 02/21 10:32
6F:→ laechan : 至於已完成未完成的判斷,它是以次數[1]做為依據,因 02/21 10:33
7F:→ laechan : 為原則上能超過次數1代表這是一個可完成多次的任務 02/21 10:33
8F:→ laechan : 比方可完成5次,而你只完成3次,那判斷上就是未完成 02/21 10:33
9F:→ laechan : 不過我剛還是把 ==1 改成 >=1,即完成過一次就算完成 02/21 10:33
10F:→ laechan : _blarket.c 修正為-1+r(3),剛測試是可以 random 的 02/21 10:41
11F:→ laechan : 理論上 -1+r(2) 也會 random, 只是隨機性沒那麼高 02/21 10:43
12F:→ laechan : 以及特殊的數列或字串陣列有可能random無效 02/21 10:43
13F:→ laechan : robber 的屬性設定我不建議用 set("stat", 02/21 10:47
14F:→ laechan : robber 缺少了計算 sp 的 int 屬性 02/21 10:48
15F:→ laechan : 腳本內自訂函數時,如果該函數有用到關於 move 物件 02/21 10:49
16F:→ laechan : 的程式段時,請宣告為 int 並且要 return 1以上正數 02/21 10:50
17F:→ laechan : 與move有關的比方:move,move_player,remove,die,.. 02/21 10:50
18F:→ laechan : 最後 02/21 10:51
19F:→ laechan : quest 本身是有問題,但我不想修它了,大致能跑就行了 02/21 10:51
20F:→ laechan : 有可能本來只有放著也不會怎樣的小問題,一但去動了 02/21 10:51
21F:→ laechan : 反而可能不能跑,bug越多,etc..上次動 _wear差點出事 02/21 10:52
22F:→ justinj : 了解 02/21 11:15
23F:→ laechan : 我下午改看看設三種狀態:未完成,已完成,完成過x次 02/21 12:51
24F:→ laechan : times==1 && finish>=1 ? : finish>=1 ? : 大概可以 02/21 12:52
25F:→ laechan : times==1 && finish>=1 , times>=1 && finish>=1 02/21 12:53
26F:→ laechan : 以及 finish < 1 02/21 12:53