铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 2164|回复: 3

【通用版】戰鬥中顯示人物狀態的功能。--新增怒氣條

[复制链接]
发表于 2012-1-29 21:49 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
本帖最后由 潛龍勿用 于 2012-1-30 14:17 编辑

原版的戰鬥中要查看地方狀態不是很方便,中毒和內傷這兩個重要的東東沒有顯示,而且恩屁稀中毒內傷以後也和沒事人一樣,導致毒滿以後還繼續下毒,因此改了這個函數,增加了恩屁稀內傷、中毒、封穴、流血四項的數值,另外整理了一下函數,看起來沒那麼累... 龍人和至尊都有各自的顯示效果,可以無視。diy版直接複製粘貼進去,源碼版直接找到同名函數覆蓋就好了。這個東西寫得很簡單,抛磚引玉吧。附武松靚照一張:
  1. function WarShowHead(id)               --显示战斗人头像
  2.     --申明变量
  3.     id=id or WAR.CurID
  4.     if id<0 then return end
  5.     local pid=WAR.Person[id]["人物编号"];
  6.     local p=JY.Person[pid];
  7.     local h=18;
  8.     local width=160+2*CC.MenuBorderPixel;
  9.     local height=250+2*CC.MenuBorderPixel+4*h;
  10.     local x1,y1,i;
  11.     local headw,headh=lib.PicGetXY(1,p["头像代号"]*2);
  12.     local headx=(160-headw)/2;
  13.     local heady=(100-headh)/2;
  14.     local pcolor,hcolor,color;
  15.     local hp=math.modf(JY.Person[pid]["生命"]*160/JY.Person[pid]["生命最大值"])
  16.     local mp=math.modf(JY.Person[pid]["内力"]*160/JY.Person[pid]["内力最大值"])
  17.     local tp=math.modf(JY.Person[pid]["体力"]*160/100)
  18.     local lq;
  19.     if WAR.LQZ[pid] ~= nil then lq =WAR.LQZ[pid] else lq = 0 end;
  20.     local shengming=JY.Person[WAR.Person[id]["人物编号"]]["生命"];
  21.     local neili=JY.Person[WAR.Person[id]["人物编号"]]["内力"];
  22.     local tili=JY.Person[WAR.Person[id]["人物编号"]]["体力"];
  23.     local neishang=JY.Person[WAR.Person[id]["人物编号"]]["受伤程度"];
  24.     local zhongdu=JY.Person[WAR.Person[id]["人物编号"]]["中毒程度"];
  25.     -------------------------------------------
  26.     if WAR.Person[id]["我方"]==true then--定义敌我方框的位置
  27.         x1=CC.ScreenW-width-10;
  28.         y1=CC.ScreenH-height-10;
  29.     else
  30.         x1=10;
  31.         y1=10;
  32.     end
  33.         
  34.     ------------------------------
  35.      --设置名字与状态点数的颜色
  36.     if p["中毒程度"]==0 then
  37.         pcolor =RGB(252,148,16);
  38.     elseif p["中毒程度"]<50 then
  39.         pcolor=RGB(120,208,88);
  40.     else
  41.         pcolor=RGB(56,136,36);
  42.     end
  43.    
  44.     if p["受伤程度"]<33 then
  45.         hcolor =RGB(244,128,32);
  46.     elseif p["受伤程度"]<66 then
  47.         hcolor=RGB(244,60,37);
  48.     else
  49.         hcolor=RGB(253,32,44);
  50.     end   
  51.         
  52.     if p["受伤程度"]<p["中毒程度"] then
  53.         color = pcolor;
  54.     else
  55.         color = hcolor;
  56.     end
  57.     ------------------
  58.     DrawBox(x1,y1,x1+width,y1+height,C_WHITE);--画人物的头像框框
  59.     if pid==0 then  --画人物头像
  60.         if GetS(4,5,5,5)<8 then
  61.           lib.PicLoadCache(1,(280+GetS(4,5,5,5))*2,x1+5+headx,y1+5+heady,1);
  62.         else
  63.           lib.PicLoadCache(1,(287+GetS(4,5,5,4))*2,x1+5+headx,y1+5+heady,1);
  64.         end
  65.     else   
  66.         lib.PicLoadCache(1,p["头像代号"]*2,x1+5+headx,y1+5+heady,1);
  67.     end
  68.    
  69.     --------------
  70.     x1=x1+5
  71.     y1=y1+5+100;
  72.     MyDrawString(x1,x1+160,y1+5,p["姓名"],color,32);
  73.    
  74.     --
  75.     y1=y1+42
  76.     --------------
  77.     if WAR.Person[id]["我方"]==false then--and JY.WGLVXS==1 then  敌方的物品框框
  78.         DrawBox(x1-5,y1+185,x1+width-5,y1+310,C_WHITE);
  79.         local hl=1;
  80.         for i=1,4 do
  81.             local wp=JY.Person[WAR.Person[id]["人物编号"]]["携带物品"..i]
  82.             local wps=JY.Person[WAR.Person[id]["人物编号"]]["携带物品数量"..i]      
  83.             if wp>=0 then
  84.             local wpm=JY.Thing[wp]["名称"]
  85.             DrawString(x1,y1+100+hl*30+60,wpm..wps,C_WHITE,25);
  86.             hl=hl+1;
  87.             end
  88.         end
  89.     end
  90.     -------------------
  91.     --显示状态颜色条
  92.     lib.PicLoadCache(1,275*2,x1,y1,1);
  93.     lib.PicLoadCache(1,275*2,x1,y1+30,1);
  94.     lib.PicLoadCache(1,275*2,x1,y1+60,1);
  95.     lib.PicLoadCache(1,275*2,x1,y1+90,1);
  96.     lib.SetClip(x1,y1,x1+hp,y1+24)
  97.     lib.PicLoadCache(1,274*2,x1,y1,1);
  98.     lib.SetClip(x1,y1+30,x1+mp,y1+54)
  99.     lib.PicLoadCache(1,273*2,x1,y1+30,1);
  100.     lib.SetClip(x1,y1+30,x1+tp,y1+84)
  101.     lib.PicLoadCache(1,276*2,x1,y1+60,1);
  102.     lib.SetClip(x1,y1+30,x1+lq*1.6,y1+114)
  103.     lib.PicLoadCache(1,274*2,x1,y1+90,1);
  104.     lib.SetClip(0,0,0,0)
  105.     -------显示状态文字
  106.     DrawString(x1+10,y1+5,"命",C_WHITE,16);
  107.     DrawString(x1+10,y1+35,"内",C_WHITE,16);
  108.     DrawString(x1+10,y1+65,"体",C_WHITE,16);
  109.     DrawString(x1+10,y1+95,"怒",C_WHITE,16);
  110.     DrawString(x1+10,y1+125,"伤",C_WHITE,16);
  111.     DrawString(x1+10,y1+155,"毒",C_WHITE,16);
  112.     DrawString(x1+80,y1+125,"血",C_WHITE,16);
  113.     DrawString(x1+80,y1+155,"封",C_WHITE,16);
  114.     -------显示状态数字
  115.     DrawString(x1+10+18,y1+5,shengming,C_WHITE,16);
  116.     DrawString(x1+10+18,y1+35,neili,C_WHITE,16);
  117.     DrawString(x1+10+18,y1+65,tili,C_WHITE,16);
  118.     DrawString(x1+10+18,y1+95,lq,C_WHITE,16);
  119.     DrawString(x1+10+20,y1+125,neishang,hcolor,16);
  120.     DrawString(x1+10+20,y1+155,zhongdu,pcolor,16);
  121.     if JY.Status==GAME_WMAP and WAR.FXDS[id]~=nil then         
  122.         DrawString(x1+80+20,y1+155,WAR.FXDS[id],C_WHITE,16);
  123.     else   
  124.         DrawString(x1+80+20,y1+155,0,C_WHITE,16);
  125.     end
  126.     if JY.Status==GAME_WMAP and WAR.LXZT[id]~=nil then
  127.         DrawString(x1+80+20,y1+125,WAR.LXZT[id],C_RED,16);
  128.     else
  129.         DrawString(x1+80+20,y1+125,0,C_RED,16);
  130.     end
  131.     -------------------------------
  132.    
  133. end
复制代码


【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-1-30 08:29 | 显示全部楼层
蓝大有发过帖子介绍~不过还是谢谢楼主了~
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2012-1-30 13:50 | 显示全部楼层
回复 欲望魔鬼 的帖子

额... 以前老想寫沒有源碼不好動手...沒想到藍大已經發過了
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2012-2-6 12:59 | 显示全部楼层
谢楼主了
玩源码板看着没状态不舒服呢
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-11-22 06:38

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表