第 1 頁 (共 1 頁)
發表於 : 週二 3月 05, 2002 8:23 am
由 GM Illusion
依照您提供的第二方法更改的計算方式,謝謝。
發表於 : 週一 1月 28, 2002 1:41 am
由 winter
hmm~hmm~hmm
+U+U~努力算...... 0.0"
因為偶看ㄍ籠無 0.......0"
O_o"奇怪ㄉ看著這篇文章中.....
發表於 : 週日 1月 27, 2002 6:47 pm
由 Kalemo
2. 另外用一個變數紀錄餘數 (比較複雜)
忘了考慮倒藥水之後, 餘數要併入平均值
MOREX=<MOREX> - 1
IF (<MOREX> == 0)
...
ELSE
xxx = (more2 * morex + xxx) // 剩餘總數
more2 = (xxx / morex) // 新平均值
xxx = (xxx - more2 * morex) // 新餘數
ENDIF
NAME=a <SRC.ACT.NAME> Keg(<MOREX>)
ENDIF
發表於 : 週日 1月 27, 2002 6:42 pm
由 Kalemo
解決方法:
1. more2 改為紀錄總藥效
(會有上限, 可能是 6553.6 / 100.0 = 65瓶)
ON=@TARGON_ITEM
if ...
SRC.ACT.MORE2= (<MORE2> / <MOREX>)
...
endif
MORE2 = (<MORE2> + <SRC.TARG.MORE2>)
MOREX = MOREX + 1
...
2. 另外用一個變數紀錄餘數 (比較複雜)
MORE2=(<MORE2>*<MOREX> + <xxx>) // 總數
MOREX=(<MOREX> + 1)
<xxx>=(<MORE2> + <SRC.TARG.MORE2>) // 新總數
MORE2=(<xxx> / <MOREX>) // 新平均值
<xxx>=(<xxx> - <MORE2> * <MOREX>) // 新餘數
發表於 : 週日 1月 27, 2002 6:35 pm
由 Kalemo
藥水桶的 script 使用 MORE2 來記錄平均值,
MOREX 來記錄藥水數目, 會產生四捨五入的問題,
例如: 現有 9 罐 100% 的藥水,
加入一罐 99.9% 的藥水:
根據 script 設定:
more2 = more2 * morex = 900%
morex = morex + 1 = 10
more2 = more2 + src.targ.more2 = 999.9%
more2 = more2 / morex = 99.9%
以後倒出來的藥水全部都是 99.9%,
合計 10 * 99.9% = 999.0% (少掉 0.9%)