dreamsambit@gma 發表於 2015-8-1 15:08:35

【2015】自定義商店 檔案含詳細標註

本帖最後由 dreamsambit@gma 於 2015-8-10 02:59 PM 編輯

看了下面高手大大的腳本之後自己寫出來的
http://okayro.com/forum.php?mod= ... hlight=%BF%EF%B3%E6
弄了好久查了好多網頁才摸透整個運作的過程
大大的寫法是將初始化跟一些簡單的能夠縮在一起的都盡量縮在一起
不過這樣比較不容易看懂整個流程
所以我也照著差不多的思路寫出新的一個
比較不一樣的地方是把每個地方都分離出來寫
有重複的地方跟大部分變數都有加註記
新手們比較容易看得懂整個流程

https://www.mediafire.com/convkey/ae5b/j5v977iye97a0e86g.jpghttp://www.mediafire.com/convkey/11a2/m8a7merbbcdaj4d6g.jpghttp://www.mediafire.com/convkey/411b/cgz3cghlnl5drma6g.jpg

emistry 發表於 2015-8-1 21:57:27

set .i,@userselect;
callsub Item_List,.i;如果多人同时使用,这变数可能会被他人的变数覆盖。

dreamsambit@gma 發表於 2015-8-2 03:25:05

emistry 發表於 2015-8-1 09:57 PM static/image/common/back.gif
如果多人同时使用,这变数可能会被他人的变数覆盖。

的確是有這個可能
不過個人認為會互相影響的機率很低
因為.i在經過switch之後就不會對後面有影響
中間執行的指令大概只有4~5行 從執行時間上面來算時間連0.1秒都不到
更何況要在0.1秒內有兩個人同時按下確定交互影響我想不太可能
畢竟這種NPC都是用在交換式NPC 使用的頻率並不會很高
當然如果要避免的話可以把List部份寫成function形式就可以避免

emistry 發表於 2015-8-2 09:16:26

本帖最後由 emistry 於 2015-8-2 09:19 AM 編輯

只要有可能发生,我个人认为是必须解
而且這是多餘的set .i,@userselect;這樣寫就好了callsub Item_List,@userselect;就算是0.1秒,如果要它發生其實也很簡單罷了,開幾個外掛亂按就好。。

dreamsambit@gma 發表於 2015-8-3 06:14:02

emistry 發表於 2015-8-2 09:16 AM static/image/common/back.gif
只要有可能发生,我个人认为是必须解
而且這是多餘的這樣寫就好了就算是0. ...

我不知道您說得那樣寫會不會出錯
因為Item_List並非用function的方式寫
所以不知道直接帶人物變數他會不會跑
假如可以的話的確以您寫的方式可以修復掉這個bug

emistry 發表於 2015-8-3 21:18:15

.i
这变数是可以和别的玩家共用的callsub和function比较 。。。可以说是同类。。。
function 也可以写成和别的脚本共用。。

dreamsambit@gma 發表於 2015-8-4 08:36:36

我寫得之後就知道 .i 是會跟別人共用那時想說跑錯機率很低所以就沒特別去研究function
現在知道callsub也跟function一樣 感謝大大提點學習了
另外還有個問題想問

就是如果寫出function要給任意的物品或是NPC使用的話
那個script應該要放在哪裡?
頁: [1]
查看完整版本: 【2015】自定義商店 檔案含詳細標註