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 190t4oqvya4g4 dodana przez MarcineN, 21.11.2012 22:30
Typ:



zombi
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.
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <jailbreak>
 
#include <hamsandwich>
#include <fakemeta>
#include <engine>
 
#define PLUGIN "[JB] ZombiDay"
#define VERSION "1.0"
#define AUTHOR "Cypis"
 
native cs_set_player_model(id, newmodel[]);
new id_zabawa;
 
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
 
	id_zabawa = jail_register_game("ZombiDay");
	register_clcmd("say /zombi","ZombiDay");
}
 
public plugin_precache()
{
	precache_model("models/player/zombi_cypis/zombi_cypis.mdl");
	precache_model("models/jb_cypis/v_zombi.mdl");
 
	precache_sound("ambience/the_horror2.wav");
}
 
public OnRemoveData()
{
	set_lights("#OFF");	
 
	ZombiRegister(false);
	CreateFog(0, .clear=true);
}
 
public OnDayStartPre(day, szInfo[256], szInfo2[512], setting[10], gTimeRound)
{	
	static szTime[12];
	if(day == id_zabawa)
	{
		format_time(szTime, 11, "%M:%S", gTimeRound-60);
		formatex(szInfo2, 511, "Zasady:^n%s - Straznicy maja czas na zkampienie sie^n%s - Wiezniowie zaczynaja szukac^nKto zabije straznika dostaje FreeDaya w nastepnej rundzie", szTime, szTime);
		szInfo = "Dzisiaj jest ZombiDay";
 
		jail_set_prisoners_micro(true, true);
		jail_set_ct_hit_tt(true);
		jail_set_tt_hit_ct(true);
 
		CreateFog(0, random_num(100,150), 1, 1, 0.006);
 
		for(new i=1; i<=32; i++)
		{
			if(!is_user_connected(i) || !is_user_alive(i) || cs_get_user_team(i) != CS_TEAM_T)
				continue;
 
			UstawZombi(i);
		}
 
		setting[0] = 2;
		setting[1] = 1;
		setting[2] = 1;
		setting[4] = 1;
		setting[6] = 1;
		setting[7] = 2;
	}
}
 
public OnDayStartPost(day)
{
	if(day == id_zabawa)
	{
		ZombiRegister(true);
		jail_set_game_hud(60, "Rozpoczecie zabawy za");
	}
}
 
public OnGameHudEnd()
{
	static day;
	day = jail_get_play_game_id();
	if(day == id_zabawa)
	{
		set_lights("a");
		jail_open_cele();
 
		jail_set_ct_hit_tt(false);
		jail_set_tt_hit_ct(false);
 
		emit_sound(0, CHAN_AUTO, "ambience/the_horror2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
	}
}
 
////////zombi////////
new HamHook:hSpawn, HamHook:hItemDeploy, HamHook:hKilled;
new fmTouch, fmPlayerPreThink;
 
public ZombiRegister(bool:wartosc)
{
	if(wartosc)
	{
		if(!hSpawn)
			hSpawn = RegisterHam(Ham_Spawn, "player", "fwSpawn", 1);
		else
			EnableHamForward(hSpawn);
 
		if(!hItemDeploy)
			hItemDeploy = RegisterHam(Ham_Item_Deploy, "weapon_knife", "fwWeaponKnife", 1);
		else
			EnableHamForward(hItemDeploy);
 
		if(!hKilled)
			hKilled = RegisterHam(Ham_Killed, "player", "fwKilled", 1);
		else
			EnableHamForward(hKilled);
 
		if(!fmTouch)
			fmTouch = register_forward(FM_Touch, "fwTouch");
 
		if(!fmPlayerPreThink)
			fmPlayerPreThink = register_forward(FM_PlayerPreThink, "fwPlayerPreThink");
	}
	else
	{
		if(hSpawn)
			DisableHamForward(hSpawn);
 
		if(hItemDeploy)
			DisableHamForward(hItemDeploy);
 
		if(hKilled)
			DisableHamForward(hKilled);
 
		if(fmTouch)
		{
			unregister_forward(FM_Touch, fmTouch);
			fmTouch = 0;
		}
 
		if(fmPlayerPreThink)
		{
			unregister_forward(FM_PlayerPreThink, fmPlayerPreThink);
			fmPlayerPreThink = 0;
		}
	}
}
 
public fwKilled(id, attacker, shouldgib)
{	
	if(!is_user_connected(id) || !is_user_connected(attacker))
		return HAM_IGNORED;
 
	if(get_user_team(id) != 2 || get_user_team(attacker) != 1) 
		return HAM_IGNORED;
 
	jail_set_prisoner_free(attacker, false, true);
	client_print(attacker, 3, "[ZOMBI] Dostaniesz FreeDay'a w nastepnej rundzie!");
	return HAM_IGNORED;
}
 
new Float:g_wallorigin[33][3];
public fwTouch(id, world)
{
	if(!is_user_alive(id) || get_user_team(id) != 1)
		return;
 
	new classname[32];
	pev(world, pev_classname, classname, 31);
	if(equal(classname, "worldspawn") || equal(classname, "func_wall") || equal(classname, "func_breakable"))
		pev(id, pev_origin, g_wallorigin[id]);
}
 
public fwPlayerPreThink(id)
{
	if(!is_user_alive(id) || get_user_team(id) != 1)
		return;
 
	static button; 
	static flags; 
	button = get_user_button(id);
	flags = get_entity_flags(id);
	if(button & IN_DUCK && flags & FL_ONGROUND)
	{
		static Float:velocity[3];
		VelocityByAim(id, 800, velocity);
		velocity[2] = 210.0;
		set_pev(id, pev_velocity, velocity);
	}
	if(button & IN_USE)
	{
		static Float:origin[3];
		pev(id, pev_origin, origin);
 
		if(get_distance_f(origin, g_wallorigin[id]) > 25.0)     
			return;
 
		if(flags & FL_ONGROUND) 
			return;
 
		if(button & IN_FORWARD)
		{
			static Float:velocity[3];
			velocity_by_aim(id, 240, velocity);
			set_pev(id, pev_velocity, velocity);
		}
		else if(button & IN_BACK)
		{
			static Float:velocity[3];
			velocity_by_aim(id, -240, velocity);
			set_pev(id, pev_velocity, velocity);
		}
	} 
}
 
public fwWeaponKnife(ent)
{
	new id = pev(ent, pev_owner); //pev_owner daje opóźnienie i można tego użyć
	if(get_user_team(id) == 1)
		set_pev(id, pev_viewmodel2, "models/jb_cypis/v_zombi.mdl");
}
 
public fwSpawn(id)
{
	if(!is_user_alive(id) || get_user_team(id) != 1)
		return;
 
	UstawZombi(id);
}
 
UstawZombi(id)
{
	CreateFOV(id);
 
	jail_set_user_speed(id, 200.0);
	set_user_health(id, 1000);
 
	cs_set_user_nvg(id, 1);
	cs_set_player_model(id, "zombi_cypis");
 
	if(get_user_weapon(id) == CSW_KNIFE)
		set_pev(id, pev_viewmodel2, "models/jb_cypis/v_zombi.mdl");
}
 
stock CreateFOV(const index = 0, const number = 170)
{
	static msgFOV;
	if(msgFOV || (msgFOV = get_user_msgid("SetFOV")))
	{
		message_begin(index? MSG_ONE_UNRELIABLE: MSG_BROADCAST, msgFOV, .player = index);
		write_byte(number);
		message_end();
	}
}
 
stock CreateFog( const index = 0, const red = 127, const green = 127, const blue = 127, const Float:density_f = 0.001, bool:clear = false )
{
	static msgFog;
	if(msgFog || (msgFog = get_user_msgid("Fog")))
	{
		new density = _:floatclamp(density_f, 0.0001, 0.25) * _:!clear;
 
		message_begin(index? MSG_ONE_UNRELIABLE: MSG_BROADCAST, msgFog, .player = index);
		write_byte(clamp(red, 0, 255));
		write_byte(clamp(green, 0, 255));
		write_byte(clamp(blue, 0, 255));
		write_long(_:density);
		message_end();
	}
}
////////zombi////////
 

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