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 138251778128331 dodana przez k4x4z5, 23.10.2013 09:43
Typ:


138251778128331
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.
#include <amxmodx>
#include <colorchat>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
 
#define g_Buffer 1536
 
#define V_MODEL "models/jb_cypis/v_lom.mdl"
#define W_MODEL "models/jb_cypis/w_lom.mdl"
#define P_MODEL "models/jb_cypis/p_lom.mdl"
 
forward amxbans_admin_connect(id);
 
new Array:g_Array, bool:g_Vip[33], g_Hudmsg, skoki[33];
 
new const g_Langcmd[][]={"say /vips","say_team /vips","say /vipy","say_team /vipy"};
 
new const gSounds[][] = {
	"cb/knife_deploy1.wav",
	"cb/knife_hitwall1.wav",
	"cb/knife_hit1.wav",
	"cb/knife_hit2.wav",
	"cb/knife_hit3.wav",
	"cb/knife_hit4.wav",
	"cb/knife_slash1.wav",
	"cb/knife_slash2.wav",
	"cb/knife_stab.wav"
};
 
public plugin_init(){
	register_plugin("VIP Ultimate", "12.3.0.2", "benio101 & speedkill");
	register_forward(FM_CmdStart, "CmdStartPre");
	RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1);
	RegisterHam(Ham_TakeDamage,"player", "hook_TakeDamage");
	register_message(get_user_msgid("ScoreAttrib"), "VipStatus");
	register_event("CurWeapon", "Event_CurWeapon", "be","1=1");
	register_forward(FM_SetModel,"fw_setmodel"/*,1*/);
	register_forward(FM_EmitSound,"fw_emitsound");
	g_Array=ArrayCreate(64,32);
	for(new i;i<sizeof g_Langcmd;i++){
		register_clcmd(g_Langcmd[i], "ShowVips");
	}
	register_clcmd("say /vip", "ShowMotd");
	set_task(30.0, "ShowAdv",.flags = "b");
	g_Hudmsg=CreateHudSyncObj();
}
 
public plugin_precache()
{
	// precache the required models
	engfunc(EngFunc_PrecacheModel,V_MODEL);
	engfunc(EngFunc_PrecacheModel,P_MODEL);
	engfunc(EngFunc_PrecacheModel,W_MODEL);
	for(new i = 0 ; i < sizeof gSounds ; i++)
	precache_sound(gSounds[i]);
}
 
public client_authorized(id){
	if(get_user_flags(id) & 4096 == 4096){
		client_authorized_vip(id);
	}
}
public client_authorized_vip(id){
	g_Vip[id]=true;
	new g_Name[64];
	get_user_name(id,g_Name,charsmax(g_Name));
 
	new g_Size = ArraySize(g_Array);
	new szName[64];
 
	for(new i = 0; i < g_Size; i++){
		ArrayGetString(g_Array, i, szName, charsmax(szName));
 
		if(equal(g_Name, szName)){
			return 0;
		}
	}
	ArrayPushString(g_Array,g_Name);
	set_hudmessage(24, 190, 220, 0.25, 0.2, 0, 6.0, 6.0);
	ShowSyncHudMsg(0, g_Hudmsg, "Vip %s wbija na serwer !",g_Name);
 
	return PLUGIN_CONTINUE;
}
public client_disconnect(id){
	if(g_Vip[id]){
		client_disconnect_vip(id);
	}
}
public client_disconnect_vip(id){
	g_Vip[id]=false;
	new Name[64];
	get_user_name(id,Name,charsmax(Name));
 
	new g_Size = ArraySize(g_Array);
	new g_Name[64];
 
	for(new i = 0; i < g_Size; i++){
		ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
 
		if(equal(g_Name,Name)){
			ArrayDeleteItem(g_Array,i);
			break;
		}
	}
}
public CmdStartPre(id, uc_handle){
	if(g_Vip[id]){
		if(is_user_alive(id)){
			CmdStartPreVip(id, uc_handle);
		}
	}
}
public CmdStartPreVip(id, uc_handle){
	new flags = pev(id, pev_flags);
	if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]>0){
		--skoki[id];
		new Float:velocity[3];
		pev(id, pev_velocity,velocity);
		velocity[2] = random_float(265.0,285.0);
		set_pev(id,pev_velocity,velocity);
	} else if(flags & FL_ONGROUND && skoki[id]!=-1){
		skoki[id] = 1;
	}
}
public SpawnedEventPre(id){
	if(g_Vip[id]){
		if(is_user_alive(id)){
			SpawnedEventPreVip(id);
			give_item(id, "weapon_flashbang");
			give_item(id, "weapon_flashbang");
			give_item(id, "weapon_smokegrenade");
		}
	}
}
public SpawnedEventPreVip(id){
	skoki[id]=1;
	set_user_health(id, get_user_health(id)+50);
 
}
public VipStatus(){
	new id=get_msg_arg_int(1);
	if(is_user_alive(id) && g_Vip[id]){
		set_msg_arg_int(2, ARG_BYTE, get_msg_arg_int(2)|4);
	}
}
public ShowVips(id){
	new g_Name[64],g_Message[192];
 
	new g_Size=ArraySize(g_Array);
 
	for(new i = 0; i < g_Size; i++){
		ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
 
		add(g_Message, charsmax(g_Message), g_Name);
 
		if(i == g_Size - 1){
			add(g_Message, charsmax(g_Message), ".");
		}
		else{
			add(g_Message, charsmax(g_Message), ", ");
		}
	}
	ColorChat(id,GREEN,"^x03Vipy ^x04na ^x03serwerze: ^x04%s", g_Message);
	ShowVipsMotd(id);
	return PLUGIN_CONTINUE;
}
public ShowVipsMotd(id){
	new Data[g_Buffer],Len,g_Name[64];
 
	Len = formatex(Data[Len], g_Buffer - Len, "<html><body bgcolor=Black><br>");
	Len += formatex(Data[Len], g_Buffer - Len, "<center><table frame=^"border^" width=^"600^" cellspacing=^"0^" bordercolor=#4A4344 style=^"color:#56A5EC;text-align:center;^">");
	Len += formatex(Data[Len], g_Buffer- Len, "<tr><td><b>#</b></td><td><b>Nick</b></td></td></tr>");
 
	new g_Size=ArraySize(g_Array);
 
	for(new i = 0; i < g_Size; i++){
		ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
 
		Len += formatex(Data[Len], g_Buffer - Len, "<tr>");
		Len += formatex(Data[Len], g_Buffer - Len, "<td><font color=Red>%d</font></td>", i + 1);
		Len += formatex(Data[Len], g_Buffer - Len, "<td>%s</td>", g_Name);
		Len += formatex(Data[Len], g_Buffer - Len, "</tr>");
	}
	Len += formatex(Data[Len],g_Buffer - Len,"</center></body></html>");
 
	show_motd(id, Data, "Vipy Online");
}
public client_infochanged(id){
	if(g_Vip[id]){
		new szName[64];
		get_user_info(id,"name",szName,charsmax(szName));
 
		new Name[64];
		get_user_name(id,Name,charsmax(Name));
 
		if(!equal(szName,Name)){
			ArrayPushString(g_Array,szName);
 
			new g_Size=ArraySize(g_Array);
			new g_Name[64];
			for(new i = 0; i < g_Size; i++){
				ArrayGetString(g_Array, i, g_Name, charsmax(g_Name));
 
				if(equal(g_Name,Name)){
					ArrayDeleteItem(g_Array,i);
					break;
				}
			}
		}
	}
}
public plugin_end(){
	ArrayDestroy(g_Array);
}
public hook_TakeDamage(Victim, Useless, Attacker, Float:damage, damagebits)
{	
	if(is_user_connected(Victim) && is_user_connected(Attacker) && is_user_alive(Victim) && is_user_connected(Attacker))
	{
		new temp[2], weapon = get_user_weapon(Attacker, temp[0], temp[1]);
 
		if(cs_get_user_team(Attacker) == CS_TEAM_T && cs_get_user_team(Victim) == CS_TEAM_CT && weapon == CSW_KNIFE && g_Vip[Attacker] == true)
		{
			SetHamParamFloat(4, damage*5);
		}
	}
 
	return HAM_HANDLED;
} 
public ShowMotd(id){
	show_motd(id, "vip.txt", "Informacje o vipie");
}
public ShowAdv(){
	ColorChat(0, NORMAL, "[VIP]^x04 Chcesz dowiedziec sie co posiada vip ? Napisz na say'u /vip");
}
public amxbans_admin_connect(id){
	client_authorized(id);
}
public Event_CurWeapon(id) 
{     
	if(!is_user_alive(id))
		return PLUGIN_CONTINUE;
 
	if(!g_Vip[id])
		return PLUGIN_CONTINUE;
 
		new weaponID = read_data(2);
 
	if(weaponID != CSW_KNIFE)
		return PLUGIN_CONTINUE;
 
	set_pev(id, pev_viewmodel2, V_MODEL);
	set_pev(id, pev_weaponmodel2, P_MODEL);
 
 
	return PLUGIN_CONTINUE;
}
 
public fw_setmodel(ent,const model[])
{
	if(!pev_valid(ent))
		return FMRES_IGNORED;
 
	if(strcmp(W_MODEL,model) )
		return FMRES_IGNORED;
 
	static classname[32]
	pev(ent,pev_classname,classname,31);
 
 
	if(!strcmp(classname, "weaponbox") || !strcmp(classname, "armoury_entity") || !strcmp(classname, "grenade"))
	{
		engfunc(EngFunc_SetModel, ent, W_MODEL);
		return FMRES_SUPERCEDE;
	}
 
	return FMRES_IGNORED;
}
 
public fw_emitsound(id,channel,sample[],Float:volume,Float:attenuation,fFlags,pitch)
{
	if(!g_Vip[id])
		return PLUGIN_CONTINUE;
 
	{
		if(equal(sample,"weapons/knife_deploy1.wav"))
		{         
			emit_sound(id,channel,gSounds[6],volume,attenuation,fFlags,pitch);
			return FMRES_SUPERCEDE;
		}
		if(equal(sample,"weapons/knife_hitwall1.wav"))
		{         
			emit_sound(id,channel,gSounds[1],volume,attenuation,fFlags,pitch);
			return FMRES_SUPERCEDE;
		}
		if(equal(sample,"weapons/knife_hit1.wav"))
		{         
			emit_sound(id,channel,gSounds[2],volume,attenuation,fFlags,pitch);
			return FMRES_SUPERCEDE;
		}
		if(equal(sample,"weapons/knife_hit2.wav"))
		{         
			emit_sound(id,channel,gSounds[3],volume,attenuation,fFlags,pitch);
			return FMRES_SUPERCEDE;
		}
		if(equal(sample,"weapons/knife_hit3.wav"))
		{         
			emit_sound(id,channel,gSounds[4],volume,attenuation,fFlags,pitch);
			return FMRES_SUPERCEDE;
		}
		if(equal(sample,"weapons/knife_hit4.wav"))
		{         
			emit_sound(id,channel,gSounds[5],volume,attenuation,fFlags,pitch);
			return FMRES_SUPERCEDE;
		}
		if(equal(sample,"weapons/knife_slash1.wav"))
		{         
			emit_sound(id,channel,gSounds[6],volume,attenuation,fFlags,pitch);
			return FMRES_SUPERCEDE;
		}
		if(equal(sample,"weapons/knife_slash2.wav"))
		{         
			emit_sound(id,channel,gSounds[7],volume,attenuation,fFlags,pitch);
			return FMRES_SUPERCEDE;
		}
		if(equal(sample,"weapons/knife_stab.wav"))
		{         
			emit_sound(id,channel,gSounds[7],volume,attenuation,fFlags,pitch);
			return FMRES_SUPERCEDE;
		}
	}
 
	return FMRES_IGNORED; 
}