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 tpuxb39nek0s dodana przez Kawon, 16.05.2013 22:29
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.
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.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
#include "gunxpmod.cfg"
 
#if defined ZOMBIE_BIOHAZARD
#include
#endif
#if defined ZOMBIE_PLAGUE
#include
#endif
 
#include
#include
#include
#include
#include
#include
#include
#include
 
#define PLUGIN "Gun Xp Mod:Save Nick"
#define AUTHOR "ProMil"
#define VERSION "2.1"
 
 
#define OFFSET_PRIMARYWEAPON 116
#define TASK_SHOW_LEVEL 10113
#define fm_cs_set_user_nobuy(%1) set_pdata_int(%1, 235, get_pdata_int(%1, 235) & ~(1<<0) ) //no weapon buy
 
new PlayerXp[33];
new PlayerLevel[33];
 
new g_Vault;
new g_remember_selection[33], g_kills[33], g_remember_selection_pistol[33];
new g_maxplayers, g_msgHudSync1, SayTxT, enable_grenades;
new levelspr, levelspr2, show_level_text, show_rank;
new savexp, save_type, xp_kill, xp_triple, enable_triple, triple_kills, xp_ultra, ultra_kills, enable_ultra, p_Enabled, level_style;
new enable_admin_xp, admin_xp;
 
/*================================================================================
[MySQLx Vars, other]
=================================================================================*/
new Handle:g_hTuple;
new g_szAuthID[33][35];
new g_szAuthIP[33][35];
new g_szAuthNAME[33][35];
new mysqlx_host, mysqlx_user, mysqlx_db, mysqlx_pass;
 
new const szTables[][] =
{
"CREATE TABLE IF NOT EXISTS `mytable` ( `player_id` varchar(32) NOT NULL,`player_level` int(8) default NULL,`player_xp` int(16) default NULL,PRIMARY KEY (`player_id`) ) TYPE=MyISAM;"
}
 
new const WEAPONCONST[MAXLEVEL][] = { "weapon_glock18", "weapon_usp", "weapon_p228", "weapon_fiveseven", "weapon_deagle", "weapon_elite", "weapon_tmp",
"weapon_mac10", "weapon_ump45", "weapon_mp5navy", "weapon_p90", "weapon_scout", "weapon_awp", "weapon_famas", "weapon_galil", "weapon_m3", "weapon_xm1014",
"weapon_ak47", "weapon_m4a1", "weapon_aug", "weapon_sg552", "weapon_sg550", "weapon_g3sg1", "weapon_m249"
}; // Give Weapons
 
new const WEAPONMDL[MAXLEVEL][] = { "models/w_glock18.mdl", "models/w_usp.mdl", "models/w_p228.mdl", "models/w_fiveseven.mdl", "models/w_deagle.mdl", "models/w_elite.mdl", "models/w_tmp.mdl",
"models/w_mac10.mdl", "models/w_ump45.mdl", "models/w_mp5.mdl", "models/w_p90.mdl", "models/w_scout.mdl", "models/w_awp.mdl", "models/w_famas.mdl", "models/w_galil.mdl", "models/w_m3.mdl", "models/w_xm1014.mdl",
"models/w_ak47.mdl", "models/w_m4a1.mdl", "models/w_aug.mdl", "models/w_sg552.mdl", "models/w_sg550.mdl", "models/w_g3sg1.mdl", "models/w_m249.mdl"
}; // Blocks pick up weapon, don't change!
 
new const AMMOCONST[MAXLEVEL] = { 17, 16, 1, 11, 26, 10, 23, 7, 12, 19, 30, 3, 18,
15, 14, 21, 5, 28, 22, 8, 27, 13, 24, 20
}; // Weapons ID(CSW) don't change!
 
/*================================================================================
[Plugin natives,precache,init]
=================================================================================*/
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_cvar("gxm_version", VERSION, FCVAR_SPONLY|FCVAR_SERVER)
set_cvar_string("gxm_version", VERSION)
 
register_concmd("set_level", "cmd_give_level", ADMIN_RCON, "set_level " );
register_clcmd("say level", "showlevel");
register_clcmd("say /level", "showlevel");
register_clcmd("say /top20","showtop20");
register_clcmd("say /menu","show_main_menu_info");
register_clcmd("say menu","show_main_menu_info");
 
p_Enabled = register_cvar( "gxm_enable", "1" ); // Plugin enabled? 1 = Yes, 0 = No.
save_type = register_cvar("gxm_savetype","1"); // Save Xp to : 1 = MySQL, 0 = NVault.
savexp = register_cvar("gxm_save","0"); // Save Xp by : 1 = SteamID, 0 = IP.
xp_kill = register_cvar("gxm_xp","10"); // How much xp gain if you killed someone?
show_level_text = register_cvar("gxm_level_text","0"); // Show your level by : 1 = HUD message, 0 = Simple colored text message.
show_rank = register_cvar("gxm_show_rank","1"); // Show rank in /top20? 1 = Yes, 0 = No.
level_style = register_cvar("gxm_level_style","0"); // You will gain each level new gun : 1 = Yes, 0 = No,select your gun by menu.
enable_grenades = register_cvar("gxm_grenades","1"); // Give to player grenades? 1 = Yes, 0 = No.
 
enable_triple = register_cvar("gxm_triple","1"); // Enable Triple Kill bonus xp? 1 = Yes, 0 = No.
xp_triple = register_cvar("gxm_triple_xp","3"); // How much bonus xp give for Triple Kill?
triple_kills = register_cvar("gxm_triple_kills","3"); // How much kills needed to give bonus xp?
enable_ultra = register_cvar("gxm_ultra","1"); // Enable Ultra Kill bonus xp? 1 = Yes, 0 = No.
xp_ultra = register_cvar("gxm_ultra_xp","5"); // How much bonus xp give for Ultra Kill?
ultra_kills = register_cvar("gxm_ultra_kills","6"); // How much kills needed to give bonus xp?
 
enable_admin_xp = register_cvar("gxm_admin_xp","1"); // Enable Extra xp for killing? 1 = Yes, 0 = No.
admin_xp = register_cvar("gxm_extra_xp","10"); // How much extra xp give to admins?
 
// SQLx cvars
mysqlx_host = register_cvar ("gxm_host", ""); // The host from the db
mysqlx_user = register_cvar ("gxm_user", ""); // The username from the db login
mysqlx_pass = register_cvar ("gxm_pass", ""); // The password from the db login
mysqlx_db = register_cvar ("gxm_dbname", ""); // The database name
 
// Events //
register_event("DeathMsg", "event_deathmsg", "a");
register_event("StatusValue", "Event_StatusValue", "bd", "1=2")
 
// Forwards //
RegisterHam(Ham_Spawn, "player", "fwd_PlayerSpawn", 1);
 
register_forward(FM_Touch, "fwd_Touch");
 
// Messages //
#if defined NORMAL_MOD || defined ZOMBIE_SWARM
register_message(get_user_msgid("StatusIcon"), "Message_StatusIcon")
#endif
 
// Other //
register_menucmd(register_menuid("Main Menu"), 1023, "main_menu_info")
 
register_dictionary("gunxpmod.txt");
MySQLx_Init()
 
SayTxT = get_user_msgid("SayText");
 
g_msgHudSync1 = CreateHudSyncObj()
g_maxplayers = get_maxplayers();
}
public plugin_natives()
{
// Player natives //
register_native("get_user_xp", "native_get_user_xp", 1);
register_native("set_user_xp", "native_set_user_xp", 1);
register_native("get_user_level", "native_get_user_level", 1);
register_native("set_user_level", "native_set_user_level", 1);
register_native("get_user_max_level", "native_get_user_max_level", 1);
}
public plugin_precache()
{
levelspr = engfunc(EngFunc_PrecacheModel, "sprites/xfire.spr");
levelspr2 = engfunc(EngFunc_PrecacheModel, "sprites/xfire2.spr");
 
engfunc(EngFunc_PrecacheSound, LevelUp);
}
public plugin_cfg()
{
new ConfDir[32], File[192];
 
get_configsdir( ConfDir, charsmax( ConfDir ) );
formatex( File, charsmax( File ), "%s/gunxpmod.cfg", ConfDir );
 
if( !file_exists( File ) )
{
server_print( "File %s doesn't exist!", File );
write_file( File, " ", -1 );
}
else
{
server_print( "%s successfully loaded.", File );
server_cmd( "exec %s", File );
}
 
//Open our vault and have g_Vault store the handle.
g_Vault = nvault_open( "gunxpmod" );
 
//Make the plugin error if vault did not successfully open
if ( g_Vault == INVALID_HANDLE )
set_fail_state( "Error opening GunXpMod nVault, file does not exist!" );
}
public plugin_end()
{
//Close the vault when the plugin ends (map changeserver shutdownrestart)
nvault_close( g_Vault );
}
public client_connect(id)
{
g_remember_selection[id] = MAX_PISTOLS_MENU;
g_remember_selection_pistol[id] = 0;
 
get_user_authid( id , g_szAuthID[id] , 34 );
get_user_ip(id, g_szAuthIP[id] , 34, 1);
get_user_name(id, g_szAuthNAME[id] , 34);
 
LoadLevel(id)
}
public client_disconnect(id)
{
SaveLevel(id)
}
public Message_StatusIcon(iMsgId, MSG_DEST, id)
{
if( !get_pcvar_num(p_Enabled) )
return PLUGIN_HANDLED;
 
static szIcon[5]
get_msg_arg_string(2, szIcon, 4)
if( szIcon[0] == 'b' && szIcon[2] == 'y' && szIcon[3] == 'z' )
{
if( get_msg_arg_int(1))
{
fm_cs_set_user_nobuy(id)
return PLUGIN_HANDLED;
}
}
 
return PLUGIN_CONTINUE;
}
public fwd_Touch(ent, id)
{
if (!is_user_alive(id) || !pev_valid( ent ) )
return FMRES_IGNORED;
 
static szEntModel[32];
pev( ent , pev_model , szEntModel , 31 );
 
for (new level_equip_id = PlayerLevel[id] + 1; level_equip_id < MAXLEVEL; level_equip_id++)
{
if ( equali( szEntModel , WEAPONMDL[level_equip_id] ) )
{
return FMRES_SUPERCEDE;
}
}
 
return FMRES_IGNORED;
}
public fwd_PlayerSpawn(id)
{
if( !get_pcvar_num(p_Enabled) || !is_user_alive(id) )
return;
 
g_kills[id] = 0
 
#if defined ZOMBIE_SWARM
if ( !get_pcvar_num(level_style) && cs_get_user_team(id) == CS_TEAM_CT )
{
StripPlayerWeapons(id);
 
set_task(2.0, "show_main_menu_level", id)
}
#endif
 
#if defined NORMAL_MOD || defined ZOMBIE_INFECTION
if ( !get_pcvar_num(level_style))
{
StripPlayerWeapons(id);
 
set_task(2.0, "show_main_menu_level", id)
}
#endif
 
if(!task_exists(TASK_SHOW_LEVEL + id) && get_pcvar_num(show_level_text))
{
set_task(0.1, "task_show_level", TASK_SHOW_LEVEL + id)
}
 
#if defined ZOMBIE_SWARM
if ( get_pcvar_num(level_style) && cs_get_user_team(id) == CS_TEAM_CT )
{
set_task(0.3, "give_weapon", id);
}
#endif
 
#if defined NORMAL_MOD || defined ZOMBIE_INFECTION
if ( get_pcvar_num(level_style) )
{
set_task(0.3, "give_weapon", id);
}
#endif
 
}
 
#if defined ZOMBIE_BIOHAZARD
public event_infect(g_victim, g_attacker)
{
if( !get_pcvar_num(p_Enabled) )
return;
 
new counted_triple = get_pcvar_num(xp_kill) + get_pcvar_num(xp_triple) + get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA ? get_pcvar_num(admin_xp) : 0
new counted_ultra = get_pcvar_num(xp_kill) + get_pcvar_num(xp_ultra) + get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA ? get_pcvar_num(admin_xp) : 0
 
if((1 <= g_attacker <= g_maxplayers))
{
if(g_victim != g_attacker)
{
g_kills[g_attacker]++;
if(PlayerLevel[g_attacker] < MAXLEVEL-1)
{
if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)
{
PlayerXp[g_attacker] += get_pcvar_num(admin_xp)
}
 
if ( g_kills[g_attacker] == get_pcvar_num(triple_kills) && get_pcvar_num(enable_triple) )
{
PlayerXp[g_attacker] += counted_triple
 
set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)
show_hudmessage(g_attacker, "%L", LANG_SERVER, "TRIPLE_XP", counted_triple + (get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA ? get_pcvar_num(admin_xp) : 0))
}
else if ( g_kills[g_attacker] == get_pcvar_num(ultra_kills) && get_pcvar_num(enable_ultra) )
{
PlayerXp[g_attacker] += counted_ultra
 
set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)
show_hudmessage(g_attacker, "%L", LANG_SERVER, "ULTRA_XP", counted_ultra + (get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA ? get_pcvar_num(admin_xp) : 0))
}
else
{
PlayerXp[g_attacker] += get_pcvar_num(xp_kill)
 
set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)
show_hudmessage(g_attacker, "+%i", (get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA ? get_pcvar_num(admin_xp) : 0) + get_pcvar_num(xp_kill) )
}
 
check_level(g_attacker)
}
}
}
}
#endif
 
#if defined ZOMBIE_PLAGUE
public zp_user_infected_post(g_victim, g_attacker)
{
if( !get_pcvar_num(p_Enabled) )
return;
 
new counted_triple = get_pcvar_num(xp_kill) + get_pcvar_num(xp_triple)
new counted_ultra = get_pcvar_num(xp_kill) + get_pcvar_num(xp_ultra)
 
if((1 <= g_attacker <= g_maxplayers))
{
if(g_victim != g_attacker)
{
g_kills[g_attacker]++;
if(PlayerLevel[g_attacker] < MAXLEVEL-1)
{
if ( get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA)
{
PlayerXp[g_attacker] += get_pcvar_num(admin_xp)
}
 
if ( g_kills[g_attacker] == get_pcvar_num(triple_kills) && get_pcvar_num(enable_triple) )
{
PlayerXp[g_attacker] += counted_triple
 
set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)
show_hudmessage(g_attacker, "%L", LANG_SERVER, "TRIPLE_XP", counted_triple + (get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA ? get_pcvar_num(admin_xp) : 0))
}
else if ( g_kills[g_attacker] == get_pcvar_num(ultra_kills) && get_pcvar_num(enable_ultra) )
{
PlayerXp[g_attacker] += counted_ultra
 
set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)
show_hudmessage(g_attacker, "%L", LANG_SERVER, "ULTRA_XP", counted_ultra + (get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA ? get_pcvar_num(admin_xp) : 0))
}
else
{
PlayerXp[g_attacker] += get_pcvar_num(xp_kill)
 
set_hudmessage(0, 255, 50, 0.50, 0.33, 1, 2.0, 2.0)
show_hudmessage(g_attacker, "+%i", (get_pcvar_num(enable_admin_xp) && get_user_flags(g_attacker) & ADMIN_EXTRA ? get_pcvar_num(admin_xp) : 0) + get_pcvar_num(xp_kill) )
}
 
check_level(g_attacker)
}
}
}
}
#endif
 
public event_deathmsg()
{
if( !get_pcvar_num(p_Enabled) )
return;
 
new g_attacker = read_data(1);
new g_victim = read_data(2);
 
new counted_triple = get_pcvar_num(xp_kill) + get_pcvar_num(xp_triple)
ne
			

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