话说敝人现在那一点点的微末道行也是在达摩堂和各位大大学的,看到winson大一直发布新的技术,我也想发些东西为达摩堂做些贡献。
但想想我手边的源码没一个比得上winson大大,让我惭愧无比。。。
因此,我只好来重新完善这个设置人物属性的指令来鱼目混珠加滥竽充数一下。 - procedure settinghero(rnum, mode, addexp, min, max:integer);
- var
- i, minlvl, maxlvl, hero, mubiao, x:integer;
- begin
- minlvl := 60;
- maxlvl := 0;
- if min <= 0 then min := 1;
- if max <= 0 then max := max_level;
- for i := 0 to 5 do
- begin
- //这里判断队伍人物最高和最低的等级
- if TeamList[i] > 0 then
- begin
- x := rrole[teamlist[i]].Level;
- if x > maxlvl then maxlvl := x;
- if x < minlvl then minlvl := x;
- end;
- end;
- if maxlvl > max then maxlvl := max;
- if minlvl < min then minlvl := min;
- case mode of
- 0: mubiao := rrole[0].Level;
- 1: mubiao := maxlvl;
- 2: mubiao := minlvl;
- end;
- hero := rrole[rnum].Level;
- //如果人物等级小于目标等级则升级
- if mubiao > hero then
- begin
- mubiao := mubiao - hero;
- for i := 0 to mubiao - 1 do
- begin
- rrole[rnum].Level := rrole[rnum].Level + 1;
- lvlup(rnum);
- end;
- exit;
- end;
- //如果人物等级大于目标等级则降低等级
- if hero > mubiao then
- begin
- mubiao := hero - mubiao;
- for i := 0 to mubiao - 1 do
- begin
- rrole[rnum].Level := rrole[rnum].Level - 1;
- lvldown(rnum);
- end;
- exit;
- end;
- end;
复制代码
[ 本帖最后由 轩辕夏禹 于 2010-2-7 10:58 编辑 ] |