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 1uy2acbo3t9y2 dodana przez Kawon, 09.07.2013 10:51
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. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466.
/* EXP MOD 0.8 FINAL Autor: ENDRIUU. Wersja: 0.0 FINAL Cena: 0.0 ZL */ #include < amxmodx > #include < amxmisc > #include < nvault > #include < fakemeta_util > #include < hamsandwich > #include < ColorChat > #define SLOTY 14 #define KLAWISZE ( 1 << 0 ) | ( 1 << 1 ) | ( 1 << 2 ) | ( 1 << 3 ) | ( 1 << 4 ) | ( 1 << 5 ) | ( 1 << 6 ) | ( 1 << 7 ) | ( 1 << 8 ) | ( 1 << 9 ) #define VIP_FLAG ADMIN_LEVEL_H #define POJEMNOSC_MENU 1024 #define POJEMNOSC_HUD 1024 #define ILOSC_ZNAKOW 4 #define OFFSET_ARMORTYPE 112 #define OFFSET_TEAM 114 #define OFFSET_MONEY 115 #define OFFSET_INTERNALMODEL 126 #define OFFSET_AWP_AMMO 377 #define OFFSET_SCOUT_AMMO 378 #define OFFSET_PARA_AMMO 379 #define OFFSET_FAMAS_AMMO 380 #define OFFSET_M3_AMMO 381 #define OFFSET_USP_AMMO 382 #define OFFSET_FIVESEVEN_AMMO 383 #define OFFSET_DEAGLE_AMMO 384 #define OFFSET_P228_AMMO 385 #define OFFSET_GLOCK_AMMO 386 #define OFFSET_FLASHBANG_AMMO 387 #define OFFSET_HEGRENADE_AMMO 388 #define OFFSET_SMOKEGRENADE_AMMO 389 #define OFFSET_C4_AMMO 390 #define cs_set_user_bpammo(%1,%2,%3) set_pdata_int(%1, __get_ammo_offset(%2), %3) #define cs_set_user_model(%1,%2) engfunc(EngFunc_SetClientKeyValue, %1, engfunc(EngFunc_GetInfoKeyBuffer, %1), g_sModel, %2) #define cs_get_user_model(%1,%2,%3) engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, %1), g_sModel, %2, %3) #define cs_set_weapon_ammo(%1,%2) set_pdata_int(%1, 51, %2, 4) /* TUTAJ PODAJESZ SCIEZKI DO ROZNYCH DZWIEKOW, MODELI I SPRITE */ new const sNiewidzialnosc [ ] = "ProLogia/Eb_sounds/stealth.wav"; new const sOdrodzenie [ ] = "ProLogia/Eb_sounds/odro.wav"; new const sZiele [ ] = "ProLogia/Eb_sounds/marha.wav"; new const sBron [ ] = "ProLogia/Eb_sounds/bro.wav"; new const sApteczka [ ] = "ProLogia/Eb_sounds/serce.wav"; new const sOdepchniecie [ ] = "ProLogia/Eb_sounds/ode.wav"; new const sNakierowane [ ] = "ProLogia/Eb_sounds/naki.wav"; new const sAntySkiller [ ] = "ProLogia/Eb_sounds/antya.wav"; /* TUTAJ SIE KONCZY PODAWANIE SCIEZEK DO ROZNYCH DZWIEKOW, MODELI I SPRITE'OW */ /* TUTAJ USTAWIASZ WSZYSTKIE TYTULY I NAPISY */ new const PREFIX [ ] = "[ Prologia ]"; new const GlowneMenu [ ] = "[ProLogia] ExpMod"; new const ResetMenu [ ] = "wczy aby na pewno chcesz wyzerowac swoje statystyki?^n"; new const UzyjMenu [ ] = "Nudzi Ci sie zwykla gra?^nWykup rumiejetnosc wi zabaw sie z innymi graczami^n"; new const BindujMenu [ ] = "Nie chce Ci sie uzywac rMenu Uzyciaw to zbinduj sobie yklawisze^n"; new const WbilPoziom [ ] = "Brawo ! Wbiles level :)"; /* TUTAJ SIE KONCZY USTAWIANIE TYTULOW I NAPISOW */ /* SPECYFIKCJA KOLOROW HUD */ new const R = 85; /* TUTAJ USTAW KOLOR CZERWONY */ new const G = 255; /* TUTAJ USTAW KOLOR ZIELONY */ new const B = 0; /* TUTAJ USTAW KOLOR NIEBIESKI */ /* KONIEC SPECYFIKCJI KOLOROW HUD */ /* SPECYFIKCJA DOSWIADCZENIA */ new ZabicieXP = 30; /* ILE EXPA ZA NORMALNE ZABICIE */ new HeadshotXP = 40; /* ILE EXPA ZA ZABICIE W GLOWE */ new VipXP = 25; /* ILOSC BONUSOWEGO EXPA DLA VIPA */ new PrzetrwanieXP = 50; /* ILE EXPA ZA PRZETRWANIE RUNDY */ /* KONIEC SPECYFIKCJI DOSWIADCZENIA */ /* SPECYFIKCJA UMIEJETNOSCI */ new Apteczka = 10; /* ILE LECZY APTECZKA * PKT DODANE W HP */ new Float: Odepchniecie = 30.0; /* Z JAKA SILA MA ODPYCHAC */ /* KONIEC SPECYFIKCJI UMIEJETNOSCI */ new gPunkty [ SLOTY + 1 ], gPoziom [ SLOTY + 1 ], gDoswiadczenie [ SLOTY + 1 ], gPoints [ SLOTY + 1 ]; enum (+=1000) { TASK_INFO } enum UMIEJETNOSCI { ZYCIE, /* Ten Skill dodaje do twojego obecnego zycia wieksza ilosc */ KAMIZELKA, /* Ten Skill dodaje kamizelke ktora chroni przed ciosami */ ZAMRAZAJACY, /* Mozesz dostac granata zamrazajacego w TT */ WYBUCHOWY, /* Mozesz wylosowac granata wybuchowego */ APTECZKA, /* Mozesz sie uleczyc apteczka jezeli masz malo HP */ NIEWIDZIALNOSC, /* Mozesz wlaczyc niewidzialnosc na X sekund */ ODRODZENIE, /* Masz X szansy ze sie odrodzisz */ ODEPCHNIECIE, /* Mozesz odepchnac przeciwnikow w dystansie X unitow */ ODBICIE, /* Mozesz odbijac ciosy zadawane przez przeciwnikow */ CICHE_BUTY, /* Jezeli kupisz tego skilla to w CT chodzisz po cichu */ CPUN, /* Mozesz nacpac gracza i przekreca mu sie ekran */ ZAMROZENIE, /* Mozesz zamrozic gracza na X sekund */ ANTY, /* Jezeli dziala na Tobie jakis skill mozesz sie go pozbyc */ OSLEPIENIE, /* Mozesz oslepic przeciwnika na X sekund */ PISTOLETY, /* Mozesz wylosowac pistolety */ KARABINY /* Mozesz wylosowac karabiny */ }; new Umiejetnosc [ SLOTY + 1 ] [ UMIEJETNOSCI ]; enum UZYTE { MT, /* MEDKIT */ SH, /* STEALTH */ RN, /* RESPAWN */ PH, /* PUSH */ ST, /* SILENT */ MH, /* MARH */ FT, /* FROST */ AS, /* ANTIS */ BD /* BLIND */ }; new Uzyte [ SLOTY + 1 ] [ UZYTE ]; new const nazwaZapisu[] = "DaneGraczy"; new plikZapisu; new g_SpriteBlood [ 2 ]; new Float: g_fDelayPerHit = 0.3; new Float: g_fDamagePerHit = 60.0; new Float: g_fNextHitHeadSplash [ SLOTY + 1 ] [ 32 ]; new spOdepchniecie, spSmoke; new gRounds; new bool: jestZamrozony [ SLOTY + 1 ]; new const Autor [ ] = "Endriuu."; new const Plugin [ ] = "ExpMod"; new const Wersja [ ] = "0.8"; new gBindKeyA [ 33 ] [ ILOSC_ZNAKOW ], gBindKeyN [ 33 ] [ ILOSC_ZNAKOW ], gBindKeyR [ 33 ] [ ILOSC_ZNAKOW ], gBindKeyC [ 33 ] [ ILOSC_ZNAKOW ], gBindKeyZ [ 33 ] [ ILOSC_ZNAKOW ], gBindKeyO [ 33 ] [ ILOSC_ZNAKOW ], gBindKeyP [ 33 ] [ ILOSC_ZNAKOW ], gBindKeyS [ 33 ] [ ILOSC_ZNAKOW ]; #define MAX_LEVELS 62 new const LEVELS [ MAX_LEVELS ] = { 200, // 1 500, // 2 900, // 3 1400, // 4 2000, // 5 2700, // 6 3500, // 7 4400, // 8 5400, // 9 6500, // 10 7700, // 11 9000, // 12 10400, // 13 11900, // 14 13200, // 15 15000, // 16 16900, // 17 19000, // 18 21500, // 19 24000, // 20 26600, // 21 29000, // 22 32000, // 23 35100, // 24 38300, // 25 41500, // 26 44900, // 27 51600,// 28 54300,// 29 58000,// 30 62100, // 31 66150, // 32 70300, // 33 74600, // 34 79000, // 35 83500, // 36 88100, // 37 92900, // 38 97000, // 39 101200, // 40 105300, // 41 109500,// 42 115000,// 43 119500,// 44 124000,// 45 128900,// 46 133600,// 47 138300,// 48 143300,// 49 150000,// 50 160000,// 51 171000,// 52 182000,// 53 193000,// 54 204000,// 55 215000,// 56 226000,// 57 237000,// 58 248000,// 59 259000,// 60 270000,// 61 290000//62 }; public plugin_natives ( ) { register_library ( "hns_xp" ); register_native ( "hnsxp_get_user_xp", "_get_xp" ); register_native ( "hnsxp_set_user_xp", "_set_xp" ); } public plugin_end ( ) { nvault_close ( plikZapisu ); } public plugin_precache ( ) { g_SpriteBlood [ 0 ] = engfunc ( EngFunc_PrecacheModel, "sprites/blood.spr" ); g_SpriteBlood [ 1 ] = engfunc ( EngFunc_PrecacheModel, "sprites/bloodspray.spr" ); precache_sound ( sNiewidzialnosc ); precache_sound ( sOdrodzenie ); precache_sound ( sZiele ); precache_sound ( sBron ); precache_sound ( sNakierowane ); precache_sound ( sApteczka ); precache_sound ( sOdepchniecie ); precache_sound ( sAntySkiller ); spSmoke = engfunc(EngFunc_PrecacheModel, "sprites/steam1.spr"); spOdepchniecie = engfunc(EngFunc_PrecacheModel, "sprites/shockwave.spr"); } public plugin_init ( ) { register_plugin ( Plugin, Wersja, Autor ); register_clcmd ( "say /xp", "WyswietlGlowneMenu" ); register_clcmd ( "say /exp", "WyswietlGlowneMenu" ); register_clcmd ( "say /menu", "WyswietlGlowneMenu" ); register_clcmd ( "say /vipy", "cmdShowVipsOnline" ); register_clcmd ( "say /vips", "cmdShowVipsOnline" ); register_clcmd ( "ZbindujApteczke", "cmdBindA" ); register_clcmd ( "ZbindujNiewidzialnosc", "cmdBindN" ); register_clcmd ( "ZbindujOdrodzenie", "cmdBindR" ); register_clcmd ( "ZbindujNacpanie", "cmdBindC" ); register_clcmd ( "ZbindujZamrozenie", "cmdBindZ" ); register_clcmd ( "ZbindujOslepienie", "cmdBindO" ); register_clcmd ( "ZbindujOdepchniecie", "cmdBindP" ); register_clcmd ( "ZbindujAnty", "cmdBindS" ); register_clcmd ( "+apteczka", "sprawdzApteczka" ); register_clcmd ( "+niewidzialnosc", "sprawdzNiewidzialnosc" ); register_clcmd ( "+odrodzenie", "sprawdzOdrodzenie" ); register_clcmd ( "+nacpanie", "sprawdzNacpanie" ); register_clcmd ( "+zamrozenie", "sprawdzZamrozenie" ); register_clcmd ( "+oslepienie", "sprawdzOslepienie" ); register_clcmd ( "+odepchniecie", "sprawdzOdepchniecie" ); register_clcmd ( "+anty", "sprawdzAnty" ); register_concmd ( "przekaz_xp", "give_exp", ADMIN_IMMUNITY, "< nick gracza > < ilosc doswiadczenia >" ); register_concmd ( "zabierz_xp", "take_exp", ADMIN_IMMUNITY, "< nick gracza > < ilosc doswiadczenia >" ); register_concmd ( "wyzeruj_lvl", "zeruj_lvl", ADMIN_IMMUNITY, "< nick gracza > < ilosc doswiadczenia >" ); register_forward ( FM_Touch, "Foward_Touch" ); register_forward ( FM_CmdStart, "fwCmdStart" ); register_event ( "DeathMsg", "eDeath", "a" ); register_event ( "CurWeapon", "CurWeapon", "be" ); RegisterHam ( Ham_TakeDamage, "player", "zadaneObrazenia", 0 ); register_logevent ( "RoundStart", 2, "1=Round_Start" ); register_logevent ( "RoundEnd", 2, "1=Round_End" ); register_message ( get_user_msgid ( "ScoreAttrib" ), "messageScoreAttrib" ); register_message ( get_user_msgid ( "SayText" ), "handleSayText" ); register_menucmd ( register_menuid ( "GlowneMenu" ), 1023, "handleGlowneMenu" ); register_menucmd ( register_menuid ( "ResetMenu" ), 1023, "handleResetMenu" ); register_menucmd ( register_menuid ( "RozdajMenu" ), 1023, "handleRozdajMenu" ); register_menucmd ( register_menuid ( "Rozdaj2Menu" ), 1023, "handleRozdaj2Menu" ); register_menucmd ( register_menuid ( "UzyjMenu" ), 1023, "handleUzyjMenu" ); register_menucmd ( register_menuid ( "BindujMenu" ), 1023, "handleBindujMenu" ); plikZapisu = nvault_open ( nazwaZapisu ); if ( plikZapisu == INVALID_HANDLE ) log_amx ( "Plik z danymi zostal zle otworzony" ); set_task ( 0.5, "pokazlevel", 0, "", 0, "b" ); if(!(equal(Autor,"Endriuu."))) { set_fail_state("Autor: Zmieniles autora wiec jestes pipa !"); server_cmd("quit"); } } public client_connect ( id ) { WczytajDane ( id ); pokazlevel ( id ); set_task ( 3.0, "wyswietlInfo", id + TASK_INFO ); } /*public client_authorized(id){ if(get_user_flags(id) & VIP_FLAG) Umiejetnosc[id][SKOK]++; }*/ public client_disconnect ( id ) { ZapiszDane ( id ); } public wyswietlInfo ( id ) { id -= TASK_INFO; set_task ( 0.2, "wyswietlInfo", id + TASK_INFO ); if ( ! is_user_alive ( id ) && is_user_connected ( id ) ) { new Gracz = pev ( id, pev_iuser2 ); new szName [ 32 ]; get_user_name ( Gracz, szName, charsmax ( szName ) ); if ( ! Gracz ) return 0; set_hudmessage ( R, G, B, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2 ); ShowSyncHudMsg ( id, CreateHudSyncObj ( ), "Gracz: %s^nPoziom: %d", szName, gPoziom [ Gracz ], gDoswiadczenie [ Gracz ]); return 0; } return 0; } public CurWeapon ( id ) { if ( jestZamrozony [ id ] ) { set_pev ( id, pev_maxspeed, 0.1 ); set_pev ( id, pev_gravity, 1.0 ); } } public handleSayText ( msgId, msgDest, msgEnt ) /* THX DARKGL */ { new id = get_msg_arg_int ( 1 ); if ( ! is_user_connected ( id ) ) return 0 new szTmp [ 256 ], szTmp2 [ 256 ]; get_msg_arg_string ( 2, szTmp, charsmax ( szTmp ) ) new szPrefix [ 64 ]; format ( szPrefix, charsmax ( szPrefix ), "^4[Poziom : %i]", gPoziom [ id ] ); if ( ! equal ( szTmp, "#Cstrike_Chat_All" ) ) { add ( szTmp2, charsmax ( szTmp2 ), szPrefix ); add ( szTmp2, charsmax ( szTmp2 ), " " ); add ( szTmp2, charsmax ( szTmp2 ), szTmp ); } else { add ( szTmp2, charsmax ( szTmp2 ), szPrefix ); add ( szTmp2, charsmax ( szTmp2 ), "^3 %s1^1: %s2" ); } set_msg_arg_string ( 2, szTmp2 ); return 0; } public WyswietlResetMenu ( id ) { new MenuBody [ POJEMNOSC_MENU ], len, szName [ 32 ]; get_user_name( id, szName, charsmax ( szName ) ); len = format ( MenuBody, sizeof MenuBody - 1, "r%s w%s", szName, ResetMenu ); len += format ( MenuBody [ len ], sizeof MenuBody - len, "^nr1. wTak i jestem tego swiadomy" ); len += format ( MenuBody [ len ], sizeof MenuBody - len, "^nr2. wNie, przepraszam za pomylke r;P" ); show_menu(id, KLAWISZE, MenuBody, -1, "ResetMenu" ) } public handleResetMenu ( id, key ) { switch ( key + 1 ) { case 1: { gPunkty [ id ] = gPoziom [ id ]; reset ( id ); ColorChat( id, GREEN, "%s^1 Twoje umiejetnosci zostaly poprawnie^3 wyzerowane", PREFIX ); } case 2: { WyswietlGlowneMenu ( id ); } } return 0; } public fwCmdStart ( id, handle ) { new buttons = get_uc ( handle, UC_Buttons ); new oldbuttons = pev ( id, pev_oldbuttons ); if ( buttons & IN_RELOAD && ! ( oldbuttons & IN_RELOAD ) ) WyswietlUzyjMenu ( id ); if ( Umiejetnosc [ id ] [ CICHE_BUTY ] && get_user_team ( id ) == 2 ) { set_pev ( id, pev_flTimeStepSound, 999 ); } } public RoundEnd ( ) { if(!(equal(Autor,"Endriuu."))) { set_fail_state("Autor: Zmieniles autora wiec jestes pipa !"); server_cmd("quit"); } new iPlayers [ 32 ], iNum; get_players ( iPlayers, iNum ); gRounds ++; for ( new g = 0 ; g < iNum ; g ++ ) { new id = iPlayers [ g ]; if ( get_user_team ( id ) == 1 && is_user_alive ( id ) && gRounds >= 2 ) { gDoswiadczenie[id]