hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 333 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 333 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  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Vasarlas(buy)tiltó
HozzászólásElküldve: 2013.12.23. 09:35 
Offline
Beavatott
Avatar

Csatlakozott: 2013.09.27. 06:02
Hozzászólások: 93
Megköszönt másnak: 14 alkalommal
Megköszönték neki: 8 alkalommal
Olyan plugin kellene ami megakadályozza a "B" betű nyomását.
Vagy nemtom hogy lenne jobb.
Az a lényeg h netudjanak vásárolni.
Ha megnyomják a vásárlást irja ki chatbe sárgával(ha megoldható)vagy zölddel hogy
[/size]
Furien módba nemtudsz vásárolni!

[size=200]Aki megcsinálja megy a gomb


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Vasarlas(buy)tiltó
HozzászólásElküldve: 2013.12.23. 10:27 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.12.18. 17:35
Hozzászólások: 365
Megköszönt másnak: 152 alkalommal
Megköszönték neki: 31 alkalommal
Próbáld meg!
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. #include <amxmodx>
  3. #include <fakemeta>
  4.  
  5. // plugin's main information
  6. #define PLUGIN_NAME "Buyzone Range"
  7. #define PLUGIN_VERSION "0.1"
  8. #define PLUGIN_AUTHOR "VEN"
  9.  
  10. // OPTIONS BELOW
  11.  
  12. // CVAR name and its default value
  13. #define CVAR_NAME "bz_range"
  14. #define CVAR_DEF "1"
  15.  
  16. // uncomment to disable automatic 32/64bit processor detection
  17. // possible values is <0: 32bit | 1: 64bit>
  18. //#define PROCESSOR_TYPE 0
  19.  
  20. // OPTIONS ABOVE
  21.  
  22. // mapzone player's private data offset
  23. #define OFFSET_32BIT 235
  24. #define OFFSET_64BIT 268
  25.  
  26. // offset's linux difference
  27. #define OFFSET_LINUX_DIFF 5
  28.  
  29. // buyzone bit
  30. #define BIT_BUYZONE (1<<0)
  31.  
  32. // determination of actual offsets
  33. #if !defined PROCESSOR_TYPE // is automatic 32/64bit processor detection?
  34. #if cellbits == 32 // is the size of a cell 32 bits?
  35. // then considering processor as 32 bit
  36. #define OFFSET OFFSET_32BIT
  37. #else // in other case considering the size of a cell as 64 bits
  38. // and then considering processor as 64 bit
  39. #define OFFSET OFFSET_64BIT
  40. #endif
  41. #else // processor type is specified by PROCESSOR_TYPE define
  42. #if PROCESSOR_TYPE == 0 // 32bit processor defined
  43. #define OFFSET OFFSET_32BIT
  44. #else // considering that defined 64bit processor
  45. #define OFFSET OFFSET_64BIT
  46. #endif
  47. #endif
  48.  
  49. // get/set mapzone bits
  50. #define CS_GET_USER_MAPZONES(%1) get_pdata_int(%1, OFFSET, OFFSET_LINUX_DIFF)
  51. #define CS_SET_USER_MAPZONES(%1,%2) set_pdata_int(%1, OFFSET, %2, OFFSET_LINUX_DIFF)
  52.  
  53. // fake buyzone absmin and absmax
  54. new Float:g_buyzone_min[3] = {-8192.0, -8192.0, -8192.0}
  55. new Float:g_buyzone_max[3] = {-8191.0, -8191.0, -8191.0}
  56.  
  57. new g_buyzone
  58. new g_pcvar
  59.  
  60. new bool:g_enabled
  61. new g_bit
  62.  
  63. new bool:g_new_round
  64. new g_maxplayers
  65.  
  66. #define MAX_PLAYERS 32
  67. new bool:g_alive[MAX_PLAYERS + 1]
  68.  
  69. new g_msgid_icon
  70. new g_icon_name[] = "buyzone"
  71.  
  72. #define ICON_R 0
  73. #define ICON_G 160
  74. #define ICON_B 0
  75.  
  76. public plugin_init() {
  77. register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
  78.  
  79. g_pcvar = register_cvar(CVAR_NAME, CVAR_DEF)
  80.  
  81. register_clcmd("buy", "menu_block")
  82. register_clcmd("buyequip", "menu_block")
  83. register_clcmd("fullupdate", "clcmd_fullupdate")
  84.  
  85. register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
  86. register_event("ResetHUD", "event_player_alive", "be")
  87. register_event("Health", "event_player_dead", "bd", "1=0")
  88.  
  89. register_forward(FM_PlayerPostThink, "forward_player_postthink")
  90.  
  91. g_msgid_icon = get_user_msgid("StatusIcon")
  92. register_message(g_msgid_icon, "message_status_icon")
  93.  
  94. g_maxplayers = get_maxplayers()
  95.  
  96. g_buyzone = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "func_buyzone"))
  97. dllfunc(DLLFunc_Spawn, g_buyzone)
  98. engfunc(EngFunc_SetSize, g_buyzone, g_buyzone_min, g_buyzone_max)
  99.  
  100. update_state_vars()
  101. }
  102.  
  103. public forward_player_postthink(id) {
  104. if (g_alive[id] && g_enabled) {
  105. switch (g_bit) {
  106. case BIT_BUYZONE: dllfunc(DLLFunc_Touch, g_buyzone, id)
  107. default: CS_SET_USER_MAPZONES(id, CS_GET_USER_MAPZONES(id) & ~BIT_BUYZONE)
  108. }
  109. }
  110. }
  111.  
  112. public event_new_round() {
  113. g_new_round = true
  114. set_task(0.1, "task_unset_var")
  115. update_state_vars()
  116. }
  117.  
  118. public task_unset_var() {
  119. g_new_round = false
  120. }
  121.  
  122. public event_player_alive(id) {
  123. g_alive[id] = true
  124.  
  125. if (g_new_round) {
  126. if (g_enabled)
  127. draw_buyzone_icon(id, g_bit)
  128. }
  129. else {
  130. update_state_vars()
  131. if (g_enabled) {
  132. for (new i = 1; i <= g_maxplayers; ++i) {
  133. if (g_alive[i])
  134. draw_buyzone_icon(i, g_bit)
  135. }
  136. }
  137. }
  138. }
  139.  
  140. public event_player_dead(id) {
  141. g_alive[id] = false
  142. }
  143.  
  144. public client_disconnect(id) {
  145. g_alive[id] = false
  146. }
  147.  
  148. public message_status_icon(msg_id, msg_dest, id) {
  149. if (!g_alive[id] || !g_enabled)
  150. return PLUGIN_CONTINUE
  151.  
  152. new icon[8]
  153. get_msg_arg_string(2, icon, 7)
  154. if (equal(icon, g_icon_name))
  155. return PLUGIN_HANDLED
  156.  
  157. return PLUGIN_CONTINUE
  158. }
  159.  
  160. public menu_block(id) {
  161. if (g_alive[id] && g_enabled && !g_bit)
  162. return PLUGIN_HANDLED
  163.  
  164. return PLUGIN_CONTINUE
  165. }
  166.  
  167. public clcmd_fullupdate() {
  168. return PLUGIN_HANDLED
  169. }
  170.  
  171. update_state_vars() {
  172. new cvar_value = get_pcvar_num(g_pcvar)
  173. g_enabled = true
  174. switch (cvar_value) {
  175. case 0: g_bit = 0
  176. case 1: g_enabled = false
  177. default: g_bit = BIT_BUYZONE
  178. }
  179. }
  180.  
  181. draw_buyzone_icon(id, draw) {
  182. message_begin(MSG_ONE, g_msgid_icon, _, id)
  183. write_byte(draw)
  184. write_string(g_icon_name)
  185. if (draw) {
  186. write_byte(ICON_R)
  187. write_byte(ICON_G)
  188. write_byte(ICON_B)
  189. }
  190. message_end()
  191. }

_________________
Ha segítettem használd a gombot!

Kép
KépKép

Ők köszönték meg Beckx nek ezt a hozzászólást: sHockeR (2013.12.23. 10:49)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Vasarlas(buy)tiltó
HozzászólásElküldve: 2013.12.23. 10:48 
Offline
Beavatott
Avatar

Csatlakozott: 2013.09.27. 06:02
Hozzászólások: 93
Megköszönt másnak: 14 alkalommal
Megköszönték neki: 8 alkalommal
A szöveg nemmegy de am jó kösz ment a gomb


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


Ki van itt

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