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 13241924619129 dodana przez Zapalka, 18.12.2011 08:14
Typ:


bf2
13241924619129
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.
//************************************ 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 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
//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");
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_message(get_user_msgid("SayText"),"handleSayText");
 
//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)
            }
}
public handleSayText(msgId,msgDest,msgEnt)
{
        new id = get_msg_arg_int(1);
 
        if(!is_user_connected(id))      return PLUGIN_CONTINUE;
 
        new szTmp[256],szTmp2[256];
        get_msg_arg_string(2,szTmp, charsmax( szTmp ) )
 
		new rank = g_PlayerRank[id];
 
        if(!equal(szTmp,"#Cstrike_Chat_All"))
		{
                add(szTmp2,charsmax(szTmp2),"^x04[");
                add(szTmp2,charsmax(szTmp2),gRankName[rank]);
                add(szTmp2,charsmax(szTmp2),"] ");
                add(szTmp2,charsmax(szTmp2),szTmp);
        }
        else
		{
                add(szTmp2,charsmax(szTmp2),"^x04[");
                add(szTmp2,charsmax(szTmp2),gRankName[rank]);
                add(szTmp2,charsmax(szTmp2),"]^x03 %s1^x01 :  %s2");
        }
 
        set_msg_arg_string(2,szTmp2);
 
        return PLUGIN_CONTINUE;
}