[求助]關於Show S*nc HudMsg顯示閃爍問題

Home Home
引用 | 編輯 q26024800
2022-06-13 06:01
樓主
推文 x0
小弟目前是個插件新手 從小逛數位的插件區到現在開始學習自己寫表情            

最近寫插件有多hud顯示的需求 有兩個常駐顯示 三個不同時段顯示(回合中與回合結束) 不同時段的hud會碰到閃爍問題

有去找過教學區但沒有找到相關資訊(也可能我找的不夠多

查國外的論壇有說到可以使用此方法 但看完了
ShowSyncHudMsg的API解釋還是一知半解...

想請問一下關於ShowSyncHudMsg的原理及用法 或是有能類似clear HUD的方法

希望目前版上還有大神能解惑QQ


不知道為啥標題打不了 "y" @@

獻花 x0
引用 | 編輯 弒血
2022-06-23 00:50
1樓
  
下面是引用 q26024800 於 2022-06-13 06:01 發表的 [求助]關於Show S*nc HudMsg顯示閃爍問題: 到引言文
小弟目前是個插件新手 從小逛數位的插件區到現在開始學習自己寫表情              
最近寫插件有多hud顯示的需求 有兩個常駐顯示 三個不同時段顯示(回合中與回合結束) 不同時段的hud會碰到閃爍問題
有去找過教學區但沒有找到相關資訊(也可能我找的不夠多
查國外的論壇有說到可以使用此方法 但看完了
ShowSyncHudMsg的API解釋還是一知半解...
想請問一下關於ShowSyncHudMsg的原理及用法 或是有能類似clear HUD的方法
.......



amxmodx.inc 內就有了



/**
 * Creates a HUD Synchronization Object.  Create one of these
 *  for each section of the screen that contains overlapping HUD messages.
 * For example, if you use both sides of the screen to display three messages
 *  that can potentially overlap, each side counts as a synchronizable area.
 * You can then use ShowSyncHudMsg() to correctly synchronize displaying the 
 *  HUD message with any other messages potentially in its class.  Note that this
 *  does not yet do anything like reserve screen area, its sole purpose is to be
 *  able to wipe an old message on an auto-channel and ensure that it will not
 *  clear a message from another plugin.
 * The parameters are kept blank for future use.
 */
native CreateHudSyncObj(num=0, ...);


/**
 * Displays a synchronized HUD message.  This will check that your
 *  HUD object has its previous display on the screen cleared before
 *  it proceeds to write another.  It will only do this in the case
 *  of that channel not having been cleared already.
 * Target can be 0 for all players or 1-get_maxplayers().
 * You must use set_hudmessage, although the channel parameter is 
 *  entirely ignored.
 */
native ShowSyncHudMsg(target, syncObj, const fmt[], any:...);


/**
 * Clears the display on a HudSync Object.  This is essentially the same
 *  thing as: ShowSyncHudMsg(x, y, ""), except doing that would send
 *  out two messages and use up another channel.  This re-uses the last
 *  channel and clears it at the same time.
 * Note: for this you do not have to use set_hudmessage().
 * Note: target can be 0 for all players.
 */
native ClearSyncHud(target, syncObj);


獻花 x0