hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.20. 10:48



Jelenlévő felhasználók

Jelenleg 210 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 210 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  [ 1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Extra knife menü
HozzászólásElküldve: 2015.03.28. 20:03 
Offline
Fanatikus
Avatar

Csatlakozott: 2014.10.31. 15:27
Hozzászólások: 185
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 7 alkalommal
Azt szeretném hogy, Adminkés legyen ebbe. Pl. Minden player kitudja választani a késeket kivéve az adminkést ha sima player rámegy az adminkésre azt írja: Te nem vagy Admin!
Tessék egy forráskód: Adminkés: gyorsaság,élet ujratöltődés
Aki megcsinálja megy a gomb. Nagyon megköszönném :D

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

_________________
Soha ne mondd, hogy soha.

Tisztelettel: ΔƓҽƬƬ


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