→ laechan : 留意carry, no_trade, no_sell(但有時可trade) 即可 06/17 16:58
→ laechan : 若if這樣的寫法,留意後者是前者的else之後,即假設 06/17 17:00
→ laechan : 前者是if(random(10)==2)那後者是if(random(10)!=2) 06/17 17:00
→ laechan : 之後,也就是它實際是 9/10 x 5/99 06/17 17:01
→ laechan : 改之前cp備份,備份多多益善,若發現改錯了不可逆,可 06/17 17:02
→ laechan : 第一時間反映,我再撈每日備份檔出來還原即可 06/17 17:02
→ justinj : 了解...而且這些的還好..純顯示問題而已 06/17 17:19
忘了補了..
(4)對話變更
因為隨機給物品,但stepX_end又比stepX_msg還要早運作,
所以必需要有訊息要後給的動作,簡單的作法就是把訊息放在stepX_msg
註:give_obj/give_vobj/give_arch的訊息放reward_msg字串上
方法:
step1_msg=
test
"+reward_msg+"
test3
##
step1_end=
int v
//清掉msg
reward_msg=""
//重置stepX_msg
set_quest_data()
##
增加reward_msg(當然你可以用自己定的不要用內建的),
然後一定要set_quest_data()這樣stepX_msg才會重置
※ 編輯: justinj (61.221.177.11 臺灣), 06/18/2026 08:43:24
因為j005跑step1,2後再對step1/2的NPC下quest命令一樣會跑step2的動作
所以修改下列方法
(a)因為/cmds/std/_quest.c的第821行判斷是 if(j==1)
<------依我這例最好是這邊改成noneq的最小值-1(但我沒法子改此檔)
所以改在quest_d.c裡第372行..原本是return -steps;
在前面增加 if(steps<exp[0]) return -1;....就是值比較小的都回傳-1
※ 編輯: justinj (61.221.177.11 臺灣), 06/22/2026 16:59:30