hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 396 felhasználó van jelen :: 3 regisztrált, 0 rejtett és 393 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], Google [Bot], Majestic-12 [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: ZP jetpack
HozzászólásElküldve:2014.10.30. 08:52 
Offline
Senior Tag
Avatar

Csatlakozott:2013.11.20. 15:40
Hozzászólások:259
Megköszönt másnak: 7 alkalommal
Megköszönték neki: 25 alkalommal
Sziasztok, valaki tudná nekem javítani ezt az errort:
(tudom, hogy igy is lefordítja, de nekem ez nélkül kéne.)

L 10/30/2014 - 00:00:00: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 10/30/2014 - 00:00:00: [ZP] Invalid Player (23)
L 10/30/2014 - 00:00:00: [AMXX] Run time error 10 (plugin "zp_extra_jetpack_bazooka32.amxx") (native "zp_get_user_zombie") - debug not enabled!

[ZP] Extra cucc: JetPack+Rakétavető

_________________
rwT* Szerverek!

Különleges játékélmény különleges szerverektől.
Bővebb információkért nézz az alábbi tartalmak után.

( FaceBook ) ( YouTube ) ( Web ) ( GameTracker )


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ZP jetpack
HozzászólásElküldve:2014.10.30. 09:52 
Offline
Minden6ó
Avatar

Csatlakozott:2011.01.19. 12:14
Hozzászólások:4294
Megköszönt másnak: 219 alkalommal
Megköszönték neki: 289 alkalommal
Elsőnek debugold és a debugolt a logot másold.

_________________
<<eb@>>Team Website - Közösség
17Buddies - Általam készített pályák.
GameBanana - Általam készített pályák/vágott hangok.

Kép
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ZP jetpack
HozzászólásElküldve:2014.10.30. 10:25 
Offline
Imperátor
Avatar

Csatlakozott:2009.04.21. 09:33
Hozzászólások:3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
+ A kódot is másold be.
(Elég lesz majd amúgy annyit ellenőrizni, hogy játékos-e az adott id)

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ZP jetpack
HozzászólásElküldve:2014.10.30. 10:39 
Offline
Senior Tag
Avatar

Csatlakozott:2013.11.20. 15:40
Hozzászólások:259
Megköszönt másnak: 7 alkalommal
Megköszönték neki: 25 alkalommal
Itt a debuggolt:

L 10/30/2014 - 10:37:39: [ZP] Invalid Player (23)
L 10/30/2014 - 10:37:39: [AMXX] Displaying debug trace (plugin "zp_extra_jetpack_bazooka32.amxx")
L 10/30/2014 - 10:37:39: [AMXX] Run time error 10: native error (native "zp_get_user_zombie")
L 10/30/2014 - 10:37:39: [AMXX] [0] zp_extra_jetpack_bazooka32.sma::jp_forward (line 173)
L 10/30/2014 - 10:37:39: [AMXX] [1] zp_extra_jetpack_bazooka32.sma::fm_startFrame (line 167)

SMA Forráskód: [ Mindet kijelol ]
  1. /*|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|*
  2. *.
  3. * [ZP] Extra Item Jetpack+Bazooka 3.2
  4. *
  5. *|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|*
  6. *
  7. * Original Plugin:
  8. * AMX Jetpack
  9. * BY
  10. * (c) Copyright 2005, KleeneX
  11. * This file is provided as is (no warranties)
  12. *
  13. * CREDITS:
  14. * MeRcyLeZZ |>>>| bug fix, some code from [ZP] Stamina (http://forums.alliedmods.net/showpost.p ... count=1300)
  15. * mogel |>>>| Icon code form Predator-Mod (http://forums.alliedmods.net/showthread ... t=predator)
  16. *
  17. *|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|*
  18. *
  19. * Plagued Version 3.2 by B!gBud
  20. *
  21. *
  22. * Allows Humans buy a Jetpack+Bazooka in Zombie Plague [4.0]
  23. *
  24. *
  25. * CVARS:
  26. * zp_jetpack 2 // 0 = Off / 1 = have Knive & Hold ATTACK / 2 = Hold JUMP and DUCK
  27. *
  28. * zp_jp_forward_speed 300 // Set the forward speed(when you fly and press FORWARD)
  29. * zp_jp_up_speed 35 // Set the UP speed(when you press ATTACK and JUMP up)
  30. * zp_jp_accelerate 100 // How fast you get to the max ForwardSpeed
  31. *
  32. * zp_jp_rocket_delay 12 // How long you got to wait to shoot the next rocket(in sec.)
  33. * zp_jp_rocket_speed 1500 // Set the rocket Speed
  34. * zp_jp_rocket_damage 1500 // Set the max rocket Damage
  35. * zp_jp_damage_radius 350 // Set the radius of a rocket explosion
  36. *
  37. * zp_jp_max_engery 100 // Set the max Energy for the Jetpack
  38. * zp_jp_engery 10 // Set how many Energy need the JP to fly (time interval is "zp_jp_energy_cal")
  39. * zp_jp_regain_energy 3 // Set how fast you get JP_Energy back, when you on the ground (time interval is "zp_jp_energy_cal")
  40. * zp_jp_energy_cal 1.0 // Set time interval for "zp_jp_engery" & "zp_jp_regain_energy"
  41. * zp_jp_oneround 1 // 0 = jetpack stay on a new round if someone alive / 1 = jetpack for One Round only
  42. *
  43. *|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|**|_/=\_|*/
  44.  
  45. #include <amxmodx>
  46. #include <fun>
  47. #include <engine>
  48. #include <fakemeta>
  49. #include <hamsandwich>
  50. #if defined _zombieplague_included
  51. #endinput
  52. #endif
  53. #define _zombieplague_included
  54.  
  55. #define ZP_TEAM_ZOMBIE (1<<0)
  56. #define ZP_TEAM_HUMAN (1<<1)
  57. #define ZP_TEAM_NEMESIS (1<<2)
  58. #define ZP_TEAM_SURVIVOR (1<<3)
  59.  
  60. enum
  61. {
  62. MODE_INFECTION = 1,
  63. MODE_NEMESIS,
  64. MODE_SURVIVOR,
  65. MODE_SWARM,
  66. MODE_MULTI,
  67. MODE_PLAGUE
  68. }
  69.  
  70. enum
  71. {
  72. WIN_NO_ONE = 0,
  73. WIN_ZOMBIES,
  74. WIN_HUMANS
  75. }
  76.  
  77. #define ZP_PLUGIN_HANDLED 97
  78.  
  79. native zp_get_user_zombie(id)
  80. native zp_get_user_nemesis(id)
  81. native zp_get_user_survivor(id)
  82. native zp_get_user_first_zombie(id)
  83. native zp_get_user_last_zombie(id)
  84. native zp_get_user_last_human(id)
  85. native zp_get_user_zombie_class(id)
  86. native zp_get_user_next_class(id)
  87. native zp_set_user_zombie_class(id, classid)
  88. native zp_get_user_ammo_packs(id)
  89. native zp_set_user_ammo_packs(id, amount)
  90. native zp_get_zombie_maxhealth(id)
  91. native zp_get_user_batteries(id)
  92. native zp_set_user_batteries(id, charge)
  93. native zp_get_user_nightvision(id)
  94. native zp_set_user_nightvision(id, set)
  95. native zp_infect_user(id, infector = 0, silent = 0, rewards = 0)
  96. native zp_disinfect_user(id, silent = 0)
  97. native zp_make_user_nemesis(id)
  98. native zp_make_user_survivor(id)
  99. native zp_respawn_user(id, team)
  100. native zp_force_buy_extra_item(id, itemid, ignorecost = 0)
  101. native zp_override_user_model(id, const newmodel[], modelindex = 0)
  102. native zp_has_round_started()
  103. native zp_is_nemesis_round()
  104. native zp_is_survivor_round()
  105. native zp_is_swarm_round()
  106. native zp_is_plague_round()
  107. native zp_get_zombie_count()
  108. native zp_get_human_count()
  109. native zp_get_nemesis_count()
  110. native zp_get_survivor_count()
  111. native zp_register_extra_item(const name[], cost, teams)
  112. native zp_register_zombie_class(const name[], const info[], const model[], const clawmodel[], hp, speed, Float:gravity, Float:knockback)
  113. native zp_get_extra_item_id(const name[])
  114. native zp_get_zombie_class_id(const name[])
  115. native zp_get_zombie_class_info(classid, info[], len)
  116. forward zp_round_started(gamemode, id)
  117. forward zp_round_ended(winteam)
  118. forward zp_user_infected_pre(id, infector, nemesis)
  119. forward zp_user_infected_post(id, infector, nemesis)
  120. forward zp_user_humanized_pre(id, survivor)
  121. forward zp_user_humanized_post(id, survivor)
  122. forward zp_user_infect_attempt(id, infector, nemesis)
  123. forward zp_user_humanize_attempt(id, survivor)
  124. forward zp_extra_item_selected(id, itemid)
  125. forward zp_user_unfrozen(id)
  126. forward zp_user_last_zombie(id)
  127. forward zp_user_last_human(id)
  128.  
  129. #define ZP_TEAM_ANY 0
  130. #define ZP_TEAM_NO_ONE 0
  131.  
  132.  
  133. #define PLUGINNAME "Jetpack+Bazoka"
  134. #define VERSION "3.2"
  135. #define AUTHOR "B!gBud"
  136.  
  137. #define ACCESS_LEVEL ADMIN_LEVEL_A
  138. #define VOTE_ACCESS ADMIN_CFG
  139.  
  140. #define TE_EXPLOSION 3
  141. #define TE_BEAMFOLLOW 22
  142. #define TE_BEAMCYLINDER 21
  143.  
  144. #define JETPACK_COST 25 // set how may ammopacks the Jatpack+Rocket cost
  145.  
  146. new ROCKET_MDL[64] = "models/rpgrocket.mdl"
  147. new ROCKET_SOUND[64] = "weapons/rocketfire1.wav"
  148. new getrocket[64] = "items/9mmclip2.wav"
  149.  
  150. new bool:fly[33] = false
  151. new bool:rocket[33] = false
  152. new bool:rksound[33] = false
  153. new bool:shot[33] = false
  154.  
  155. new Float:gltime = 0.0
  156. new Float:last_Rocket[33] = 0.0
  157. new Float:jp_cal[33] = 0.0
  158. new Float:jp_soun[33] = 0.0
  159. new flame, explosion, trail, white
  160. new g_flyEnergy[33], hasjet[33]
  161. new cvar_jetpack, cvar_jetpackSpeed, cvar_jetpackUpSpeed, cvar_jetpackAcrate ,cvar_RocketDelay, cvar_RocketSpeed, cvar_RocketDmg, cvar_Dmg_range, cvar_fly_max_engery, cvar_fly_engery, cvar_regain_energy, g_item_jetpack, cvar_cal_time, cvar_oneround
  162.  
  163.  
  164. public plugin_init() {
  165. register_plugin(PLUGINNAME, VERSION, AUTHOR)
  166.  
  167. g_item_jetpack = zp_register_extra_item("Jetpack+Bazooka (one Round)", JETPACK_COST, ZP_TEAM_HUMAN)
  168. register_clcmd("drop","cmdDrop")
  169. register_clcmd("say /jphelp","cmdHelp",0,": Displays Jetpack help")
  170.  
  171. new ver[64]
  172. format(ver,63,"%s v%s",PLUGINNAME,VERSION)
  173. register_cvar("zp_jp_version",ver,FCVAR_SERVER)
  174.  
  175. cvar_jetpack = register_cvar("zp_jetpack", "2")
  176.  
  177. cvar_jetpackSpeed=register_cvar("zp_jp_forward_speed","300.0")
  178. cvar_jetpackUpSpeed=register_cvar("zp_jp_up_speed","35.0")
  179. cvar_jetpackAcrate=register_cvar("zp_jp_accelerate","100.0")
  180.  
  181. cvar_RocketDelay=register_cvar("zp_jp_rocket_delay","12.0")
  182. cvar_RocketSpeed=register_cvar("zp_jp_rocket_speed","1500")
  183. cvar_RocketDmg=register_cvar("zp_jp_rocket_damage","1500")
  184. cvar_Dmg_range=register_cvar("zp_jp_damage_radius","350")
  185.  
  186. cvar_fly_max_engery = register_cvar("zp_jp_max_engery", "100")
  187. cvar_fly_engery = register_cvar("zp_jp_engery", "10")
  188. cvar_regain_energy = register_cvar("zp_jp_regain_energy", "3")
  189. cvar_cal_time = register_cvar("zp_jp_energy_cal", "1.0")
  190. cvar_oneround = register_cvar("zp_jp_oneround", "0")
  191.  
  192.  
  193. register_event("CurWeapon", "check_models", "be")
  194. register_event("DeathMsg", "player_die", "a")
  195. register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
  196.  
  197. register_forward(FM_StartFrame, "fm_startFrame")
  198. register_forward(FM_EmitSound, "emitsound")
  199. }
  200.  
  201. public plugin_precache() {
  202. precache_model("models/p_egon.mdl")
  203. precache_model("models/v_egon.mdl")
  204. precache_model("models/w_egon.mdl")
  205. precache_sound("jetpack.wav")
  206. precache_sound("jp_blow.wav")
  207.  
  208. precache_model(ROCKET_MDL)
  209. precache_sound(ROCKET_SOUND)
  210. precache_sound(getrocket)
  211.  
  212. explosion = precache_model("sprites/zerogxplode.spr")
  213. trail = precache_model("sprites/smoke.spr")
  214. flame = precache_model("sprites/xfireball3.spr")
  215. white = precache_model("sprites/white.spr")
  216. }
  217.  
  218. public client_putinserver(id) {
  219. fly[id] = false
  220. rocket[id] = false
  221. hasjet[id] = 0
  222. g_flyEnergy[id] = 0
  223. }
  224.  
  225. public client_disconnect(id) {
  226. fly[id] = false
  227. rocket[id] = false
  228. hasjet[id] = 0
  229. g_flyEnergy[id] = 0
  230. }
  231.  
  232. public event_round_start()
  233. {
  234. remove_jetpacks();
  235. if (get_pcvar_num(cvar_oneround) == 1) {
  236. for (new id; id <= 32; id++) hasjet[id] = 0, g_flyEnergy[id] = 0, fly[id] = false;
  237. }
  238. }
  239.  
  240. public fm_startFrame(){
  241.  
  242. gltime = get_gametime()
  243. static id
  244. for (id = 1; id <= 32; id++)
  245. {
  246. jp_forward(id)
  247. }
  248. }
  249.  
  250. public jp_forward(player) {
  251.  
  252. if (!is_user_alive(player) && (zp_get_user_zombie(player) || zp_get_user_nemesis(player) || zp_get_user_survivor(player)))
  253. return FMRES_IGNORED
  254.  
  255. if (!hasjet[player])
  256. return FMRES_IGNORED
  257.  
  258. if(jp_cal[player] < gltime){
  259. jp_energy(player); jp_cal[player] = gltime + get_pcvar_float(cvar_cal_time)
  260. }
  261.  
  262. check_rocket(player)
  263.  
  264. new clip,ammo
  265. new wpnid = get_user_weapon(player,clip,ammo)
  266. if (wpnid == CSW_KNIFE){
  267. if(get_pcvar_num(cvar_jetpack) == 1){
  268. if(!(pev(player, pev_flags)&FL_ONGROUND) && pev(player,pev_button)&IN_ATTACK){
  269. if((g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.3) && (g_flyEnergy[player] <= get_pcvar_num(cvar_fly_max_engery))){
  270. if(jp_soun[player] < gltime){
  271. emit_sound(player,CHAN_ITEM,"jetpack.wav",1.0,ATTN_NORM,1,PITCH_HIGH)
  272. jp_soun[player] = gltime + 1.0
  273. }
  274. }
  275. else if((g_flyEnergy[player] > 0) && (g_flyEnergy[player] < get_pcvar_num(cvar_fly_max_engery)*0.3)){
  276. if(jp_soun[player] < gltime){
  277. emit_sound(player,CHAN_ITEM,"jp_blow.wav",1.0,ATTN_NORM,1,PITCH_HIGH)
  278. jp_soun[player] = gltime + 1.0
  279. }
  280. }
  281. }
  282. human_fly(player)
  283. attack(player)
  284. }
  285. if((pev(player,pev_button)&IN_ATTACK2)){
  286. attack2(player)
  287. }
  288. }
  289. if((get_pcvar_num(cvar_jetpack) == 2 && !(pev(player, pev_flags)&FL_ONGROUND)) && (pev(player,pev_button)&IN_JUMP && pev(player,pev_button)&IN_DUCK)){
  290. if((g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.3) && (g_flyEnergy[player] <= get_pcvar_num(cvar_fly_max_engery))){
  291. if(jp_soun[player] < gltime){
  292. emit_sound(player,CHAN_ITEM,"jetpack.wav",1.0,ATTN_NORM,1,PITCH_HIGH)
  293. jp_soun[player] = gltime + 1.0
  294. }
  295. }
  296. else if((g_flyEnergy[player] > 0) && (g_flyEnergy[player] < get_pcvar_num(cvar_fly_max_engery)*0.3)){
  297. if(jp_soun[player] < gltime){
  298. emit_sound(player,CHAN_ITEM,"jp_blow.wav",1.0,ATTN_NORM,1,PITCH_HIGH)
  299. jp_soun[player] = gltime + 1.0
  300. }
  301. }
  302. human_fly(player)
  303. attack(player)
  304. }
  305. // Icon Show system
  306. /*if (!is_user_alive(player) && zp_get_user_zombie(player) && zp_get_user_nemesis(player) && zp_get_user_survivor(player))
  307. Icon_Energy({0, 255, 0}, 0, player);
  308. //Icon_Energy({128, 128, 0}, 0, player);
  309. //Icon_Energy({255, 255, 0}, 0, player);
  310.  
  311. }*/
  312. if((g_flyEnergy[player] >= get_pcvar_num(cvar_fly_max_engery)*0.8) && (g_flyEnergy[player] <= get_pcvar_num(cvar_fly_max_engery))){
  313. Icon_Energy({0, 255, 0}, 1, player); // Green
  314. }
  315. else if((g_flyEnergy[player] >= get_pcvar_num(cvar_fly_max_engery)*0.5) && (g_flyEnergy[player] < get_pcvar_num(cvar_fly_max_engery)*0.8)){
  316. Icon_Energy({255, 255, 0}, 1, player); // yellow
  317. }
  318. else if((g_flyEnergy[player] >= get_pcvar_num(cvar_fly_max_engery)*0.3) && (g_flyEnergy[player] < get_pcvar_num(cvar_fly_max_engery)*0.5)){
  319. Icon_Energy({255, 215, 0}, 2, player);
  320. }
  321. else if((g_flyEnergy[player] > 0) && (g_flyEnergy[player] < get_pcvar_num(cvar_fly_max_engery)*0.3)){
  322. Icon_Energy({255, 0, 0}, 1, player);
  323. }
  324.  
  325. return FMRES_IGNORED
  326. }
  327.  
  328. public jp_energy(player) {
  329.  
  330. if (!(pev(player, pev_flags)&FL_ONGROUND) && pev(player,pev_button)&IN_ATTACK)
  331. {
  332. // Get our current velocity
  333. new clip,ammo
  334. new wpnid = get_user_weapon(player,clip,ammo)
  335. if (wpnid == CSW_KNIFE)
  336. {
  337. // flying
  338. if(g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.09)
  339. g_flyEnergy[player] = g_flyEnergy[player] - get_pcvar_num(cvar_fly_engery); // Increase distance counter
  340. }
  341. }
  342. else if ((get_pcvar_num(cvar_jetpack) == 2 && !(pev(player, pev_flags)&FL_ONGROUND)) && (pev(player,pev_button)&IN_JUMP && pev(player,pev_button)&IN_DUCK))
  343. {
  344. if(g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.09)
  345. g_flyEnergy[player] = g_flyEnergy[player] - get_pcvar_num(cvar_fly_engery); // Increase distance counter
  346. }
  347. // Walking/Runnig
  348. if (pev(player, pev_flags) & FL_ONGROUND)
  349. g_flyEnergy[player] = g_flyEnergy[player] + get_pcvar_num(cvar_regain_energy);// Decrease distance counter
  350. }
  351.  
  352. public attack(player) {
  353. //code snippa from TS_Jetpack 1.0 - Jetpack plugin for The Specialists.
  354. //http://forums.alliedmods.net/showthread.php?s=3ea22295e3e5a292fa82899676583326&t=55709&highlight=jetpack
  355. //By: Bad_Bud
  356. if(fly[player])
  357. {
  358. static Float:JetpackData[3]
  359. pev(player,pev_velocity,JetpackData)
  360.  
  361. new fOrigin[3],Float:Aim[3]
  362. VelocityByAim(player, 10, Aim)
  363. get_user_origin(player,fOrigin)
  364. fOrigin[0] -= floatround(Aim[0])
  365. fOrigin[1] -= floatround(Aim[1])
  366. fOrigin[2] -= floatround(Aim[2])
  367.  
  368.  
  369. if((pev(player,pev_button)&IN_FORWARD) && !(pev(player, pev_flags) & FL_ONGROUND))
  370. {
  371.  
  372. message_begin(MSG_ALL,SVC_TEMPENTITY)
  373. write_byte(17)
  374. write_coord(fOrigin[0])
  375. write_coord(fOrigin[1])
  376. write_coord(fOrigin[2])
  377. write_short(flame)
  378. write_byte(10)
  379. write_byte(255)
  380. message_end()
  381.  
  382. static Float:Speed
  383. Speed=floatsqroot(JetpackData[0]*JetpackData[0]+JetpackData[1]*JetpackData[1])
  384.  
  385. if(Speed!=0.0)//Makes players only lay down if their speed isn't 0; if they are thrusting forward.
  386. {
  387. set_pev(player,pev_gaitsequence,0)
  388. set_pev(player,pev_sequence,111)
  389. }
  390.  
  391. if(Speed<get_pcvar_float(cvar_jetpackSpeed))
  392. Speed+=get_pcvar_float(cvar_jetpackAcrate)
  393.  
  394. static Float:JetpackData2[3]
  395. pev(player,pev_angles,JetpackData2)
  396. JetpackData2[2]=0.0//Remove the Z value/
  397.  
  398. angle_vector(JetpackData2,ANGLEVECTOR_FORWARD,JetpackData2)
  399. JetpackData2[0]*=Speed
  400. JetpackData2[1]*=Speed
  401.  
  402. JetpackData[0]=JetpackData2[0]
  403. JetpackData[1]=JetpackData2[1]
  404. }
  405.  
  406. if(JetpackData[2]<get_pcvar_float(cvar_jetpackSpeed)&&JetpackData[2]>0.0)//Jetpacks get more power on the way down -- it helps landing.
  407. JetpackData[2]+=get_pcvar_float(cvar_jetpackUpSpeed)
  408. else if(JetpackData[2]<0.0)
  409. JetpackData[2]+=(get_pcvar_float(cvar_jetpackUpSpeed)*1.15)
  410.  
  411. set_pev(player,pev_velocity,JetpackData)
  412. }
  413. }
  414.  
  415. public attack2(player) {
  416.  
  417. if (rocket[player])
  418. {
  419.  
  420. new rocket = create_entity("info_target")
  421. if(rocket == 0) return PLUGIN_CONTINUE
  422.  
  423. entity_set_string(rocket, EV_SZ_classname, "zp_jp_rocket")
  424. entity_set_model(rocket, ROCKET_MDL)
  425.  
  426. entity_set_size(rocket, Float:{0.0, 0.0, 0.0}, Float:{0.0, 0.0, 0.0})
  427. entity_set_int(rocket, EV_INT_movetype, MOVETYPE_FLY)
  428. entity_set_int(rocket, EV_INT_solid, SOLID_BBOX)
  429.  
  430. new Float:vSrc[3]
  431. entity_get_vector(player, EV_VEC_origin, vSrc)
  432.  
  433. new Float:Aim[3],Float:origin[3]
  434. VelocityByAim(player, 64, Aim)
  435. entity_get_vector(player,EV_VEC_origin,origin)
  436.  
  437. vSrc[0] += Aim[0]
  438. vSrc[1] += Aim[1]
  439. entity_set_origin(rocket, vSrc)
  440.  
  441. new Float:velocity[3], Float:angles[3]
  442. VelocityByAim(player, get_pcvar_num(cvar_RocketSpeed), velocity)
  443.  
  444. entity_set_vector(rocket, EV_VEC_velocity, velocity)
  445. vector_to_angle(velocity, angles)
  446. entity_set_vector(rocket, EV_VEC_angles, angles)
  447. entity_set_edict(rocket,EV_ENT_owner,player)
  448. entity_set_float(rocket, EV_FL_takedamage, 1.0)
  449.  
  450. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  451. write_byte(TE_BEAMFOLLOW)
  452. write_short(rocket)
  453. write_short(trail)
  454. write_byte(25)
  455. write_byte(5)
  456. write_byte(224)
  457. write_byte(224)
  458. write_byte(255)
  459. write_byte(255)
  460. message_end()
  461.  
  462. emit_sound(rocket, CHAN_WEAPON, ROCKET_SOUND, 1.0, ATTN_NORM, 0, PITCH_NORM)
  463.  
  464. shot[player] = true
  465. last_Rocket[player] = gltime + get_pcvar_num(cvar_RocketDelay)
  466. }
  467. return PLUGIN_CONTINUE
  468. }
  469.  
  470. public check_models(id) {
  471.  
  472. if (zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id))
  473. return FMRES_IGNORED
  474.  
  475. if(hasjet[id]) {
  476. new clip,ammo
  477. new wpnid = get_user_weapon(id,clip,ammo)
  478.  
  479. if ( wpnid == CSW_KNIFE ) {
  480. switchmodel(id)
  481. }
  482. return PLUGIN_CONTINUE
  483. }
  484. return PLUGIN_CONTINUE
  485. }
  486.  
  487. public switchmodel(id) {
  488. entity_set_string(id,EV_SZ_viewmodel,"models/v_egon.mdl")
  489. entity_set_string(id,EV_SZ_weaponmodel,"models/p_egon.mdl")
  490. }
  491.  
  492. public remove_jetpacks() {
  493. new nextitem = find_ent_by_class(-1,"zp_jp_jetpack")
  494. while(nextitem) {
  495. remove_entity(nextitem)
  496. nextitem = find_ent_by_class(-1,"zp_jp_jetpack")
  497. }
  498. return PLUGIN_CONTINUE
  499. }
  500.  
  501. public emitsound(entity, channel, const sample[]) {
  502. if(is_user_alive(entity)) {
  503. new clip,ammo
  504. new weapon = get_user_weapon(entity,clip,ammo)
  505.  
  506. if(hasjet[entity] && weapon == CSW_KNIFE) {
  507. if(equal(sample,"weapons/knife_slash1.wav")) return FMRES_SUPERCEDE
  508. if(equal(sample,"weapons/knife_slash2.wav")) return FMRES_SUPERCEDE
  509.  
  510. if(equal(sample,"weapons/knife_deploy1.wav")) return FMRES_SUPERCEDE
  511. if(equal(sample,"weapons/knife_hitwall1.wav")) return FMRES_SUPERCEDE
  512.  
  513. if(equal(sample,"weapons/knife_hit1.wav")) return FMRES_SUPERCEDE
  514. if(equal(sample,"weapons/knife_hit2.wav")) return FMRES_SUPERCEDE
  515. if(equal(sample,"weapons/knife_hit3.wav")) return FMRES_SUPERCEDE
  516. if(equal(sample,"weapons/knife_hit4.wav")) return FMRES_SUPERCEDE
  517.  
  518. if(equal(sample,"weapons/knife_stab.wav")) return FMRES_SUPERCEDE
  519. }
  520. }
  521. return FMRES_IGNORED
  522. }
  523.  
  524. public Icon_Show(icon[], color[3], mode, player) {
  525.  
  526. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("StatusIcon"), {0,0,0}, player);
  527. write_byte(mode); // status (0=hide, 1=show, 2=flash)
  528. write_string(icon); // sprite name
  529. write_byte(color[0]); // red
  530. write_byte(color[1]); // green
  531. write_byte(color[2]); // blue
  532. message_end();
  533.  
  534. }
  535.  
  536. public Icon_Energy(color[3], mode, player) {
  537.  
  538. Icon_Show("item_longjump", color, mode, player)
  539. }
  540.  
  541. public human_fly(player) {
  542.  
  543. if (g_flyEnergy[player] <= get_pcvar_num(cvar_fly_max_engery)*0.1)
  544. {
  545. jp_off(player);
  546. }
  547. if (g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.1)
  548. {
  549. jp_on(player);
  550. }
  551. }
  552.  
  553. public jp_on(player) {
  554.  
  555. fly[player] = true
  556.  
  557. }
  558.  
  559. public jp_off(player) {
  560.  
  561. fly[player] = false
  562.  
  563. }
  564.  
  565. public check_rocket(player) {
  566.  
  567. if (last_Rocket[player] > gltime)
  568. {
  569. rk_forbidden(player)
  570. rksound[player] = true
  571. }
  572. else
  573. {
  574.  
  575. if (shot[player])
  576. {
  577. rksound[player] = false
  578. shot[player] = false
  579. }
  580. rk_sound(player)
  581. rk_allow(player)
  582. }
  583.  
  584. }
  585.  
  586. public rk_allow(player) {
  587.  
  588. rocket[player] = true
  589. }
  590.  
  591. public rk_forbidden(player) {
  592.  
  593. rocket[player] = false
  594.  
  595. }
  596.  
  597. public rk_sound(player) {
  598.  
  599. if (!rksound[player])
  600. {
  601. engfunc(EngFunc_EmitSound, player, CHAN_WEAPON, getrocket, 1.0, ATTN_NORM, 0, PITCH_NORM)
  602. client_print(player, print_center, "*Bazooka Ujratoltve*")
  603. rksound[player] = true
  604. }
  605. else if (rksound[player])
  606. {
  607.  
  608. }
  609.  
  610. }
  611.  
  612. public cmdHelp(id) {
  613.  
  614. new g_max = get_pcvar_num(cvar_fly_max_engery)
  615. new g_lost = get_pcvar_num(cvar_fly_engery)
  616. new g_back = get_pcvar_num(cvar_regain_energy)
  617. new g_dmg = get_pcvar_num(cvar_RocketDmg)
  618. new g_delay = get_pcvar_num(cvar_RocketDelay)
  619.  
  620. new jpmotd[2048], title[64], dpos = 0
  621. format(title,63,"[ZP] %s ver.%s",PLUGINNAME,VERSION)
  622.  
  623.  
  624. dpos += format(jpmotd[dpos],2047-dpos,"<html><head><style type=^"text/css^">pre{color:#FF0505;}body{background:#000000;margin-left:16px;margin-top:1px;}</style></head><pre><body>")
  625. dpos += format(jpmotd[dpos],2047-dpos,"<b>%s</b>^n^n",title)
  626.  
  627. dpos += format(jpmotd[dpos],2047-dpos,"Hogyan hasznaljuk:^n")
  628. dpos += format(jpmotd[dpos],2047-dpos,"=============^n^n")
  629. if(get_pcvar_num(cvar_jetpack) == 1) {
  630. dpos += format(jpmotd[dpos],2047-dpos,"- Valts kersre a loveshez! Es jobb klick^n")
  631. dpos += format(jpmotd[dpos],2047-dpos,"^n")
  632. dpos += format(jpmotd[dpos],2047-dpos,"- Bazooka hasznalata Job klick!^n^n")
  633. }
  634. else if(get_pcvar_num(cvar_jetpack) == 2){
  635. dpos += format(jpmotd[dpos],2047-dpos,"- A repuleshez nyomd a ctrl+spacet egybe!")
  636. dpos += format(jpmotd[dpos],2047-dpos,"^n")
  637. dpos += format(jpmotd[dpos],2047-dpos,"A raketa kiloveseert nyomd a Job kiclket^n^n")
  638. }
  639. dpos += format(jpmotd[dpos],2047-dpos,"INFO's^n")
  640. dpos += format(jpmotd[dpos],2047-dpos,"Max energia : <b>%i Units</b>^n^n", g_max)
  641. dpos += format(jpmotd[dpos],2047-dpos,"Jatpack repulesi sebessege %i 1masodperc. to work^n", g_lost)
  642. dpos += format(jpmotd[dpos],2047-dpos,"Energia ujratoltese %i . (when you are on the ground)^n^n", g_back)
  643. dpos += format(jpmotd[dpos],2047-dpos,"Raketa sebzese: <b>%i dmg</b>^n",g_dmg)
  644. dpos += format(jpmotd[dpos],2047-dpos,"New Rocket comes ervry <b>%i Sec.</b>^n^n", g_delay )
  645. dpos += format(jpmotd[dpos],2047-dpos,"-Hasznald egessegel!!^n")
  646.  
  647.  
  648. show_motd(id,jpmotd,title)
  649. }
  650.  
  651. public player_die() {
  652.  
  653. new id = read_data(2)
  654. if(hasjet[id]) {
  655. drop_jetpack(id)
  656. hasjet[id] = 0
  657. rocket[id] = false
  658. g_flyEnergy[id] = 0
  659. }
  660.  
  661. return PLUGIN_CONTINUE
  662. }
  663.  
  664. public cmdDrop(id) {
  665.  
  666. if(hasjet[id]) {
  667. new clip,ammo
  668. new weapon = get_user_weapon(id,clip,ammo)
  669. if(weapon == CSW_KNIFE) {
  670. drop_jetpack(id)
  671. if(!zp_get_user_zombie(id)){
  672. entity_set_string(id,EV_SZ_viewmodel,"models/v_knife.mdl")
  673. entity_set_string(id,EV_SZ_weaponmodel,"models/p_knife.mdl")
  674. }
  675. return PLUGIN_HANDLED
  676. }
  677. }
  678. return PLUGIN_CONTINUE
  679. }
  680.  
  681. public drop_jetpack(player) {
  682. if(hasjet[player]) {
  683. new Float:Aim[3],Float:origin[3]
  684. VelocityByAim(player, 64, Aim)
  685. entity_get_vector(player,EV_VEC_origin,origin)
  686.  
  687. origin[0] += Aim[0]
  688. origin[1] += Aim[1]
  689.  
  690. new jetpack = create_entity("info_target")
  691. entity_set_string(jetpack,EV_SZ_classname,"zp_jp_jetpack")
  692. entity_set_model(jetpack,"models/w_egon.mdl")
  693.  
  694. entity_set_size(jetpack,Float:{-16.0,-16.0,-16.0},Float:{16.0,16.0,16.0})
  695. entity_set_int(jetpack,EV_INT_solid,1)
  696.  
  697. entity_set_int(jetpack,EV_INT_movetype,6)
  698.  
  699. entity_set_vector(jetpack,EV_VEC_origin,origin)
  700.  
  701. Icon_Energy({255, 255, 0}, 0, player)
  702. Icon_Energy({128, 128, 0}, 0, player )
  703. Icon_Energy({0, 255, 0}, 0, player)
  704.  
  705. hasjet[player] = 0
  706. rocket[player] = false
  707. }
  708. }
  709.  
  710. public pfn_touch(ptr, ptd) {
  711. if(is_valid_ent(ptr)) {
  712. new classname[32]
  713. entity_get_string(ptr,EV_SZ_classname,classname,31)
  714.  
  715. if(equal(classname, "zp_jp_jetpack")) {
  716. if(is_valid_ent(ptd)) {
  717. new id = ptd
  718. if(id > 0 && id < 34) {
  719. if(!hasjet[id] && !zp_get_user_zombie(id) && is_user_alive(id)) {
  720.  
  721. hasjet[id] = 1
  722. g_flyEnergy[id] = get_pcvar_num(cvar_fly_max_engery)
  723. rocket[id] = true
  724. client_cmd(id,"spk items/gunpickup2.wav")
  725. engclient_cmd(id,"weapon_knife")
  726. switchmodel(id)
  727. remove_entity(ptr)
  728. }
  729. }
  730. }
  731. }else if(equal(classname, "zp_jp_rocket")) {
  732. new Float:fOrigin[3]
  733. new iOrigin[3]
  734. entity_get_vector(ptr, EV_VEC_origin, fOrigin)
  735. FVecIVec(fOrigin,iOrigin)
  736. jp_radius_damage(ptr)
  737.  
  738. message_begin(MSG_BROADCAST,SVC_TEMPENTITY,iOrigin)
  739. write_byte(TE_EXPLOSION)
  740. write_coord(iOrigin[0])
  741. write_coord(iOrigin[1])
  742. write_coord(iOrigin[2])
  743. write_short(explosion)
  744. write_byte(30)
  745. write_byte(15)
  746. write_byte(0)
  747. message_end()
  748.  
  749. message_begin(MSG_ALL,SVC_TEMPENTITY,iOrigin)
  750. write_byte(TE_BEAMCYLINDER)
  751. write_coord(iOrigin[0])
  752. write_coord(iOrigin[1])
  753. write_coord(iOrigin[2])
  754. write_coord(iOrigin[0])
  755. write_coord(iOrigin[1])
  756. write_coord(iOrigin[2]+200)
  757. write_short(white)
  758. write_byte(0)
  759. write_byte(1)
  760. write_byte(6)
  761. write_byte(8)
  762. write_byte(1)
  763. write_byte(255)
  764. write_byte(255)
  765. write_byte(192)
  766. write_byte(128)
  767. write_byte(5)
  768. message_end()
  769.  
  770. if(is_valid_ent(ptd)) {
  771. new classname2[32]
  772. entity_get_string(ptd,EV_SZ_classname,classname2,31)
  773.  
  774. if(equal(classname2,"func_breakable"))
  775. force_use(ptr,ptd)
  776. }
  777.  
  778. remove_entity(ptr)
  779. }
  780. }
  781. return PLUGIN_CONTINUE
  782. }
  783.  
  784. public zp_user_infected_pre(player, infector){
  785.  
  786. Icon_Energy({0, 255, 0}, 0, player);
  787. cmdDrop(player);
  788. hasjet[player] = 0;
  789. g_flyEnergy[player] = 0;
  790. rocket[player] = false;
  791. }
  792.  
  793. public zp_extra_item_selected(player, itemid){
  794.  
  795.  
  796. new clip,ammo
  797. new weapon = get_user_weapon(player,clip,ammo)
  798.  
  799. if (itemid == g_item_jetpack)
  800. {
  801. client_print(player, print_chat, "[ZP] ird be hogy /jphelp a jetpack segicseghez")
  802. hasjet[player] = 1
  803. g_flyEnergy[player] = get_pcvar_num(cvar_fly_max_engery)
  804. rocket[player] = true
  805. client_cmd(player,"spk items/gunpickup2.wav")
  806. if(weapon == CSW_KNIFE){
  807. switchmodel(player)
  808. }
  809. else
  810. {
  811. engclient_cmd(player,"weapon_knife"),switchmodel(player)
  812. }
  813. }
  814. }
  815.  
  816. stock jp_radius_damage(entity) {
  817. new id = entity_get_edict(entity,EV_ENT_owner)
  818. for(new i = 1; i < 33; i++) {
  819. if(is_user_alive(i)) {
  820. new dist = floatround(entity_range(entity,i))
  821.  
  822. if(dist <= get_pcvar_num(cvar_Dmg_range)) {
  823. new hp = get_user_health(i)
  824. new Float:damage = get_pcvar_float(cvar_RocketDmg)-(get_pcvar_float(cvar_RocketDmg)/get_pcvar_float(cvar_Dmg_range))*float(dist)
  825.  
  826. new Origin[3]
  827. get_user_origin(i,Origin)
  828.  
  829. if(zp_get_user_zombie(id) != zp_get_user_zombie(i)) {
  830. if(hp > damage)
  831. jp_take_damage(i,floatround(damage),Origin,DMG_BLAST)
  832. else
  833. log_kill(id,i,"Jetpack Rocket",0)
  834. }
  835. }
  836. }
  837. }
  838. }
  839.  
  840. stock log_kill(killer, victim, weapon[], headshot)
  841. {
  842. // code from MeRcyLeZZ
  843. set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET)
  844. ExecuteHamB(Ham_Killed, victim, killer, 2) // set last param to 2 if you want victim to gib
  845. set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT)
  846.  
  847.  
  848. message_begin(MSG_BROADCAST, get_user_msgid("DeathMsg"))
  849. write_byte(killer)
  850. write_byte(victim)
  851. write_byte(headshot)
  852. write_string(weapon)
  853. message_end()
  854. //
  855.  
  856. if(get_user_team(killer)!=get_user_team(victim))
  857. set_user_frags(killer,get_user_frags(killer) +1)
  858. if(get_user_team(killer)==get_user_team(victim))
  859. set_user_frags(killer,get_user_frags(killer) -1)
  860.  
  861. new kname[32], vname[32], kauthid[32], vauthid[32], kteam[10], vteam[10]
  862.  
  863. get_user_name(killer, kname, 31)
  864. get_user_team(killer, kteam, 9)
  865. get_user_authid(killer, kauthid, 31)
  866.  
  867. get_user_name(victim, vname, 31)
  868. get_user_team(victim, vteam, 9)
  869. get_user_authid(victim, vauthid, 31)
  870.  
  871. log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^"",
  872. kname, get_user_userid(killer), kauthid, kteam,
  873. vname, get_user_userid(victim), vauthid, vteam, weapon)
  874.  
  875. return PLUGIN_CONTINUE;
  876. }
  877.  
  878. stock jp_take_damage(victim,damage,origin[3],bit) {
  879. message_begin(MSG_ONE,get_user_msgid("Damage"),{0,0,0},victim)
  880. write_byte(21)
  881. write_byte(20)
  882. write_long(bit)
  883. write_coord(origin[0])
  884. write_coord(origin[1])
  885. write_coord(origin[2])
  886. message_end()
  887.  
  888. set_user_health(victim,get_user_health(victim)-damage)
  889. }
  890.  

_________________
rwT* Szerverek!

Különleges játékélmény különleges szerverektől.
Bővebb információkért nézz az alábbi tartalmak után.

( FaceBook ) ( YouTube ) ( Web ) ( GameTracker )


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