hlmod.hu

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



Jelenlévő felhasználók

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

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

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

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


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


Ki van itt

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