这样写对不对啊 ? ( 血量显示上限 )

Home Home
引用 | 编辑 honfai99
2010-02-26 22:33
楼主
推文 x0
#include <amxmodx>
#include <fakemeta>
#include <fakemeta_util>
#include <fun>
#include <cstrike>
#include <engine>

#define PLUGIN "Show Health Fix"
#define VERSION "1.0"
#define AUTHOR "Fai"

public plugin_init()
{
 register_plugin(PLUGIN, VERSION, AUTHOR)
 
 register_forward(FM_PlayerPreThink, "show_health")
}

public show_health(id)
{
 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("Health"), _, id)
 write_byte(get_user_health(id))
 message_end()
}

这样是将血量HUD的位置强逼他显示玩家过千的血量 , 但都不行啊 表情

献花 x0
引用 | 编辑 Rubbish-Nec
2010-02-26 22:46
1楼
  
楼主发原码可以用[c0de][/c0de]指令喔←那个是o喔

回正题,如果让我选,我这样写:

题外话:楼主#include了太多模块了,太多会吃你的资源

复制程式
#include <amxmodx>
#include <fakemeta>

#define PLUGIN "Show Health Fix"
#define VERSION "1.0"
#define AUTHOR "Fai"

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_forward(FM_PlayerPostThink, "fw_PlayerPostThink", 1)
}

public fw_PlayerPostThink(id)
{
    set_hudmessage(255, 255, 0, 0.02, 0.9, 1, 0.0, 5.0, 5.0, 5.0, -1)
    show_hudmessage(id, "血量:%d",get_user_health(id))
}


献花 x0
引用 | 编辑 honfai99
2010-02-26 22:50
2楼
  
不是喔 , 我是HUD血量破解255上限 , 我当然知道 , 我在第二地方显示出来 , 例如 : 血量 : xxx , 我不要这样 ,
我要的是 十 1000 , 是在普通 CS 显示的地方显示出来 , 破解 255 上限 , 你明不明白 ? 表情

--------------------------------------------

还有我想要 show_health , 我不喜欢用 fw_PlayerPreThink 我比较喜欢本新的内容意思我会写 show_health .

献花 x0
引用 | 编辑 supermanhugo
2010-02-26 22:53
3楼
  
(如果这样简单就ok的话= =|||

(现在应该不会还要用hudmessage

献花 x0
引用 | 编辑 a7811311622
2010-02-27 00:44
4楼
  
下面是引用 honfai99 于 2010-02-26 22:33 发表的 这样写对不对啊 ? ( 血量显示上限 ): 到引言文
这样是将血量HUD的位置强逼他显示玩家过千的血量 , 但都不行啊

你是不是搞错什么了…ZP主插件曾说过:HUD can only show as much as 255 hp
因为CS主程式的血量只有8 bits …如果超过255就会溢位(专有名词),
当血量变成256时,HUD会显示成254,血量257时显示253…以此类推,
所以ZP主插件才会有段内容是把HUD显示的血量锁在255…

献花 x0
引用 | 编辑 asean75300
2010-02-27 10:20
5楼
  
WOW ~
所以是不可能破千啰?
不过大大们都好屌XD 表情

献花 x0
引用 | 编辑 亚尔多
2010-02-27 10:26
6楼
  
下面是引用 asean75300 于 2010-02-27 10:20 发表的 : 到引言文
WOW ~
所以是不可能破千啰?
不过大大们都好屌XD 表情

能够修改成过千的应该是专业人员吧

献花 x0
引用 | 编辑 asean75300
2010-02-27 15:09
7楼
  
如果能用破千,子弹破200和备弹破254应该不成问题吧? 表情

献花 x0
引用 | 编辑 honfai99
2010-02-28 02:07
8楼
  
有些伺服器就是强逼他显示出来 , 例如有几亿血 , 它显示出来的数字就覆盖了防弹衣的图案和数字 , 似乎是用 Amxx 制造出来的 , 我觉得不是修改 methmod.dll 和 HL 引擎的 . . . 表情

献花 x0
引用 | 编辑 冷场馆女仆长
2010-02-28 12:37
9楼
  
下面是引用 honfai99 于 2010-02-28 02:07 发表的 : 到引言文
有些伺服器就是强逼他显示出来 , 例如有几亿血 , 它显示出来的数字就覆盖了防弹衣的图案和数字 , 似乎是用 Amxx 制造出来的 , 我觉得不是修改 methmod.dll 和 HL 引擎的 . . . 表情

还有一种可能性,
就是修改SPR档

献花 x0
引用 | 编辑 honfai99
2010-02-28 14:58
10楼
  
可能先将原本 CS 的显示血量不显示出来 , 之后利用 get_user_orgin 来知道普通 CS 显示血量的位置 , 再用专用的 SPR 档 来显示那个十字的血量图案 + 数字 . . . 表情

献花 x0
引用 | 编辑 a7811311622
2010-02-28 16:03
11楼
  
下面是引用 honfai99 于 2010-02-28 14:58 发表的 : 到引言文
可能先将原本 CS 的显示血量不显示出来 , 之后利用 get_user_orgin 来知道普通 CS 显示血量的位置 , 再用专用的 SPR 档 来显示那个十字的血量图案 + 数字 . . . 表情

当初我看到那些HUD的血量破255时我就猜出是这种原理了…
而且我早已经想好这原理的延伸方式…如果方法可行…当然做的出来…
不过一考虑到要花时间和脑力就觉得麻烦…反正我又不计较…表情

献花 x0
引用 | 编辑 honfai99
2010-02-28 20:57
12楼
  
那你就试试做看看喔 . @@

献花 x0
引用 | 编辑 a7811311622
2010-02-28 21:28
13楼
  
下面是引用 honfai99 于 2010-02-28 20:57 发表的 : 到引言文
那你就试试做看看喔 . @@

你也可以做做看啊…
反正技术上不难…难是难在数学和逻辑能力…表情

献花 x0
引用 | 编辑 honfai99
2010-02-28 21:49
14楼
  
有 idea 就很容易写的了 表情 , 不过就是没有啊 . . . 表情

献花 x0
引用 | 编辑 dvgadvga
2010-03-01 10:47
15楼
  
在Mp.dll内找到的

m_bHealthValue

max_health

SUB_Remove called on entity with health > 0\n

"%s<%i><%s><%s>" attacked "%s<%i><%s><%s>" with "%s" (damage "%d") (damage_armor "%d") (health "%d") (armor "%d")\n

献花 x0
引用 | 编辑 a7811311622
2010-03-01 12:28
16楼
  
下面是引用 dvgadvga 于 2010-03-01 10:47 发表的 : 到引言文
在Mp.dll内找到的

m_bHealthValue

max_health

SUB_Remove called on entity with health > 0\n

"%s<%i><%s><%s>" attacked "%s<%i><%s><%s>" with "%s" (damage "%d") (damage_armor "%d") (health "%d") (armor "%d")\n

请问…这段内容的用法是…?表情

献花 x0
引用 | 编辑 dvgadvga
2010-03-01 16:35
17楼
  
看能不能家在sma内写进去吧

m_bHealthValue
这段感觉比较有用= =

献花 x0
引用 | 编辑 honfai99
2010-03-05 23:47
18楼
  
大家来讨论喔 .

献花 x0
引用 | 编辑 首页也要封糙
2010-03-06 13:55
19楼
  
感觉好复杂
看不懂-.-
改完出个插件卖我吧= =

献花 x0
引用 | 编辑 honfai99
2010-03-06 16:22
20楼
  
我们决心在这破解 ! 不能在找这 Amxx 了 !

献花 x0
引用 | 编辑 G.M.I
2010-03-06 17:35
21楼
  
一半对吧

献花 x0
引用 | 编辑 tony987852
2010-03-06 20:40
22楼
  
那..金钱上限那个又是怎样...他可以显示成$9999999喔...金额没多也没少

献花 x0
引用 | 编辑 a7811311622
2010-03-06 21:13
23楼
  
下面是引用 tony987852 于 2010-03-06 20:40 发表的 : 到引言文
那..金钱上限那个又是怎样...他可以显示成$9999999喔...金额没多也没少

单位就是不一样…如果想改…干脆去改CS主程式算了…表情

献花 x0
引用 | 编辑 HsK
2010-03-06 21:33
24楼
  
下面是引用 a7811311622 于 2010-03-06 21:13 发表的 : 到引言文
 
单位就是不一样…如果想改…干脆去改CS主程式算了…表情

听说可改某个dll...

我也不知道= =

献花 x0
引用 | 编辑 honfai99
2010-03-07 17:45
25楼
  
sk@.@ 可否给我你的 MSN ?

献花 x0
引用 | 编辑 离之彦
2010-07-25 19:31
26楼
  
有一个实用的方法...

直接请教发明这游戏和做出这游戏的团队= ="

请他们将他修改好~~~~~

方法:写信写信再写信~~~将他们的官网回复后他们的信箱塞爆...自然就出修正版的CS的= ="


再来就是靠我们自己了...

可以把原来的血量干掉...再用SMA档引SPR档来覆盖在原CS血量的位置...再用某种计算方式来播放SPR档的数字...

以上....不知这方法可行否??

献花 x0
引用 | 编辑 弑血
2010-08-05 12:33
27楼
  
因该行得通~
但是子弹跟备弹也要用这方式吗? 表情

献花 x0
引用 | 编辑 honfai99
2011-01-12 20:46
28楼
  
CS 不是有Source (源码) 吗?

------ 可能不对 ---

数字 Integer 好像不能判断个十百千万的位...

要做的只是新增一个字串 String, 之后再用 str_to_num

------ 可能不对 ---
PS: 改血量显示的要每一个玩家都使用你的修正版 DLL 扩充档 表情

献花 x0