hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.28. 18:25



Jelenlévő felhasználók

Jelenleg 531 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 531 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: knife mod.
HozzászólásElküldve: 2015.02.01. 09:40 
Offline
Jómunkásember

Csatlakozott: 2014.08.22. 22:10
Hozzászólások: 477
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 8 alkalommal
Sziasztok! valaki ebből a kés mod bol kivenné az élettöltő kést? meg a p_models -et ?
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(More Damage/Low Speed)\w^n")
  65. add(menuBody, 511, "2. Bak Knife \y(No Footsteps)\w^n")
  66. add(menuBody, 511, "3. Pocket Knife \y(High Speed)\w^n")
  67. add(menuBody, 511, "4. Butcher Knife \y(Low Gravity)\w^n")
  68. add(menuBody, 511, "5. Default Knife \y(Health Regeneration)\w^n^n")
  69. add(menuBody, 511, "0. Exit^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,"<< !!HEAL IN PROGRESS!! >>")
  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] Type /knife to change your knife skins")
  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.  

_________________
Soha se késő megköszönni! :)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: knife mod.
HozzászólásElküldve: 2015.02.01. 09:45 
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
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_DAMAGE
  22.  
  23. public plugin_init() {
  24.  
  25. register_plugin(PLUGIN, VERSION, AUTHOR)
  26.  
  27. register_event( "Damage", "event_damage", "be" )
  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_DAMAGE = register_cvar("km_damage", "2")
  38. CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")
  39. CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
  40.  
  41. set_task(480.0, "kmodmsg", 0, _, _, "b")
  42. }
  43.  
  44. public plugin_precache() {
  45. precache_model("models/knife-mod/v_butcher.mdl")
  46. precache_model("models/knife-mod/v_machete.mdl")
  47. precache_model("models/knife-mod/v_bak.mdl")
  48. precache_model("models/knife-mod/v_pocket.mdl")
  49. precache_model("models/v_knife.mdl")
  50. }
  51.  
  52. public display_knife(id) {
  53. new menuBody[512]
  54. add(menuBody, 511, "\rKnife Mod\w^n^n")
  55. add(menuBody, 511, "1. Machete \y(More Damage/Low Speed)\w^n")
  56. add(menuBody, 511, "2. Bak Knife \y(No Footsteps)\w^n")
  57. add(menuBody, 511, "3. Pocket Knife \y(High Speed)\w^n")
  58. add(menuBody, 511, "4. Butcher Knife \y(Low Gravity)\w^n")
  59. add(menuBody, 511, "5. Default Knife \y(No kepesseg)\w^n^n")
  60. add(menuBody, 511, "0. Exit^n")
  61.  
  62. new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
  63. show_menu(id, keys, menuBody, -1, "Knife Mod")
  64. }
  65.  
  66. public knifemenu(id, key) {
  67. switch(key)
  68. {
  69. case 0: SetKnife(id , 4)
  70. case 1: SetKnife(id , 2)
  71. case 2: SetKnife(id , 3)
  72. case 3: SetKnife(id , 1)
  73. case 4: SetKnife(id , 0)
  74. default: return PLUGIN_HANDLED
  75. }
  76. SaveData(id)
  77. return PLUGIN_HANDLED
  78. }
  79.  
  80. public SetKnife(id , Knife) {
  81. knife_model[id] = Knife
  82.  
  83. new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
  84. if ( Weapon != CSW_KNIFE )
  85. return PLUGIN_HANDLED
  86.  
  87. new vModel[56],pModel[56]
  88.  
  89. switch(Knife)
  90. {
  91. case 0: {
  92. format(vModel,55,"models/v_knife.mdl")
  93. }
  94. case 1: {
  95. format(vModel,55,"models/knife-mod/v_butcher.mdl")
  96. }
  97. case 2: {
  98. format(vModel,55,"models/knife-mod/v_bak.mdl")
  99. }
  100. case 3: {
  101. format(vModel,55,"models/knife-mod/v_pocket.mdl")
  102. }
  103. case 4: {
  104. format(vModel,55,"models/knife-mod/v_machete.mdl")
  105. }
  106. }
  107.  
  108. entity_set_string(id, EV_SZ_viewmodel, vModel)
  109. entity_set_string(id, EV_SZ_weaponmodel, pModel)
  110.  
  111. return PLUGIN_HANDLED;
  112. }
  113.  
  114. public event_damage( id ) {
  115.  
  116. new victim_id = id;
  117. if( !is_user_connected( victim_id ) ) return PLUGIN_CONTINUE
  118. new dmg_take = read_data( 2 );
  119. new dmgtype = read_data( 3 );
  120. new Float:multiplier = get_pcvar_float(CVAR_DAMAGE);
  121. new Float:damage = dmg_take * multiplier;
  122. new health = get_user_health( victim_id );
  123.  
  124. new iWeapID, attacker_id = get_user_attacker( victim_id, iWeapID );
  125.  
  126. if( !is_user_connected( attacker_id ) || !is_user_alive( victim_id ) ) {
  127. return PLUGIN_HANDLED
  128. }
  129.  
  130. if( iWeapID == CSW_KNIFE && knife_model[attacker_id] == 4 ) {
  131.  
  132. if( floatround(damage) >= health ) {
  133. if( victim_id == attacker_id ) {
  134. return PLUGIN_CONTINUE
  135. }else{
  136. log_kill( attacker_id, victim_id, "knife", 0 );
  137. }
  138.  
  139. return PLUGIN_CONTINUE
  140. }else {
  141. if( victim_id == attacker_id ) return PLUGIN_CONTINUE
  142.  
  143. fakedamage( victim_id, "weapon_knife", damage, dmgtype );
  144. }
  145. }
  146. return PLUGIN_CONTINUE
  147. }
  148.  
  149. public CurWeapon(id)
  150. {
  151. new Weapon = get_user_weapon(id)
  152.  
  153. // Abilities
  154. set_user_footsteps(id , ( (knife_model[id] == 2 && Weapon == CSW_KNIFE) ? 1 : 0) )
  155.  
  156. new Float:Gravity = ((knife_model[id] == 1 && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
  157. set_user_gravity(id , Gravity)
  158.  
  159. // Speed
  160. new Float:Speed
  161. if(Weapon != CSW_KNIFE || knife_model[id] < 3)
  162. return PLUGIN_CONTINUE
  163. else if(knife_model[id] == 3)
  164. Speed = get_pcvar_float(CVAR_HIGHSPEED)
  165. else if(knife_model[id] == 4)
  166. Speed = get_pcvar_float(CVAR_LOWSPEED)
  167.  
  168. set_user_maxspeed(id, Speed)
  169.  
  170. return PLUGIN_HANDLED
  171.  
  172. }
  173.  
  174. stock log_kill(killer, victim, weapon[],headshot) {
  175. user_silentkill( victim );
  176.  
  177. message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
  178. write_byte( killer );
  179. write_byte( victim );
  180. write_byte( headshot );
  181. write_string( weapon );
  182. message_end();
  183.  
  184. new kfrags = get_user_frags( killer );
  185. set_user_frags( killer, kfrags++ );
  186. new vfrags = get_user_frags( victim );
  187. set_user_frags( victim, vfrags++ );
  188.  
  189. return PLUGIN_CONTINUE
  190. }
  191.  
  192.  
  193. public client_disconnect(id) {
  194. if(task_exists(id)) remove_task(id)
  195. }
  196.  
  197.  
  198. public kmodmsg() {
  199.  
  200. client_print(0,print_chat,"[AMXX] Type /knife to change your knife skins")
  201. }
  202.  
  203. public client_authorized(id)
  204. {
  205. LoadData(id)
  206. }
  207.  
  208. SaveData(id)
  209. {
  210.  
  211. new authid[32]
  212. get_user_authid(id, authid, 31)
  213.  
  214. new vaultkey[64]
  215. new vaultdata[64]
  216.  
  217. format(vaultkey, 63, "KMOD_%s", authid)
  218. format(vaultdata, 63, "%d", knife_model[id])
  219. set_vaultdata(vaultkey, vaultdata)
  220. }
  221.  
  222. LoadData(id)
  223. {
  224. new authid[32]
  225. get_user_authid(id,authid,31)
  226.  
  227. new vaultkey[64], vaultdata[64]
  228.  
  229. format(vaultkey, 63, "KMOD_%s", authid)
  230. get_vaultdata(vaultkey, vaultdata, 63)
  231. knife_model[id] = str_to_num(vaultdata)
  232.  
  233. }

_________________
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ás témája: Re: knife mod.
HozzászólásElküldve: 2015.02.01. 09:51 
Offline
Jómunkásember
Avatar

Csatlakozott: 2014.10.31. 14:51
Hozzászólások: 462
Megköszönt másnak: 73 alkalommal
Megköszönték neki: 29 alkalommal
És ez mi? :))
Kód:
add(menuBody, 511, "5. Default Knife \y(No kepesseg)\w^n^n")

És:
Kód:
#define MAX_HEALTH 255  


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