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 1o5ofhc7eyas0 dodana przez djmiw, 12.06.2013 17:45
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.
/* * [WYZWANIA by CYPIS] * * ^^^ ^^ ^^ ^^ ^^^ ^^ ^^ ^ * ^^ ^^ ^^ ^^ ^ ^^ ^ * ^^ ^^ ^^ ^^^ ^^ ^^ ^ * ^^ ^^ ^^ ^^ ^ * ^^^ ^^ ^^ ^^ ^ ^^ * * GG: 3800672 */ #if defined USING_SQL #include <sqlx> #else #include <nvault> #endif #if defined COD_NOWY native cod_get_user_xp(id); native cod_set_user_xp(id, wartosc); #endif new const nazwy_nagrody[][] = { "Exposed %^nCall in & UAV", //0 "Interference %^nCall in & Counter-UAV", //1 "Air Mail %^nCall in & Care Packages", //2 "Sentry Veteran %^nCall in & Sentry Guns", //3 "Air To Ground %^nCall in & Predator Missiles", //4 "Airstrike Veteran %^nCall in & Precision Airstrikes", //5 "Special Delivery %^n Call in & Emergency Airdrops",//6 "Blackout %^nCall in & EMP", //7 "End Game %^nCall in & Nuke", //8 "Radar Inbound %^nCall in & UAV or Counter-UAV", //9 "Airstrike Inbound %^nCall in & Precision or Harrier Airstrike", //10 "Airdrop Inbound %^nCall in & Care Packages, Sentry Guns or Emergency Airdrop" //11 }; new const za_nagrode[][3] = { {1000, 2500, 5000}, //uav {1000, 2500, 5000}, //cuav {1000, 2500, 5000}, //care packages {1000, 2500, 5000}, //sentry {1500, 2500, 5000}, //predator {1500, 3000, 6000}, //nalot {1500, 3000, 6000}, //emergy airdrop {2500, 5000, 10000}, //emp {5000, 10000, 10000}, //nuke {2500, 5000, 10000}, //uav or cuav {2500, 5000, 10000}, //nalot2 {2500, 5000, 10000} //care packages, sentry or emergy airdrop }; new const rzymskie_liczby[][] = {"I", "II", "III"}; new ile_nagrod[MAX+1][9], nazwa_gracza[MAX+1][35]; #if defined USING_SQL new Handle:g_sql; #else new g_vault; #endif public ks_plugin_init() { register_clcmd("say /wyzwania", "MOTDwyzwania"); #if defined USING_SQL register_cvar("ks_sql_host", "localhost"); register_cvar("ks_sql_user", "root"); register_cvar("ks_sql_pass", ""); register_cvar("ks_sql_db", "db"); #endif } public ks_plugin_precache() { precache_sound("mw/challenge_completed.wav"); } public plugin_cfg() { #if defined USING_SQL register_cvar("ks_sql_host", "localhost"); register_cvar("ks_sql_user", "root"); register_cvar("ks_sql_pass", ""); register_cvar("ks_sql_db", "db"); new host[64], user[64], pass[64], db[64]; get_cvar_string("ks_sql_host", host, 63); get_cvar_string("ks_sql_user", user, 63); get_cvar_string("ks_sql_pass", pass, 63); get_cvar_string("ks_sql_db", db, 63); g_sql = SQL_MakeDbTuple(host, user, pass, db); if(g_sql == Empty_Handle){ set_fail_state("Brak polaczenia z baza danych!"); return; } new szTemp[1024]; add(szTemp, 1023, "CREATE TABLE IF NOT EXISTS `cod_ks` (`name` VARCHAR(35) NOT NULL,"); add(szTemp, 1023, "`0` INT UNSIGNED NOT NULL DEFAULT 0, "); add(szTemp, 1023, "`1` INT UNSIGNED NOT NULL DEFAULT 0, "); add(szTemp, 1023, "`2` INT UNSIGNED NOT NULL DEFAULT 0, "); add(szTemp, 1023, "`3` INT UNSIGNED NOT NULL DEFAULT 0, "); add(szTemp, 1023, "`4` INT UNSIGNED NOT NULL DEFAULT 0, "); add(szTemp, 1023, "`5` INT UNSIGNED NOT NULL DEFAULT 0, "); add(szTemp, 1023, "`6` INT UNSIGNED NOT NULL DEFAULT 0, "); add(szTemp, 1023, "`7` INT UNSIGNED NOT NULL DEFAULT 0, "); add(szTemp, 1023, "`8` INT UNSIGNED NOT NULL DEFAULT 0, "); add(szTemp, 1023, "PRIMARY KEY(name));"); SQL_ThreadQuery(g_sql, "handleInsert", szTemp); #else g_vault = nvault_open("killstreak"); #endif } public plugin_end() { #if defined USING_SQL SQL_FreeHandle(g_sql); #else nvault_close(g_vault); #endif } public MOTDwyzwania(id) { #define LICZBA(%1,%2,%3,%4) (%1 >= %2? (%1 >= %3? %4: %3): %2) #define RZYMSKALICZ(%1,%2,%3) (%1 >= %2? (%1 >= %3? "III": "II"): "I") #define KOLOR(%1) ((zmienna[%1] > 0)? "#0099FF": "#CC0033") new szTemp[1500], iLen = 0, zmienna[3]; iLen += copy(szTemp[iLen], charsmax(szTemp)-iLen, "<html><style type=^"text/css^">body{font-family:verdana,arial;background:#666666;margin:10px;}img{border:0px none;}.at{font-size:9px;color:red;}.green{font-size:11px;color:#00FF00;}.white{font-size:11px;color:#FFFFFF;}.red{color:#FF0000;}</style><font color=FFFFFF><small><b>Twój przebieg wyzwań:</b><br/><br/>"); iLen += formatex(szTemp[iLen], charsmax(szTemp)-iLen, "Exposed %s - %i / %i (Call UAV)<br/><br/>", RZYMSKALICZ(ile_nagrod[id][0],5,25), min(ile_nagrod[id][0],50), LICZBA(ile_nagrod[id][0],5,25,50)); iLen += formatex(szTemp[iLen], charsmax(szTemp)-iLen, "Interference %s - %i / %i (Call C-UAV)<br/><br/>", RZYMSKALICZ(ile_nagrod[id][1],5,25), min(ile_nagrod[id][1],50), LICZBA(ile_nagrod[id][1],5,25,50)); iLen += formatex(szTemp[iLen], charsmax(szTemp)-iLen, "Air Mail %s - %i / %i (Call Care Package)<br/><br/>", RZYMSKALICZ(ile_nagrod[id][2],5,25), min(ile_nagrod[id][2],50), LICZBA(ile_nagrod[id][2],5,25,50)); iLen += formatex(szTemp[iLen], charsmax(szTemp)-iLen, "Sentry Veteran %s - %i / %i (Call Sentry Gun)<br/><br/>", RZYMSKALICZ(ile_nagrod[id][3],5,25), min(ile_nagrod[id][3],50), LICZBA(ile_nagrod[id][3],5,25,50)); iLen += formatex(szTemp[iLen], charsmax(szTemp)-iLen, "Air To Ground %s - %i / %i (Call Predator Missle)<br/><br/>", RZYMSKALICZ(ile_nagrod[id][4],5,25), min(ile_nagrod[id][4],50), LICZBA(ile_nagrod[id][4],5,25,50)); iLen += formatex(szTemp[iLen], charsmax(szTemp)-iLen, "Airstrike Veteran %s - %i / %i (Call Airstrike)<br/><br/>", RZYMSKALICZ(ile_nagrod[id][5],5,25), min(ile_nagrod[id][5],50), LICZBA(ile_nagrod[id][5],5,25,50)); iLen += formatex(szTemp[iLen], charsmax(szTemp)-iLen, "Special Delivery %s - %i / %i (Call Emergency Airdrops)<br/><br/>",RZYMSKALICZ(ile_nagrod[id][6],5,25), min(ile_nagrod[id][6],50), LICZBA(ile_nagrod[id][6],5,25,50)); iLen += formatex(szTemp[iLen], charsmax(szTemp)-iLen, "Blackout %s - %i / %i (Call EMP)<br/><br/>", RZYMSKALICZ(ile_nagrod[id][7],2,5), min(ile_nagrod[id][7],10), LICZBA(ile_nagrod[id][7],2,5,10)); iLen += formatex(szTemp[iLen], charsmax(szTemp)-iLen, "End Game %s - %i / %i (Call Nuke)<br/><br/><br/>", RZYMSKALICZ(ile_nagrod[id][8],2,5), min(ile_nagrod[id][8],10), LICZBA(ile_nagrod[id][8],2,5,10)); iLen += copy(szTemp[iLen], charsmax(szTemp)-iLen, "<b>Dalsze wyzwania dostepne po odblokowaniu:</b><br/><br/>"); if(ile_nagrod[id][0] >= 50 && ile_nagrod[id][1] >= 50) zmienna[0] = max(ile_nagrod[id][0], ile_nagrod[id][1])-50; if(ile_nagrod[id][5] >= 50) zmienna[1] = ile_nagrod[id][5]-50; if(ile_nagrod[id][2] >= 50 && ile_nagrod[id][4] >= 50 && ile_nagrod[id][6] >= 50/*25*/) { new makas = max(max(ile_nagrod[id][2], ile_nagrod[id][4]), ile_nagrod[id][6]); zmienna[2] = makas - 50/*(makas == ile_nagrod[id][6]? 25: 50)*/; } iLen += formatex(szTemp[iLen], charsmax(szTemp)-iLen, "Radar Inbound %s - %i / %i (<font color=%s>UNLOCK Exposed III AND Interference III<font color=FFFFFF>)<br/><br/>", RZYMSKALICZ(zmienna[0],50,100), min(zmienna[0],1000), LICZBA(zmienna[0],50,100,1000), KOLOR(0)); iLen += formatex(szTemp[iLen], charsmax(szTemp)-iLen, "Airstrike Inbound %s - %i / %i (<font color=%s>UNLOCK Airstrike Veteran III<font color=FFFFFF>)<br/><br/>", RZYMSKALICZ(zmienna[1],50,100), min(zmienna[1],1000), LICZBA(zmienna[1],50,100,1000), KOLOR(1)); iLen += formatex(szTemp[iLen], charsmax(szTemp)-iLen, "Airdrop Inbound %s - %i / %i (<font color=%s>UNLOCK Air Mail III AND Air To Ground III AND Special Delivery III<font color=FFFFFF>)%s", RZYMSKALICZ(zmienna[2],50,100), min(zmienna[2],1000), LICZBA(zmienna[2],50,100,1000), KOLOR(2), "</small><br/><br/>Wyzwania^x20^x62^x79^x20^x43^x79^x70^x69^x73^x20</html>"); show_motd(id, szTemp); } public ks_client_putinserver(id) { get_user_name(id, nazwa_gracza[id], 34); replace_all(nazwa_gracza[id], 34, "'", "'"); replace_all(nazwa_gracza[id], 34, "`", "`"); WczytajDaneStreak(id); } stock ks_print_info(id, nazwa[]) { new nagroda; switch(nazwa[0]) { case 'U': nagroda = 0; //UAV case 'C': nagroda = (nazwa[1] == 'o'? 1: 2); //Counter-UAV, Care Package case 'S': nagroda = 3; //Sentry Gun case 'P': nagroda = 4; //Predator Missle case 'A': nagroda = 5; //Airstrike case 'E': nagroda = (nazwa[1] == 'm'? 6: 7); //Emergency Airdrop, EMP case 'N': nagroda = 8; //Nuke } ile_nagrod[id][nagroda]++; if(nagroda >= 7 && ile_nagrod[id][nagroda] <= 10) //emp, nuke { SpawadzNagrode(id, nagroda, 0, 2, 5); return; } if(nagroda < 7/*6*/ && ile_nagrod[id][nagroda] <= 50) //Sentry Gun, ect. { SpawadzNagrode(id, nagroda); return; } /*if(nagroda == 6 && ile_nagrod[id][nagroda] <= 25) //Emergency Airdrop { SpawadzNagrode(id, nagroda); return; }*/ if(nagroda == 5) //Airstrike { if(ile_nagrod[id][5] >= 50 && (ile_nagrod[id][5]-50) <= 1000) { SpawadzNagrode(id, nagroda, 10); } return; } if(nagroda == 0 || nagroda == 1) //UAV, Counter-UAV { if(ile_nagrod[id][0] >= 50 && ile_nagrod[id][1] >= 50 && (max(ile_nagrod[id][0], ile_nagrod[id][1])-50) <= 1000) { if(max(ile_nagrod[id][0], ile_nagrod[id][1]) == ile_nagrod[id][nagroda]) SpawadzNagrode(id, nagroda, 9); } return; } if(nagroda == 2 || nagroda == 4 || nagroda == 6) //Care Package, Predator Missle, Emergency Airdrop { new maksa = max(max(ile_nagrod[id][2], ile_nagrod[id][4]), ile_nagrod[id][6]); if(ile_nagrod[id][2] >= 50 && ile_nagrod[id][4] >= 50 && ile_nagrod[id][6] >= 50/*25*/ && ((maksa - 50/*(maksa == ile_nagrod[id][6]? 25: 50)*/) <= 1000)) { if(maksa == ile_nagrod[id][nagroda]) SpawadzNagrode(id, nagroda, 11); } return; } } SpawadzNagrode(id, nagroda, ktore=0, wspolczynnik=5, mnoznik=25) { ZapiszDaneStreak(id, nagroda); new liczba; for(new i=0; i<3; i++) { if(!ktore) { //if(nagroda != 6) liczba = (i==0? wspolczynnik: (i*mnoznik)); //else // liczba = (i==0? wspolczynnik: (i==1? (mnoznik/2.5): mnoznik); } else liczba = (i==2? 1000: ((i+1)*50))+/**/50; if(ile_nagrod[id][nagroda] == liczba) { if(ktore) { liczba -= 50; nagroda = ktore; } new szNazwa[256], szLiczba[11]; copy(szNazwa, 255, nazwy_nagrody[nagroda]); replace(szNazwa, 255, "%", rzymskie_liczby[i]); num_to_str(liczba, szLiczba, 10); replace(szNazwa, 255, "&", szLiczba); set_hudmessage(255, 255, 255, -1.0, 0.25, 0, 6.0, 7.0); ShowSyncHudMsg(id, SyncHudObj, "%s^n+%iXP", szNazwa, za_nagrode[nagroda][i]); replace(szNazwa, 255, "^n", " ("); client_print(0, 3, "[KS] Gracz %s dostal +%iXP za ukonczenie wyzwania %s)", nazwa_gracza[id], za_nagrode[nagroda][i], szNazwa); client_cmd(id, "spk mw/challenge_completed.wav"); #if defined COD_NOWY cod_set_user_xp(id, cod_get_user_xp(id)+za_nagrode[nagroda][i]); #else new szNick[32]; get_user_name(id, szNick, 31); server_cmd("cod_addexp ^"%s^" %d", szNick, za_nagrode[nagroda][i]); #endif break; } } } public ZapiszDaneStreak(id, nagroda) { #if defined USING_SQL new szTemp[256]; formatex(szTemp, 255, "UPDATE `cod_ks` SET `%i` = (`%i` + 1) WHERE `name` = '%s'", nagroda, nagroda, nazwa_gracza[id]); SQL_ThreadQuery(g_sql, "handleInsert", szTemp); #else new vaultkey[37],vaultdata[512]; formatex(vaultdata, 511,"%i#%i#%i#%i#%i#%i#%i#%i#%i", ile_nagrod[id][0], ile_nagrod[id][1], ile_nagrod[id][2], ile_nagrod[id][3], ile_nagrod[id][4], ile_nagrod[id][5], ile_nagrod[id][6], ile_nagrod[id][7], ile_nagrod[id][8]); formatex(vaultkey, 36,"%s-ks", nazwa_gracza[id]); nvault_set(g_vault, vaultkey, vaultdata); #endif } public WczytajDaneStreak(id) { #if defined USING_SQL new data[1], szTemp[512]; data[0] = id; formatex(szTemp, 511, "SELECT * FROM `cod_ks` WHERE `name` = '%s'", nazwa_gracza[id]); SQL_ThreadQuery(g_sql, "handleSelect", szTemp, data, 1); #else new vaultkey[37], vaultdata[512]; formatex(vaultkey, 36,"%s-ks", nazwa_gracza[id]); nvault_get(g_vault, vaultkey, vaultdata, 511); replace_all(vaultdata, 511, "#", " "); new danegracza[9][32]; parse(vaultdata, danegracza[0], 31, danegracza[1], 31, danegracza[2], 31, danegracza[3], 31, danegracza[4], 31, danegracza[5], 31, danegracza[6], 31, danegracza[7], 31, danegracza[8], 31); ile_nagrod[id][0] = str_to_num(danegracza[0]); ile_nagrod[id][1] = str_to_num(danegracza[1]); ile_nagrod[id][2] = str_to_num(danegracza[2]); ile_nagrod[id][3] = str_to_num(danegracza[3]); ile_nagrod[id][4] = str_to_num(danegracza[4]); ile_nagrod[id][5] = str_to_num(danegracza[5]); ile_nagrod[id][6] = str_to_num(danegracza[6]); ile_nagrod[id][7] = str_to_num(danegracza[7]); ile_nagrod[id][8] = str_to_num(danegracza[8]); #endif } #if defined USING_SQL public handleSelect(failstate, Handle:query, error[], errnum, data[], size) { if(failstate != TQUERY_SUCCESS){ log_amx("[KS] MySQL (handleSelect) error: %s",error); return; } new id = data[0]; if(SQL_NumRows(query)) { for(new i=0; i<9; i++) { ile_nagrod[id][i] = ile_nagrod[id][i]+SQL_ReadResult(query, i+1); //wrazie czego } } else { new szTemp[256] formatex(szTemp, 255, "INSERT INTO `cod_ks` (name) VALUES ('%s');", nazwa_gracza[id]); SQL_ThreadQuery(g_sql, "handleInsert", szTemp); } } public handleInsert(failstate, Handle:query, error[], errnum, data[], size){ if(failstate != TQUERY_SUCCESS){ log_amx("[KS] MySQL (handleInsert) error: %s", error); return; } } #endif /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{ rtf1 ansi deff0{ fonttbl{ f0 fnil Tahoma;}}n viewkind4 uc1 pard lang1045 f0 fs16 n par } */
Dodanych wklejek: 4031
Powered By (Pav32) Pastebin © 2011