Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Wklejka 1zot74sls4jok dodana przez Camper.Kampi, 08.08.2013 19:54
Typ:



1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
452.
453.
454.
455.
456.
457.
458.
459.
460.
461.
462.
463.
464.
465.
466.
467.
468.
469.
470.
471.
472.
473.
474.
475.
476.
477.
478.
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
#include <engine>
#include <fun>
#include <csx>
#include <xs>
#include <hamsandwich>
#include <codmod>
 
new const nazwa[] = "Miotacz (Klasa Super Premium)";
new const opis[] = "145hp bazowe, 145% biegu,posiada miotacz ognia zamiast noza";
new const bronie = 1<<CSW_M3;
new const zdrowie = 45;
new const kondycja = 45;
new const inteligencja = 10;
new const wytrzymalosc = 7;
 
new bool:ma_klase[33];
 
new wpn_ft
new sprite_fire
new sprite_burn
new sprite_xplo
new g_freezetime
new g_restarted
new Float:g_starttime
new cvar_enabled
new cvar_client_buy
new cvar_damage
new cvar_xplode_dmg
new cvar_cost
new cvar_fuelcost
new cvar_fueltank
new cvar_buyzone
new cvar_buytime
new cvar_damage_dis
new cvar_splash_dis
new g_buyzone[33]
new g_FuelTank[33]
new g_Activated[33]
new Float:g_Delay[33]
new g_hasFlamethrower[33]
new g_FireFlamethrower[33]
new g_BuyFuel[33]
new cvar_expcod
 
static PLUGIN_NAME[] 	= "Miotacz ognia for cod"
static PLUGIN_AUTHOR[] 	= "Cheap_Suit eited by Crew"
static PLUGIN_VERSION[] = "1.1"
 
public plugin_init()
{
	RegisterHam(Ham_Spawn, "player", "Spawn", 1);
	cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
	register_cvar("ft_version", PLUGIN_VERSION, FCVAR_SERVER)
 
	cvar_enabled 	= register_cvar("ft_enable", 		"1")
	cvar_fueltank 	= register_cvar("ft_fueltank", 		"50")
	cvar_damage	= register_cvar("ft_damage", 		"2")
	cvar_xplode_dmg = register_cvar("ft_xplode_dmg", 	"30")
	cvar_damage_dis	= register_cvar("ft_damage_dis", 	"100")
	cvar_splash_dis = register_cvar("ft_splash_dis", 	"40")
	cvar_expcod 	= register_cvar("cod_xpmiotacz", 	"20")
 
	register_event("DeathMsg",  	"Event_DeathMsg", 	"a")
	register_event("CurWeapon", 	"Event_CurWeapon", 	"be", 	"1=1")
	register_event("StatusIcon", 	"Event_BuyZone",  	"b", 	"2=buyzone")
	register_event("HLTV", 		"Event_NewRound", 	"a", 	"1=0", "2=0")
	register_event("TextMsg", 	"Event_WeaponDrop", 	"be", 	"2=#Weapon_Cannot_Be_Dropped")
	register_event("TextMsg", 	"Event_GameRestart", 	"a", 	"2=#Game_Commencing", 	"2=#Game_will_restart_in")
	register_logevent("LogEvent_RoundStart", 		 2, 	"0=World triggered",	"1=Round_Start")
 
	register_forward(FM_CmdStart,		"fw_CmdStart")
	register_forward(FM_PlayerPostThink, 	"fw_PlayerPostThink")
	register_forward(FM_UpdateClientData, 	"fw_UpdateClientData_Post", 1)
 
	register_think("flamethrower", "think_Flamethrower")
	register_touch("flamethrower", "player", "touch_Flamethrower")
	wpn_ft = custom_weapon_add("weapon_flamethrower", 0, "flamethrower")
 
	if(!get_pcvar_num(cvar_enabled)) pause("ad", PLUGIN_NAME)
}
 
public plugin_precache()
{
	precache_sound("flamethrower.wav")
	precache_sound("items/ammopickup2.wav")
 
	sprite_xplo = precache_model("sprites/zerogxplode.spr")
	sprite_fire = precache_model("sprites/explode1.spr")
	sprite_burn = precache_model("sprites/xfire.spr")
 
	precache_model("models/v_knife.mdl")
	precache_model("models/p_knife.mdl")
	precache_model("models/shield/v_shield_knife.mdl")
	precache_model("models/shield/p_shield_knife.mdl")
	precache_model("models/w_flamethrower.mdl")
	precache_model("models/v_flamethrower.mdl")
	precache_model("models/p_flamethrower.mdl")
}
 
public cmd_GiveFlamethrowers(id, level, cid) 
{
	if(!cmd_access(id, level, cid, 2))
		return PLUGIN_HANDLED
 
	new Arg1[64], target
	read_argv(1, Arg1, 63)
 
	new adminName[32]
	get_user_name(id, adminName, 31)
 
	new targetTeam
	new Players[32], iNum
	if(Arg1[0] == '@') 
	{
		if(equali(Arg1[1], "all")) 
		{
			targetTeam = 0
			get_players(Players, iNum, "a")
		} 
		else if(equali(Arg1[1], "t")) 
		{
			targetTeam = 1
			get_players(Players, iNum, "ae" , "terrorist")
 
		} 
		else if(equali(Arg1[1], "ct")) 
		{
			targetTeam = 2
			get_players(Players, iNum, "ae" , "ct")
		}
 
		for(new i = 0; i < iNum; ++i)
		{
			target = Players[i]
 
			g_hasFlamethrower[target] = 1
			g_FuelTank[target] = get_pcvar_num(cvar_fueltank)
 
			new temp[2], weaponID = get_user_weapon(target, temp[0], temp[1])
			if(weaponID == CSW_KNIFE) 
			{
				g_Activated[target] = true
				set_flamethrower_model(target)
			}
 
			client_cmd(target, "spk items/ammopickup2")
			client_print(target, print_chat, "You have been given a flamethrower (press 3 to use)")
		}
 
		switch(targetTeam)
		{
			case 0: client_print(0, print_chat, "Admin: %s has given everyone a flamethrower", adminName)
				case 1: client_print(0, print_chat, "Admin: %s has given all terrorist a flamethrower", adminName)
				case 2: client_print(0, print_chat, "Admin: %s has given all ct's a flamethrower", adminName)
			}
	}
	else
	{
		target = cmd_target(id, Arg1, 0)
		if(!is_user_connected(target) || !is_user_alive(target))
			return PLUGIN_HANDLED
 
		new targetName[32]
		get_user_name(target, targetName, 31)
 
		g_hasFlamethrower[target] = 1
		g_FuelTank[target] = get_pcvar_num(cvar_fueltank)
 
		new temp[2], weaponID = get_user_weapon(target, temp[0], temp[1])
		if(weaponID == CSW_KNIFE) 
		{
			g_Activated[target] = true
			set_flamethrower_model(target)
			entity_set_int(id, EV_INT_weaponanim, 9)
		}
 
		client_cmd(target, "spk items/ammopickup2")
		client_print(target, print_chat, "You have been given a flamethrower (press 3 to use)")
		client_print(target, print_chat, "Admin: %s has given you a flamethrower", adminName)
	}
	return PLUGIN_HANDLED
}
 
public cmd_BuyFlamethrower(id)
{
	if(!get_pcvar_num(cvar_client_buy))
		return PLUGIN_CONTINUE
 
	if(get_pcvar_num(cvar_buyzone))
	{
		if(!g_buyzone[id])
		{
			client_print(id, print_center, "You need to be in the buyzone")
			return PLUGIN_HANDLED
		} 
	}
 
	if(get_pcvar_num(cvar_buytime))
	{
		new Float:fBuyTime = get_cvar_float("mp_buytime") * 60
		if(!g_freezetime && (get_gametime() - g_starttime) > fBuyTime) 
		{
			client_print(id, print_center, "%d seconds have passed.^nYou can't buy anything now!", floatround(fBuyTime))
			return PLUGIN_HANDLED
		}
	}
 
	new iMoney = cs_get_user_money(id)
	new iCost = get_pcvar_num(cvar_cost)
 
	if(!is_user_alive(id)) 
		client_print(id, print_center, "You cant buy when your dead!")
	else if(g_hasFlamethrower[id])
		client_print(id, print_center, "You already own that weapon.")
	else if(iMoney < iCost)
		client_print(id, print_center, "Insufficient funds! ($%d)", iCost)
	else
	{
		g_hasFlamethrower[id] = 1
		g_FuelTank[id] = get_pcvar_num(cvar_fueltank)
 
		new temp[2], weaponID = get_user_weapon(id, temp[0], temp[1])
		if(weaponID == CSW_KNIFE) 
		{
			g_Activated[id] = true
			set_flamethrower_model(id)
		}
 
		cs_set_user_money(id, iMoney - iCost)
		client_cmd(id, "spk items/ammopickup2")
		client_print(id, print_chat, "You bought a flamethrower (press 3 to use)")
	}
	return PLUGIN_HANDLED
}
 
public Event_BuyZone(id) {
	g_buyzone[id] = read_data(1)
}
 
public Event_GameRestart() {
	g_restarted = 1
}
 
public Event_NewRound() 
{
	if(g_restarted)
	{
		new Players[32], iNum = 0
		get_players(Players, iNum)
		for(new i = 0; i < iNum; i++) 
		{
			new id = Players[i]
 
			g_FuelTank[id] = 0
			g_Activated[id] = 0
			g_hasFlamethrower[id] = 0
 
			new temp[2], weaponID = get_user_weapon(id, temp[0], temp[1])
			if(weaponID == CSW_KNIFE) set_knife_model(id)
 
			g_restarted = 0
		}
	}
 
	new flamethrowers = -1
	while((flamethrowers = find_ent_by_class(flamethrowers, "flamethrower")))
		remove_entity(flamethrowers)
 
	g_freezetime = 1
}
 
public LogEvent_RoundStart()
{
	g_freezetime = 0
	g_starttime = get_gametime()
}
 
public Event_WeaponDrop(id)
{
	if(!is_user_alive(id) || !g_Activated[id])
		return PLUGIN_CONTINUE
 
	client_print(id, print_center, "")
	return PLUGIN_HANDLED
}
 
public Event_DeathMsg() 
{ 
	new id = read_data(2)
	if(!is_user_connected(id) || !g_hasFlamethrower[id]) {
		return PLUGIN_CONTINUE
	}
 
	return PLUGIN_CONTINUE
}
 
public Event_CurWeapon(id)
{
	if(!is_user_alive(id) || !g_hasFlamethrower[id]) 
		return PLUGIN_CONTINUE
 
	new WeaponID = read_data(2)
	switch(WeaponID) 
	{
		case CSW_KNIFE:
		{
			set_task(0.3, "task_ActivateFlamethrower", id)
			set_flamethrower_model(id)
			entity_set_int(id, EV_INT_weaponanim, 9)
		}
		default: g_Activated[id] = 0
	}
	return PLUGIN_CONTINUE
}
 
public touch_Flamethrower(ent, id)
{
	if(!is_valid_ent(ent) || !is_user_alive(id)) 
		return PLUGIN_CONTINUE
 
	if(g_hasFlamethrower[id])
		return PLUGIN_CONTINUE
 
	if(has_shield(id))
		return PLUGIN_CONTINUE
 
	g_hasFlamethrower[id] = 1
	client_cmd(id, "spk items/ammopickup2")
	g_FuelTank[id] = entity_get_int(ent, EV_INT_iuser4)
	show_fuel_percentage(id)
 
	new temp[2], weaponID = get_user_weapon(id, temp[0], temp[1])
	if(weaponID == CSW_KNIFE) 
	{
		g_Activated[id] = true
		set_flamethrower_model(id)
		entity_set_int(id, EV_INT_weaponanim, 9)
	}
	remove_entity(ent)
 
	return PLUGIN_CONTINUE
}
 
public fw_UpdateClientData_Post(id, sendweapons, cd_handle) 
{
	if(!g_hasFlamethrower[id] || !g_Activated[id])
		return FMRES_IGNORED
 
	set_cd(cd_handle, CD_ID, 0)
	return FMRES_HANDLED
}
 
public fw_CmdStart(id, uc_handle, seed) 
{
	if(!g_hasFlamethrower[id] || !g_Activated[id])
		return FMRES_IGNORED
 
	new buttons = get_uc(uc_handle, UC_Buttons)
	if(buttons & IN_ATTACK)
	{
		g_FireFlamethrower[id] = 1
 
		buttons &= ~IN_ATTACK
		set_uc(uc_handle, UC_Buttons, buttons)
	} else 
	g_FireFlamethrower[id] = 0
 
	return FMRES_HANDLED
}
 
public fw_PlayerPostThink(id)
{
	if(!is_user_connected(id) || !is_user_alive(id))
		return FMRES_IGNORED
 
	if(!g_hasFlamethrower[id] || !g_Activated[id])
		return FMRES_IGNORED
 
	if(entity_get_int(id, EV_INT_waterlevel) > 1)
		return FMRES_IGNORED
 
	if(has_shield(id))
	{
		return FMRES_IGNORED
	}
 
	if(g_BuyFuel[id])
	{
		if((g_Delay[id] + 0.2) < get_gametime())
		{
			buy_fuel(id)
			g_Delay[id] = get_gametime()
		}
	}
 
	if(g_FireFlamethrower[id])
	{
		if(g_FuelTank[id] > 0)
		{
			if((g_Delay[id] + 0.2) < get_gametime())
			{
				g_FuelTank[id] -= 1
				g_Delay[id] = get_gametime()
			}
 
			new Float:fOrigin[3], Float:fVelocity[3]
			entity_get_vector(id,EV_VEC_origin, fOrigin)
			VelocityByAim(id, 35, fVelocity)
 
			new Float:fTemp[3], iFireOrigin[3]
			xs_vec_add(fOrigin, fVelocity, fTemp)
			FVecIVec(fTemp, iFireOrigin)
 
			new Float:fFireVelocity[3], iFireVelocity[3]
			VelocityByAim(id, get_pcvar_num(cvar_damage_dis), fFireVelocity)
			FVecIVec(fFireVelocity, iFireVelocity)
 
			create_flames_n_sounds(id, iFireOrigin, iFireVelocity)
 
			new doDamage
			switch(get_cvar_num("mp_friendlyfire"))
			{
				case 0: doDamage = 0
					case 1: doDamage = 1
				}
 
			show_fuel_percentage(id)
			direct_damage(id, doDamage)
			indirect_damage(id, doDamage)
			custom_weapon_shot(wpn_ft, id)
		} else
		client_print(id, print_center, "Brak Benzyny")
	}
	return FMRES_IGNORED
}
 
public think_Flamethrower(ent)
{
	if(is_valid_ent(ent) && entity_get_float(ent, EV_FL_health) < 950.0) 
	{
		new Float:fOrigin[3], iOrigin[3]
		entity_get_vector(ent, EV_VEC_origin, fOrigin)
		FVecIVec(fOrigin, iOrigin)
 
		message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
		write_byte(99)
		write_short(ent)
		message_end()
 
		message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
		write_byte(3)
		write_coord(iOrigin[0])
		write_coord(iOrigin[1])
		write_coord(iOrigin[2])
		write_short(sprite_xplo)
		write_byte(50)
		write_byte(15)
		write_byte(0)
		message_end()
 
		RadiusDamage(fOrigin, get_pcvar_num(cvar_xplode_dmg), entity_get_int(ent, EV_INT_iuser4))
		remove_entity(ent)
	}
	if(is_valid_ent(ent)) entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.01)
}
 
public create_flames_n_sounds(id, origin[3], velocity[3])
{
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
	write_byte(120)
	write_coord(origin[0])
	write_coord(origin[1])
	write_coord(origin[2
			
		

Dodanych wklejek: 11179
Powered By (Pav32) Pastebin © 2011