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 1qezzoqx1htwc dodana przez fdrest, 28.02.2012 20:35
Typ:



do tłumaczenia
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.
479.
480.
481.
482.
483.
484.
485.
486.
487.
488.
489.
490.
491.
492.
493.
494.
495.
496.
497.
498.
499.
500.
501.
502.
503.
504.
505.
506.
507.
508.
509.
510.
511.
512.
513.
514.
515.
516.
517.
518.
519.
520.
521.
522.
523.
524.
525.
526.
527.
528.
529.
530.
531.
532.
533.
534.
535.
536.
537.
538.
539.
540.
541.
542.
543.
544.
545.
546.
547.
548.
549.
550.
551.
552.
553.
554.
555.
556.
557.
558.
559.
560.
561.
562.
563.
564.
565.
566.
567.
568.
569.
570.
571.
572.
573.
574.
575.
576.
577.
578.
579.
580.
581.
582.
583.
584.
585.
586.
587.
588.
589.
590.
591.
592.
593.
594.
595.
596.
597.
598.
599.
600.
601.
602.
603.
604.
605.
606.
607.
608.
609.
610.
611.
612.
613.
614.
615.
616.
617.
618.
619.
620.
621.
622.
623.
624.
625.
626.
627.
628.
629.
630.
631.
632.
633.
634.
635.
636.
637.
638.
639.
640.
641.
642.
643.
644.
645.
646.
647.
648.
649.
650.
651.
652.
653.
654.
655.
656.
657.
658.
659.
660.
661.
662.
663.
664.
665.
666.
667.
668.
669.
670.
671.
672.
673.
674.
675.
676.
677.
678.
679.
680.
681.
682.
683.
684.
685.
686.
687.
688.
689.
690.
691.
692.
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>
 
#define PLUGIN "R Paintball Mod"
#define VERSION "5.8b"
#define AUTHOR "Rul4 - WhooKid"
 
#define TASK_DELAY 0.1 // The delay between model changing tasks
#define MODELSET_TASK 3000 // offset for the models task
#define MENU_TASK 3500
 
new onoff, cmodel, money, strip, death, protc, pbgun, pbnade, pbsnade, randomgun, maxplayers, vendetta, vendetta_cant;
new g_team_select[33], g_plyr_skin[33], g_has_kill[33];
new MenuState[33]
new ShowMenu[33]
new g_has_custom_model[33] // whether the player is using a custom model
new g_team[33]
new got_killed_by[33], vendetta_bonus[33], got_killed_times[33], in_vendetta[33]
new pbslauncher, got_slauncher;
new Float:g_models_counter // counter used to set task durations
 
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_cvar("rpaintballmod", VERSION, FCVAR_SERVER|FCVAR_UNLOGGED);
	set_cvar_string("rpaintballmod", VERSION)
	if (get_pcvar_num(onoff))
	{
 
		register_logevent("new_round", 2, "0=World triggered", "1=Round_Start");
		register_event("ResetHUD", "ev_resethud", "be");
		register_event("DeathMsg", "ev_death", "a")
		register_event("Money", "ev_money", "be");
		register_clcmd("say /respawn", "say_respawn", _, "<Respawns you if enabled>");
 
		register_clcmd("say pbguns", "enableMenu")
		register_clcmd("say /pbguns", "enableMenu")
 
		register_forward(FM_GetGameDescription, "fw_gamedesc");
		register_forward(FM_SetModel, "fw_setmodel", 1);
		if (get_pcvar_num(cmodel))
		{
			register_forward(FM_ClientUserInfoChanged, "fw_clientuserinfochanged");
			register_forward(FM_SetClientKeyValue, "fw_SetClientKeyValue")
			//register_message(get_user_msgid("ClCorpse"), "spawn_clcorpse")
			//set_msg_block(get_user_msgid("ClCorpse"), BLOCK_SET);
		}
 
		maxplayers = get_maxplayers();
 
		//initialize the menu
		for (new a = 0; a < 33; a++)
		{
			ShowMenu[a] = 1;
			in_vendetta[a] = 0
			got_killed_by[a] = -1
			got_killed_times[a] = 0
		}
		//load the config
		new file[64]
		get_configsdir(file, 63)
		format(file, 63, "%s/rpaintball.cfg", file)
 
		if(file_exists(file)) 
			server_cmd("exec %s", file)
	}
 
}
 
public plugin_precache()
{
	onoff = register_cvar("amx_pbmod", "1");
	pbgun = register_cvar("amx_pbgun", "1");
	pbnade = register_cvar("amx_pbnade", "1");
	pbsnade = register_cvar("amx_pbsnade", "1");
	if (get_pcvar_num(onoff)){
		cmodel = register_cvar("amx_pbmodel", "1");
		money = register_cvar("amx_pbmoney", "1");
		strip = register_cvar("amx_pbstrip", "1");
		death = register_cvar("amx_pbdm", "0");
		protc = register_cvar("amx_pbspawnprotect", "5");
		randomgun = register_cvar("pbgun_selectmode", "1");
		vendetta = register_cvar("pbgun_vendetta_enabled", "1");
		vendetta_cant = register_cvar("pbgun_vendetta_cant", "3");
		pbslauncher = register_cvar("pbgun_pbslauncher", "1");
 
		if (get_pcvar_num(cmodel))
			precache_model("models/player/paintballer/paintballer.mdl");
	}
}
 
public fw_gamedesc()
{
	if (get_pcvar_num(onoff))
	{
		forward_return(FMV_STRING, PLUGIN);
		return FMRES_SUPERCEDE;
	}
	return FMRES_IGNORED;
}
 
public new_round()
{
	if (get_pcvar_num(onoff) && get_pcvar_num(strip))
	{
		new ent;
		while ((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "armoury_entity")) != 0)
			engfunc(EngFunc_RemoveEntity, ent);
 
	}
 
	// Reset the models task counter			
	g_models_counter = 0.0
 
	select_new_slauncher()
 
}
 
public select_new_slauncher()
{
 
	new original = got_slauncher
 
	got_slauncher++
 
	while((!is_user_connected(got_slauncher) && !is_user_bot(got_slauncher) && got_slauncher != original))
	{
		got_slauncher++
 
		if (got_slauncher > 32)
			got_slauncher = 0
	}
 
	//client_print(0, print_chat, "%d got it", got_slauncher)
 
}
 
public ev_resethud(id)
{
	if (get_pcvar_num(onoff))
	{
		if (!task_exists(id))
			set_task(0.3, "player_spawn", id);		
	}
}
public player_spawn(id)
	if (is_user_alive(id))
	{
		if (get_pcvar_num(protc))
		{
			set_pev(id, pev_takedamage, DAMAGE_NO);
			set_task(float(get_pcvar_num(protc)), "player_godmodeoff", id+100);
		}
 
		if (get_pcvar_num(strip)) //&& !user_has_mp5(id))
		{
			if (pev(id, pev_weapons) & (1 << CSW_C4))
				engclient_cmd(id, "drop", "weapon_c4")
			fm_strip_user_weapons(id);
		}
 
		if (get_pcvar_num(money))
		{
			message_begin(MSG_ONE_UNRELIABLE, 94, _, id); 
			write_byte(1 << 5);
			message_end();
		}
 
		if (get_pcvar_num(cmodel))
		{
			set_task(0.1 + g_models_counter, "task_set_model", id+MODELSET_TASK)
			g_models_counter += TASK_DELAY
		}
 
		remove_task(id);
		set_task(random_float(0.9, 1.3), "player_weapons", id);
		set_task(2.0, "clear_moneyhud", id + 300);		
 
	}
 
public client_command(id)
	if (get_pcvar_num(cmodel))
	{		
		new command[10], speech[2];
		read_argv(0, command, 9);
		read_argv(1, speech, 1);
		if (containi(command, "join") != -1)
			if (equali(command, "jointeam"))
				g_team_select[id] = str_to_num(speech);
			else if (equali(command, "joinclass"))
				g_plyr_skin[id] = (g_team_select[id] == 1) ? str_to_num(speech) - 1: str_to_num(speech) + 3;
	}
 
public player_weapons(id)
	if (is_user_alive(id))
	{
 
		menu_cancel(id)
 
		if(in_vendetta[id])
		{
			new kname[32]; get_user_name(got_killed_by[id],kname,31);
			set_hudmessage(255, 255, 255, -1.0, 0.33, 0, 5.0, 5.0);
			show_hudmessage(id, "You took %s's shit for the last time... This is VENDETTA!!!!", kname);
		}
 
 
		set_pdata_int(id, 386, 120, 5);
		fm_give_item(id, "weapon_knife");
		if (get_user_team(id) == 1)
			fm_give_item(id, "weapon_glock18");
		else 
		{
			set_pdata_int(id, 382, 48, 5);
			fm_give_item(id, "weapon_usp");
		}
		if (get_pcvar_num(pbgun) && !vendetta_bonus[id]){
 
			if (get_pcvar_num(randomgun)==1){
 
				if(is_user_bot(id))
				{
					ShowMenu[id] = false;
					MenuState[id] = random(4);
				}
 
				if (ShowMenu[id])
					launchMenu(id);
				else
				{	
					give_menu_weapon(id, MenuState[id]);
					client_print(id, print_chat, "[RPaintballMod] Your equip menu has been disabled. Say 'pbguns' to re-enable it.")	
				}
 
			}
			else
			{
				new choose;
				if (get_pcvar_num(randomgun)==2){
					choose = random(4);
 
					if (random(20)==0){
						fm_give_item(id, "weapon_p90");
						cs_set_user_bpammo(id, CSW_P90, 300);
						set_hudmessage(255, 255, 255, -1.0, 0.33, 0, 5.0, 5.0);
						show_hudmessage(id, "Lucky you! You got a SUPER MARKER!!!!");
					}
					else
					switch (choose)
					{
						case 0: fm_give_item(id, "weapon_mp5navy");
						case 1: fm_give_item(id, "weapon_scout");
						case 2: fm_give_item(id, "weapon_m3");
						case 3: fm_give_item(id, "weapon_xm1014");
						default: fm_give_item(id, "weapon_mp5navy");
					}
					cs_set_user_bpammo(id, CSW_MP5NAVY, 150);
					cs_set_user_bpammo(id, CSW_SCOUT, 20);
					cs_set_user_bpammo(id, CSW_M3, 16);
					cs_set_user_bpammo(id, CSW_XM1014, 80);
					cs_set_user_bpammo(id, CSW_P90, 300);
				}else
				{
					//always gets a marker
					fm_give_item(id, "weapon_mp5navy");
					cs_set_user_bpammo(id, CSW_MP5NAVY, 150);
 
					//did not kill someone, has a chance of getting a shotgun
					choose = random(3);					
					if (!g_has_kill[id] && !choose){
							fm_give_item(id, "weapon_xm1014");
							cs_set_user_bpammo(id, CSW_XM1014, 80);
						}
 
					//killed 2 or more, gets a sniper or a launcher
					choose = random(2);					
					if (g_has_kill[id]>2)
						if (g_has_kill[id]>4){
							fm_give_item(id, "weapon_p90");
							cs_set_user_bpammo(id, CSW_P90, 300);
							set_hudmessage(255, 255, 255, -1.0, 0.33, 0, 5.0, 5.0);
							show_hudmessage(id, "Holy crap! You got a SUPER MARKER!!!!");
						}	
						else
							if (choose){
								fm_give_item(id, "weapon_scout");
								cs_set_user_bpammo(id, CSW_SCOUT, 20);
							}else
							{
								fm_give_item(id, "weapon_m3");
								cs_set_user_bpammo(id, CSW_M3, 16);
							}
					g_has_kill[id] = 0;
				}
			}	
		}
 
		if(vendetta_bonus[id] == 1)
		{
			fm_give_item(id, "weapon_p90");
			cs_set_user_bpammo(id, CSW_P90, 300);
			set_hudmessage(255, 255, 255, -1.0, 0.33, 0, 5.0, 5.0);
			show_hudmessage(id, "Vendetta! You got a SUPER MARKER!!!!");
		}
 
		if(vendetta_bonus[id] == -1)
		{
			vendetta_bonus[id] = 0
			set_hudmessage(255, 255, 255, -1.0, 0.33, 0, 5.0, 5.0);
			show_hudmessage(id, "Haha! You got punk'd and didn't get a main gun this round!!!!");
		}
 
 
		if (get_pcvar_num(pbnade))
			fm_give_item(id, "weapon_hegrenade");
 
		if (get_pcvar_num(pbsnade))
			fm_give_item(id, "weapon_smokegrenade");
 
		if (get_pcvar_num(pbslauncher) && id == got_slauncher)
		{
			new kname[32]; get_user_name(id,kname,31);
			new teamname[3][] = {"None", "Red Team", "Blue Team"};
			set_hudmessage(255, 255, 255, -1.0, 0.7, 0, 5.0, 5.0);
			show_hudmessage(0, "%s: %s got a super launcher, BEWARE!!!!", teamname[get_user_team(id)], kname);
			//client_print(0, print_chat, "%s: %s got a super launcher, BEWARE!!!!", teamname[get_user_team(id)], kname)
			fm_give_item(id, "weapon_flashbang");
			//fm_give_item(id, "weapon_flashbang");
 
			if (get_pcvar_num(death))
				select_new_slauncher()
 
		}
 
		remove_task(id);
	}
 
public clear_moneyhud(id)
	if (get_pcvar_num(money))
	{
		message_begin(MSG_ONE_UNRELIABLE, 94, _, id - 300); //HideWeapon
		write_byte(1 << 5);
		message_end();
	}
 
public ev_death()
{
 
	new killer = read_data(1);
	new victim = read_data(2);
 
	g_has_kill[killer] += 1;
	if (get_pcvar_num(death))
	{
		new id = victim + 200;
		set_task(3.0, "player_spawner", id);
		set_task(3.2, "player_spawner", id);
	}
 
	if (get_pcvar_num(vendetta) && killer != victim)
	{
 
		vendetta_bonus[victim] = 0
 
		if (got_killed_by[victim] == killer)
		{
			got_killed_times[victim] += 1;
		}
		else
		{
			got_killed_by[victim] = killer;
			got_killed_times[victim] = 1;
		}
 
		if (got_killed_times[victim] < get_pcvar_num(vendetta_cant))
			in_vendetta[victim] = 0;
		else
			in_vendetta[victim] = 1;
 
		if (got_killed_by[killer] == victim)
			if (in_vendetta[killer])
			{
				in_vendetta[killer] = 0
				vendetta_bonus[killer] = 1
				vendetta_bonus[victim] = -1
				got_killed_times[killer] = 0
				got_killed_by[killer] = -1
 
				new kname[32]; get_user_name(killer,kname,31);
 
				set_hudmessage(255, 255, 255, -1.0, 0.4, 0, 5.0, 5.0);
				show_hudmessage(0, "%s got VENDETTA!!!!", kname);
			}
			else
				got_killed_times[killer] = 0
 
	}
 
}
 
public ev_money(id)
	if (get_pcvar_num(money))
		if (get_pdata_int(id, 115, 5) > 0)
			set_pdata_int(id, 115, 0, 5);
 
public say_respawn(id)
	if (get_pcvar_num(death))
		if (!is_user_alive(id))
			if (get_user_team(id) == 1 || get_user_team(id) == 2)
			{
				set_task(1.5, "player_spawner", id + 200);
				set_task(1.7, "player_spawner", id + 200);
			}
 
public player_godmodeoff(id)
	set_pev(id-100, pev_takedamage, DAMAGE_AIM);
 
public player_spawner(id)
	if (is_user_connected(id - 200))
		if (get_user_team(id - 200) == 1 || get_user_team(id - 200) == 2)
			dllfunc(DLLFunc_Spawn, id - 200);
 
stock user_has_mp5(id)
{
	new weapons[32], num;
	get_user_weapons(id, weapons, num);
	for (new i = 0; i < num; i++)
		if (weapons[i] == CSW_MP5NAVY)
			return 1;
	return 0;
}
 
public fw_setmodel(ent, model[])
{
	if (get_pcvar_num(death) && pev_valid(ent))
	{
		new id = pev(ent, pev_owner);
		if ((!is_user_alive(id) || task_exists(id + 200)) && equali(model, "models/w_", 9) && !equali(model, "models/w_weaponbox.mdl"))
		{
			new classname[16];
			pev(ent, pev_classname, classname, 15);
			if (equal(classname, "weaponbox") && !equal(model, "models/w_backpack.mdl"))
				for (new i = maxplayers + 1; i < engfunc(EngFunc_NumberOfEntities) + 5; i++)
					if (pev_valid(i))
						if (ent == pev(i, pev_owner))
						{
							dllfunc(DLLFunc_Think, ent);
							return FMRES_IGNORED;
						}
		}
	}
	return FMRES_IGNORED;
}
 
public fw_clientuserinfochanged(id, infobuffer)
{
 
//	return (get_pcvar_num(cmodel) && pev(id, pev_deadflag) == DEAD_NO) ? FMRES_SUPERCEDE : FMRES_IGNORED;
 
	if (get_pcvar_num(cmodel) && (g_has_custom_model[id]))
	{
 
		if (g_team[id] != get_user_team(id))
			g_has_custom_model[id] = 0;
 
		// Get current model
		static currentmodel[32]
 
		engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, id), "model", currentmodel, 31)
 
		// Check whether it matches the custom model - if not, set it again
		if (!equal(currentmodel, "paintballer") || g_has_custom_model[id] == 0)
		{
			set_task(0.1 + g_models_counter, "task_set_model", id+MODELSET_TASK)
			g_models_counter += TASK_DELAY
		}
 
		return FMRES_SUPERCEDE;
	}
	return FMRES_IGNORED
}
 
public fw_SetClientKeyValue(id, const infobuffer[], const key[])
{   
    // Block CS model changes
    if (g_has_custom_model[id] && equal(key, "model"))
        return FMRES_SUPERCEDE;
 
    return FMRES_IGNORED;
}	
 
////////*****************VEN STOCKS START*****************////////
stock fm_strip_user_weapons(index)
{
	new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "player_weaponstrip"));
	if (!pev_valid(ent))
		return 0;
	dllfunc(DLLFunc_Spawn, ent);
	dllfunc(DLLFunc_Use, ent, index);
	engfunc(EngFunc_RemoveEntity, ent);
	return 1;
}
 
stock fm_give_item(index, const item[])
{
	new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, item));
	if (!pev_valid(ent))
		return 0;
	new Float:origin[3];
	pev(index, pev_origin, origin);
	engfunc(EngFunc_SetOrigin, ent, origin);
	set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
	dllfunc(DLLFunc_Spawn, ent);
	new save = pev(ent, pev_solid);
	dllfunc(DLLFunc_Touch, ent, index);
	if (pev(ent, pev_solid) != save)
		return ent;
	engfunc(EngFunc_RemoveEntity, ent);
	return -1;
}
////////*****************VEN STOCKS END*****************////////
 
public enableMenu(id)
{
	ShowMenu[id] = 1
	client_print(id, print_chat, "[PaintballMod] Your equip menu has been re-enabled.")
	return PLUGIN_HANDLED
 
}
 
public launchMenu(id)
 {
	new menu = menu_create("rChoose your main Paintball Gun:", "menu_handler")
 
	menu_additem(menu, "wMarker", "0", 0)
	menu_additem(menu, "wShotgun", "1", 0)
	menu_additem(menu, "wLauncher", "2", 0)
	menu_additem(menu, "wSniper", "3", 0)
	menu_additem(menu, "Select previous gun", "4", 0, -1)
	menu_additem(menu, "Previous + Don't show menu again", "5", 0, -1)
 
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
 
	menu_display(id, menu, 0)
 
}
 
public menu_handler(id, menu, item)
 {
 
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
 
	new data[6], iName[64]
	new access, callback
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
 
	new key = str_to_num(data);
 
	if (key==4)
		key = MenuState[id]
 
	if(key == 5)
	{
		ShowMenu[id] = 0;
		client_print(id, print_chat, "[RPaintballMod] Your equip menu has been disabled. Say 'pbguns' to re-enable it.")	
		key = MenuState[id]
	}
 
	MenuState[id] = key
 
	give_menu_weapon(id, MenuState[id]);
 
	menu_destroy(menu)
	return PLUGIN_HANDLED
 }
 
public give_menu_weapon(id,key)
{
	switch (key)
	{
		case 0: fm_give_item(id, "weapon_mp5navy");
		case 1: fm_give_item(id, "weapon_xm1014");
		case 2: fm_give_item(id, "weapon_m3");
		case 3: fm_give_item(id, "weapon_scout");
		default: fm_give_item(id, "weapon_mp5navy");
	}
 
	cs_set_user_bpammo(id, CSW_MP5NAVY, 150);
	cs_set_user_bpammo(id, CSW_SCOUT, 20);
	cs_set_user_bpammo(id, CSW_M3, 16);
	cs_set_user_bpammo(id, CSW_XM1014, 80);
 
}
 
public task_set_model(id)
{
    remove_task(id)
 
    // Get player id
    id -= MODELSET_TASK
 
    // Actually set the player's model
    set_user_model(id, "paintballer")
}
 
public set_user_model(player, const modelname[])
{
	// Set new model
	engfunc(EngFunc_SetClientKeyValue, player, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", modelname)
 
	g_team[player] = get_user_team(player)
 
	//if (!g_has_custom_model[player])
	if (g_team[player] == 1)
	{
		g_plyr_skin[player] = 0//random(4);
	}
	else
	{
		g_plyr_skin[player] = 4 // + random(4);
	}
 
 
	set_pev(player, pev_skin, g_plyr_skin[player]);
 
	g_has_custom_model[player] = 1	
}
 
public spawn_clcorpse()
{
    // Get player id
    static id
    id = get_msg_arg_int(12)
 
    new entCorpse = read_data(2);
    set_pev(entCorpse, pev_skin, g_plyr_skin[id]);
 
 
    // Check if the player is using a custom player model
    if (false && g_has_custom_model[id])
    {
        //client_print(0, print_chat, "spawning corpse for %d", id);
 
	set_msg_arg_string(1, "")
 
	new entCorpse = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
	if(entCorpse > 0)
	{
		new Float:modelOrigin[3], Float:modelAngle[3]
		pev(id, pev_origin, modelOrigin)
		pev(id, pev_angles, modelAngle)
 
		client_print(0, print_chat, "corpse coords %f %f %f", float(get_msg_arg_int(2)), float(get_msg_arg_int(3)), float(get_msg_arg_int(4)));		
		client_print(0, print_chat, "corpse coords %i %i %i", get_msg_arg_int(2), get_msg_arg_int(3), get_msg_arg_int(4));		
		//client_print(0, print_chat, "corpse string %f %f %f", float(get_msg_arg_string(2)), float(get_msg_arg_string(3)), float(get_msg_arg_string(4)));		
		client_print(0, print_chat, "player coords %f %f %f", modelOrigin[0], modelOrigin[1], modelOrigin[2]);		
//		client_print(0, print_chat, "player %f %f %f", modelAngle[0], modelAngle[1], modelAngle[2]);		
 
		modelAngle[0] += 90.0
 
		modelOrigin[2] -= 35.0
 
		set_pev(entCorpse, pev_owner, id)
		set_pev(entCorpse, pev_classname, "clcorpse")
		engfunc(EngFunc_SetSize, entCorpse, Float:{-6.0,-12.0,-6.0},Float:{6.0,12.0,6.0})
		engfunc(EngFunc_SetModel, entCorpse, "models/player/paintballer/paintballer.mdl");
		set_pev(entCorpse, pev_skin, g_plyr_skin[id]);
		set_pev(entCorpse, pev_solid, SOLID_NOT)
		set_pev(entCorpse, pev_movetype, MOVETYPE_TOSS)
		set_pev(entCorpse, pev_sequence, 103)
		set_pev(entCorpse, pev_origin, modelOrigin)
		set_pev(entCorpse, pev_angles, modelAngle)
		set_pev(entCorpse, pev_v_angle, pev(id, pev_v_angle))
		set_pev(entCorpse, pev_nextthink, 1.0)
 
		}
 
	return PLUGIN_HANDLED;
	}
    return PLUGIN_CONTINUE;
}
 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{ rtf1 ansi deff0{ fonttbl{ f0 fnil Tahoma;}}n viewkind4 uc1 pard lang11274 f0 fs16 n par }
*/
 

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