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 y8ld3gk54n4 dodana przez fuxxx, 26.02.2013 16:39
Typ:



amxbans_ssban
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.
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
 
#include "include/amxbans/color_chat.inl"
 
#define PLUGIN "AMXBans: Screens"
#define VERSION	"Gm 1.6"
#define AUTHOR "Larte Team"
 
#define PREFIX "!y[!tAMXBans!y]"
 
new victim
new CvarMaxss
new CvarInterval
new CvarTimestamptype
new CvarHUDText
new CvarBanTime
new CvarBanReason
 
new CountMenu
new CvarCountScreens
new g_max_players
new g_user_ids[33]
new g_player[33]
 
public plugin_init () 
{ 
	register_plugin(PLUGIN, VERSION, AUTHOR)
 
	register_dictionary("amxbans_ssban.txt")
 
	register_clcmd("amx_ssban", "cmdScreen", ADMIN_BAN, "<authid, nick or #userid> <count of screens>")
	register_clcmd("amx_ssbanmenu", "cmdScreenMenu", ADMIN_BAN, " - display screens menu")
 
	CvarMaxss = register_cvar("amx_maxscreens", "10")
	CvarInterval = register_cvar("amx_interval", "1.0")
	CvarTimestamptype = register_cvar("amx_stamptype", "3")
	CvarHUDText = register_cvar("amx_hudtext", "Cheese! :)")
	CvarCountScreens = register_cvar("amx_screenscount", "1 2 3 4 5 6 7 8 9")
 
	CvarBanTime = register_cvar("amx_ssbantime", "0")
	CvarBanReason = register_cvar("amx_ssbanreason", "Screens, go gm-community.net")
 
	register_cvar("amxbans_ssversion", VERSION, FCVAR_SERVER | FCVAR_SPONLY)
	g_max_players = get_maxplayers()
 
	color_chat_init()
 
	new configsDir[64]
	get_configsdir(configsDir, 63)
 
	return server_cmd("exec %s/amxbans-ssban.cfg", configsDir)
}
 
 
public add_menu()
{
	new stemp[128]
	formatex(stemp, 127, "%L", LANG_SERVER, "SS_MENU_NAME")
 
	AddMenuItem(stemp, "amx_ssbanmenu", ADMIN_BAN, "AMXBans: Screens")
 
	return PLUGIN_CONTINUE
}
 
public cmdScreenMenu(id, level, cid) 
{
	if(!cmd_access(id, level, cid, 1))
	{
		return PLUGIN_HANDLED
	}
 
	new stemp[128]
	formatex(stemp, 127, "%L", LANG_SERVER, "SS_MENU_PLAYER_HEADER")
 
	new menu = menu_create(stemp, "PlayersMenu")
 
	new i, name[32], tempid[10]
 
	for(i = 1; i <= g_max_players; i++) 
	{
		if(is_user_connected(i)) 
		{
			get_user_name(i, name, 31)
			num_to_str(i, tempid, 9)
			g_user_ids[i] = get_user_userid(i)
			menu_additem(menu, name, tempid, 0)
		}
	}
 
	formatex(stemp, 127, "%L", LANG_SERVER, "SS_MORE")
	menu_setprop(menu, MPROP_NEXTNAME, stemp)
 
	formatex(stemp, 127, "%L", LANG_SERVER, "SS_BACK")
	menu_setprop(menu, MPROP_BACKNAME, stemp)
 
	formatex(stemp, 127, "%L", LANG_SERVER, "SS_EXIT")
	menu_setprop(menu, MPROP_EXITNAME, stemp)
 
	return menu_display (id, menu, 0)
}
 
public PlayersMenu(id, menu, item) 
{
	if(item == MENU_EXIT) 
	{
		return PLUGIN_HANDLED
	}
 
	new data[6], iName[64]
	new access, callback
	menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
 
	g_player[id] = str_to_num (data)
	menu_display(id, CountMenu, 0)
 
	return PLUGIN_HANDLED
}
 
public CountScreensMenu(id, menu, item) 
{
	if(item == MENU_EXIT) 
	{
		return PLUGIN_HANDLED
	}
 
	new data[6], iName[64]
	new access, callback
	new player = g_player[id]
 
	menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
 
	if(g_user_ids[player] == get_user_userid(player)) 
	{
		client_cmd(id, "amx_ssban #%d %s", g_user_ids[player], data)
	}
 
	return PLUGIN_HANDLED
}
 
public cmdScreen(id, level, cid) 
{ 
	if(!cmd_access(id, level, cid, 3)) 
	{
		return PLUGIN_HANDLED
	}
 
	new arg1[24], arg2[4]
 
	read_argv(1, arg1, 23)
	read_argv(2, arg2, 3)
 
	new screens = str_to_num(arg2)
	victim = cmd_target(id, arg1, 1)
 
	if(!victim) 
	{
		return PLUGIN_HANDLED
	}
 
	if(screens > get_pcvar_num(CvarMaxss)) 
	{
		console_print(id, "%L", id, "SS_COUNT_NO")
 
		return PLUGIN_HANDLED
	}
 
	new Float:interval = get_pcvar_float(CvarInterval)
	new array[2]
 
	array[0] = id
	array[1] = victim
 
	set_task(interval, "takeScreen", 0, array, 2, "a", screens)
	set_task(interval * float(screens) + 1.0, "victimBan", _, array, 2)
 
	return PLUGIN_HANDLED
}
 
public takeScreen(array[2]) 
{
	new victim = array[1]
	new id = array[0]
 
	new timestamp[32], HUDText[32], name[32], adminname[32]
	get_time("%d.%m.%Y - %H:%M:%S", timestamp, 31)
	get_user_name(victim, name, 31)
	get_user_name(id, adminname, 31)
	get_pcvar_string(CvarHUDText, HUDText, 31)
 
	switch(get_pcvar_num(CvarTimestamptype)) 
	{
		case 0: 
		{
			ColorChat(id, RED, "%s %L", PREFIX, id, "SS_CHAT_INFO", name, adminname)
			client_cmd(victim, "snapshot")
		}
 
		case 1: 
		{
			ColorChat(id, RED, "%s %L", PREFIX, id, "SS_CHAT_INFO2", name, adminname, timestamp)
		 	client_cmd(victim, "snapshot")
		}
 
		case 2: 
		{
			set_hudmessage(225, 225, 225, 0.02, 0.90, 0, 1.0, 2.0)
			show_hudmessage(victim, HUDText)
			client_cmd(victim, "snapshot")
		}
 
		case 3: 
		{
			set_hudmessage(225, 225, 225, 0.02, 0.90, 0, 1.0, 2.0)
			show_hudmessage(victim, HUDText)
			ColorChat(id, RED, "%s %L", PREFIX, id, "SS_CHAT_INFO2", name, adminname, timestamp)
			client_cmd(victim, "snapshot")
		}
	}
 
	return PLUGIN_CONTINUE
}
 
public victimBan(array[2])
{
	new Reason[50]
 
	new victimId = get_user_userid(array[1])
	get_pcvar_string(CvarBanReason, Reason, 31)
 
	return client_cmd(array[0], "amx_ban %d #%d %s", get_pcvar_num(CvarBanTime), victimId, Reason)
}

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