作者laechan (小太保)
看板mud_sanc
標題[閒聊] 屬性值互換的可能性
時間Tue Jan 12 13:49:07 2010
首先,它一定是用 temp_mod 的方式去寫,這樣的好處是..
一、容易控制有效時間及做效果的移除(quit 就移除)。
二、作用時間內例如 air 原先 2000 mag 原先 5000,則
temp_mod 的寫法如下...
ppl->temp_mod("stat/air",3000,"某效果名",時間);
ppl->temp_mod("stat/mag",-3000,"某效果名",時間);
或者是透過修改 _score.c 呼叫的函數,直接在裡面進行轉
換,例如原先是氣勁(2000) 魔力(5000) 直接互換。
因為更動顯示的同時屬性也一起變更,因此這樣寫也是可以
,實作上...
ppl->new_stat(me);
↓
設定特殊判斷,變更讀取模式..
maxs=get_stat_2(me);
j=sizeof(maxs);
for(i=0;i<j;i=i+2)
{
value=maxs[i+1];
if(value>0)
me->set("stat/"+maxs[i],50+value);
}
將上面的 maxs 順序調換一下,就可將讀取到的 air 設
到玩家的 mag 欄位,讀到的 mag 欄位設到 air 欄位。
不過這樣子寫 bug 很多。所以我傾向改良式的第一種寫法
===================================================
目前想討論的是,單純兩個屬性的屬性值對調,會有什麼
問題,以及哪些屬性之間是可對調、哪些不行(如 int),
或者若全部都可以對調,要如何設定對調比例等等。
有興趣的可以閒聊一下。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.225.162.92
1F:推 AresMars :這個有趣...把str變到int去...XD 01/12 13:53
2F:→ laechan :那就得把 str 打 X折 後才能移轉到 int 01/12 14:10
3F:→ laechan :也就是上面的「如何設定對調比例」 01/12 14:10
4F:推 justinj :...我上一篇提的主要是元素轉換而已..avert 01/12 15:43
5F:推 justinj :如果真的要轉的話...依目前屬性最高之間的比例來判斷 01/12 15:49
6F:→ justinj :轉換比例.... 01/12 15:50
7F:推 justinj :fel:5162,mag:5222,air:7180,str:6686,con:3190 01/12 17:20
8F:→ justinj :dex:4856,int:2137.. 01/12 17:21
9F:→ laechan :ㄟ應該不會用最高值唷,而且,總不能str->0=>int+xxx吧 01/12 17:28
10F:推 justinj :..我只是po出來當打幾折用的... 01/12 18:16
11F:推 hmml :應該很多人會很想先把屬性轉到INT去吧... 01/13 22:16
12F:→ hmml :賢者如果會用這招..或許屬性不會很難配.. 01/13 22:18