作者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