作者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/cn.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