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 153x3b0o4az7l dodana przez dasiek, 19.10.2013 09:30
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.
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
 
new g_bwEnt[33]
 
#define PLUG_NAME "HATS"
#define PLUG_AUTH "SgtBane"
#define PLUG_VERS "0.2"
#define PLUG_TAG "HATS"
 
#define menusize 	220
 
new HatFile[64]
new MenuPages, TotalHats
new CurrentMenu[33]
 
#define MAX_HATS 64
new HATMDL[MAX_HATS][41]
new HATNAME[MAX_HATS][41]
 
public plugin_init()
{
	register_plugin(PLUG_NAME, PLUG_VERS, PLUG_AUTH)
	register_concmd("amx_givehat", "Give_Hat", ADMIN_RCON, "<nick> <mdl #>")
	register_concmd("amx_removehats", "Remove_Hat", ADMIN_RCON, " - Usun czapki kazdemu.")
	register_menucmd(register_menuid("Menu: [Strona"),(1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9),"MenuCommand")
	register_clcmd("say /czapki",		"ShowMenu", -1, "Shows Knife menu")
}
 
public ShowMenu(id)
{
	CurrentMenu[id] = 1
	ShowHats(id)
	return PLUGIN_HANDLED
}
 
public ShowHats(id)
{
	new keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9)
 
	new szMenuBody[menusize + 1], WpnID
	new nLen = format(szMenuBody, menusize, "Menu: [Strona %i/%i]^n",CurrentMenu[id],MenuPages)
 
	// Get Hat Names And Add Them To The List
	for (new hatid=0; hatid < 8; hatid++) {
		WpnID = ((CurrentMenu[id] * 8) + hatid - 8)
		if (WpnID < TotalHats) {
			nLen += format(szMenuBody[nLen], menusize-nLen, "^n %i. %s",hatid + 1,HATNAME[WpnID])
		}
	}
 
	// Next Page And Previous/Close
	if (CurrentMenu[id] == MenuPages) {
		nLen += format(szMenuBody[nLen], menusize-nLen, "^n^n9. Nastepna Strona")
	} else {
		nLen += format(szMenuBody[nLen], menusize-nLen, "^n^n9. Nastepna Strona")
	}
 
	if (CurrentMenu[id] > 1) {
		nLen += format(szMenuBody[nLen], menusize-nLen, "^n. Poprzednia Strona")
	} else {
		nLen += format(szMenuBody[nLen], menusize-nLen, "^n. Zamknij")
	}
	show_menu(id, keys, szMenuBody, -1)
	return PLUGIN_HANDLED
}
public MenuCommand(id, key) 
{
	switch(key)
	{
		case 8:		//9 - [Next Page]
		{
			if (CurrentMenu[id] < MenuPages) CurrentMenu[id]++
			ShowHats(id)
			return PLUGIN_HANDLED
		}
		case 9:		//0 - [Close]
		{
			CurrentMenu[id]--
			if (CurrentMenu[id] > 0) ShowHats(id)
			return PLUGIN_HANDLED
		}
		default:
		{
			new HatID = ((CurrentMenu[id] * 8) + key - 8)
			if (HatID < TotalHats) {
				Set_Hat(id,HatID,id)
			}
		}
	}
	return PLUGIN_HANDLED
}
 
public plugin_precache()
{
	new cfgDir[32]
	get_configsdir(cfgDir,31)
	formatex(HatFile,63,"%s/HatList2.ini",cfgDir)
	command_load()
 
	for (new i = 1; i < TotalHats; ++i) {
		if (file_exists (HATMDL[i])) {
			precache_model(HATMDL[i])
			server_print("[%s] Precached %s",PLUG_TAG,HATMDL[i])
		} else {
			server_print("[%s] Failed to precache %s",PLUG_TAG,HATMDL[i])
		}
	}
}
 
public client_connect(id)
{
	if(g_bwEnt[id] > 0) engfunc(EngFunc_RemoveEntity,g_bwEnt[id])
	g_bwEnt[id] = 0
}
 
public client_disconnect(id)
{
	if(g_bwEnt[id] > 0) engfunc(EngFunc_RemoveEntity,g_bwEnt[id])
	g_bwEnt[id] = 0
}
 
public Give_Hat(id)
{
	new smodelnum[5], name[32]
	read_argv(1,name,31)
	read_argv(2,smodelnum,4)
 
	new player = cmd_target(id,name,2)
	if (!player) {
		client_print(id,print_chat,"[%s] Player With That Name Does Not Exist.",PLUG_TAG)
		return PLUGIN_HANDLED
	}
 
	new imodelnum = (str_to_num(smodelnum))
	if (imodelnum > MAX_HATS) return PLUGIN_HANDLED
 
	Set_Hat(player,imodelnum,id)
 
	return PLUGIN_CONTINUE
}
 
public Remove_Hat(id)
{
	for (new i = 0; i < get_maxplayers(); ++i) {
		if (is_user_connected(i) && g_bwEnt[i] > 0) {
			engfunc(EngFunc_RemoveEntity,g_bwEnt[i])
			g_bwEnt[i] = 0
		}
	}
	client_print(id,print_chat,"[%s] Usunieto wszystkim czapki.",PLUG_TAG)
	return PLUGIN_CONTINUE
}
 
public Set_Hat(player,imodelnum,targeter)
{
	new name[32]
	get_user_name(player, name, 31)
	if (imodelnum == 0) {
		if(g_bwEnt[player] > 0) engfunc(EngFunc_RemoveEntity,g_bwEnt[player])
		g_bwEnt[player] = 0
		client_print(targeter, print_chat, "[%s] Czapka zostala usunieta %s",PLUG_TAG,name)
	} else if (file_exists(HATMDL[imodelnum])) {
		if(g_bwEnt[player] < 1) {
			g_bwEnt[player] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
			if(g_bwEnt[player] > 0) 
			{
				set_pev(g_bwEnt[player], pev_movetype, MOVETYPE_FOLLOW)
				set_pev(g_bwEnt[player], pev_aiment, player)
				set_pev(g_bwEnt[player], pev_rendermode, kRenderNormal)
				set_pev(g_bwEnt[player], pev_renderamt, 0.0)
				engfunc(EngFunc_SetModel, g_bwEnt[player], HATMDL[imodelnum])
			}
		} else {
			engfunc(EngFunc_SetModel, g_bwEnt[player], HATMDL[imodelnum])
		}
		client_print(targeter, print_chat, "[%s] %s ustawil sobie czapke %s  ",PLUG_TAG,HATNAME[imodelnum],name)
	}
}
 
public command_load()
{
	if(file_exists(HatFile)) {
		HATMDL[0] = ""
		HATNAME[0] = "None"
		TotalHats = 1
		new sfLineData[128]
		new file = fopen(HatFile,"rt")
		while(file && !feof(file)) {
			fgets(file,sfLineData,127)
 
			// Skip Comment and Empty Lines
			if (containi(sfLineData,";") > -1) continue
 
			// BREAK IT UP!
			parse(sfLineData, HATMDL[TotalHats],40,HATNAME[TotalHats],40)
 
			TotalHats += 1
			if(TotalHats >= MAX_HATS) {
				server_print("[%s] Limit Czapek",PLUG_TAG)
				break
			}
		}
		if(file) fclose(file)
	}
	MenuPages = floatround((TotalHats / 8.0), floatround_ceil)
	server_print("[%s] Zaladowano %i czapek, utworzono %i stron)",PLUG_TAG,TotalHats,MenuPages)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{ rtf1 ansi deff0{ fonttbl{ f0 fnil Tahoma;}}n viewkind4 uc1 pard lang1045 f0 fs16 n par }
*/

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