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.
|
Guest Message by DevFuse
Wklejka tpuxb39nek0s dodana przez Kawon, 16.05.2013 22:29
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