hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.23. 07:57



Jelenlévő felhasználók

Jelenleg 287 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 286 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] 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  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Free For All
HozzászólásElküldve: 2012.11.26. 19:27 
Offline
Őskövület
Avatar

Csatlakozott: 2013.01.01. 17:48
Hozzászólások: 2441
Megköszönt másnak: 18 alkalommal
Megköszönték neki: 21 alkalommal
Hi!

Valaki tudna nekem egy kódot/plugint adni arról, hogyha meglövöm a csapattársamat, akkor rendesen sebezze, tehát annyit sebezzen mint egy normál ellenfelen + ne vonja le a frageket?

Kösz előre is!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Free For All
HozzászólásElküldve: 2012.12.01. 00:45 
Offline
Őstag

Csatlakozott: 2011.06.12. 20:51
Hozzászólások: 1089
Megköszönt másnak: 3 alkalommal
Megköszönték neki: 44 alkalommal
SMA Forráskód: [ Mindet kijelol ]
  1. /* Copyright © 2008, ConnorMcLeod
  2.  
  3. Free For All is free software;
  4. you can redistribute it and/or modify it under the terms of the
  5. GNU General Public License as published by the Free Software Foundation.
  6.  
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11.  
  12. You should have received a copy of the GNU General Public License
  13. along with Free For All; if not, write to the
  14. Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  15. Boston, MA 02111-1307, USA.
  16. */
  17.  
  18. /*
  19. v0.0.6
  20. - Disable Forwards and registered message when plugin is disabled
  21. v0.0.5
  22. - Recursion should be fixed for all Ham forwards
  23. - Removed Cvar, new command instead
  24. - Hide Radar
  25. v0.0.4
  26. - Fixed HamKilled possible loop when a player kills himself
  27. v0.0.3
  28. - Removed useless vars
  29. v0.0.2
  30. - Block Radar
  31. v0.0.1
  32. - First shot
  33. */
  34.  
  35. #include <amxmodx>
  36. #include <fakemeta>
  37. #include <hamsandwich>
  38.  
  39. #define PLUGIN "Free For All"
  40. #define AUTHOR "ConnorMcLeod"
  41. #define VERSION "0.0.6"
  42.  
  43. #define OFFSET_TEAM 114
  44. #define fm_get_user_team(%1) get_pdata_int(%1,OFFSET_TEAM)
  45. #define fm_set_user_team(%1,%2) set_pdata_int(%1,OFFSET_TEAM,%2)
  46.  
  47. new gmsgRadar
  48. new g_iMaxPlayers
  49. new mp_friendlyfire, g_iOldFFVal
  50. new HamHook:g_hTraceAttack, HamHook:g_hTakeDamage, HamHook:g_hKilled, g_mRadarHook
  51. new bool:g_bFFA
  52.  
  53. public plugin_init()
  54. {
  55. register_plugin( PLUGIN, VERSION, AUTHOR )
  56.  
  57. register_concmd("amx_set_ffa", "AdminCommand_SetFFA", ADMIN_CFG)
  58. register_clcmd("drawradar", "ClientCommand_DrawRadar") // not sure this is hookable but anyway Radar Msg is bloqued as well
  59.  
  60. g_iMaxPlayers = get_maxplayers()
  61. mp_friendlyfire = get_cvar_pointer("mp_friendlyfire")
  62. g_iOldFFVal = get_pcvar_num(mp_friendlyfire)
  63. gmsgRadar = get_user_msgid("Radar")
  64. }
  65.  
  66. public AdminCommand_SetFFA(id, level)
  67. {
  68. if( !(get_user_flags(id) & level) )
  69. {
  70. return PLUGIN_HANDLED
  71. }
  72.  
  73. if( read_argc() < 2 )
  74. {
  75. if( id )
  76. {
  77. client_print(id, print_console, "Usage: amx_set_ffa <0|1>" )
  78. }
  79. else
  80. {
  81. server_print( "Usage: amx_set_ffa <0|1>" )
  82. }
  83. }
  84. else
  85. {
  86. new szArg[3]
  87. read_argv(1, szArg, charsmax(szArg))
  88. if( g_bFFA && (szArg[0] == '0' || szArg[1] == 'f' || szArg[1] == 'F') )
  89. {
  90. set_pcvar_num(mp_friendlyfire, g_iOldFFVal)
  91. client_cmd(0, "drawradar")
  92. Register_Forwards((g_bFFA=false))
  93. }
  94. else if( !g_bFFA && (szArg[0] == '1' || szArg[1] == 'n' || szArg[1] == 'N') )
  95. {
  96. g_iOldFFVal = get_pcvar_num(mp_friendlyfire)
  97. set_pcvar_num(mp_friendlyfire, 1)
  98. client_cmd(0, "hideradar")
  99. Register_Forwards((g_bFFA=true))
  100. }
  101. }
  102.  
  103. if( id )
  104. {
  105. client_print(id, print_console, "FFA mode is %s", g_bFFA ? "On" : "Off" )
  106. }
  107. else
  108. {
  109. server_print( "FFA mode is %s", g_bFFA ? "On" : "Off" )
  110. }
  111. return PLUGIN_HANDLED
  112. }
  113.  
  114. public client_connect(id)
  115. {
  116. if( g_bFFA )
  117. {
  118. client_cmd(id, "hideradar")
  119. }
  120. }
  121.  
  122. public TraceAttack(victim, attacker, Float:damage, Float:direction[3], tracehandle, damagebits)
  123. {
  124. if( victim != attacker && (1 <= attacker <= g_iMaxPlayers) )
  125. {
  126. new vteam = fm_get_user_team(victim)
  127. if( vteam == fm_get_user_team(attacker) )
  128. {
  129. fm_set_user_team(victim, vteam == 1 ? 2 : 1)
  130. ExecuteHamB(Ham_TraceAttack, victim, attacker, damage, direction, tracehandle, damagebits)
  131. fm_set_user_team(victim, vteam)
  132. return HAM_SUPERCEDE
  133. }
  134. }
  135. return HAM_IGNORED
  136. }
  137.  
  138. public TakeDamage(victim, idinflictor, attacker, Float:damage, damagebits)
  139. {
  140. if( victim != attacker && (1 <= attacker <= g_iMaxPlayers) )
  141. {
  142. new vteam = fm_get_user_team(victim)
  143. if( vteam == fm_get_user_team(attacker) )
  144. {
  145. fm_set_user_team(victim, vteam == 1 ? 2 : 1)
  146. ExecuteHamB(Ham_TakeDamage, victim, idinflictor, attacker, damage, damagebits)
  147. fm_set_user_team(victim, vteam)
  148. return HAM_SUPERCEDE
  149. }
  150. }
  151. return HAM_IGNORED
  152. }
  153.  
  154. public Killed(victim, attacker, shouldgib)
  155. {
  156. if( victim != attacker && (1 <= attacker <= g_iMaxPlayers) )
  157. {
  158. new vteam = fm_get_user_team(victim)
  159. if( vteam == fm_get_user_team(attacker) )
  160. {
  161. fm_set_user_team(victim, vteam == 1 ? 2 : 1)
  162. ExecuteHamB(Ham_Killed, victim, attacker, shouldgib)
  163. fm_set_user_team(victim, vteam)
  164. return HAM_SUPERCEDE
  165. }
  166. }
  167. return HAM_IGNORED
  168. }
  169.  
  170. public Message_Radar(iMsgId, MSG_DEST, id)
  171. {
  172. return PLUGIN_HANDLED
  173. }
  174.  
  175. public ClientCommand_DrawRadar(id)
  176. {
  177. return _:g_bFFA
  178. }
  179.  
  180. Register_Forwards(bool:bState)
  181. {
  182. if(bState)
  183. {
  184. if( g_hTraceAttack )
  185. {
  186. EnableHamForward( g_hTraceAttack )
  187. }
  188. else
  189. {
  190. g_hTraceAttack = RegisterHam(Ham_TraceAttack, "player", "TraceAttack")
  191. }
  192.  
  193. if( g_hTakeDamage )
  194. {
  195. EnableHamForward( g_hTakeDamage )
  196. }
  197. else
  198. {
  199. g_hTakeDamage = RegisterHam(Ham_TakeDamage, "player", "TakeDamage")
  200. }
  201.  
  202. if( g_hKilled )
  203. {
  204. EnableHamForward( g_hKilled )
  205. }
  206. else
  207. {
  208. g_hKilled = RegisterHam(Ham_Killed, "player", "Killed")
  209. }
  210.  
  211. if( !g_mRadarHook )
  212. {
  213. g_mRadarHook = register_message( gmsgRadar, "Message_Radar")
  214. }
  215. }
  216. else
  217. {
  218. if( g_hTraceAttack )
  219. {
  220. DisableHamForward( g_hTraceAttack )
  221. }
  222.  
  223. if( g_hTakeDamage )
  224. {
  225. DisableHamForward( g_hTakeDamage )
  226. }
  227.  
  228. if( g_hKilled )
  229. {
  230. DisableHamForward( g_hKilled )
  231. }
  232.  
  233. if( g_mRadarHook )
  234. {
  235. unregister_message(gmsgRadar, g_mRadarHook)
  236. g_mRadarHook = 0
  237. }
  238. }
  239. }

_________________
[img]semmi[/img]


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


Ki van itt

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