hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.06.16. 13:01



Jelenlévő felhasználók

Jelenleg 314 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 313 vendég

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-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  [4 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Knife mód
HozzászólásElküldve:2014.02.02. 11:42 
Offline
Beavatott
Avatar

Csatlakozott:2013.11.19. 22:12
Hozzászólások:94
Megköszönt másnak: 34 alkalommal
Megköszönték neki: 4 alkalommal
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <vault>
  5. #include <fun>
  6.  
  7. #define PLUGIN "Knife Mod"
  8. #define VERSION "1.0"
  9. #define AUTHOR "spunko"
  10.  
  11. #define TASK_INTERVAL 4.0
  12. #define MAX_HEALTH 255
  13.  
  14. new knife_model[33]
  15. new g_Menu
  16.  
  17. new CVAR_HIGHSPEED
  18. new CVAR_LOWSPEED
  19. new CVAR_LOWGRAV
  20. new CVAR_NORMGRAV
  21. new CVAR_HEALTH_ADD
  22. new CVAR_HEALTH_MAX
  23. new CVAR_DAMAGE
  24.  
  25. public plugin_init() {
  26.  
  27. register_plugin(PLUGIN, VERSION, AUTHOR)
  28.  
  29. register_event( "Damage", "event_damage", "be" )
  30. register_event("CurWeapon","CurWeapon","be","1=1")
  31.  
  32. g_Menu = register_menuid("Knife Mod")
  33. register_menucmd(g_Menu, 1023, "knifemenu")
  34.  
  35. register_clcmd("say /knife", "display_knife")
  36.  
  37. CVAR_HIGHSPEED = register_cvar("km_highspeed","340")
  38. CVAR_LOWSPEED = register_cvar("km_lowspeed","170")
  39. CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
  40. CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "75")
  41. CVAR_DAMAGE = register_cvar("km_damage", "2")
  42. CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")
  43. CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
  44.  
  45. set_task(480.0, "kmodmsg", 0, _, _, "b")
  46. }
  47.  
  48. public plugin_precache() {
  49. precache_model("models/knife-mod/v_butcher.mdl")
  50. precache_model("models/knife-mod/p_butcher.mdl")
  51. precache_model("models/knife-mod/v_machete.mdl")
  52. precache_model("models/knife-mod/p_machete.mdl")
  53. precache_model("models/knife-mod/v_bak.mdl")
  54. precache_model("models/knife-mod/p_bak.mdl")
  55. precache_model("models/knife-mod/v_pocket.mdl")
  56. precache_model("models/knife-mod/p_pocket.mdl")
  57. precache_model("models/v_knife.mdl")
  58. precache_model("models/p_knife.mdl")
  59. }
  60.  
  61. public display_knife(id) {
  62. new menuBody[512]
  63. add(menuBody, 511, "\rKnife Mod\w^n^n")
  64. add(menuBody, 511, "1. Machete \y(Tobb sebzes/Kisebb sebesseg)\w^n")
  65. add(menuBody, 511, "2. Bak Knife \y(Lopakodas)\w^n")
  66. add(menuBody, 511, "3. Pocket Knife \y(Gyorsasag)\w^n")
  67. add(menuBody, 511, "4. Butcher Knife \y(Nagy ugras)\w^n")
  68. add(menuBody, 511, "5. Default Knife \y(Elet tolto)\w^n^n")
  69. add(menuBody, 511, "0. Kilepes^n")
  70.  
  71. new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
  72. show_menu(id, keys, menuBody, -1, "Knife Mod")
  73. }
  74.  
  75. public knifemenu(id, key) {
  76. switch(key)
  77. {
  78. case 0: SetKnife(id , 4)
  79. case 1: SetKnife(id , 2)
  80. case 2: SetKnife(id , 3)
  81. case 3: SetKnife(id , 1)
  82. case 4: SetKnife(id , 0)
  83. default: return PLUGIN_HANDLED
  84. }
  85. SaveData(id)
  86. return PLUGIN_HANDLED
  87. }
  88.  
  89. public SetKnife(id , Knife) {
  90. knife_model[id] = Knife
  91.  
  92. new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
  93. if ( Weapon != CSW_KNIFE )
  94. return PLUGIN_HANDLED
  95.  
  96. new vModel[56],pModel[56]
  97.  
  98. switch(Knife)
  99. {
  100. case 0: {
  101. format(vModel,55,"models/v_knife.mdl")
  102. format(pModel,55,"models/p_knife.mdl")
  103. }
  104. case 1: {
  105. format(vModel,55,"models/knife-mod/v_butcher.mdl")
  106. format(pModel,55,"models/knife-mod/p_butcher.mdl")
  107. }
  108. case 2: {
  109. format(vModel,55,"models/knife-mod/v_bak.mdl")
  110. format(pModel,55,"models/knife-mod/p_bak.mdl")
  111. }
  112. case 3: {
  113. format(vModel,55,"models/knife-mod/v_pocket.mdl")
  114. format(pModel,55,"models/knife-mod/p_pocket.mdl")
  115. }
  116. case 4: {
  117. format(vModel,55,"models/knife-mod/v_machete.mdl")
  118. format(pModel,55,"models/knife-mod/p_machete.mdl")
  119. }
  120. }
  121.  
  122. entity_set_string(id, EV_SZ_viewmodel, vModel)
  123. entity_set_string(id, EV_SZ_weaponmodel, pModel)
  124.  
  125. return PLUGIN_HANDLED;
  126. }
  127.  
  128. public event_damage( id ) {
  129.  
  130. new victim_id = id;
  131. if( !is_user_connected( victim_id ) ) return PLUGIN_CONTINUE
  132. new dmg_take = read_data( 2 );
  133. new dmgtype = read_data( 3 );
  134. new Float:multiplier = get_pcvar_float(CVAR_DAMAGE);
  135. new Float:damage = dmg_take * multiplier;
  136. new health = get_user_health( victim_id );
  137.  
  138. new iWeapID, attacker_id = get_user_attacker( victim_id, iWeapID );
  139.  
  140. if( !is_user_connected( attacker_id ) || !is_user_alive( victim_id ) ) {
  141. return PLUGIN_HANDLED
  142. }
  143.  
  144. if( iWeapID == CSW_KNIFE && knife_model[attacker_id] == 4 ) {
  145.  
  146. if( floatround(damage) >= health ) {
  147. if( victim_id == attacker_id ) {
  148. return PLUGIN_CONTINUE
  149. }else{
  150. log_kill( attacker_id, victim_id, "knife", 0 );
  151. }
  152.  
  153. return PLUGIN_CONTINUE
  154. }else {
  155. if( victim_id == attacker_id ) return PLUGIN_CONTINUE
  156.  
  157. fakedamage( victim_id, "weapon_knife", damage, dmgtype );
  158. }
  159. }
  160. return PLUGIN_CONTINUE
  161. }
  162.  
  163. public CurWeapon(id)
  164. {
  165. new Weapon = read_data(2)
  166.  
  167. // Set Knife Model
  168. SetKnife(id, knife_model[id])
  169.  
  170. // Task Options
  171.  
  172. if(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
  173. set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
  174. else if(task_exists(id))
  175. remove_task(id)
  176.  
  177. // Abilities
  178. set_user_footsteps(id , ( (knife_model[id] == 2 && Weapon == CSW_KNIFE) ? 1 : 0) )
  179.  
  180. new Float:Gravity = ((knife_model[id] == 1 && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
  181. set_user_gravity(id , Gravity)
  182.  
  183. // Speed
  184. new Float:Speed
  185. if(Weapon != CSW_KNIFE || knife_model[id] < 3)
  186. return PLUGIN_CONTINUE
  187. else if(knife_model[id] == 3)
  188. Speed = get_pcvar_float(CVAR_HIGHSPEED)
  189. else if(knife_model[id] == 4)
  190. Speed = get_pcvar_float(CVAR_LOWSPEED)
  191.  
  192. set_user_maxspeed(id, Speed)
  193.  
  194. return PLUGIN_HANDLED
  195.  
  196. }
  197.  
  198. stock log_kill(killer, victim, weapon[],headshot) {
  199. user_silentkill( victim );
  200.  
  201. message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
  202. write_byte( killer );
  203. write_byte( victim );
  204. write_byte( headshot );
  205. write_string( weapon );
  206. message_end();
  207.  
  208. new kfrags = get_user_frags( killer );
  209. set_user_frags( killer, kfrags++ );
  210. new vfrags = get_user_frags( victim );
  211. set_user_frags( victim, vfrags++ );
  212.  
  213. return PLUGIN_CONTINUE
  214. }
  215.  
  216.  
  217. public task_healing(id) {
  218. new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)
  219. if (!addhealth)
  220. return
  221.  
  222. new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)
  223. if (maxhealth > MAX_HEALTH) {
  224. set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)
  225. maxhealth = MAX_HEALTH
  226. }
  227.  
  228. new health = get_user_health(id)
  229.  
  230. if (is_user_alive(id) && (health < maxhealth)) {
  231. set_user_health(id, health + addhealth)
  232. set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
  233. show_hudmessage(id,"<< !!Elet toltodik!! >>")
  234. message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
  235. write_short(1<<10)
  236. write_short(1<<10)
  237. write_short(0x0000)
  238. write_byte(0)
  239. write_byte(200)
  240. write_byte(0)
  241. write_byte(75)
  242. message_end()
  243. }
  244.  
  245. else {
  246. if (is_user_alive(id) && (health > maxhealth))
  247. remove_task(id)
  248. }
  249. }
  250.  
  251. public client_disconnect(id) {
  252. if(task_exists(id)) remove_task(id)
  253. }
  254.  
  255.  
  256. public kmodmsg() {
  257.  
  258. client_print(0,print_chat,"[AMXX] irj /knife hogy valasz a kesek kozul")
  259. }
  260.  
  261. public client_authorized(id)
  262. {
  263. LoadData(id)
  264. }
  265.  
  266. SaveData(id)
  267. {
  268.  
  269. new authid[32]
  270. get_user_authid(id, authid, 31)
  271.  
  272. new vaultkey[64]
  273. new vaultdata[64]
  274.  
  275. format(vaultkey, 63, "KMOD_%s", authid)
  276. format(vaultdata, 63, "%d", knife_model[id])
  277. set_vaultdata(vaultkey, vaultdata)
  278. }
  279.  
  280. LoadData(id)
  281. {
  282. new authid[32]
  283. get_user_authid(id,authid,31)
  284.  
  285. new vaultkey[64], vaultdata[64]
  286.  
  287. format(vaultkey, 63, "KMOD_%s", authid)
  288. get_vaultdata(vaultkey, vaultdata, 63)
  289. knife_model[id] = str_to_num(vaultdata)
  290.  
  291. }
  292. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  293. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
  294. */
  295.  

A machetat szeretnem kivenni belőle aki meg csín megy a gomb :D


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Knife mód
HozzászólásElküldve:2014.02.02. 14:04 
Offline
Veterán
Avatar

Csatlakozott:2012.09.01. 22:19
Hozzászólások:1697
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 302 alkalommal
tessék:

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <vault>
  5. #include <fun>
  6.  
  7. #define PLUGIN "Knife Mod"
  8. #define VERSION "1.0"
  9. #define AUTHOR "spunko"
  10.  
  11. #define TASK_INTERVAL 4.0
  12. #define MAX_HEALTH 255
  13.  
  14. new knife_model[33]
  15. new g_Menu
  16.  
  17. new CVAR_HIGHSPEED
  18. new CVAR_LOWSPEED
  19. new CVAR_LOWGRAV
  20. new CVAR_NORMGRAV
  21. new CVAR_HEALTH_ADD
  22. new CVAR_HEALTH_MAX
  23.  
  24. public plugin_init() {
  25.  
  26. register_plugin(PLUGIN, VERSION, AUTHOR)
  27.  
  28. register_event("CurWeapon","CurWeapon","be","1=1")
  29.  
  30. g_Menu = register_menuid("Knife Mod")
  31. register_menucmd(g_Menu, 1023, "knifemenu")
  32.  
  33. register_clcmd("say /knife", "display_knife")
  34.  
  35. CVAR_HIGHSPEED = register_cvar("km_highspeed","340")
  36. CVAR_LOWSPEED = register_cvar("km_lowspeed","170")
  37. CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
  38. CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "75")
  39. CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")
  40. CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
  41.  
  42. set_task(480.0, "kmodmsg", 0, _, _, "b")
  43. }
  44. public plugin_precache() {
  45. precache_model("models/knife-mod/v_butcher.mdl")
  46. precache_model("models/knife-mod/p_butcher.mdl")
  47. precache_model("models/knife-mod/v_bak.mdl")
  48. precache_model("models/knife-mod/p_bak.mdl")
  49. precache_model("models/knife-mod/v_pocket.mdl")
  50. precache_model("models/knife-mod/p_pocket.mdl")
  51. precache_model("models/v_knife.mdl")
  52. precache_model("models/p_knife.mdl")
  53. }
  54.  
  55. public display_knife(id) {
  56. new menuBody[512]
  57. add(menuBody, 511, "\rKnife Mod\w^n^n")
  58. add(menuBody, 511, "1. Bak Knife \y(Lopakodas)\w^n")
  59. add(menuBody, 511, "2. Pocket Knife \y(Gyorsasag)\w^n")
  60. add(menuBody, 511, "3. Butcher Knife \y(Nagy ugras)\w^n")
  61. add(menuBody, 511, "4. Default Knife \y(Elet tolto)\w^n^n")
  62. add(menuBody, 511, "0. Kilepes^n")
  63.  
  64. new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
  65. show_menu(id, keys, menuBody, -1, "Knife Mod")
  66. }
  67.  
  68. public knifemenu(id, key) {
  69. switch(key)
  70. {
  71. case 0: SetKnife(id , 3)
  72. case 1: SetKnife(id , 2)
  73. case 2: SetKnife(id , 1)
  74. case 3: SetKnife(id , 0)
  75. default: return PLUGIN_HANDLED
  76. }
  77. SaveData(id)
  78. return PLUGIN_HANDLED
  79. }
  80.  
  81. public SetKnife(id , Knife) {
  82. knife_model[id] = Knife
  83.  
  84. new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
  85. if ( Weapon != CSW_KNIFE )
  86. return PLUGIN_HANDLED
  87.  
  88. new vModel[56],pModel[56]
  89.  
  90. switch(Knife)
  91. {
  92. case 0: {
  93. format(vModel,55,"models/v_knife.mdl")
  94. format(pModel,55,"models/p_knife.mdl")
  95. }
  96. case 1: {
  97. format(vModel,55,"models/knife-mod/v_butcher.mdl")
  98. format(pModel,55,"models/knife-mod/p_butcher.mdl")
  99. }
  100. case 2: {
  101. format(vModel,55,"models/knife-mod/v_bak.mdl")
  102. format(pModel,55,"models/knife-mod/p_bak.mdl")
  103. }
  104. case 3: {
  105. format(vModel,55,"models/knife-mod/v_pocket.mdl")
  106. format(pModel,55,"models/knife-mod/p_pocket.mdl")
  107. }
  108. }
  109.  
  110. entity_set_string(id, EV_SZ_viewmodel, vModel)
  111. entity_set_string(id, EV_SZ_weaponmodel, pModel)
  112.  
  113. return PLUGIN_HANDLED;
  114. }
  115.  
  116. public CurWeapon(id)
  117. {
  118. new Weapon = read_data(2)
  119.  
  120. // Set Knife Model
  121. SetKnife(id, knife_model[id])
  122.  
  123. // Task Options
  124.  
  125. if(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
  126. set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
  127. else if(task_exists(id))
  128. remove_task(id)
  129.  
  130. // Abilities
  131. set_user_footsteps(id , ( (knife_model[id] == 2 && Weapon == CSW_KNIFE) ? 1 : 0) )
  132.  
  133. new Float:Gravity = ((knife_model[id] == 1 && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
  134. set_user_gravity(id , Gravity)
  135.  
  136. // Speed
  137. new Float:Speed
  138. if(Weapon != CSW_KNIFE || knife_model[id] < 3)
  139. return PLUGIN_CONTINUE
  140. else if(knife_model[id] == 3)
  141. Speed = get_pcvar_float(CVAR_HIGHSPEED)
  142. else if(knife_model[id] == 4)
  143. Speed = get_pcvar_float(CVAR_LOWSPEED)
  144.  
  145. set_user_maxspeed(id, Speed)
  146.  
  147. return PLUGIN_HANDLED
  148.  
  149. }
  150.  
  151. stock log_kill(killer, victim, weapon[],headshot) {
  152. user_silentkill( victim );
  153.  
  154. message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
  155. write_byte( killer );
  156. write_byte( victim );
  157. write_byte( headshot );
  158. write_string( weapon );
  159. message_end();
  160.  
  161. new kfrags = get_user_frags( killer );
  162. set_user_frags( killer, kfrags++ );
  163. new vfrags = get_user_frags( victim );
  164. set_user_frags( victim, vfrags++ );
  165.  
  166. return PLUGIN_CONTINUE
  167. }
  168.  
  169.  
  170. public task_healing(id) {
  171. new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)
  172. if (!addhealth)
  173. return
  174.  
  175. new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)
  176. if (maxhealth > MAX_HEALTH) {
  177. set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)
  178. maxhealth = MAX_HEALTH
  179. }
  180.  
  181. new health = get_user_health(id)
  182.  
  183. if (is_user_alive(id) && (health < maxhealth)) {
  184. set_user_health(id, health + addhealth)
  185. set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
  186. show_hudmessage(id,"<< !!Elet toltodik!! >>")
  187. message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
  188. write_short(1<<10)
  189. write_short(1<<10)
  190. write_short(0x0000)
  191. write_byte(0)
  192. write_byte(200)
  193. write_byte(0)
  194. write_byte(75)
  195. message_end()
  196. }
  197.  
  198. else {
  199. if (is_user_alive(id) && (health > maxhealth))
  200. remove_task(id)
  201. }
  202. }
  203.  
  204. public client_disconnect(id) {
  205. if(task_exists(id)) remove_task(id)
  206. }
  207.  
  208.  
  209. public kmodmsg() {
  210.  
  211. client_print(0,print_chat,"[AMXX] irj /knife hogy valasz a kesek kozul")
  212. }
  213.  
  214. public client_authorized(id)
  215. {
  216. LoadData(id)
  217. }
  218.  
  219. SaveData(id)
  220. {
  221.  
  222. new authid[32]
  223. get_user_authid(id, authid, 31)
  224.  
  225. new vaultkey[64]
  226. new vaultdata[64]
  227.  
  228. format(vaultkey, 63, "KMOD_%s", authid)
  229. format(vaultdata, 63, "%d", knife_model[id])
  230. set_vaultdata(vaultkey, vaultdata)
  231. }
  232.  
  233. LoadData(id)
  234. {
  235. new authid[32]
  236. get_user_authid(id,authid,31)
  237.  
  238. new vaultkey[64], vaultdata[64]
  239.  
  240. format(vaultkey, 63, "KMOD_%s", authid)
  241. get_vaultdata(vaultkey, vaultdata, 63)
  242. knife_model[id] = str_to_num(vaultdata)
  243.  
  244. }
  245. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  246. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
  247. */

_________________
Valami új kezdete...
Kép
Egyedi pluginok készítése pénzért (Banki átutalás, PayPal) -> Privát üzenet


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Knife mód
HozzászólásElküldve:2014.02.02. 17:04 
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
crazy! kivennéd belőle nekem a lopakodót is?

_________________
Ha segítettem használd a gombot!

Kép
KépKép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Knife mód
HozzászólásElküldve:2014.02.02. 17:09 
Offline
Nagyúr
Avatar

Csatlakozott:2013.03.28. 20:32
Hozzászólások:561
Megköszönt másnak: 59 alkalommal
Megköszönték neki: 56 alkalommal
teszteld.Nekem lefordult hiba nelkül
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <vault>
  5. #include <fun>
  6.  
  7. #define PLUGIN "Knife Mod"
  8. #define VERSION "1.0"
  9. #define AUTHOR "spunko"
  10.  
  11. #define TASK_INTERVAL 4.0
  12. #define MAX_HEALTH 255
  13.  
  14. new knife_model[33]
  15. new g_Menu
  16.  
  17. new CVAR_HIGHSPEED
  18. new CVAR_LOWGRAV
  19. new CVAR_NORMGRAV
  20. new CVAR_HEALTH_ADD
  21. new CVAR_HEALTH_MAX
  22.  
  23. public plugin_init() {
  24.  
  25. register_plugin(PLUGIN, VERSION, AUTHOR)
  26.  
  27. register_event("CurWeapon","CurWeapon","be","1=1")
  28.  
  29. g_Menu = register_menuid("Knife Mod")
  30. register_menucmd(g_Menu, 1023, "knifemenu")
  31.  
  32. register_clcmd("say /knife", "display_knife")
  33.  
  34. CVAR_HIGHSPEED = register_cvar("km_highspeed","340")
  35. CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
  36. CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "75")
  37. CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")
  38. CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
  39.  
  40. set_task(480.0, "kmodmsg", 0, _, _, "b")
  41. }
  42. public plugin_precache() {
  43. precache_model("models/knife-mod/v_butcher.mdl")
  44. precache_model("models/knife-mod/p_butcher.mdl")
  45. precache_model("models/knife-mod/v_bak.mdl")
  46. precache_model("models/knife-mod/p_bak.mdl")
  47. precache_model("models/v_knife.mdl")
  48. precache_model("models/p_knife.mdl")
  49. }
  50.  
  51. public display_knife(id) {
  52. new menuBody[512]
  53. add(menuBody, 511, "\rKnife Mod\w^n^n")
  54. add(menuBody, 511, "1. Pocket Knife \y(Gyorsasag)\w^n")
  55. add(menuBody, 511, "2. Butcher Knife \y(Nagy ugras)\w^n")
  56. add(menuBody, 511, "3. Default Knife \y(Elet tolto)\w^n^n")
  57. add(menuBody, 511, "0. Kilepes^n")
  58.  
  59. new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
  60. show_menu(id, keys, menuBody, -1, "Knife Mod")
  61. }
  62.  
  63. public knifemenu(id, key) {
  64. switch(key)
  65. {
  66. case 0: SetKnife(id , 3)
  67. case 1: SetKnife(id , 2)
  68. case 2: SetKnife(id , 1)
  69. case 3: SetKnife(id , 0)
  70. default: return PLUGIN_HANDLED
  71. }
  72. SaveData(id)
  73. return PLUGIN_HANDLED
  74. }
  75.  
  76. public SetKnife(id , Knife) {
  77. knife_model[id] = Knife
  78.  
  79. new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
  80. if ( Weapon != CSW_KNIFE )
  81. return PLUGIN_HANDLED
  82.  
  83. new vModel[56],pModel[56]
  84.  
  85. switch(Knife)
  86. {
  87. case 0: {
  88. format(vModel,55,"models/v_knife.mdl")
  89. format(pModel,55,"models/p_knife.mdl")
  90. }
  91. case 1: {
  92. format(vModel,55,"models/knife-mod/v_butcher.mdl")
  93. format(pModel,55,"models/knife-mod/p_butcher.mdl")
  94.  
  95. }
  96. case 2: {
  97. format(vModel,55,"models/knife-mod/v_pocket.mdl")
  98. format(pModel,55,"models/knife-mod/p_pocket.mdl")
  99. }
  100. }
  101.  
  102. entity_set_string(id, EV_SZ_viewmodel, vModel)
  103. entity_set_string(id, EV_SZ_weaponmodel, pModel)
  104.  
  105. return PLUGIN_HANDLED;
  106. }
  107.  
  108. public CurWeapon(id)
  109. {
  110. new Weapon = read_data(2)
  111.  
  112. // Set Knife Model
  113. SetKnife(id, knife_model[id])
  114.  
  115. // Task Options
  116.  
  117. if(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
  118. set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
  119. else if(task_exists(id))
  120. remove_task(id)
  121.  
  122. // Abilities
  123. set_user_footsteps(id , ( (knife_model[id] == 2 && Weapon == CSW_KNIFE) ? 1 : 0) )
  124.  
  125. new Float:Gravity = ((knife_model[id] == 1 && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
  126. set_user_gravity(id , Gravity)
  127.  
  128. // Speed
  129. new Float:Speed
  130. if(Weapon != CSW_KNIFE || knife_model[id] < 3)
  131. return PLUGIN_CONTINUE
  132. else if(knife_model[id] == 3)
  133. Speed = get_pcvar_float(CVAR_HIGHSPEED)
  134. else if(knife_model[id] == 4)
  135.  
  136.  
  137. set_user_maxspeed(id, Speed)
  138.  
  139. return PLUGIN_HANDLED
  140.  
  141. }
  142.  
  143. stock log_kill(killer, victim, weapon[],headshot) {
  144. user_silentkill( victim );
  145.  
  146. message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
  147. write_byte( killer );
  148. write_byte( victim );
  149. write_byte( headshot );
  150. write_string( weapon );
  151. message_end();
  152.  
  153. new kfrags = get_user_frags( killer );
  154. set_user_frags( killer, kfrags++ );
  155. new vfrags = get_user_frags( victim );
  156. set_user_frags( victim, vfrags++ );
  157.  
  158. return PLUGIN_CONTINUE
  159. }
  160.  
  161.  
  162. public task_healing(id) {
  163. new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)
  164. if (!addhealth)
  165. return
  166.  
  167. new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)
  168. if (maxhealth > MAX_HEALTH) {
  169. set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)
  170. maxhealth = MAX_HEALTH
  171. }
  172.  
  173. new health = get_user_health(id)
  174.  
  175. if (is_user_alive(id) && (health < maxhealth)) {
  176. set_user_health(id, health + addhealth)
  177. set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
  178. show_hudmessage(id,"<< !!Elet toltodik!! >>")
  179. message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
  180. write_short(1<<10)
  181. write_short(1<<10)
  182. write_short(0x0000)
  183. write_byte(0)
  184. write_byte(200)
  185. write_byte(0)
  186. write_byte(75)
  187. message_end()
  188. }
  189.  
  190. else {
  191. if (is_user_alive(id) && (health > maxhealth))
  192. remove_task(id)
  193. }
  194. }
  195.  
  196. public client_disconnect(id) {
  197. if(task_exists(id)) remove_task(id)
  198. }
  199.  
  200.  
  201. public kmodmsg() {
  202.  
  203. client_print(0,print_chat,"[AMXX] irj /knife hogy valasz a kesek kozul")
  204. }
  205.  
  206. public client_authorized(id)
  207. {
  208. LoadData(id)
  209. }
  210.  
  211. SaveData(id)
  212. {
  213.  
  214. new authid[32]
  215. get_user_authid(id, authid, 31)
  216.  
  217. new vaultkey[64]
  218. new vaultdata[64]
  219.  
  220. format(vaultkey, 63, "KMOD_%s", authid)
  221. format(vaultdata, 63, "%d", knife_model[id])
  222. set_vaultdata(vaultkey, vaultdata)
  223. }
  224.  
  225. LoadData(id)
  226. {
  227. new authid[32]
  228. get_user_authid(id,authid,31)
  229.  
  230. new vaultkey[64], vaultdata[64]
  231.  
  232. format(vaultkey, 63, "KMOD_%s", authid)
  233. get_vaultdata(vaultkey, vaultdata, 63)
  234. knife_model[id] = str_to_num(vaultdata)
  235.  
  236. }
  237. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  238. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
  239. */

_________________
Kép

[steam]alfaaaa[/steam]


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


Ki van itt

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