hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.01. 20:49



Jelenlévő felhasználók

Jelenleg 304 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 304 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  [ 12 hozzászólás ]  Oldal 1 2 Következő
Szerző Üzenet
 Hozzászólás témája: Hogyan érjem el...
HozzászólásElküldve: 2015.02.06. 19:13 
Offline
Tud valamit
Avatar

Csatlakozott: 2015.02.04. 18:53
Hozzászólások: 116
Megköszönt másnak: 12 alkalommal
Megköszönték neki: 3 alkalommal
Hogyan érjem el azt, hogy az sma file-ba bele írok egy mondatot pl:

"a menü eléréséhez írj: /menu-t"

akkor a szerver ki is írja üzenet ként :)

mint a szerver üzeneteknél :))

(előre leszögezem, hogy a szerver üzenetes plugint nem szeretném használni mivel másnak csinálnám a plugint :) )

_________________
Ha esetleg segítettem volna,(ami 1 évben 2-3x fog esetleg megtörténni) akkor ne felejtsd el megköszönni. ;)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hogyan érjem el...
HozzászólásElküldve: 2015.02.06. 19:15 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.07.22. 17:59
Hozzászólások: 667
Megköszönt másnak: 49 alkalommal
Megköszönték neki: 36 alkalommal
Minek csinalsz masnak pluginz, ha nem tudod, hogy kell?

UI:
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <colorchat>
  4.  
  5. #define PLUGIN "New Plug-In"
  6. #define VERSION "1.0"
  7. #define AUTHOR "Eternity"
  8.  
  9.  
  10. public plugin_init() {
  11. register_plugin(PLUGIN, VERSION, AUTHOR)
  12.  
  13. }
  14. public client_putinserver() {
  15. set_task(60.0,"menuhirdetes")
  16. }
  17. public menuhirdetes(id)
  18. {
  19. ColorChat(id, GREEN, "[Információ] ^1A menü eléréséhez írd be ^3/menu.")
  20. }

_________________
Kép


A hozzászólást 1 alkalommal szerkesztették, utoljára V!rusHD 2015.02.06. 19:23-kor.

Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hogyan érjem el...
HozzászólásElküldve: 2015.02.06. 19:16 
Offline
Tag
Avatar

Csatlakozott: 2015.02.05. 15:42
Hozzászólások: 38
Megköszönték neki: 2 alkalommal
Be regisztrálod ezt:
set_task(60.0 "hirdet")
Aztán
public hirdet() {
Ide jön a szöveg

Bocs telorol vagyok.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hogyan érjem el...
HozzászólásElküldve: 2015.02.06. 19:18 
Offline
Tud valamit
Avatar

Csatlakozott: 2014.12.19. 23:49
Hozzászólások: 100
Megköszönt másnak: 19 alkalommal
Megköszönték neki: 23 alkalommal
.:[KR!$Z]:. írta:
Hogyan érjem el azt, hogy az sma file-ba bele írok egy mondatot pl:

"a menü eléréséhez írj: /menu-t"

akkor a szerver ki is írja üzenet ként :)

mint a szerver üzeneteknél :))

(előre leszögezem, hogy a szerver üzenetes plugint nem szeretném használni mivel másnak csinálnám a plugint :) )


Ezt a végére:

SMA Forráskód: [ Mindet kijelol ]
  1. return PLUGIN_HANDLED
  2. }
  3. public reset(id) {
  4. client_print(id, print_chat, "A menü eléréséhez írd be: /menu");
  5. }

_________________
[mozgo]^^^ [.:~Be4tBox~:.] ^^^[/mozgo]


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hogyan érjem el...
HozzászólásElküldve: 2015.02.06. 19:42 
Offline
Tud valamit
Avatar

Csatlakozott: 2015.02.04. 18:53
Hozzászólások: 116
Megköszönt másnak: 12 alkalommal
Megköszönték neki: 3 alkalommal
Quantum írta:
Be regisztrálod ezt:
set_task(60.0 "hirdet")
Aztán
public hirdet() {
Ide jön a szöveg

Bocs telorol vagyok.



SMA Forráskód: [ Mindet kijelol ]set_task(60.0 "hirdet")
 
public hirdet() {
 
"Ha eloszeretned hivni az olesmenut, ird :!t /awp"
}


ez miért nem jó? :? :$ fáradt vagyok már :sleep1:

_________________
Ha esetleg segítettem volna,(ami 1 évben 2-3x fog esetleg megtörténni) akkor ne felejtsd el megköszönni. ;)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hogyan érjem el...
HozzászólásElküldve: 2015.02.06. 19:46 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2014.09.08. 22:21
Hozzászólások: 3014
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 555 alkalommal
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. #include <amxmodx>
  3. #include <amxmisc>
  4. #include <fun>
  5. #include <colorchat>
  6.  
  7. #define PLUGIN "sda"
  8. #define VERSION "1.0"
  9. #define AUTHOR "fas"
  10.  
  11. public plugin_init()
  12. {
  13. register_plugin(PLUGIN, VERSION, AUTHOR);
  14. set_task(180.0, "hirdet", 0, _, _, "b");
  15. }
  16.  
  17. public hirdet()
  18. {
  19. ColorChat(0, TEAM_COLOR,"[Szutyok] ^x01 Volt egyszer egy ember, szakálla volt kender.")
  20. }
  21.  

_________________
GitHub - mforce


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hogyan érjem el...
HozzászólásElküldve: 2015.02.06. 19:46 
Offline
Tud valamit
Avatar

Csatlakozott: 2014.12.19. 23:49
Hozzászólások: 100
Megköszönt másnak: 19 alkalommal
Megköszönték neki: 23 alkalommal
Linkeld az .sma-t bele írom..

_________________
[mozgo]^^^ [.:~Be4tBox~:.] ^^^[/mozgo]


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hogyan érjem el...
HozzászólásElküldve: 2015.02.06. 19:58 
Offline
Tud valamit
Avatar

Csatlakozott: 2015.02.04. 18:53
Hozzászólások: 116
Megköszönt másnak: 12 alkalommal
Megköszönték neki: 3 alkalommal
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4.  
  5. #define DICTIONARY "fegyver_skin_menu.txt"
  6.  
  7. //#define HOOK_P_MODELS
  8. #define HOOK_V_MODELS
  9. //#define HOOK_W_MODELS
  10.  
  11. new weapon_select[33]
  12.  
  13. new const menu_item_names[][][] = {
  14. { "Alap Csomag", "0", "" },
  15. { "Vadasz awp", "30", "vadasz_awp" },
  16. { "Nuclear awp", "50", "nuclear_awp" },
  17. { "Resistance awp", "70", "resistance_awp" },
  18. { "Pulzus awp", "110", "pulzus_awp" },
  19. { "Smack awp", "145", "smack_awp" },
  20. { "Tuz awp", "170", "tuz_awp" },
  21. { "Teli awp", "230", "teli_awp" },
  22. { "Hexo awp", "265", "hexo_awp" },
  23. { "Kigyobor awp", "300", "kigyobor_awp" },
  24. { "Katonai awp", "350", "katonai_awp" },
  25. { "Magma awp", "400", "magma_awp" }
  26. }
  27.  
  28. new const models_name[][] = {
  29. "awp.mdl"
  30. }
  31.  
  32. public plugin_init() {
  33. register_plugin(PLUGIN, VERSION, AUTHOR)
  34.  
  35. register_dictionary(DICTIONARY)
  36.  
  37. register_clcmd("say /awp", "clcmd_menu")
  38. register_event("CurWeapon","Hook_P_V_Model","be","1=1")
  39.  
  40. #if defined HOOK_W_MODELS
  41. register_forward(FM_SetModel, "Hook_W_Model", 1)
  42. #endif
  43. }
  44.  
  45. public plugin_precache() {
  46. for(new i = 0; i < sizeof(models_name); i++) {
  47. for(new j = 1; j < sizeof(menu_item_names); j++) {
  48. #if defined HOOK_P_MODELS
  49. new precache_p[256]
  50. format(precache_p, sizeof(precache_p), "models/%s/p_%s", menu_item_names[j][2], models_name[i])
  51.  
  52. precache_model(precache_p)
  53. #endif
  54.  
  55. #if defined HOOK_V_MODELS
  56. new precache_v[256]
  57. format(precache_v, sizeof(precache_v), "models/%s/v_%s", menu_item_names[j][2], models_name[i])
  58.  
  59. precache_model(precache_v)
  60. #endif
  61.  
  62. #if defined HOOK_W_MODELS
  63. new precache_w[256]
  64. format(precache_w, sizeof(precache_w), "models/%s/w_%s", menu_item_names[j][2], models_name[i])
  65.  
  66. precache_model(precache_w)
  67. #endif
  68. }
  69. }
  70. }
  71.  
  72. public client_disconnect(id)
  73. weapon_select[id] = 0
  74.  
  75. public W_Model_Hook(ent, model[]) {
  76. if(!pev_valid(ent)) return FMRES_IGNORED
  77.  
  78. new owner = pev(ent, pev_owner)
  79.  
  80. for(new i = 0; i < sizeof(models_name); i++) {
  81. new old_w[256]
  82. format(old_w, sizeof(old_w), "models/w_%s", models_name[i])
  83.  
  84. new new_w[256]
  85. format(new_w, sizeof(new_w), "models/%s/w_%s", menu_item_names[weapon_select[owner]][2], models_name[i])
  86.  
  87. if(equali(model, old_w) || equali(model, new_w)) {
  88. if(weapon_select[owner] >= 1) engfunc(EngFunc_SetModel, ent, new_w)
  89. else engfunc(EngFunc_SetModel, ent, old_w)
  90.  
  91. return FMRES_SUPERCEDE
  92. }
  93. }
  94.  
  95. return FMRES_IGNORED
  96. }
  97.  
  98. public Hook_P_V_Model(id) {
  99. if(!is_user_alive(id))
  100. return PLUGIN_CONTINUE
  101.  
  102. static v_model[32], p_model[32]
  103. pev(id, pev_viewmodel2, v_model, 31)
  104. pev(id, pev_weaponmodel2, p_model,31)
  105.  
  106. for(new i = 0; i < sizeof(models_name); i++) {
  107. #if defined HOOK_V_MODELS
  108. new old_v[256]
  109. format(old_v, sizeof(old_v), "models/v_%s", models_name[i])
  110.  
  111. new new_v[256]
  112. format(new_v, sizeof(new_v), "models/%s/v_%s", menu_item_names[weapon_select[id]][2], models_name[i])
  113.  
  114. if(equali(v_model, old_v) || equali(v_model, new_v)) {
  115. if(weapon_select[id] >= 1) set_pev(id, pev_viewmodel2, new_v)
  116. else set_pev(id, pev_viewmodel2, old_v)
  117.  
  118. break
  119. }
  120. #endif
  121.  
  122. #if defined HOOK_P_MODELS
  123. new old_p[256]
  124. format(old_p, sizeof(old_p), "models/p_%s", models_name[i])
  125.  
  126. new new_p[256]
  127. format(new_p, sizeof(new_p), "models/%s/p_%s", menu_item_names[weapon_select[id]][2], models_name[i])
  128.  
  129. if(equali(p_model, old_p) || equali(p_model, new_p)) {
  130. if(weapon_select[id] >= 1) set_pev(id, pev_weaponmodel2, new_p)
  131. else set_pev(id, pev_weaponmodel2, old_p)
  132.  
  133. break
  134. }
  135. #endif
  136. }
  137.  
  138. return PLUGIN_CONTINUE
  139. }
  140.  
  141.  
  142. public clcmd_menu(id) {
  143. new menu_line[64], menu_newline[64], i_data[64]
  144. format(menu_line, charsmax(menu_line), "\w%L", id, "SKIN_MENU", get_user_frags(id))
  145.  
  146. new menu = menu_create(menu_line, "clcmd_menu_handler")
  147.  
  148. for(new i = 0; i < sizeof(menu_item_names); i++) {
  149. new convert_num = str_to_num(menu_item_names[i][1])
  150. num_to_str(i, i_data, sizeof(i_data))
  151.  
  152. if(get_user_frags(id) < convert_num)
  153. format(menu_newline, charsmax(menu_newline), "%L", id, "SKIN_ITEM1", menu_item_names[i][0], convert_num)
  154. else
  155. format(menu_newline, charsmax(menu_newline), "%L", id, "SKIN_ITEM2", menu_item_names[i][0])
  156. menu_additem(menu, menu_newline, i_data, 0)
  157. }
  158.  
  159. menu_display(id, menu, 0)
  160.  
  161. return PLUGIN_HANDLED
  162. }
  163.  
  164. public clcmd_menu_handler(id, menu, item) {
  165. if(item == MENU_EXIT) {
  166. menu_destroy(menu)
  167. return PLUGIN_HANDLED
  168. }
  169.  
  170. new data[64], szName[64]
  171. new access, callback
  172. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
  173.  
  174. new key = str_to_num(data)
  175. new convert_num = str_to_num(menu_item_names[key][1])
  176.  
  177. if(get_user_frags(id) < convert_num) {
  178. client_print(id, print_chat, "%L", id, "SKIN_NOT_USE", menu_item_names[key][0], convert_num)
  179. return PLUGIN_HANDLED
  180. }
  181.  
  182. else {
  183. weapon_select[id] = key
  184. client_print(id, print_chat, "%L", id, "SKIN_CHOOSED", menu_item_names[key][0])
  185. Hook_P_V_Model(id)
  186. }
  187.  
  188. return PLUGIN_CONTINUE
  189. }

_________________
Ha esetleg segítettem volna,(ami 1 évben 2-3x fog esetleg megtörténni) akkor ne felejtsd el megköszönni. ;)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hogyan érjem el...
HozzászólásElküldve: 2015.02.06. 20:01 
Offline
Tag
Avatar

Csatlakozott: 2015.02.05. 15:42
Hozzászólások: 38
Megköszönték neki: 2 alkalommal
Try
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4.  
  5. #define DICTIONARY "fegyver_skin_menu.txt"
  6.  
  7. //#define HOOK_P_MODELS
  8. #define HOOK_V_MODELS
  9. //#define HOOK_W_MODELS
  10.  
  11. new weapon_select[33]
  12.  
  13. new const menu_item_names[][][] = {
  14. { "Alap Csomag", "0", "" },
  15. { "Vadasz awp", "30", "vadasz_awp" },
  16. { "Nuclear awp", "50", "nuclear_awp" },
  17. { "Resistance awp", "70", "resistance_awp" },
  18. { "Pulzus awp", "110", "pulzus_awp" },
  19. { "Smack awp", "145", "smack_awp" },
  20. { "Tuz awp", "170", "tuz_awp" },
  21. { "Teli awp", "230", "teli_awp" },
  22. { "Hexo awp", "265", "hexo_awp" },
  23. { "Kigyobor awp", "300", "kigyobor_awp" },
  24. { "Katonai awp", "350", "katonai_awp" },
  25. { "Magma awp", "400", "magma_awp" }
  26. }
  27.  
  28. new const models_name[][] = {
  29. "awp.mdl"
  30. }
  31.  
  32. public plugin_init() {
  33. register_plugin(PLUGIN, VERSION, AUTHOR)
  34.  
  35. register_dictionary(DICTIONARY)
  36.  
  37. register_clcmd("say /awp", "clcmd_menu")
  38. register_event("CurWeapon","Hook_P_V_Model","be","1=1")
  39.  
  40. #if defined HOOK_W_MODELS
  41. register_forward(FM_SetModel, "Hook_W_Model", 1)
  42. #endif
  43. set_task(60.0, "HIRDET")
  44. }
  45. public HIRDET() {
  46. client_print(0, print_chat, "Ird be hogy /menu") // itt add meg a szöveget.
  47. }
  48.  
  49. public plugin_precache() {
  50. for(new i = 0; i < sizeof(models_name); i++) {
  51. for(new j = 1; j < sizeof(menu_item_names); j++) {
  52. #if defined HOOK_P_MODELS
  53. new precache_p[256]
  54. format(precache_p, sizeof(precache_p), "models/%s/p_%s", menu_item_names[j][2], models_name[i])
  55.  
  56. precache_model(precache_p)
  57. #endif
  58.  
  59. #if defined HOOK_V_MODELS
  60. new precache_v[256]
  61. format(precache_v, sizeof(precache_v), "models/%s/v_%s", menu_item_names[j][2], models_name[i])
  62.  
  63. precache_model(precache_v)
  64. #endif
  65.  
  66. #if defined HOOK_W_MODELS
  67. new precache_w[256]
  68. format(precache_w, sizeof(precache_w), "models/%s/w_%s", menu_item_names[j][2], models_name[i])
  69.  
  70. precache_model(precache_w)
  71. #endif
  72. }
  73. }
  74. }
  75.  
  76. public client_disconnect(id)
  77. weapon_select[id] = 0
  78.  
  79. public W_Model_Hook(ent, model[]) {
  80. if(!pev_valid(ent)) return FMRES_IGNORED
  81.  
  82. new owner = pev(ent, pev_owner)
  83.  
  84. for(new i = 0; i < sizeof(models_name); i++) {
  85. new old_w[256]
  86. format(old_w, sizeof(old_w), "models/w_%s", models_name[i])
  87.  
  88. new new_w[256]
  89. format(new_w, sizeof(new_w), "models/%s/w_%s", menu_item_names[weapon_select[owner]][2], models_name[i])
  90.  
  91. if(equali(model, old_w) || equali(model, new_w)) {
  92. if(weapon_select[owner] >= 1) engfunc(EngFunc_SetModel, ent, new_w)
  93. else engfunc(EngFunc_SetModel, ent, old_w)
  94.  
  95. return FMRES_SUPERCEDE
  96. }
  97. }
  98.  
  99. return FMRES_IGNORED
  100. }
  101.  
  102. public Hook_P_V_Model(id) {
  103. if(!is_user_alive(id))
  104. return PLUGIN_CONTINUE
  105.  
  106. static v_model[32], p_model[32]
  107. pev(id, pev_viewmodel2, v_model, 31)
  108. pev(id, pev_weaponmodel2, p_model,31)
  109.  
  110. for(new i = 0; i < sizeof(models_name); i++) {
  111. #if defined HOOK_V_MODELS
  112. new old_v[256]
  113. format(old_v, sizeof(old_v), "models/v_%s", models_name[i])
  114.  
  115. new new_v[256]
  116. format(new_v, sizeof(new_v), "models/%s/v_%s", menu_item_names[weapon_select[id]][2], models_name[i])
  117.  
  118. if(equali(v_model, old_v) || equali(v_model, new_v)) {
  119. if(weapon_select[id] >= 1) set_pev(id, pev_viewmodel2, new_v)
  120. else set_pev(id, pev_viewmodel2, old_v)
  121.  
  122. break
  123. }
  124. #endif
  125.  
  126. #if defined HOOK_P_MODELS
  127. new old_p[256]
  128. format(old_p, sizeof(old_p), "models/p_%s", models_name[i])
  129.  
  130. new new_p[256]
  131. format(new_p, sizeof(new_p), "models/%s/p_%s", menu_item_names[weapon_select[id]][2], models_name[i])
  132.  
  133. if(equali(p_model, old_p) || equali(p_model, new_p)) {
  134. if(weapon_select[id] >= 1) set_pev(id, pev_weaponmodel2, new_p)
  135. else set_pev(id, pev_weaponmodel2, old_p)
  136.  
  137. break
  138. }
  139. #endif
  140. }
  141.  
  142. return PLUGIN_CONTINUE
  143. }
  144.  
  145.  
  146. public clcmd_menu(id) {
  147. new menu_line[64], menu_newline[64], i_data[64]
  148. format(menu_line, charsmax(menu_line), "\w%L", id, "SKIN_MENU", get_user_frags(id))
  149.  
  150. new menu = menu_create(menu_line, "clcmd_menu_handler")
  151.  
  152. for(new i = 0; i < sizeof(menu_item_names); i++) {
  153. new convert_num = str_to_num(menu_item_names[i][1])
  154. num_to_str(i, i_data, sizeof(i_data))
  155.  
  156. if(get_user_frags(id) < convert_num)
  157. format(menu_newline, charsmax(menu_newline), "%L", id, "SKIN_ITEM1", menu_item_names[i][0], convert_num)
  158. else
  159. format(menu_newline, charsmax(menu_newline), "%L", id, "SKIN_ITEM2", menu_item_names[i][0])
  160. menu_additem(menu, menu_newline, i_data, 0)
  161. }
  162.  
  163. menu_display(id, menu, 0)
  164.  
  165. return PLUGIN_HANDLED
  166. }
  167.  
  168. public clcmd_menu_handler(id, menu, item) {
  169. if(item == MENU_EXIT) {
  170. menu_destroy(menu)
  171. return PLUGIN_HANDLED
  172. }
  173.  
  174. new data[64], szName[64]
  175. new access, callback
  176. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
  177.  
  178. new key = str_to_num(data)
  179. new convert_num = str_to_num(menu_item_names[key][1])
  180.  
  181. if(get_user_frags(id) < convert_num) {
  182. client_print(id, print_chat, "%L", id, "SKIN_NOT_USE", menu_item_names[key][0], convert_num)
  183. return PLUGIN_HANDLED
  184. }
  185.  
  186. else {
  187. weapon_select[id] = key
  188. client_print(id, print_chat, "%L", id, "SKIN_CHOOSED", menu_item_names[key][0])
  189. Hook_P_V_Model(id)
  190. }
  191.  
  192. return PLUGIN_CONTINUE
  193. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Hogyan érjem el...
HozzászólásElküldve: 2015.02.06. 20:09 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.11.16. 12:37
Hozzászólások: 686
Megköszönt másnak: 32 alkalommal
Megköszönték neki: 131 alkalommal
Ez minden kör elején kiírja:
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4.  
  5. #define DICTIONARY "fegyver_skin_menu.txt"
  6.  
  7. //#define HOOK_P_MODELS
  8. #define HOOK_V_MODELS
  9. //#define HOOK_W_MODELS
  10.  
  11. new weapon_select[33]
  12. new g_roundCount
  13.  
  14. new const menu_item_names[][][] = {
  15. { "Alap Csomag", "0", "" },
  16. { "Vadasz awp", "30", "vadasz_awp" },
  17. { "Nuclear awp", "50", "nuclear_awp" },
  18. { "Resistance awp", "70", "resistance_awp" },
  19. { "Pulzus awp", "110", "pulzus_awp" },
  20. { "Smack awp", "145", "smack_awp" },
  21. { "Tuz awp", "170", "tuz_awp" },
  22. { "Teli awp", "230", "teli_awp" },
  23. { "Hexo awp", "265", "hexo_awp" },
  24. { "Kigyobor awp", "300", "kigyobor_awp" },
  25. { "Katonai awp", "350", "katonai_awp" },
  26. { "Magma awp", "400", "magma_awp" }
  27. }
  28.  
  29. new const models_name[][] = {
  30. "awp.mdl"
  31. }
  32.  
  33. public plugin_init() {
  34. register_plugin("PLUGIN", "VERSION", "AUTHOR")
  35.  
  36. register_dictionary(DICTIONARY)
  37.  
  38. register_clcmd("say /awp", "clcmd_menu")
  39. register_event("CurWeapon","Hook_P_V_Model","be","1=1")
  40. register_event("RoundTime", "roundcount", "bc")
  41. register_event("TextMsg","reset_counter","a","2&#Game_C","2&#Game_w")
  42.  
  43. #if defined HOOK_W_MODELS
  44. register_forward(FM_SetModel, "Hook_W_Model", 1)
  45. #endif
  46. }
  47.  
  48. public plugin_precache() {
  49. for(new i = 0; i < sizeof(models_name); i++) {
  50. for(new j = 1; j < sizeof(menu_item_names); j++) {
  51. #if defined HOOK_P_MODELS
  52. new precache_p[256]
  53. format(precache_p, sizeof(precache_p), "models/%s/p_%s", menu_item_names[j][2], models_name[i])
  54.  
  55. precache_model(precache_p)
  56. #endif
  57.  
  58. #if defined HOOK_V_MODELS
  59. new precache_v[256]
  60. format(precache_v, sizeof(precache_v), "models/%s/v_%s", menu_item_names[j][2], models_name[i])
  61.  
  62. precache_model(precache_v)
  63. #endif
  64.  
  65. #if defined HOOK_W_MODELS
  66. new precache_w[256]
  67. format(precache_w, sizeof(precache_w), "models/%s/w_%s", menu_item_names[j][2], models_name[i])
  68.  
  69. precache_model(precache_w)
  70. #endif
  71. }
  72. }
  73. }
  74. public roundcount()
  75. if ( read_data(1) == floatround(get_cvar_float("mp_roundtime") * 60.0) ) {
  76.  
  77. ++g_roundCount
  78.  
  79. new r = random(256)
  80. new g = random(256)
  81. new b = random(256)
  82.  
  83. set_hudmessage(r,g,b, -1.0, 0.30, 0, 6.0, 6.0, 1.0, 0.15, 1)
  84. show_hudmessage(0,"A menü eléréséhez írj: /menu-t!", g_roundCount)
  85. }
  86.  
  87. public reset_counter(){
  88. g_roundCount = 0
  89. }
  90. public client_disconnect(id)
  91. weapon_select[id] = 0
  92.  
  93. public W_Model_Hook(ent, model[]) {
  94. if(!pev_valid(ent)) return FMRES_IGNORED
  95.  
  96. new owner = pev(ent, pev_owner)
  97.  
  98. for(new i = 0; i < sizeof(models_name); i++) {
  99. new old_w[256]
  100. format(old_w, sizeof(old_w), "models/w_%s", models_name[i])
  101.  
  102. new new_w[256]
  103. format(new_w, sizeof(new_w), "models/%s/w_%s", menu_item_names[weapon_select[owner]][2], models_name[i])
  104.  
  105. if(equali(model, old_w) || equali(model, new_w)) {
  106. if(weapon_select[owner] >= 1) engfunc(EngFunc_SetModel, ent, new_w)
  107. else engfunc(EngFunc_SetModel, ent, old_w)
  108.  
  109. return FMRES_SUPERCEDE
  110. }
  111. }
  112.  
  113. return FMRES_IGNORED
  114. }
  115.  
  116. public Hook_P_V_Model(id) {
  117. if(!is_user_alive(id))
  118. return PLUGIN_CONTINUE
  119.  
  120. static v_model[32], p_model[32]
  121. pev(id, pev_viewmodel2, v_model, 31)
  122. pev(id, pev_weaponmodel2, p_model,31)
  123.  
  124. for(new i = 0; i < sizeof(models_name); i++) {
  125. #if defined HOOK_V_MODELS
  126. new old_v[256]
  127. format(old_v, sizeof(old_v), "models/v_%s", models_name[i])
  128.  
  129. new new_v[256]
  130. format(new_v, sizeof(new_v), "models/%s/v_%s", menu_item_names[weapon_select[id]][2], models_name[i])
  131.  
  132. if(equali(v_model, old_v) || equali(v_model, new_v)) {
  133. if(weapon_select[id] >= 1) set_pev(id, pev_viewmodel2, new_v)
  134. else set_pev(id, pev_viewmodel2, old_v)
  135.  
  136. break
  137. }
  138. #endif
  139.  
  140. #if defined HOOK_P_MODELS
  141. new old_p[256]
  142. format(old_p, sizeof(old_p), "models/p_%s", models_name[i])
  143.  
  144. new new_p[256]
  145. format(new_p, sizeof(new_p), "models/%s/p_%s", menu_item_names[weapon_select[id]][2], models_name[i])
  146.  
  147. if(equali(p_model, old_p) || equali(p_model, new_p)) {
  148. if(weapon_select[id] >= 1) set_pev(id, pev_weaponmodel2, new_p)
  149. else set_pev(id, pev_weaponmodel2, old_p)
  150.  
  151. break
  152. }
  153. #endif
  154. }
  155.  
  156. return PLUGIN_CONTINUE
  157. }
  158.  
  159.  
  160. public clcmd_menu(id) {
  161. new menu_line[64], menu_newline[64], i_data[64]
  162. format(menu_line, charsmax(menu_line), "\w%L", id, "SKIN_MENU", get_user_frags(id))
  163.  
  164. new menu = menu_create(menu_line, "clcmd_menu_handler")
  165.  
  166. for(new i = 0; i < sizeof(menu_item_names); i++) {
  167. new convert_num = str_to_num(menu_item_names[i][1])
  168. num_to_str(i, i_data, sizeof(i_data))
  169.  
  170. if(get_user_frags(id) < convert_num)
  171. format(menu_newline, charsmax(menu_newline), "%L", id, "SKIN_ITEM1", menu_item_names[i][0], convert_num)
  172. else
  173. format(menu_newline, charsmax(menu_newline), "%L", id, "SKIN_ITEM2", menu_item_names[i][0])
  174. menu_additem(menu, menu_newline, i_data, 0)
  175. }
  176.  
  177. menu_display(id, menu, 0)
  178.  
  179. return PLUGIN_HANDLED
  180. }
  181.  
  182. public clcmd_menu_handler(id, menu, item) {
  183. if(item == MENU_EXIT) {
  184. menu_destroy(menu)
  185. return PLUGIN_HANDLED
  186. }
  187.  
  188. new data[64], szName[64]
  189. new access, callback
  190. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
  191.  
  192. new key = str_to_num(data)
  193. new convert_num = str_to_num(menu_item_names[key][1])
  194.  
  195. if(get_user_frags(id) < convert_num) {
  196. client_print(id, print_chat, "%L", id, "SKIN_NOT_USE", menu_item_names[key][0], convert_num)
  197. return PLUGIN_HANDLED
  198. }
  199.  
  200. else {
  201. weapon_select[id] = key
  202. client_print(id, print_chat, "%L", id, "SKIN_CHOOSED", menu_item_names[key][0])
  203. Hook_P_V_Model(id)
  204. }
  205.  
  206. return PLUGIN_CONTINUE
  207. }

_________________
Kép
"I wouldn't hold my breath if I was you
Cause I'll forget but I'll never forgive you
Don't you know, don't you know?
True friends stab you in the front."


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  [ 12 hozzászólás ]  Oldal 1 2 Következő


Ki van itt

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