hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 20:37



Jelenlévő felhasználók

Jelenleg 230 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 228 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot], Google [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 5 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: zombie hud info
HozzászólásElküldve: 2016.01.15. 15:19 
Offline
Őskövület
Avatar

Csatlakozott: 2011.12.28. 00:35
Hozzászólások: 2736
Megköszönt másnak: 56 alkalommal
Megköszönték neki: 275 alkalommal
Hali.

Ugye van a zombie plauge 5.0.8.
És van a mód kiíró, na meg adtam neki a színeket és magától át vált fehérre.
Valaki tud megoldást, hogy ne váltson át fehérre magától?
Csak képekkel tudom elmagyarázni:

Ilyen lenne alapból:
Kép

És ilyen lesz 2-3mp múlva:
Kép

Plugin:
  1. /*================================================================================
  2.    
  3.     ----------------------------
  4.     -*- [ZP] HUD Information -*-
  5.     ----------------------------
  6.    
  7.     This plugin is part of Zombie Plague Mod and is distributed under the
  8.     terms of the GNU General Public License. Check ZP_ReadMe.txt for details.
  9.    
  10. ================================================================================*/
  11.  
  12. #include <amxmodx>
  13. #include <amxmisc>
  14. #include <fun>
  15. #include <cstrike>
  16. #include <fakemeta>
  17. #include <hamsandwich>
  18. #include <xs>
  19. #include <zp50_class_human>
  20. #include <zp50_class_zombie>
  21. #define LIBRARY_NEMESIS "zp50_class_nemesis"
  22. #include <zp50_class_nemesis>
  23. #define LIBRARY_SURVIVOR "zp50_class_survivor"
  24. #include <zp50_class_survivor>
  25. #define LIBRARY_AMMOPACKS "zp50_ammopacks"
  26. #include <zp50_ammopacks>
  27.  
  28.  
  29. new const hud_tag[] = ""
  30.  
  31. new const mode_names[][] =
  32. {
  33.     "", // No mode Started
  34.     "Normál FertĹ‘zĂ©s",        // Normal Infection, single round
  35.     "Nemesis mĂłd",           // Nemesis Mode (zombie boss)
  36.     "TĂşlĂ©lĹ‘ mĂłd",      // Survivor Mode (human boss)
  37.     "Raj mĂłd",           // Swarm round (no infections)
  38.     "Többszörös FertĹ‘zĂ©s",      // Multiple Infection (like single round, but, more than 1 zombie)
  39.     "Pestis mĂłd",            // Plague round (nemesis & zombies vs. survivors & humans)
  40.     "Ismeretlen mĂłd",        // An unofficial mode (edited/created/modified by user)
  41.     "Armageddon"        // An unofficial mode (edited/created/modified by user)
  42. }
  43. new const rgb_hud_colors[sizeof(mode_names)][3] =
  44. {
  45. //  R   G   B
  46.          {29,   69,     139},       // No mode Started
  47.     {29,    69,     139},       // Normál Mód
  48.     {255,   42,     0},     // Nemesis Mód
  49.     {0,     85,     255},       // Túlélő Mód
  50.     {42,    255,    170},       // Raj Mód
  51.     {0,     85,     255},       // Többszörös Fertőzés
  52.     {170,   127,    255},       // Pestis Mód
  53.     {0,     200,    250},       // Ismeretlen Mód
  54.     {42,    85,     255}        // Armageddon
  55. }
  56.  
  57.  
  58.  
  59.  
  60. // X Hudmessage Position ( --- )
  61. const Float:HUD_MODE_X = 0.0
  62.  
  63. // Y Hudmessage Position ( ||| )
  64. const Float:HUD_MODE_Y = 0.2
  65.  
  66. // Time at which the Hudmessage is displayed. (when user is puted into the Server)
  67. const Float:START_TIME = 3.0
  68.  
  69. const Float:HUD_SPECT_X = 0.4
  70. const Float:HUD_SPECT_Y = 0.9
  71. const Float:HUD_STATS_X = 0.4
  72. const Float:HUD_STATS_Y = 0.9
  73.  
  74. const HUD_STATS_ZOMBIE_R = 255
  75. const HUD_STATS_ZOMBIE_G = 127
  76. const HUD_STATS_ZOMBIE_B = 170
  77.  
  78. const HUD_STATS_HUMAN_R = 0
  79. const HUD_STATS_HUMAN_G = 200
  80. const HUD_STATS_HUMAN_B = 250
  81.  
  82. const HUD_STATS_SPEC_R = 170
  83. const HUD_STATS_SPEC_G = 85
  84. const HUD_STATS_SPEC_B = 255
  85.  
  86. #define TASK_SHOWHUD 100
  87. #define ID_SHOWHUD (taskid - TASK_SHOWHUD)
  88.  
  89. const PEV_SPEC_TARGET = pev_iuser2
  90.  
  91. new g_MsgSync
  92.  
  93. // Variables
  94. new g_Mode
  95.  
  96. // Cvar pointers
  97. new cvar_enable, cvar_central
  98.  
  99. public plugin_init()
  100. {
  101.     register_plugin("[ZP] HUD Information", ZP_VERSION_STRING, "ZP Dev Team")
  102.    
  103.     g_MsgSync = CreateHudSyncObj()
  104.     register_event("HLTV", "event_RoundStart", "a", "1=0", "2=0")
  105.     cvar_enable = register_cvar("zp_display_mode", "1")
  106.     register_cvar("zp_addon_dtcm", "v0.1.6 by meTaLiCroSS", FCVAR_SERVER|FCVAR_SPONLY)
  107.     if(cvar_exists("zp_on"))
  108.     cvar_central = get_cvar_pointer("zp_on")
  109.  
  110.     // If Zombie Plague is not running (bugfix)
  111.     if(!get_pcvar_num(cvar_central))
  112.     pause("a")
  113. }
  114.  
  115. public plugin_natives()
  116. {
  117.     set_module_filter("module_filter")
  118.     set_native_filter("native_filter")
  119. }
  120. public module_filter(const module[])
  121. {
  122.     if (equal(module, LIBRARY_NEMESIS) || equal(module, LIBRARY_SURVIVOR) || equal(module, LIBRARY_AMMOPACKS))
  123.         return PLUGIN_HANDLED;
  124.    
  125.     return PLUGIN_CONTINUE;
  126. }
  127. public native_filter(const name[], index, trap)
  128. {
  129.     if (!trap)
  130.         return PLUGIN_HANDLED;
  131.    
  132.     return PLUGIN_CONTINUE;
  133. }
  134.  
  135. public client_putinserver(id)
  136. {
  137.     if (!is_user_bot(id))
  138.     {
  139.         // Set the custom HUD display task
  140.         set_task(1.0, "ShowHUD", id+TASK_SHOWHUD, _, _, "b")
  141.     }
  142.     set_task(START_TIME, "mode_hud", id, _, _, "b")
  143. }
  144. public event_RoundStart()
  145. {
  146.     // Update var (no mode started / in delay)
  147.     g_Mode = 0
  148. }
  149.  
  150. public client_disconnect(id)
  151. {
  152.     remove_task(id+TASK_SHOWHUD)
  153. }
  154.  
  155. // Show HUD Task
  156. public ShowHUD(taskid)
  157. {
  158.     new id = ID_SHOWHUD
  159.    
  160.     // Player dead?
  161.     if (!is_user_alive(id))
  162.     {
  163.         // Get spectating target
  164.         id = pev(id, PEV_SPEC_TARGET)
  165.        
  166.         // Target not alive
  167.         if (!is_user_alive(id))
  168.             return;
  169.     }
  170.    
  171.     // Format classname
  172.     static class_name[32], transkey[64], healthstring[ 16 ];
  173.     new red, green, blue
  174.    
  175.     if (zp_core_is_zombie(id)) // zombies
  176.     {
  177.         red = HUD_STATS_ZOMBIE_R
  178.         green = HUD_STATS_ZOMBIE_G
  179.         blue = HUD_STATS_ZOMBIE_B
  180.        
  181.         // Nemesis Class loaded?
  182.         if (LibraryExists(LIBRARY_NEMESIS, LibType_Library) && zp_class_nemesis_get(id))
  183.             formatex(class_name, charsmax(class_name), "%L", ID_SHOWHUD, "CLASS_NEMESIS")
  184.         else
  185.         {
  186.             zp_class_zombie_get_name(zp_class_zombie_get_current(id), class_name, charsmax(class_name))
  187.            
  188.             // ML support for class name
  189.             formatex(transkey, charsmax(transkey), "ZOMBIENAME %s", class_name)
  190.             if (GetLangTransKey(transkey) != TransKey_Bad) formatex(class_name, charsmax(class_name), "%L", ID_SHOWHUD, transkey)
  191.         }
  192.     }
  193.     else // humans
  194.     {
  195.         red = HUD_STATS_HUMAN_R
  196.         green = HUD_STATS_HUMAN_G
  197.         blue = HUD_STATS_HUMAN_B
  198.        
  199.         // Survivor Class loaded?
  200.         if (LibraryExists(LIBRARY_NEMESIS, LibType_Library) && zp_class_survivor_get(id))
  201.             formatex(class_name, charsmax(class_name), "%L", ID_SHOWHUD, "CLASS_SURVIVOR")
  202.         else
  203.         {
  204.             zp_class_human_get_name(zp_class_human_get_current(id), class_name, charsmax(class_name))
  205.            
  206.             // ML support for class name
  207.             formatex(transkey, charsmax(transkey), "HUMANNAME %s", class_name)
  208.             if (GetLangTransKey(transkey) != TransKey_Bad) formatex(class_name, charsmax(class_name), "%L", ID_SHOWHUD, transkey)
  209.         }
  210.     }
  211.    
  212.     // Spectating someone else?
  213.     if (id != ID_SHOWHUD)
  214.     {
  215.         new player_name[32]
  216.         get_user_name(id, player_name, charsmax(player_name))
  217.        
  218.         // Show name, health, class, and money
  219.         AddCommas( get_user_health( id ), healthstring, 15 );
  220.         set_hudmessage(HUD_STATS_SPEC_R, HUD_STATS_SPEC_G, HUD_STATS_SPEC_B, HUD_SPECT_X, HUD_SPECT_Y, 0, 6.0, 1.1, 0.0, 0.0, -1)
  221.        
  222.         if (LibraryExists(LIBRARY_AMMOPACKS, LibType_Library))
  223.             ShowSyncHudMsg(ID_SHOWHUD, g_MsgSync, "NĂ©zve: %s^nÉlet: %s - TĂ­pus: %s - LĹ‘szer Csomag: %d", player_name, healthstring, class_name, zp_ammopacks_get(id))
  224.         else
  225.             ShowSyncHudMsg(ID_SHOWHUD, g_MsgSync, "NĂ©zve: %s^nÉlet: %s - TĂ­pus: %s - PĂ©nz: $ %d", player_name, healthstring, class_name, cs_get_user_money(id))
  226.     }
  227.     else
  228.     {
  229.         // Show health, class
  230.         AddCommas( get_user_health( id ), healthstring, 15 );
  231.         set_hudmessage(red, green, blue, HUD_STATS_X, HUD_STATS_Y, 0, 6.0, 1.1, 0.0, 0.0, -1)
  232.        
  233.         if (LibraryExists(LIBRARY_AMMOPACKS, LibType_Library))
  234.             ShowSyncHudMsg(ID_SHOWHUD, g_MsgSync, "Élet: %s - TĂ­pus: %s - LĹ‘szer Csomag: %d", healthstring, class_name, zp_ammopacks_get(ID_SHOWHUD))
  235.         else
  236.             ShowSyncHudMsg(ID_SHOWHUD, g_MsgSync, "Élet: %s - TĂ­pus: %s", healthstring, class_name)
  237.     }
  238. }
  239. AddCommas( iNum , szOutput[] , iLen )
  240. {
  241. static szTmp[ 15 ] , iOutputPos , iNumPos , iNumLen;
  242. szTmp[0]='^0',iOutputPos=iNumPos=iNumLen=0;
  243. if ( iNum < 0 )
  244. {
  245. szOutput[ iOutputPos++ ] = '-';
  246. iNum = abs( iNum );
  247. }
  248. iNumLen = num_to_str( iNum , szTmp , charsmax( szTmp ) );
  249. if ( iNumLen <= 3 )
  250. iOutputPos += copy( szOutput[ iOutputPos ] , iLen , szTmp );
  251. else
  252. {
  253. while ( ( iNumPos < iNumLen ) && ( iOutputPos < iLen ) )
  254. {
  255. szOutput[ iOutputPos++ ] = szTmp[ iNumPos++ ];
  256. if( ( iNumLen - iNumPos ) && !( ( iNumLen - iNumPos ) % 3 ) )
  257. szOutput[ iOutputPos++ ] = ',';
  258. }
  259. szOutput[ iOutputPos ] = EOS;
  260. }
  261. return iOutputPos;
  262. }
  263. public mode_hud(id)
  264. {
  265. new ido[9]
  266. new timeleft = get_timeleft();
  267. new perc = 0;
  268. while(timeleft >= 60)
  269. {
  270. perc++;
  271. timeleft=timeleft-60;
  272. }
  273. get_time("%H:%M:%S",ido,8)
  274. new nmap[32]
  275. get_cvar_string("amx_nextmap", nmap, sizeof(nmap) -1)
  276. // If the Cvar isn't enabled
  277. if(!get_pcvar_num(cvar_enable))
  278. return;
  279.  
  280. // Hud Options
  281. set_hudmessage(rgb_hud_colors[g_Mode][0], rgb_hud_colors[g_Mode][1], rgb_hud_colors[g_Mode][2], HUD_MODE_X, HUD_MODE_Y, 0, 6.0, 12.0)
  282.  
  283. // Now the hud appears
  284. show_hudmessage(id, "%s%s^n^nKövetkező Pálya: %s^nHátralévő idő: %d:%d^nJelenlegi Idő: %s", (g_Mode == 0 ? "" : hud_tag), mode_names[g_Mode], nmap,perc,timeleft,ido)
  285. }
  286. public zp_round_started(mode, id)
  287. {
  288.     // Update var with Mode num
  289.     g_Mode = mode
  290.  
  291.     // An unofficial mode
  292.     if(!(1 <= mode < (sizeof(mode_names) - 1)))
  293.         g_Mode = sizeof(mode_names) - 1
  294. }

_________________
****


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: zombie hud info
HozzászólásElküldve: 2016.01.15. 15:50 
Offline
Fórum Moderátor
Avatar

Csatlakozott: 2014.05.01. 13:18
Hozzászólások: 627
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 104 alkalommal
Hogy miért van? A válasz nagyon egyszerű. Ugyebár a HUD üzenetek fényekként jelennek meg. Talán fizikáról emlékezhetsz, ha a piros, zöld és kék színeket egymásra vetítette a tanár, akkor egy új, az-az fehér szín jelent meg. Na itt is pont ugyanez a jelenség figyelhető meg.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: zombie hud info
HozzászólásElküldve: 2016.01.15. 15:59 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.11.16. 12:37
Hozzászólások: 686
Megköszönt másnak: 32 alkalommal
Megköszönték neki: 131 alkalommal
  1. set_hudmessage(rgb_hud_colors[g_Mode][0], rgb_hud_colors[g_Mode][1], rgb_hud_colors[g_Mode][2], HUD_MODE_X, HUD_MODE_Y, 0, 6.0, 12.0)

--->
  1. set_hudmessage(rgb_hud_colors[g_Mode][0], rgb_hud_colors[g_Mode][1], rgb_hud_colors[g_Mode][2], HUD_MODE_X, HUD_MODE_Y, 0, 6.0, 1.0)

Ha esetleg mégse akkor a 6.0-t is írd át 1.0-ra

_________________
Kép
"I wouldn't hold my breath if I was you
Cause I'll forget but I'll never forgive you
Don't you know, don't you know?
True friends stab you in the front."

Ők köszönték meg 6almasok nek ezt a hozzászólást: pixxa112 (2016.01.15. 16:41)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: zombie hud info
HozzászólásElküldve: 2016.01.17. 15:45 
Offline
Fórum Moderátor
Avatar

Csatlakozott: 2014.05.01. 13:18
Hozzászólások: 627
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 104 alkalommal
És még ettől is jobb ötlet, ha "CreateHudSyncObj()"-al készíted el az üzenetet.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: zombie hud info
HozzászólásElküldve: 2016.01.17. 16:42 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2014.09.08. 22:21
Hozzászólások: 3014
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 555 alkalommal
Ami annyit tesz, hogy lezárja az előző hudot, mielőtt ráírja a másikat.

_________________
GitHub - mforce


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 5 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 26 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole