hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.26. 16:02



Jelenlévő felhasználók

Jelenleg 371 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 370 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: [ZP] Extra cuc: Gaz maszk
HozzászólásElküldve: 2013.05.04. 12:37 
Offline
Minden6ó
Avatar

Csatlakozott: 2011.01.19. 12:14
Hozzászólások: 4280
Megköszönt másnak: 218 alkalommal
Megköszönték neki: 285 alkalommal
Hali! Valaki ezt le fordítaná?
SMA Forráskód: [ Mindet kijelol ]
  1. /*
  2.  
  3. [ZP] Anti Infect Bomb
  4. - other name -
  5. Gas Mask
  6.  
  7. Description:
  8. [ Removes bombs that is thrown at zombie ]
  9. [ (it will remove everything in range of 150) ]
  10.  
  11. Credits to :
  12. [ AmineKyo ]
  13. [ Nick Haldem ]
  14. [ Excalibur ]
  15. [ micapat ]
  16. [ Y060N ]
  17.  
  18. Version :
  19. [2.1 - Final modifying]
  20. */
  21.  
  22. #include < amxmodx >
  23. #include < hamsandwich >
  24. #include < engine >
  25. #include < zombieplague >
  26.  
  27. #define _PLUGIN "[ZP] Extra item: Gas Mask"
  28. #define _VERSION "2.1"
  29. #define _AUTHOR "H.RED.ZONE"
  30.  
  31. #define _MarkPlayerInMask(%0) _bitPlayerInMask |= (1 << (%0 & 31))
  32. #define _ClearPlayerInMask(%0) _bitPlayerInMask &= ~(1 << (%0 & 31))
  33. #define _IsPlayerInMask(%0) _bitPlayerInMask & (1 << (%0 & 31))
  34.  
  35. #define _MarkPlayerConnected(%0) _bitPlayerConnected |= (1 << (%0 & 31))
  36. #define _ClearPlayerConnected(%0) _bitPlayerConnected &= ~(1 << (%0 & 31))
  37. #define _IsPlayerConnected(%0) _bitPlayerConnected & (1 << (%0 & 31))
  38.  
  39. #define _MarkPlayerAlive(%0) _bitPlayerAlive |= (1 << (%0 & 31))
  40. #define _ClearPlayerAlive(%0) _bitPlayerAlive &= ~(1 << (%0 & 31))
  41. #define _IsPlayerAlive(%0) _bitPlayerAlive & (1 << (%0 & 31))
  42.  
  43. #define EV_INT_nadetype EV_INT_flTimeStepSound
  44. #define NADETYPE_INFECTION 1111
  45.  
  46. #define COST 80 // Item Cost
  47.  
  48. new g_itemid_buyremoverh
  49. new g_icon
  50.  
  51. new _pcvar_range
  52. ,_pcvar_after_remove
  53. ,_pcvar_prefix
  54.  
  55. new _bitPlayerInMask
  56. ,_bitPlayerAlive
  57. ,_bitPlayerConnected
  58.  
  59. new g_MsgSayText
  60. ,g_MaxPlayers
  61.  
  62. new const plr_command[][] = {
  63. "say /mask",
  64. "say_team /mask"
  65. }
  66.  
  67. public plugin_init() {
  68. register_plugin( "[ZP] Extra item: Gas Mask", "2.1", "H.RED.ZONE" )
  69.  
  70. RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
  71. RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn", 1 )
  72. RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade", 1)
  73.  
  74. g_itemid_buyremoverh = zp_register_extra_item("Gazmaszk \r(Fertozes ellen)", ZP_COST, ZP_TEAM_HUMAN)
  75.  
  76. register_event( "HLTV", "NewRound", "a", "1=0", "2=0" )
  77.  
  78. for ( new Index; Index < sizeof plr_command; Index++)
  79. register_clcmd(plr_command[Index], "buy_mask")
  80.  
  81. _pcvar_range = register_cvar( "zp_gas_remover_range", "400" )
  82. _pcvar_after_remove = register_cvar( "zp_gas_remover_after", "1" )
  83. _pcvar_prefix = register_cvar("zp_gas_mask_prefix", "<<eb@>>", 0, 0.0)
  84.  
  85. g_MsgSayText = get_user_msgid("SayText");
  86. g_MaxPlayers = get_maxplayers()
  87. g_icon = get_user_msgid("StatusIcon")
  88. }
  89.  
  90. public zp_extra_item_selected( plr, itemid ) {
  91. if ( itemid == g_itemid_buyremoverh ) {
  92. if( ~_IsPlayerInMask( plr ) ) {
  93. _MarkPlayerInMask( plr )
  94. ProtoChat(plr, "You now have Gas Mask.")
  95.  
  96. Icon_On(plr)
  97. }
  98. }
  99. }
  100.  
  101. public buy_mask(id) {
  102. new ammopacks = zp_get_user_ammo_packs(id)
  103.  
  104. if( _IsPlayerInMask( id ) ) {
  105. ProtoChat(id, "You have Gas Mask.")
  106. }
  107. else if( ammopacks > COST) {
  108. _MarkPlayerInMask(id)
  109. zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - COST);
  110. }
  111. else {
  112. ProtoChat(id, "You can't buy mask now.")
  113. }
  114. }
  115.  
  116. public fw_ThinkGrenade( entity ) {
  117. if( is_valid_ent( entity ) && entity_get_int( entity, EV_INT_nadetype ) == NADETYPE_INFECTION ) {
  118. new _cvar_range = get_pcvar_num( _pcvar_range )
  119. new _cvar_after_remove = get_pcvar_num( _pcvar_after_remove )
  120.  
  121. for( new id = 1 ; id <= g_MaxPlayers ; id++ ) {
  122. if( _IsPlayerAlive( id ) && _IsPlayerInMask( id )) {
  123. if( get_entity_distance( entity, id ) <= _cvar_range ) {
  124. remove_entity( entity )
  125.  
  126. if( _cvar_after_remove ) {
  127. _ClearPlayerInMask( id )
  128.  
  129. Icon_Off(id)
  130. ProtoChat(id, "Infect nade is removed, you don't have mask anymore.")
  131. }
  132. }
  133. }
  134. }
  135. }
  136. return HAM_IGNORED;
  137. }
  138.  
  139. public NewRound() {
  140. _bitPlayerInMask = 0
  141. }
  142.  
  143. public client_connect( plr ) {
  144. _MarkPlayerConnected( plr )
  145. }
  146.  
  147. public client_disconnect( plr ) {
  148. _ClearPlayerConnected( plr )
  149. Icon_Off( plr )
  150. }
  151.  
  152. public zp_user_infected_post( id ) {
  153. _ClearPlayerInMask( id )
  154. Icon_Off( id )
  155. }
  156.  
  157. public zp_user_infected_pre( id ) {
  158. _ClearPlayerInMask( id )
  159. Icon_Off( id )
  160. }
  161.  
  162. public Icon_On(plr) {
  163. message_begin( MSG_ONE_UNRELIABLE, g_icon, { 0, 0, 0 }, plr );
  164. write_byte( 1 );
  165. write_string( "dmg_gas" );
  166. write_byte( 0 );
  167. write_byte( 255 );
  168. write_byte( 0 );
  169. message_end( );
  170. }
  171.  
  172. public Icon_Off(plr) {
  173. message_begin( MSG_ONE_UNRELIABLE, g_icon, { 0, 0, 0 }, plr );
  174. write_byte( 0 );
  175. write_string( "dmg_gas" );
  176. write_byte( 0 );
  177. write_byte( 255 );
  178. write_byte( 0 );
  179. message_end( );
  180. }
  181.  
  182. public fw_PlayerKilled(plr, attacker, shouldgib) {
  183. if(_IsPlayerConnected(plr)) {
  184. _ClearPlayerAlive(plr)
  185. }
  186. }
  187.  
  188. public fw_PlayerSpawn(plr) {
  189. if(_IsPlayerConnected(plr)) {
  190. _MarkPlayerAlive(plr)
  191. }
  192. }
  193.  
  194. ProtoChat (plr, const sFormat[], any:...) {
  195. static i; i = plr ? plr : get_player();
  196. if ( !i ) {
  197. return PLUGIN_HANDLED;
  198. }
  199.  
  200. new sPrefix[16];
  201. get_pcvar_string(_pcvar_prefix, sPrefix, 15);
  202.  
  203. new sMessage[256];
  204. new len = formatex(sMessage, 255, "^x04[%s] ", sPrefix);
  205. vformat(sMessage[len], 255-len, sFormat, 3)
  206. sMessage[192] = '^0'
  207.  
  208. Make_SayText(plr, i, sMessage)
  209.  
  210. return PLUGIN_CONTINUE;
  211. }
  212.  
  213. get_player() {
  214. for ( new plr; plr <= g_MaxPlayers; plr++) {
  215. if (_IsPlayerConnected(plr)) {
  216. return plr;
  217. }
  218. }
  219. return PLUGIN_HANDLED
  220. }
  221.  
  222. Make_SayText(Receiver, Sender, sMessage[]) {
  223. if (!Sender) {
  224. return PLUGIN_HANDLED;
  225. }
  226. message_begin(Receiver ? MSG_ONE_UNRELIABLE : MSG_ALL, g_MsgSayText, {0,0,0}, Receiver)
  227. write_byte(Sender)
  228. write_string(sMessage)
  229. message_end()
  230.  
  231. return PLUGIN_CONTINUE;
  232. }
  233.  
  234. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  235. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang10266\\ f0\\ fs16 \n\\ par }
  236. */
  237.  

public Icon_Off

_________________
<<eb@>>Team Website - Közösség
17Buddies - Általam készített pályák.
GameBanana - Általam készített pályák/vágott hangok.

Kép
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: [ZP] Extra cuc: Gaz maszk
HozzászólásElküldve: 2013.05.04. 12:57 
Offline
Jómunkásember

Csatlakozott: 2012.01.29. 12:48
Hozzászólások: 408
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 126 alkalommal
SMA Forráskód: [ Mindet kijelol ]
  1. /*
  2.  
  3. [ZP] Anti Infect Bomb
  4. - other name -
  5. Gas Mask
  6.  
  7. Description:
  8. [ Removes bombs that is thrown at zombie ]
  9. [ (it will remove everything in range of 150) ]
  10.  
  11. Credits to :
  12. [ AmineKyo ]
  13. [ Nick Haldem ]
  14. [ Excalibur ]
  15. [ micapat ]
  16. [ Y060N ]
  17.  
  18. Version :
  19. [2.1 - Final modifying]
  20. */
  21.  
  22. #include < amxmodx >
  23. #include < hamsandwich >
  24. #include < engine >
  25. #include < zombieplague >
  26.  
  27. #define _PLUGIN "[ZP] Extra item: Gas Mask"
  28. #define _VERSION "2.1"
  29. #define _AUTHOR "H.RED.ZONE"
  30.  
  31. #define _MarkPlayerInMask(%0) _bitPlayerInMask |= (1 << (%0 & 31))
  32. #define _ClearPlayerInMask(%0) _bitPlayerInMask &= ~(1 << (%0 & 31))
  33. #define _IsPlayerInMask(%0) _bitPlayerInMask & (1 << (%0 & 31))
  34.  
  35. #define _MarkPlayerConnected(%0) _bitPlayerConnected |= (1 << (%0 & 31))
  36. #define _ClearPlayerConnected(%0) _bitPlayerConnected &= ~(1 << (%0 & 31))
  37. #define _IsPlayerConnected(%0) _bitPlayerConnected & (1 << (%0 & 31))
  38.  
  39. #define _MarkPlayerAlive(%0) _bitPlayerAlive |= (1 << (%0 & 31))
  40. #define _ClearPlayerAlive(%0) _bitPlayerAlive &= ~(1 << (%0 & 31))
  41. #define _IsPlayerAlive(%0) _bitPlayerAlive & (1 << (%0 & 31))
  42.  
  43. #define EV_INT_nadetype EV_INT_flTimeStepSound
  44. #define NADETYPE_INFECTION 1111
  45.  
  46. #define COST 90 // Item Cost
  47.  
  48. new g_itemid_buyremoverh
  49. new g_icon
  50.  
  51. new _pcvar_range
  52. ,_pcvar_after_remove
  53. ,_pcvar_prefix
  54.  
  55. new _bitPlayerInMask
  56. ,_bitPlayerAlive
  57. ,_bitPlayerConnected
  58.  
  59. new g_MsgSayText
  60. ,g_MaxPlayers
  61.  
  62. new const plr_command[][] = {
  63. "say /mask",
  64. "say_team /mask"
  65. }
  66.  
  67. public plugin_init() {
  68. register_plugin( "[ZP] Extra item: Gas Mask", "2.1", "H.RED.ZONE" )
  69.  
  70. RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
  71. RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn", 1 )
  72. RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade", 1)
  73.  
  74. g_itemid_buyremoverh = zp_register_extra_item("Gazmaszk \r(Fertozes ellen)" , COST , ZP_TEAM_HUMAN )
  75.  
  76. register_event( "HLTV", "NewRound", "a", "1=0", "2=0" )
  77.  
  78. for ( new Index; Index < sizeof plr_command; Index++)
  79. register_clcmd(plr_command[Index], "buy_mask")
  80.  
  81. _pcvar_range = register_cvar( "zp_gas_remover_range", "200" )
  82. _pcvar_after_remove = register_cvar( "zp_gas_remover_after", "1" )
  83. _pcvar_prefix = register_cvar("zp_gas_mask_prefix", "Mask", 0, 0.0)
  84.  
  85. g_MsgSayText = get_user_msgid("SayText");
  86. g_MaxPlayers = get_maxplayers()
  87. g_icon = get_user_msgid("StatusIcon")
  88. }
  89.  
  90. public zp_extra_item_selected( plr, itemid ) {
  91. if ( itemid == g_itemid_buyremoverh ) {
  92. if( ~_IsPlayerInMask( plr ) ) {
  93. _MarkPlayerInMask( plr )
  94. ProtoChat(plr, "Gázmaszkot vásároltál.")
  95.  
  96. Icon_On(plr)
  97. }
  98. }
  99. }
  100.  
  101. public buy_mask(id) {
  102. new ammopacks = zp_get_user_ammo_packs(id)
  103.  
  104. if( _IsPlayerInMask( id ) ) {
  105. ProtoChat(id, "Felvetted a Gázmaszkot.")
  106. }
  107. else if( ammopacks > COST) {
  108. _MarkPlayerInMask(id)
  109. zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - COST);
  110. }
  111. else {
  112. ProtoChat(id, "Most nem vásárolhatsz Gázmaszkot.")
  113. }
  114. }
  115.  
  116. public fw_ThinkGrenade( entity ) {
  117. if( is_valid_ent( entity ) && entity_get_int( entity, EV_INT_nadetype ) == NADETYPE_INFECTION ) {
  118. new _cvar_range = get_pcvar_num( _pcvar_range )
  119. new _cvar_after_remove = get_pcvar_num( _pcvar_after_remove )
  120.  
  121. for( new id = 1 ; id <= g_MaxPlayers ; id++ ) {
  122. if( _IsPlayerAlive( id ) && _IsPlayerInMask( id )) {
  123. if( get_entity_distance( entity, id ) <= _cvar_range ) {
  124. remove_entity( entity )
  125.  
  126. if( _cvar_after_remove ) {
  127. _ClearPlayerInMask( id )
  128.  
  129. Icon_Off(id)
  130. ProtoChat(id, "A fertőző gránát melleted robbant és a Gáz Maszkod elrohadt.")
  131. }
  132. }
  133. }
  134. }
  135. }
  136. return HAM_IGNORED;
  137. }
  138.  
  139. public NewRound() {
  140. _bitPlayerInMask = 0
  141. }
  142.  
  143. public client_connect( plr ) {
  144. _MarkPlayerConnected( plr )
  145. }
  146.  
  147. public client_disconnect( plr ) {
  148. _ClearPlayerConnected( plr )
  149. Icon_Off( plr )
  150. }
  151.  
  152. public zp_user_infected_post( id ) {
  153. _ClearPlayerInMask( id )
  154. Icon_Off( id )
  155. }
  156.  
  157. public zp_user_infected_pre( id ) {
  158. _ClearPlayerInMask( id )
  159. Icon_Off( id )
  160. }
  161.  
  162. public Icon_On(plr) {
  163. message_begin( MSG_ONE_UNRELIABLE, g_icon, { 0, 0, 0 }, plr );
  164. write_byte( 1 );
  165. write_string( "dmg_gas" );
  166. write_byte( 0 );
  167. write_byte( 255 );
  168. write_byte( 0 );
  169. message_end( );
  170. }
  171.  
  172. public Icon_Off(plr) {
  173. message_begin( MSG_ONE_UNRELIABLE, g_icon, { 0, 0, 0 }, plr );
  174. write_byte( 0 );
  175. write_string( "dmg_gas" );
  176. write_byte( 0 );
  177. write_byte( 255 );
  178. write_byte( 0 );
  179. message_end( );
  180. }
  181.  
  182. public fw_PlayerKilled(plr, attacker, shouldgib) {
  183. if(_IsPlayerConnected(plr)) {
  184. _ClearPlayerAlive(plr)
  185. }
  186. }
  187.  
  188. public fw_PlayerSpawn(plr) {
  189. if(_IsPlayerConnected(plr)) {
  190. _MarkPlayerAlive(plr)
  191. }
  192. }
  193.  
  194. ProtoChat (plr, const sFormat[], any:...) {
  195. static i; i = plr ? plr : get_player();
  196. if ( !i ) {
  197. return PLUGIN_HANDLED;
  198. }
  199.  
  200. new sPrefix[16];
  201. get_pcvar_string(_pcvar_prefix, sPrefix, 15);
  202.  
  203. new sMessage[256];
  204. new len = formatex(sMessage, 255, "^x01[^x04%s^x01] ", sPrefix);
  205. vformat(sMessage[len], 255-len, sFormat, 3)
  206. sMessage[192] = '^0'
  207.  
  208. Make_SayText(plr, i, sMessage)
  209.  
  210. return PLUGIN_CONTINUE;
  211. }
  212.  
  213. get_player() {
  214. for ( new plr; plr <= g_MaxPlayers; plr++) {
  215. if (_IsPlayerConnected(plr)) {
  216. return plr;
  217. }
  218. }
  219. return PLUGIN_HANDLED
  220. }
  221.  
  222. Make_SayText(Receiver, Sender, sMessage[]) {
  223. if (!Sender) {
  224. return PLUGIN_HANDLED;
  225. }
  226. message_begin(Receiver ? MSG_ONE_UNRELIABLE : MSG_ALL, g_MsgSayText, {0,0,0}, Receiver)
  227. write_byte(Sender)
  228. write_string(sMessage)
  229. message_end()
  230.  
  231. return PLUGIN_CONTINUE;
  232. }
  233.  
  234. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  235. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang10266\\ f0\\ fs16 \n\\ par }
  236. */
  237.  

Ők köszönték meg HuBaBuBa nek ezt a hozzászólást: norbee.16 (2013.05.04. 13:02)
  Népszerűség: 2.27%


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 2 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