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 131988325915387 dodana przez fdrest, 29.10.2011 11:14
Typ:


131988325915387
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.
//************************************ Compile Settings ************************************//
// Uncomment to use MySQL instead of the default nVault saving
#define SQL
 
// Admin flag settings for giving points/badges and server saved data reset
// These can also be set in cmdaccess.ini without need to change here
// (See amxconst.inc for more admin level constants)
#define ADMIN_LEVEL ADMIN_IMMUNITY
#define ADMIN_RESET ADMIN_IMMUNITY
 
// Aby wlaczyc kolorowy say(colorchat) w grze odkomentuj
//#define KOLOROWY_SAY
 
// Note: Changing any of the above the above requires plugin to be recompiled
//******************************************************************************************//
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <cstrike>
#include <csx>
#include <fun>
 
new const gPluginName[] = "Battlefield 2: Rank Mod";
new const gPluginVersion[] = "1.0.4";
 
//Message sending variables
#if defined KOLOROWY_SAY
new gmsgStatusText;
new gmsgScreenFade;
new gmsgScreenShake;
#else
new gmsgStatusText;
new gmsgScreenFade;
new gmsgScreenShake;
new gmsgSayText;
#endif
new gHUD;
//Task
#define TASK_HUD 9897
 
new gHudSyncAimInfo;
new gMaxPlayers;
new bool:gCZBotRegisterHam;
 
#define MAX_RANKS 17
#define MAX_BADGES 10
 
//Motd variables
new configsdir[200];
new configfile[200];
 
//Cvar vars
new gPcvarBF2Active;
new gPcvarBadgesActive;
new gPcvarFreeAwp;
new gPcvarXpMultiplier;
new gPcvarIconTime;
new gPcvarFlagKills;
new gPcvarHelpUrl;
new gPcvarBadgePowers;
new gPcvarFlagRoundPoints;
new gPcvarFlagMatchPoints;
new gPcvarXpMinPlayers;
new gPcvarHudOptions;
new gPcvarStatusText;
new gPcvarFFA;
new gPcvarSaveType;
new gPcvarRankBots;
new gPcvarBotQuota;
new gPcvarSVLan;
 
//Cvar vars new
new gPcvarHudCenter;
new gPcvarGameShadows;
 
//Current players info
new gPlayerJump[33];
new g_PlayerRank[33];
new g_PlayerBadges[33][MAX_BADGES];
new knifekills[33];
new pistolkills[33];
new sniperkills[33];
new parakills[33];
new defuses[33];
new plants[33];
new explosions[33];
new accuracy[33];
new totalkills[33];
new gSaveKey[33][32];
new smgkills[33];
new shotgunkills[33];
new riflekills[33];
new grenadekills[33];
new g_count
 
new bronze[33];
new silver[33];
new gold[33];
 
//Temp storage variables
new numofbadges[33];
new bool:newplayer[33];
new g_lastwpn[33];
new bool:g_imobile[33];
new bool:freezetime;
new highestrank;
new highestrankid;
new gStatsLoaded[33];
new gCurrentFOV[33];
new bool:gPlayerMedkitUsed[33];
new bool:is_on_knife[33];
 
new g_friend[33];
new bool:g_invis[33];
new menuselection[33];
 
//Server stats
new highestrankserver, highestrankservername[32], mostkills, mostkillsid, mostkillsname[32], mostwins, mostwinsname[32];
 
new menuselected[33][3];
//0 - Badge/Kills selected 0/1
//1 - Badgenum/Kills
//2 - Badgelevel
 
//Sound Vars
new gSoundRank[] = "bf2rank/bf2rank_promotion.wav"; //Rank gained sound
new gSoundBadge[] = "bf2rank/bf2rank_award.wav"; //Badges earned sound
 
 
//Sprite vars
new gSprite[22];
 
#if defined SQL
	//SQl vars
	#include <sqlx>
	new Handle:g_SqlTuple;
	new g_Cache[512];
	new bool:SQLenabled;
	new bool:gIntermission;
#else
	//nVault
	#include <nvault>
	new g_Vault;
	new gPcvarPruneDays;
#endif
 
new gPlayerName;
 
//Bf2 includes
#if defined KOLOROWY_SAY
#include <colorchat>
#endif
#include "bf2/const.inl"
#include "bf2/effect.inl"
#include "bf2/cmds.inl"
#include "bf2/events.inl"
#include "bf2/save.inl"
#include "bf2/forwards.inl"
#include "bf2/check.inl"
#include "bf2/badgepowers.inl"
#include "bf2/menu.inl"
#include "bf2/hud.inl"
#include "bf2/othermods.inl"
#include "bf2/csx.inl"
#include "bf2/ham.inl"
#include "bf2/apteczka.inl"
#if defined SQL
#include "bf2/sql.inl"
#endif
 
public plugin_init()
{
	register_plugin(gPluginName, gPluginVersion, "pRED // MisieQ // Dawedo"); //Bazuje na Battlefield 2: Rank Mod 1.5.3 by pRED*
 
	//Register all the say commands
 
	//Public
	register_clcmd("say /ranks","show_rankhelp",0, "Pokazuje Informacje o Ranku");
	register_clcmd("say_team /ranks","show_rankhelp",0, "Pokazuje Informacje o Ranku");
 
	register_clcmd("say /badges1","show_badgehelp",0, "Pokazuje Informacje o Odznakach");
	register_clcmd("say_team /badges1","show_badgehelp",0, "Pokazuje Informacje o Odznakach");
	register_clcmd("say /odznaki1","show_badgehelp",0, "Pokazuje Informacje o Odznakach");
	register_clcmd("say_team /odznaki1","show_badgehelp",0, "Pokazuje Informacje o Odznakach");
 
	register_clcmd("say /badges2","show_badgehelp2",0, "Pokazuje Informacje o Odznakach 2");
	register_clcmd("say_team /badges2","show_badgehelp2",0, "Pokazuje Informacje o Odznakach 2");
	register_clcmd("say /odznaki2","show_badgehelp2",0, "Pokazuje Informacje o Odznakach 2");
	register_clcmd("say_team /odznaki2","show_badgehelp2",0, "Pokazuje Informacje o Odznakach 2");
 
	register_clcmd("say /badges3","show_badgehelp3",0, "Pokazuje Informacje o Odznakach 3");
	register_clcmd("say_team /badges3","show_badgehelp3",0, "Pokazuje Informacje o Odznakach 3");
	register_clcmd("say /odznaki3","show_badgehelp3",0, "Pokazuje Informacje o Odznakach 3");
	register_clcmd("say_team /odznaki3","show_badgehelp3",0, "Pokazuje Informacje o Odznakach 3");
 
	register_clcmd("say", "cmd_say", 0, "<target> ");
	register_clcmd("say_team", "cmd_say", 0, "<target> ");
 
	register_clcmd("say /who", "cmd_who", 0, "Wyswietla liste graczy i ich pozimy");
	register_clcmd("say_team /who", "cmd_who", 0, "Wyswietla liste graczy i ich pozimy");
 
	register_clcmd("say /gracze", "cmd_who", 0, "Wyswietla liste graczy i ich pozimy");
	register_clcmd("say_team /gracze", "cmd_who", 0, "Wyswietla liste graczy i ich pozimy");
 
	register_clcmd("say /help", "cmd_help", 0, "Pokaz pomoc BF2Mod");
	register_clcmd("say_team /help", "cmd_help", 0, "Pokaz pomoc BF2Mod");
 
	register_clcmd("say /bf2menu", "Bf2menu", 0, "Pokazuje Menu");
	register_clcmd("say_team /bf2menu", "Bf2menu", 0, "Pokazuje Menu");
	register_clcmd("say bf2menu", "Bf2menu", 0, "Pokazuje Menu");
	register_clcmd("say_team bf2menu", "Bf2menu", 0, "Pokazuje Menu");
	register_clcmd("say /bf2", "Bf2menu", 0, "Pokazuje Menu");
	register_clcmd("say_team /bf2", "Bf2menu", 0, "Pokazuje Menu");
	register_clcmd("say bf2", "Bf2menu", 0, "Pokazuje Menu");
	register_clcmd("say_team bf2", "Bf2menu", 0, "Pokazuje Menu");
	register_clcmd("say /menu", "Bf2menu", 0, "Pokazuje Menu");
	register_clcmd("say_team /menu", "Bf2menu", 0, "Pokazuje Menu");
	register_clcmd("say menu", "Bf2menu", 0, "Pokazuje Menu");
	register_clcmd("say_team menu", "Bf2menu", 0, "Pokazuje Menu");
	register_clcmd("say /help", "Bf2menu", 0, "Pokazuje Menu");
	register_clcmd("say_team /help", "Bf2menu", 0, "Pokazuje Menu");
	register_clcmd("say help", "Bf2menu", 0, "Pokazuje Menu");
	register_clcmd("say_team help", "Bf2menu", 0, "Pokazuje Menu");
 
	register_clcmd("say /bf2helpmenu", "helpmenu", 0, "Pokazuje Menu Pomocy");
	register_clcmd("say_team /bf2helpmenu", "helpmenu", 0, "Pokazuje Menu Pomocy");
 
	register_clcmd("say /bf2statsmenu", "helpmenu", 0, "Pokazuje Menu Statystyk");
	register_clcmd("say_team /bf2statsmenu", "helpmenu", 0, "Pokazuje Menu Statystyk");
 
	register_clcmd("say /bf2adminmenu", "adminmenu", 0, "Pokazuje Menu Admina");
	register_clcmd("say_team /bf2adminmenu", "adminmenu", 0, "Pokazuje Menu Admina");
 
	register_clcmd("say /bf2stats", "show_stats", 0, "Pokazuje twoje aktualne statystyki");
	register_clcmd("say_team /bf2stats", "show_stats", 0, "Pokazuje twoje aktualne statystyki");
 
	register_clcmd("say /serverstats", "show_server_stats", 0, "Pokazuje aktualne statystyki serwera");
	register_clcmd("say_team /serverstats", "show_server_stats", 0, "Pokazuje aktualne statystyki serwera");
 
	register_clcmd("say /bf2save", "save_badges", 0, "Zapisuje Aktualne Statystyki");
	register_clcmd("say_team /bf2save", "save_badges", 0, "Zapisuje Aktualne Statystyki");
 
	//Admin
	register_clcmd("bf2_addbadge", "add_badge", ADMIN_LEVEL, "<player> <badge#> <level#>");
	register_clcmd("bf2_addkills", "add_kills", ADMIN_LEVEL, "<player> <kills#>");
 
	//Cvars
 
	//FCVAR_SERVER cvar for game monitor.
	register_cvar("bf2_version", gPluginVersion, FCVAR_SERVER);
 
	// Set cvar to update version in case new version loaded while server still running
	set_cvar_string("bf2_version", gPluginVersion);
 
	gPcvarBF2Active = register_cvar("bf2_active", "1");
	gPcvarBadgesActive = register_cvar("bf2_badges", "1");
	gPcvarFreeAwp = register_cvar("bf2_awp", "0");
	gPcvarXpMultiplier = register_cvar("bf2_xpmultiplier", "0.1");
	gPcvarXpMinPlayers = register_cvar("bf2_xpminplayers", "2");
	gPcvarIconTime = register_cvar("bf2_icon_time", "1.5");
	gPcvarHelpUrl = register_cvar("bf2_help_url", "http://misieq.sileman.net.pl/bf2webdocs");
	gPcvarBadgePowers = register_cvar("bf2_badgepowers", "0");
	gPcvarHudOptions = register_cvar("bf2_hud_options", "abcde");
	gPcvarStatusText = register_cvar("bf2_statustext", "1");
#if !defined SQL
	gPcvarPruneDays = register_cvar("bf2_reset_days", "21");
#endif
	gPcvarFFA = register_cvar("bf2_ffa", "0");
	gPcvarHudCenter = register_cvar("bf2_hud", "0");
	gPcvarGameShadows = register_cvar("bf2_shadows", "0");
	gPcvarFlagKills = register_cvar("bf2_flag_kills", "2");
	gPcvarFlagRoundPoints = register_cvar("bf2_flag_round_kills", "0");
	gPcvarFlagMatchPoints = register_cvar("bf2_flag_match_kills", "0");
 
	gPcvarSaveType = get_cvar_pointer("csstats_rank");
	gPcvarRankBots = get_cvar_pointer("csstats_rankbots");
	gPcvarBotQuota = get_cvar_pointer("bot_quota");
	gPcvarSVLan = get_cvar_pointer("sv_lan");
 
	//Message sending.
	#if defined KOLOROWY_SAY
	gmsgStatusText = get_user_msgid("StatusText");
	gmsgScreenFade = get_user_msgid("ScreenFade");
	gmsgScreenShake = get_user_msgid("ScreenShake");
	#else
	gmsgStatusText = get_user_msgid("StatusText");
	gmsgScreenFade = get_user_msgid("ScreenFade");
	gmsgScreenShake = get_user_msgid("ScreenShake");
	gmsgSayText = get_user_msgid("SayText");
	#endif
      gHUD = CreateHudSyncObj();
 
	//Register events, logs and forwards to be captured
	register_event("HLTV", "Event_HLTV", "a", "1=0", "2=0"); //add freeztime start code
	register_event("CurWeapon", "Event_CurWeapon", "be", "1=1");
	register_event("SetFOV", "Event_SetFOV", "be");
	register_event("DeathMsg", "Event_DeathMsg", "a");
 
	register_logevent("LogEvent_Round_Start", 2, "0=World triggered", "1=Round_Start"); //freezetime end code
	register_logevent("LogEvent_Round_End", 2, "1=Round_End");
 
	register_message(SVC_INTERMISSION, "Message_Intermission");
	register_message(get_user_msgid("StatusValue"), "Message_StatusValue");
 
	register_event("StatusValue", "setTeam", "be", "1=1");
	register_event("StatusValue", "on_ShowStatus", "be", "1=2", "2!0");
	register_event("StatusValue", "on_HideStatus", "be", "1=1", "2=0");
 
	// Must use post or else is_user_alive will return false when dead player respawns
      RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", 1);    // cz bots won't hook here must RegisterHamFromEntity
      RegisterHam(Ham_TakeDamage, "player", "Ham_TakeDamage_Pre");    
      RegisterHam(Ham_Killed, "player", "Ham_Death_Player", 1);
	gHudSyncAimInfo = CreateHudSyncObj();
	gMaxPlayers = get_maxplayers();
	gPlayerName = get_xvar_id("PlayerName");
 
	register_forward(FM_PlayerPreThink, "FM_PlayerPreThink1");
	register_forward(FM_CmdStart, "FM_CmdStart1");
	register_forward(FM_EmitSound, "EmitSound1");
 
	//register_forward(FM_Touch,"FakeMeta_Touch")
	//register_touch("apteczka", "player", "Apteczka_Touch")
}
 
public client_PreThink(id) 
{
        if(is_user_alive(id)) 
        {
                new Float:fVector[3];
                pev(id, pev_velocity, fVector)
                new Float: fSpeed = floatsqroot(fVector[0]*fVector[0]+fVector[1]*fVector[1]+fVector[2]*fVector[2])
                if((fm_get_user_maxspeed(id) * 5) > (fSpeed*9))
                        set_pev(id, pev_flTimeStepSound, 300)
        }
}