hlmod.hu
https://hlmod.hu/

laser
https://hlmod.hu/viewtopic.php?f=9&t=10292
Oldal: 1 / 1

Szerző:  pixxa112 [ 2013.08.18. 19:05 ]
Hozzászólás témája:  laser

Hali.

Ez a plugin mit csinál azon kívül, hogy lézer.

SMA Forráskód: [ Mindet kijelol ]
  1. /* AMX Mod X
  2. * TripMine Laser Customizer
  3. *
  4. * http://aghl.ru/forum/ - Russian Half-Life and Adrenaline Gamer Community
  5. *
  6. * This file is provided as is (no warranties)
  7. */
  8.  
  9. #include <amxmodx>
  10. #include <fakemeta_util>
  11. #include <hamsandwich>
  12.  
  13. #define PLUGIN "TripMine Laser Customizer"
  14. #define VERSION "0.1.1"
  15. #define AUTHOR "PomanoB, KORD_12.7"
  16.  
  17. new
  18. Array: g_Colors,
  19. g_CvarTripmineRender,
  20. g_CvarLaserColor,
  21. g_CvarLaserBrightness,
  22. g_CvarLaserNoise,
  23. g_IsRandomRGB,
  24. g_BrightCached,
  25. g_NoiseCached,
  26. g_RGB[3]
  27.  
  28. public plugin_init()
  29. {
  30. register_plugin(PLUGIN, VERSION, AUTHOR)
  31. register_cvar("tripmine_custom", VERSION, FCVAR_SPONLY | FCVAR_SERVER | FCVAR_UNLOGGED)
  32.  
  33. register_forward(FM_AddToFullPack, "fwdAddToFullPack", 1)
  34. RegisterHam(Ham_Spawn, "monster_tripmine", "fw_TripmineSpawnPost", 1)
  35.  
  36. g_CvarLaserColor = register_cvar("tripmine_laser_color", "random")
  37. g_CvarLaserBrightness = register_cvar("tripmine_laser_brightness", "128")
  38. g_CvarLaserNoise = register_cvar("tripmine_laser_noise", "1")
  39. g_CvarTripmineRender = register_cvar("tripmine_render", "1")
  40.  
  41. g_Colors = ArrayCreate(8)
  42. }
  43.  
  44. public plugin_cfg()
  45. {
  46. new color[16]
  47. get_pcvar_string(g_CvarLaserColor, color, charsmax(color))
  48.  
  49. if(equali(color, "random"))
  50. {
  51. g_IsRandomRGB = 1
  52.  
  53. new i, maxEnt = global_get(glb_maxEntities)
  54.  
  55. for(i = 0; i < maxEnt; i++)
  56. ArrayPushArray(g_Colors, {0, 0, 0})
  57. }
  58. else
  59. {
  60. g_IsRandomRGB = 0
  61.  
  62. new r[4], g[4], b[4]; trim(color)
  63. parse(color, r, charsmax(r), g, charsmax(g), b, charsmax(b))
  64.  
  65. g_RGB[0] = str_to_num(r)
  66. g_RGB[1] = str_to_num(g)
  67. g_RGB[2] = str_to_num(b)
  68. }
  69.  
  70. g_BrightCached = get_pcvar_num(g_CvarLaserBrightness)
  71. g_NoiseCached = get_pcvar_num(g_CvarLaserNoise)
  72. }
  73.  
  74. public plugin_end()
  75. {
  76. ArrayDestroy(g_Colors)
  77. }
  78.  
  79. public fw_TripmineSpawnPost(ent)
  80. {
  81. if(pev_valid(ent))
  82. {
  83. new rgb[3]
  84.  
  85. if(g_IsRandomRGB)
  86. {
  87.  
  88. rgb[0] = random_num(0, 255)
  89. rgb[1] = random_num(0, 255)
  90. rgb[2] = random_num(0, 255)
  91.  
  92. ArraySetArray(g_Colors, ent, rgb)
  93. }
  94. else
  95. {
  96. rgb[0] = g_RGB[0]
  97. rgb[1] = g_RGB[1]
  98. rgb[2] = g_RGB[2]
  99. }
  100.  
  101. if(get_pcvar_num(g_CvarTripmineRender))
  102. fm_set_rendering(ent, kRenderFxGlowShell, rgb[0], rgb[1], rgb[2], kRenderNormal, 16)
  103. }
  104.  
  105. return HAM_IGNORED
  106. }
  107.  
  108. public fwdAddToFullPack(es, e, ent, host, flags, player, set)
  109. {
  110. if(pev_valid(ent))
  111. {
  112. static classname[32]
  113. pev(ent, pev_classname, classname, charsmax(classname))
  114.  
  115. if(equali(classname, "beam"))
  116. {
  117. static ent2
  118. ent2 = pev(ent, pev_skin)
  119.  
  120. if(pev_valid(ent2))
  121. {
  122. pev(ent2, pev_classname, classname, charsmax(classname))
  123.  
  124. if(equali(classname, "monster_tripmine"))
  125. {
  126. if(g_IsRandomRGB)
  127. {
  128. static rgb[3]; ArrayGetArray(g_Colors, ent2, rgb)
  129. set_es(es, ES_RenderColor, rgb)
  130. }
  131. else
  132. set_es(es, ES_RenderColor, g_RGB)
  133.  
  134. set_es(es, ES_RenderAmt, g_BrightCached)
  135. set_es(es, ES_Body, g_NoiseCached)
  136.  
  137. return FMRES_HANDLED
  138. }
  139. }
  140. }
  141. }
  142.  
  143. return FMRES_IGNORED
  144. }
  145.  

Szerző:  ChaspeR [ 2013.08.18. 19:16 ]
Hozzászólás témája:  Re: laser

Vagy sebez , vagy ellök ...

Szerző:  pixxa112 [ 2013.08.18. 19:49 ]
Hozzászólás témája:  Re: laser

ChaspeR írta:
Vagy sebez , vagy ellök ...


Hát mindegy mert ez semmit nem csinál.

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/