hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.29. 13:43



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: nincs regisztrált felhasználó 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  [ 4 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: ReAPI - Visual Damage Information
HozzászólásElküldve: 2020.10.18. 15:59 
Offline
Fórum Moderátor
Avatar

Csatlakozott: 2012.07.02. 17:41
Hozzászólások: 1641
Megköszönt másnak: 121 alkalommal
Megköszönték neki: 247 alkalommal
ReAPI - Visual Damage Information
Leírás:
  • Hasonlít egy sebzésjelző pluginra, de nem teljesen. Szerintem igen kezdetleges egy plugin, de akit érdekel, hogy tovább gondolja, annak egy jó alap lehet.
  • Tehát sprite mutatja a sebzés számát, ez a sebzést szenvedő játékos fölött jelenik meg és a szám színe a sebzés nagyságától függ. Ezt csak a sebzést okozó látja.
  • A sebzés nem tényleges, százalékban írja. Például, ha egy játékos 1000 hp-val rendelkezik és az ellenfél 100 életkárt sebzett ennek a játékosnak. A játékos feje fölött megjelenő sebzés értéke 10 lesz.
  • Ha a játékos többet sebez egy ellenségre, mint az élete, akkor nem szám, hanem egy halálfej jelenik meg az ellenség fölött.
Használat:
  • Feltelepítés után egyből használható, nincs egyéb beállítás
  • A FarCry_numbers.spr -t a sprites mappába kell tenni.
Cvar / Beállítás:
  • Nincs
Verzió:
  • v1.0
Követelmények:
  • Amx Mod X 1.9.0
  • Amx Mod X 1.10.0 dev
  • ReHLDS
  • ReAPI
Eredeti link:
Készítő:
  • Fatih EjderYa
Videó:
https://youtu.be/K1lmtd2RA6c
Sprite:
Csatolmány:
FarCry_numbers.spr [1022.78 KiB]
Letöltve 43 alkalommal.

Plugin:
  1. #include <amxmodx>
  2. #include <reapi>
  3. #include <fakemeta>
  4.  
  5. #define PLUGIN "Visual Damage Information"
  6. #define VERSION "1.0"
  7. #define AUTHOR "Fatih ~ EjderYa"
  8.  
  9. new const Numbers_Model[] = "sprites/FarCry_numbers.spr"
  10. new Numbers_Modelindex , Float:Max_Health[33]
  11.  
  12. public plugin_precache(){
  13.     Numbers_Modelindex = precache_model(Numbers_Model)
  14. }
  15.  
  16. public plugin_init() {
  17.    
  18.     register_plugin(PLUGIN, VERSION, AUTHOR)
  19.     RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed", 1);
  20.     RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage", 0)
  21.     register_forward( FM_AddToFullPack, "fwdAddToFullPack_Post", 1 );
  22.    
  23.    
  24. }
  25. public CBasePlayer_Killed(id)
  26.     Max_Health[id] = 0.0
  27.  
  28. public client_putinserver(id)
  29.     Max_Health[id] = 0.0
  30.  
  31. public fwdAddToFullPack_Post( es, e, ent, host, host_flags, player, p_set )
  32.     if ( !is_nullent(ent) && get_entvar(ent,var_owner) == host )
  33.         set_es( es , ES_Scale , 0.1)
  34.    
  35.  
  36. public CBasePlayer_TakeDamage(const victim, inflictor, const attacker, Float:damage)
  37. {
  38.     if( victim == attacker || !rg_is_player_can_takedamage(victim, attacker) || !is_user_connected(attacker))
  39.         return HC_CONTINUE;
  40.    
  41.     new MODEL_ent = rg_create_entity("env_sprite")
  42.        
  43.     if(!is_nullent(MODEL_ent)){
  44.        
  45.         new Float:Health
  46.         get_entvar(victim,var_health,Health)
  47.         if ( Health > Max_Health[victim] )
  48.             Max_Health[victim] = Health    
  49.        
  50.         damage = ( 100.0 * damage ) / Max_Health[victim]
  51.        
  52.         new Float:Color[3] , Float:Velocity[3] , Float:Origin[3] , Float:height = 25 + ( random_num(0,3) * 7.0 )
  53.         Velocity[2] = 5.0
  54.         Velocity[1] = random_float(-4.0,4.0)
  55.         Velocity[0] = random_float(-4.0,4.0)
  56.    
  57.         Color[0] = 255.0
  58.         Color[1] = floatround(damage) > 100 ? 0.0 : ((255.0 - ( floatround(damage) * 2.55 )) * ( 1.0 - (floatround(damage)/100.0) ) )
  59.         Color[2] = Color[1]
  60.        
  61.         if ( damage > 100 )
  62.             damage = 101.0
  63.        
  64.         get_entvar( victim , var_origin , Origin )
  65.         Origin[2] += height
  66.            
  67.         set_entvar( MODEL_ent , var_owner , attacker)
  68.         set_entvar( MODEL_ent , var_model , Numbers_Model)
  69.         set_entvar( MODEL_ent , var_modelindex , Numbers_Modelindex)
  70.         set_entvar( MODEL_ent , var_rendermode , kRenderTransAdd)
  71.         set_entvar( MODEL_ent , var_movetype,MOVETYPE_NOCLIP)
  72.         set_entvar( MODEL_ent , var_renderamt , 300.0)
  73.         set_entvar( MODEL_ent , var_scale , 0.01)
  74.         set_entvar( MODEL_ent , var_rendercolor,Color)
  75.         set_entvar( MODEL_ent , var_velocity , Velocity )
  76.         set_entvar( MODEL_ent , var_origin , Origin )
  77.         set_entvar( MODEL_ent , var_frame , damage )
  78.        
  79.         DecreaseSpeed(MODEL_ent)
  80.         SetThink(MODEL_ent, "ReducingTransparency")
  81.         ReducingTransparency( MODEL_ent )
  82.            
  83.     }
  84.    
  85.  
  86.     return HC_CONTINUE;
  87. }
  88. public DecreaseSpeed(ent){
  89.    
  90.     if ( !is_nullent(ent)){
  91.         new Float:Velocity[3]
  92.         get_entvar( ent , var_velocity ,Velocity )
  93.         Velocity[2] -= 1.0
  94.         set_entvar( ent , var_velocity ,Velocity )
  95.         set_task(1.0,"DecreaseSpeed",ent)
  96.     }
  97. }
  98. public ReducingTransparency(ent){
  99.  
  100.    
  101.     static Float:Renderamt
  102.     get_entvar( ent , var_renderamt ,Renderamt )
  103.     Renderamt -= 10.0
  104.    
  105.     if ( Renderamt < 10 )
  106.         set_entvar( ent , var_flags , FL_KILLME ) , remove_task(ent)
  107.     else
  108.     {
  109.         set_entvar( ent , var_renderamt , Renderamt )
  110.         set_entvar(ent, var_nextthink, get_gametime( ) + 0.2)
  111.    
  112.     }
  113.  
  114.  
  115. }

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ReAPI - Visual Damage Information
HozzászólásElküldve: 2020.10.20. 13:55 
Offline
Tag
Avatar

Csatlakozott: 2019.08.24. 05:30
Hozzászólások: 42
Megköszönt másnak: 6 alkalommal
Megköszönték neki: 13 alkalommal
Mi történik akkor amikor több mit 101 a damage? Mert nem látok különösebb tesztelést erre benne, csak beállítja a frame-et a damage-nek. A game az utolsó frame-et mutatja ha a frame számláló túlmutat az entity max frame-jén?

_________________
Saját munkák, közreműködések:
NextLvL Mód - SKA 2.1
Sebesség korlát
kovakovi2000 @ cs 1.6 - gyenge/terhelt szerver hitbox javítás

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ReAPI - Visual Damage Information
HozzászólásElküldve: 2020.10.20. 15:46 
Offline
Őstag
Avatar

Csatlakozott: 2015.07.27. 22:56
Hozzászólások: 1367
Megköszönt másnak: 28 alkalommal
Megköszönték neki: 351 alkalommal
kovakovi2000 írta:
Mi történik akkor amikor több mit 101 a damage? Mert nem látok különösebb tesztelést erre benne, csak beállítja a frame-et a damage-nek. A game az utolsó frame-et mutatja ha a frame számláló túlmutat az entity max frame-jén?


61. és 62. sorban visszaállítja 101-re, ami már a halálfej frame.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ReAPI - Visual Damage Information
HozzászólásElküldve: 2020.10.20. 17:56 
Offline
Tag
Avatar

Csatlakozott: 2019.08.24. 05:30
Hozzászólások: 42
Megköszönt másnak: 6 alkalommal
Megköszönték neki: 13 alkalommal
regener írta:
kovakovi2000 írta:
Mi történik akkor amikor több mit 101 a damage? Mert nem látok különösebb tesztelést erre benne, csak beállítja a frame-et a damage-nek. A game az utolsó frame-et mutatja ha a frame számláló túlmutat az entity max frame-jén?


61. és 62. sorban visszaállítja 101-re, ami már a halálfej frame.



Nem tudom hogy nem vettem észre :roll:

Egyébként van valami korlátja a sprite-oknak hogy hány frame-ből állhatnak? Csak mert van sok fegyver ami többet sebezz mint 100

_________________
Saját munkák, közreműködések:
NextLvL Mód - SKA 2.1
Sebesség korlát
kovakovi2000 @ cs 1.6 - gyenge/terhelt szerver hitbox javítás

Kép


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  [ 4 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 0 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