藥水桶的設定問題 (i_keg_potion)


版主: Jason[A.K]

主題已鎖定
GM Illusion
豬頭 (Pig Head)
豬頭 (Pig Head)
文章: 2055
註冊時間: 週日 7月 01, 2001 8:00 am

文章 GM Illusion » 週二 3月 05, 2002 8:23 am

依照您提供的第二方法更改的計算方式,謝謝。

winter
頂級玩家
頂級玩家
文章: 2655
註冊時間: 週二 7月 31, 2001 8:00 am

文章 winter » 週一 1月 28, 2002 1:41 am

hmm~hmm~hmm
+U+U~努力算...... 0.0"
因為偶看ㄍ籠無 0.......0"
O_o"奇怪ㄉ看著這篇文章中.....
※又趴去潛水了 ̄▽ ̄|||不要扁我喔!※
從超級古老的墳場中爬了起來,跟大家say完hi之後
又倒下去了....重新沉回古老的墳場!!!

Kalemo
初級玩家
初級玩家
文章: 88
註冊時間: 週日 7月 15, 2001 8:00 am

文章 Kalemo » 週日 1月 27, 2002 6:47 pm

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
飄來飄去... 就這樣飄來飄去...

Kalemo
初級玩家
初級玩家
文章: 88
註冊時間: 週日 7月 15, 2001 8:00 am

文章 Kalemo » 週日 1月 27, 2002 6:42 pm

解決方法:
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>) // 新餘數
飄來飄去... 就這樣飄來飄去...

Kalemo
初級玩家
初級玩家
文章: 88
註冊時間: 週日 7月 15, 2001 8:00 am

文章 Kalemo » 週日 1月 27, 2002 6:35 pm

藥水桶的 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%)
飄來飄去... 就這樣飄來飄去...

主題已鎖定

回到「物品設定」

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客