Guest User

Untitled

a guest
Apr 20th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 31.06 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <nvault>
  4. #include <cstrike>
  5. #include <fun>
  6. #include <ColorChat>
  7. #include <hamsandwich>
  8. #include <expmod>
  9. #include <gunxpmod>
  10.  
  11. #define PLUGIN "Klany"
  12. #define VERSION "1.0"
  13. #define AUTHOR "Albertd edit Pawlik"
  14.  
  15.  
  16. new szNazwaKlanuGracza[ 33 ][ 33 ]
  17. new szNazwaKlanuPodglad[ 33 ][ 33 ]
  18. new szNazwaCzlonkaPodglad[ 33 ][ 33 ]
  19. new iListaGraczy[ 33 ][ 33 ]
  20. new szUserName[ 33 ][ 33 ]
  21. new iLider[ 33 ]
  22. ///
  23.  
  24. new g_msg_screenfade,
  25. potrzebneM1,
  26. potrzebneM2,
  27. potrzebneM3;
  28.  
  29. new HP[33]
  30. new Oslepienie[33]
  31. new ExpGXP[33]
  32.  
  33. new szFolder[ 128 ]
  34. new Vault
  35. new const NieDozwoloneZnaki[ 4 ][ ] = { ".", ",", "'", "^"" }
  36. public plugin_init() {
  37. register_plugin(PLUGIN, VERSION, AUTHOR)
  38.  
  39. register_clcmd( "say /klan", "Klany" )
  40. register_clcmd( "say /klany", "Klany" )
  41. register_clcmd( "say /gildia", "Klany" )
  42. register_clcmd( "say /gildie", "Klany" )
  43. register_clcmd( "say /gang", "Klany" )
  44. register_clcmd( "Zaloz_klan", "ZalozKlan" )
  45. register_clcmd( "Wplac_Monety", "WplacEXP" )
  46. register_clcmd( "say", "cmdSay" )
  47.  
  48. potrzebneM1 = register_cvar("bb_potrzebneM1","1200");
  49. potrzebneM2 = register_cvar("bb_potrzebneM2","800");
  50. potrzebneM3 = register_cvar("bb_potrzebneM3","2000");
  51.  
  52. register_event("Damage", "Damage", "b", "2!=0");
  53. register_event("DeathMsg", "DeathMsg", "a")
  54.  
  55. g_msg_screenfade = get_user_msgid("ScreenFade");
  56.  
  57. RegisterHam(Ham_Spawn,"player","spawned",1)
  58.  
  59. register_message(get_user_msgid("SayText"),"handleSayText");
  60. Vault = nvault_open( "KLANY" )
  61. new szDir[ 64 ]
  62. get_datadir( szDir, sizeof( szDir ) )
  63. new szNameFolder[ 64 ]
  64. format( szNameFolder, sizeof( szNameFolder ), "/%s", PLUGIN )
  65. add( szDir, charsmax( szDir ), szNameFolder )
  66. if( !dir_exists( szDir ) )
  67. mkdir( szDir )
  68. format( szFolder, sizeof( szFolder ), "%s/", szDir, PLUGIN )
  69. }
  70. public plugin_natives( ){
  71. register_native( "bb_get_lvl_guild", "PobierzPoziomKlanuGracza", 1 )
  72. register_native( "get_user_klanname", "native_get_user_klanname", 1 )
  73. register_native( "get_user_SHOW_Klany", "native_get_SHOW_Klany", 1 )
  74.  
  75. register_native("get_user_ExpKlany", "native_get_user_ExpKlany", 1);
  76. }
  77. public client_connect( id ){
  78. get_user_name( id, szUserName[ id ], sizeof( szUserName ) )
  79. copy( szNazwaKlanuGracza[ id ], sizeof( szNazwaKlanuGracza[ ] ), "" )
  80. iLider[ id ] = 0
  81. HP[id] = 0
  82. Oslepienie[id] = 0
  83. ExpGXP[id] = 0
  84. WczytajDane( id )
  85. }
  86. public client_disconnect( id ){
  87. ZapiszDane( id )
  88. }
  89. public Klany( id ){
  90. new gForm[ 64 ]
  91. new menu = menu_create( "\r[BaseBuilder]^n\yOpcje Gildi:", "Klany_2" )
  92. if( strlen( szNazwaKlanuGracza[ id ] ) > 0 ) format( gForm, sizeof( gForm ), "Gildia:\r %s", szNazwaKlanuGracza[ id ] )
  93. else format( gForm, sizeof( gForm ), "Zaloz Gildie [\r1500\w Monet]")
  94. menu_additem( menu, gForm )
  95. if( iLider[ id ] ) menu_additem( menu, "Usun Gildie" )
  96. else if( strlen( szNazwaKlanuGracza[ id ] ) > 0 ) menu_additem( menu, "Opusc Gildie" )
  97. else menu_additem( menu, "\r---\dBrak Gildi\r---" )
  98. menu_additem( menu, "Sprawdz Gildie" )
  99. if( strlen( szNazwaKlanuGracza[ id ] ) > 0 )
  100. format( gForm, sizeof( gForm ), "\ySprawdz Umiejetnosci Swojej Gildii" )
  101. else
  102. format( gForm, sizeof( gForm ), "\dSprawdz Umiejetnosci Swojej Gildii")
  103. menu_additem( menu, gForm )
  104. menu_display( id, menu, 0 )
  105. }
  106. public Klany_2( id, menu, item ){
  107. if( item == MENU_EXIT ){
  108. menu_destroy( menu )
  109. return PLUGIN_CONTINUE
  110. }
  111. switch( item ){
  112. case 0:{
  113. if( strlen( szNazwaKlanuGracza[ id ] ) > 0 ){
  114. copy( szNazwaKlanuPodglad[ id ], sizeof( szNazwaKlanuPodglad ), szNazwaKlanuGracza[ id ] )
  115. PokazInformacjeKlanowe( id )
  116. }else if( get_user_zloto( id ) >= 1500 )
  117. client_cmd( id, "messagemode Zaloz_klan" )
  118. }
  119. case 1: {
  120. if( strlen( szNazwaKlanuGracza[ id ] ) > 0 ){
  121. OpuszczenieKlanu( id )
  122. }
  123. }
  124. case 2: PokazKlany( id )
  125. case 3:{
  126. if( strlen( szNazwaKlanuGracza[ id ] ) > 0 ){
  127. PokazUmiejetnosciGildi( id )
  128. }else{
  129. ColorChat(id, GREEN,">>>^x01 Nie jestes w zadnej Gildii, aby moc sprawdzic umiejetnosci Gildyjne^x04 <<<");
  130. Klany( id );
  131. }
  132. }
  133. }
  134. return PLUGIN_CONTINUE
  135. }
  136.  
  137. public PokazUmiejetnosciGildi( id ){
  138. Um_Gildyjne( id )
  139. }
  140.  
  141. public Um_Gildyjne(id){
  142. new menu = menu_create("\r[BaseBuilder]^n\dUmiejetnosci moze rozwinac tylko \rDowodca Gildii!^n\yStan Umiejetnosci Twojej Gildi:\d","Um_Gildyjne_handle");
  143.  
  144. new formats[128];
  145. format(formats,charsmax(formats),"Dostajesz +%i zycia na start \r[ Zombie ]",HP[id]*5)
  146. menu_additem(menu,formats)
  147.  
  148. format(formats,charsmax(formats),"Szansa na oslepienie wynsoi %i%% \r[ Budowniczy & Zombie ]",Oslepienie[id]/2)
  149. menu_additem(menu,formats)
  150.  
  151. format(formats,charsmax(formats),"Wiekszy Exp +%i za zabojstwo \r[ Budowniczy & Zombie ]",ExpGXP[id])
  152. menu_additem(menu,formats)
  153.  
  154.  
  155. menu_setprop(menu,MPROP_EXIT,MEXIT_ALL);
  156. menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
  157.  
  158. menu_display(id, menu,0);
  159. return PLUGIN_HANDLED;
  160. }
  161.  
  162. public Um_Gildyjne_handle(id, menu, item){
  163. if(item == MENU_EXIT){
  164. menu_destroy(menu);
  165. return PLUGIN_HANDLED;
  166. }
  167. item++;
  168. switch(item){
  169. case 1:{
  170. Um_Gildyjne(id)
  171. }
  172. case 2:{
  173. Um_Gildyjne(id)
  174. }
  175. case 3:{
  176. Um_Gildyjne(id)
  177. }
  178. }
  179. menu_destroy(menu);
  180. return PLUGIN_HANDLED;
  181. }
  182. public upDateSkill(id){
  183. new menu = menu_create("\r[BaseBuilder]^n\dUmiejetnosci moze rozwinac tylko \rLider!^n\yWybierz co chcesz ulepszyc:\d","upDateSkill_handle");
  184.  
  185. new formats[128];
  186. format(formats,charsmax(formats),"\wWiecej \yZycia\w na start \r[ Budowniczy ]")
  187. menu_additem(menu,formats)
  188. format(formats,charsmax(formats),"\wSzansa na \yOslepienie\w gracza \r[ Budowniczy & Zombie ]")
  189. menu_additem(menu,formats)
  190. format(formats,charsmax(formats),"\wWiekszy \yExp\w za zabojstwo\r [ Budowniczy & Zombie ]")
  191. menu_additem(menu,formats)
  192.  
  193. menu_setprop(menu,MPROP_EXIT,MEXIT_ALL);
  194. menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
  195.  
  196. menu_display(id, menu,0);
  197. return PLUGIN_HANDLED;
  198. }
  199.  
  200. public upDateSkill_handle(id, menu, item){
  201. if(item == MENU_EXIT){
  202. menu_destroy(menu);
  203. return PLUGIN_HANDLED;
  204. }
  205. item++;
  206. switch(item){
  207. case 1:{
  208. Um_HP(id)
  209. }
  210. case 2:{
  211. Um_Oslepienie(id)
  212. }
  213. case 3:{
  214. Um_Exp(id)
  215. }
  216. }
  217. menu_destroy(menu);
  218. return PLUGIN_HANDLED;
  219. }
  220. public Um_Exp(id){
  221.  
  222. new formats[256];
  223. format( formats, charsmax( formats ), "\r[BaseBuilder]\y^nUlepszasz: \rWiekszy Exp^n\yKoszt: \w%d^n\yGildia otrzymuje \r+%d\y wiecej expa za zabojstwo gracza!^n\yPosiadasz \r%d\y Monet z Gildii do wydania na ulepszenie!",get_pcvar_num(potrzebneM3)*(ExpGXP[id]+1),ExpGXP[id],PobierzEXPKlanu( szNazwaKlanuGracza[ id ] ))
  224. new menu = menu_create( formats, "Um_Exp_handle" )
  225.  
  226. format(formats,charsmax(formats),"Ulepsz")
  227. menu_additem(menu,formats)
  228. format(formats,charsmax(formats),"Wroc")
  229. menu_additem(menu,formats)
  230.  
  231. menu_setprop(menu,MPROP_EXIT,MEXIT_ALL);
  232. menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
  233.  
  234. menu_display(id, menu,0);
  235. return PLUGIN_HANDLED;
  236. }
  237.  
  238. public Um_Exp_handle(id, menu, item){
  239. if(item == MENU_EXIT){
  240. menu_destroy(menu);
  241. return PLUGIN_HANDLED;
  242. }
  243. item++;
  244. switch(item){
  245. case 1:{
  246. if((get_pcvar_num(potrzebneM3)*(ExpGXP[id]+1)) > PobierzEXPKlanu( szNazwaKlanuGracza[ id ] )){
  247. Um_Exp(id);
  248. menu_destroy(menu);
  249. return PLUGIN_HANDLED;
  250. }
  251. UstawEXPKlanu( szNazwaKlanuGracza[ id ], PobierzEXPKlanu( szNazwaKlanuGracza[ id ] ) - get_pcvar_num(potrzebneM3)*(ExpGXP[id]+1))
  252. ExpGXP[id]++;
  253. Um_Exp(id);
  254. menu_destroy(menu);
  255. return PLUGIN_HANDLED;
  256. }
  257. case 2:{
  258. upDateSkill(id)
  259. }
  260. }
  261. menu_destroy(menu);
  262. return PLUGIN_HANDLED;
  263. }
  264. public Um_Oslepienie(id){
  265.  
  266. new formats[256];
  267. format( formats, charsmax( formats ), "\r[BaseBuilder]\y^nUlepszasz: \rSzansa na Oslepienie^n\yKoszt: \w%d^n\yGildia otrzymuje \r+%d%%\y szansy na oslepienie gracza!^n\yPosiadasz \r%d\y Monet z Gildii do wydania na ulepszenie!",get_pcvar_num(potrzebneM2)*(Oslepienie[id]+1),Oslepienie[id]/2,PobierzEXPKlanu( szNazwaKlanuGracza[ id ] ))
  268. new menu = menu_create( formats, "Um_Oslepienie_handle" )
  269.  
  270. format(formats,charsmax(formats),"Ulepsz")
  271. menu_additem(menu,formats)
  272. format(formats,charsmax(formats),"Wroc")
  273. menu_additem(menu,formats)
  274.  
  275. menu_setprop(menu,MPROP_EXIT,MEXIT_ALL);
  276. menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
  277.  
  278. menu_display(id, menu,0);
  279. return PLUGIN_HANDLED;
  280. }
  281.  
  282. public Um_Oslepienie_handle(id, menu, item){
  283. if(item == MENU_EXIT){
  284. menu_destroy(menu);
  285. return PLUGIN_HANDLED;
  286. }
  287. item++;
  288. switch(item){
  289. case 1:{
  290. if((get_pcvar_num(potrzebneM2)*(Oslepienie[id]+1)) > PobierzEXPKlanu( szNazwaKlanuGracza[ id ] )){
  291. Um_Oslepienie(id);
  292. menu_destroy(menu);
  293. return PLUGIN_HANDLED;
  294. }
  295. UstawEXPKlanu( szNazwaKlanuGracza[ id ], PobierzEXPKlanu( szNazwaKlanuGracza[ id ] ) - get_pcvar_num(potrzebneM2)*(Oslepienie[id]+1))
  296. Oslepienie[id]++;
  297. Um_Oslepienie(id);
  298. menu_destroy(menu);
  299. return PLUGIN_HANDLED;
  300. }
  301. case 2:{
  302. upDateSkill(id)
  303. }
  304. }
  305. menu_destroy(menu);
  306. return PLUGIN_HANDLED;
  307. }
  308. public Um_HP(id){
  309.  
  310. new formats[256];
  311. format( formats, charsmax( formats ), "\r[BaseBuilder]\y^nUlepszasz: \rWiecej Zycia na start^n\yKoszt: \w%d^n\yGildia otrzymuje \r+%d\y zycia na start!^n\yPosiadasz \r%d\y Monet z Gildii do wydania na ulepszenie!",get_pcvar_num(potrzebneM1)*(HP[id]+1),HP[id]*5,PobierzEXPKlanu( szNazwaKlanuGracza[ id ] ))
  312. new menu = menu_create( formats, "Um_HP_handle" )
  313.  
  314. format(formats,charsmax(formats),"Ulepsz")
  315. menu_additem(menu,formats)
  316. format(formats,charsmax(formats),"Wroc")
  317. menu_additem(menu,formats)
  318.  
  319. menu_setprop(menu,MPROP_EXIT,MEXIT_ALL);
  320. menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
  321.  
  322. menu_display(id, menu,0);
  323. return PLUGIN_HANDLED;
  324. }
  325.  
  326. public Um_HP_handle(id, menu, item){
  327. if(item == MENU_EXIT){
  328. menu_destroy(menu);
  329. return PLUGIN_HANDLED;
  330. }
  331. item++;
  332. switch(item){
  333. case 1:{
  334. if((get_pcvar_num(potrzebneM1)*(HP[id]+1)) > PobierzEXPKlanu( szNazwaKlanuGracza[ id ] )){
  335. Um_HP(id);
  336. menu_destroy(menu);
  337. return PLUGIN_HANDLED;
  338. }
  339. UstawEXPKlanu( szNazwaKlanuGracza[ id ], PobierzEXPKlanu( szNazwaKlanuGracza[ id ] ) - get_pcvar_num(potrzebneM1)*(HP[id]+1))
  340. HP[id]++;
  341. Um_HP(id);
  342. menu_destroy(menu);
  343. return PLUGIN_HANDLED;
  344. }
  345. case 2:{
  346. upDateSkill(id)
  347. }
  348. }
  349. menu_destroy(menu);
  350. return PLUGIN_HANDLED;
  351. }
  352.  
  353. public Damage(id)
  354. {
  355. new attacker = get_user_attacker(id);
  356.  
  357. if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker)
  358. return PLUGIN_CONTINUE;
  359.  
  360. new szansa = Oslepienie[attacker]
  361. if(random_num(1,100) <= (szansa/2))
  362. Display_Fade(id,1<<13,1<<13 ,1<<16,255,155,50,230);
  363.  
  364.  
  365.  
  366. return PLUGIN_CONTINUE;
  367.  
  368. }
  369. public DeathMsg(id){
  370. new kid = read_data(1);
  371. new vid = read_data(2);
  372.  
  373. if(!is_user_connected(kid) || !is_user_connected(vid)) return
  374.  
  375. if(cs_get_user_team(vid)==CS_TEAM_T && cs_get_user_team(kid)==CS_TEAM_CT)
  376. {
  377. set_user_xp(kid,get_user_xp(kid)+(ExpGXP[kid]))
  378. }
  379. if(cs_get_user_team(vid)==CS_TEAM_CT && cs_get_user_team(kid)==CS_TEAM_T)
  380. {
  381. set_user_xp(kid,get_user_xp(kid)+(ExpGXP[kid]))
  382. }
  383. }
  384.  
  385.  
  386. stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
  387.  
  388. {
  389.  
  390. message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
  391.  
  392. write_short( duration ); // Duration of fadeout
  393.  
  394. write_short( holdtime ); // Hold time of color
  395.  
  396. write_short( fadetype ); // Fade type
  397.  
  398. write_byte ( red ); // Red
  399.  
  400. write_byte ( green ); // Green
  401.  
  402. write_byte ( blue ); // Blue
  403.  
  404. write_byte ( alpha ); // Alpha
  405.  
  406. message_end();
  407.  
  408. }
  409.  
  410. public spawned(id){
  411. if(is_user_alive(id) && cs_get_user_team(id)==CS_TEAM_CT){
  412. set_user_health(id,get_user_health(id)+(HP[id]*5))
  413. }
  414. }
  415.  
  416. public OpuszczenieKlanu( id ){
  417. new gForm[ 128 ]
  418. format( gForm, sizeof( gForm ), "Czy napewno chcesz %s?", iLider[ id ] == 1 ? "usunac gildie" : "odejsc z gildii" )
  419. new menu = menu_create( gForm, "OpuszczenieKlanu_2" )
  420. menu_additem( menu, "Tak" )
  421. menu_additem( menu, "Nie" )
  422. menu_display( id, menu, 0 )
  423. }
  424. public OpuszczenieKlanu_2( id, menu, item ){
  425. if( item == MENU_EXIT ){
  426. menu_destroy( menu )
  427. return PLUGIN_CONTINUE
  428. }
  429. switch( item ){
  430. case 0:{
  431. if( !iLider[ id ] ){
  432. new szNazwaGracza[ 33 ]
  433. get_user_name( id, szNazwaGracza, sizeof( szNazwaGracza ) )
  434. WyrzucCzlonka( szNazwaKlanuGracza[ id ], szNazwaGracza )
  435. WyzerujKlan( id )
  436. }else{
  437. UsunKlan( szNazwaKlanuGracza[ id ] )
  438. WyzerujKlan( id )
  439. }
  440. }
  441. case 1:{
  442. Klany( id )
  443. }
  444. }
  445. return PLUGIN_CONTINUE
  446. }
  447. public PokazKlany( id ){
  448. new szNazwaKlanu[ 33 ] , gForm[ 128 ]
  449. new menu = menu_create( "\r[BaseBuilder]^n\yWszystkie Gildie:", "PokazKlany_2" )
  450. new gFolder = open_dir( szFolder, szNazwaKlanu, sizeof( szNazwaKlanu ) )
  451. //menu_additem( menu, szNazwaKlanu )
  452. while( next_file( gFolder, szNazwaKlanu, sizeof( szNazwaKlanu ) ) ){
  453. if( equal( szNazwaKlanu, ".." ) )
  454. continue
  455. if( equal( szNazwaKlanu, "." ) )
  456. continue
  457. if( containi( szNazwaKlanu, ".txt" ) ){
  458. replace_all( szNazwaKlanu, sizeof( szNazwaKlanu ), ".txt", "" )
  459. if( equal( szNazwaKlanu, szNazwaKlanuGracza[ id ] ) )
  460. format( gForm, sizeof( gForm ), "\r%s", szNazwaKlanu )
  461. else format( gForm, sizeof( gForm ), "%s", szNazwaKlanu )
  462. menu_additem( menu, gForm )
  463. }
  464. }
  465. close_dir( gFolder )
  466. menu_display( id, menu, 0 )
  467. }
  468. public PokazKlany_2( id, menu, item ){
  469. if( item == MENU_EXIT ){
  470. menu_destroy( menu )
  471. return PLUGIN_CONTINUE
  472. }
  473. new szNazwaKlanu[ 33 ], szInfo[ 33 ]
  474. new Access, CallBack
  475. menu_item_getinfo( menu, item , Access, szInfo, sizeof( szInfo ), szNazwaKlanu, sizeof( szNazwaKlanu ), CallBack )
  476. replace_all( szNazwaKlanu, sizeof( szNazwaKlanu ), "\r", "" )
  477. copy( szNazwaKlanuPodglad[ id ], sizeof( szNazwaKlanuPodglad[ ] ), szNazwaKlanu )
  478. PokazInformacjeKlanowe( id )
  479. return PLUGIN_CONTINUE
  480. }
  481. public PokazInformacjeKlanowe( id ){
  482. new gForm[ 128 ], szData[ 128 ], szLider[ 33 ], iText
  483. new szSciezkaDoKlanu[ 128 ]
  484. copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
  485. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanuPodglad[ id ] )
  486. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
  487. read_file( szSciezkaDoKlanu, 0, szData, sizeof( szData ), iText )
  488. replace_all( szData, sizeof( szData ), "#", " " )
  489. parse( szData, szLider, 32 )
  490. format( gForm, sizeof( gForm ), "\r[BaseBuilder]^n\yNazwa Gildii:\r %s\d^n\yDowodca Gildii:\r %s\d", szNazwaKlanuPodglad[ id ], szLider )
  491. new menu = menu_create( gForm, "PokazInformacjeKlanowe_2" )
  492. menu_additem( menu, "Zarzadzaj" )
  493. for( new i = 1; i < 9; i ++ ){
  494. copy( szData, sizeof( szData ), "" )
  495. read_file( szSciezkaDoKlanu, i, szData, sizeof( szData ), iText )
  496. if( strlen( szData ) > 0 ){
  497. format( gForm, sizeof( gForm ), "\y%s", szData )
  498. menu_additem( menu, gForm )
  499. }else menu_additem( menu, "\r---\dWolne Miejsce\r---" )
  500. }
  501. menu_display( id, menu, 0 )
  502. }
  503. public PokazInformacjeKlanowe_2( id, menu, item ){
  504. if( item == MENU_EXIT ){
  505. menu_destroy( menu )
  506. return PLUGIN_CONTINUE
  507. }
  508. if( item == 0 ){
  509. if( equal( szNazwaKlanuPodglad[ id ], szNazwaKlanuGracza[ id ] ) )
  510. ZarzadajKlanem( id )
  511. else PokazInformacjeKlanowe( id )
  512. }else if( item > 0 ){
  513. if( equal( szNazwaKlanuPodglad[ id ], szNazwaKlanuGracza[ id ] ) && iLider[ id ]){
  514. new szNazwaCzlonka[ 33 ], szInfo[ 33 ]
  515. new Access, CallBack
  516. menu_item_getinfo( menu, item , Access, szInfo, sizeof( szInfo ), szNazwaCzlonka, sizeof( szNazwaCzlonka ), CallBack )
  517. replace_all( szNazwaCzlonka, sizeof( szNazwaCzlonka ), "\y", "" )
  518. copy( szNazwaCzlonkaPodglad[ id ], sizeof( szNazwaCzlonkaPodglad[ ] ), szNazwaCzlonka )
  519. DzialaniaNaCzlonku( id )
  520.  
  521. }else PokazInformacjeKlanowe( id )
  522. }
  523. return PLUGIN_CONTINUE
  524. }
  525. public DzialaniaNaCzlonku( id ){
  526. new gForm[ 128 ]
  527. format( gForm, sizeof( gForm ), "Nazwa czlonka:\w %s", szNazwaCzlonkaPodglad[ id ] )
  528. new menu = menu_create( gForm, "DzialaniaNaCzlonku_2" )
  529. menu_additem( menu, "Wyrzuc gracza" )
  530. menu_display( id, menu, 0 )
  531. }
  532. public DzialaniaNaCzlonku_2( id, menu, item ){
  533. if( item == MENU_EXIT ){
  534. menu_destroy( menu )
  535. return PLUGIN_CONTINUE
  536. }
  537. switch( item ){
  538. case 0:{
  539. WyrzucCzlonka( szNazwaKlanuPodglad[ id ], szNazwaCzlonkaPodglad[ id ] )
  540. PokazInformacjeKlanowe( id )
  541. }
  542. }
  543. return PLUGIN_CONTINUE
  544. }
  545. public ZarzadajKlanem( id ){
  546. new gForm[ 128 ]
  547. format( gForm, sizeof( gForm ), "[Gildia:\r %s]^n\y[Poziom:\r %d\y]^n\y[Monety:\r %d\d/\r%d\y]", szNazwaKlanuGracza[ id ], PobierzPoziomKlanu( szNazwaKlanuGracza[ id ] ), PobierzEXPKlanu( szNazwaKlanuGracza[ id ] ), PotrzebnyExpKlanu( PobierzPoziomKlanu( szNazwaKlanuGracza[ id ] ) ) )
  548. new menu = menu_create( gForm, "ZarzadajKlanem_2" )
  549. menu_additem( menu, "\y[Dowodca Gildii] \wZapros do Gildii" )
  550. menu_additem( menu, "\y[Dowodca Gildii | Czlonkowie] \wWplac\r Monety" )
  551. menu_additem( menu, "\y[Dowodca Gildii] \r Ulepsz Umiejetnosci dla Gildii" )
  552. menu_display( id, menu, 0 )
  553. }
  554. public ZarzadajKlanem_2( id, menu, item ){
  555. if( item == MENU_EXIT ){
  556. menu_destroy( menu )
  557. return PLUGIN_CONTINUE
  558. }
  559. switch( item ){
  560. case 0:{
  561. if( iLider[ id ] && equal( szNazwaKlanuPodglad[ id ], szNazwaKlanuGracza[ id ] ) )
  562. ZapraszanieDoGildi( id )
  563. }
  564. case 1:{
  565. client_cmd( id, "messagemode Wplac_Monety" )
  566. ZarzadajKlanem( id )
  567. }
  568. case 2:{
  569. if( iLider[ id ] && equal( szNazwaKlanuPodglad[ id ], szNazwaKlanuGracza[ id ] ) )
  570. upDateSkill( id )
  571. else
  572. ColorChat(id, GREEN,">>>^x01 Ulepszyc Umiejetnosci moze tylko^x03 Lider^x04 <<<");
  573. }
  574. }
  575. return PLUGIN_CONTINUE
  576. }
  577. public ZapraszanieDoGildi( id ){
  578. new gForm[ 128 ], szNazwaGracza[ 33 ]
  579. new menu = menu_create( "Kogo chcesz zaprosic?", "ZapraszanieDoGildi_2" )
  580. for( new i = 1, d = 0; i <= get_maxplayers( ); i ++ ){
  581. if( !is_user_connected( i ) )
  582. continue
  583. get_user_name( i, szNazwaGracza, sizeof( szNazwaGracza ) )
  584. if( strlen( szNazwaKlanuGracza[ i ] ) > 0 ) format( gForm, sizeof( gForm ), "\d%s - \r[\w %s\r ]", szNazwaGracza, szNazwaKlanuGracza[ i ] )
  585. else format( gForm, sizeof( gForm ), "\y%s", szNazwaGracza )
  586. menu_additem( menu, gForm )
  587. iListaGraczy[ id ][ d++ ] = i
  588. }
  589. menu_display( id, menu, 0 )
  590. }
  591. public ZapraszanieDoGildi_2( id, menu, item ){
  592. if( item == MENU_EXIT ){
  593. menu_destroy( menu )
  594. return PLUGIN_CONTINUE
  595. }
  596. new Target
  597. Target = iListaGraczy[ id ][ item ]
  598. if( strlen( szNazwaKlanuGracza[ Target ] ) > 0 )
  599. return PLUGIN_CONTINUE
  600. new szLider[ 33 ]
  601. get_user_name( id, szLider, sizeof( szLider ) )
  602. copy( szNazwaKlanuPodglad[ Target ], sizeof( szNazwaKlanuPodglad[ ] ), szNazwaKlanuPodglad[ id ] )
  603. WyslijZaproszenie( Target, szLider )
  604. return PLUGIN_CONTINUE
  605. }
  606. public WyslijZaproszenie( id, const szLider[ ] ){
  607. new gForm[ 128 ]
  608. format( gForm, sizeof( gForm ), "Otrzymales zaproszenie!^nGildii:\w %s^n\yDowodca Gildii:\w %s", szNazwaKlanuPodglad[ id ], szLider )
  609. new menu = menu_create( gForm, "WyslijZaproszenie_2" )
  610. menu_additem( menu, "Przyjmij zaproszenie" )
  611. menu_additem( menu, "Odrzuc zaproszenie" )
  612. menu_display( id, menu, 0 )
  613. }
  614. public WyslijZaproszenie_2( id, menu, item ){
  615. if( item == MENU_EXIT ){
  616. menu_destroy( menu )
  617. return PLUGIN_CONTINUE
  618. }
  619. switch( item ){
  620. case 0:{
  621. if( strlen( szNazwaKlanuGracza[ id ] ) <= 0 ){
  622. new szNazwaGracza[ 33 ]
  623. get_user_name( id, szNazwaGracza, sizeof( szNazwaGracza ) )
  624. DodajCzlonka( szNazwaKlanuPodglad[ id ], szNazwaGracza )
  625. iLider[ id ] = 0
  626. copy( szNazwaKlanuGracza[ id ], sizeof( szNazwaKlanuGracza[ ] ), szNazwaKlanuPodglad[ id ] )
  627. }
  628. }
  629. }
  630. return PLUGIN_CONTINUE
  631. }
  632. public ZalozKlan( id ){
  633. if( get_user_zloto( id ) >= 1500 ){
  634. new szNazwaKlanu[ 33 ]
  635. read_args( szNazwaKlanu, sizeof( szNazwaKlanu ) )
  636. remove_quotes( szNazwaKlanu )
  637. trim( szNazwaKlanu )
  638. for( new i = 0 ; i < sizeof( NieDozwoloneZnaki ); i ++ ){
  639. if( containi( szNazwaKlanu, NieDozwoloneZnaki[ i ] ) >= 0){
  640. client_print( id, print_center, "Nie dozwolony znak [%s]", NieDozwoloneZnaki[ i ] )
  641. return PLUGIN_CONTINUE
  642. }
  643. }
  644. replace_all( szNazwaKlanu, sizeof( szNazwaKlanu ), " ", "_" )
  645. new szData[ 128 ], szNazwaGracza[ 33 ]
  646. get_user_name( id, szNazwaGracza, sizeof( szNazwaGracza ) )
  647. format( szData, sizeof( szData ), "#%s#%s#0#1#1", szNazwaGracza, szNazwaKlanu )
  648. new szSciezkaDoKlanu[ 128 ]
  649. copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
  650. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanu )
  651. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
  652. if( !file_exists( szSciezkaDoKlanu ) ){
  653. write_file( szSciezkaDoKlanu, szData, 0 )
  654. copy( szNazwaKlanuGracza[ id ] , sizeof( szNazwaKlanuGracza[ ] ), szNazwaKlanu )
  655. iLider[ id ] = 1
  656. copy( szNazwaKlanuPodglad[ id ], sizeof( szNazwaKlanuPodglad ), szNazwaKlanuGracza[ id ] )
  657. PokazInformacjeKlanowe( id )
  658. set_user_zloto( id, get_user_zloto( id ) - 1500 )
  659. }
  660. }
  661. return PLUGIN_CONTINUE
  662. }
  663. public WyrzucCzlonka( const szNazwaKlanu[ ], const szNazwaCzlonka[ ] ){
  664. new szSciezkaDoKlanu[ 128 ], szData[ 128], iText
  665. copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
  666. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanu )
  667. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
  668. for( new i = 1; i < 9; i ++ ){
  669. copy( szData, sizeof( szData ), "" )
  670. read_file( szSciezkaDoKlanu, i, szData, sizeof( szData ), iText )
  671. if( equal( szData, szNazwaCzlonka ) ){
  672. write_file( szSciezkaDoKlanu, "", i )
  673. break
  674. }
  675. }
  676. }
  677. public UsunKlan( const szNazwaKlanu[ ] ){
  678. new szSciezkaDoKlanu[ 128 ]
  679. copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
  680. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanu )
  681. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
  682. unlink( szSciezkaDoKlanu )
  683. }
  684. public DodajCzlonka( const szNazwaKlanu[ ], const szNazwaCzlonka[ ] ){
  685. new szSciezkaDoKlanu[ 128 ], szData[ 128], iText
  686. copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
  687. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanu )
  688. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
  689. for( new i = 1; i < 9; i ++ ){
  690. copy( szData, sizeof( szData ), "" )
  691. read_file( szSciezkaDoKlanu, i, szData, sizeof( szData ), iText )
  692. if( strlen( szData ) <= 0 ){
  693. write_file( szSciezkaDoKlanu, szNazwaCzlonka, i )
  694. break
  695. }
  696. }
  697. }
  698. public SprawdzCzyJestCzlonkiem( id ){
  699. if( strlen( szNazwaKlanuGracza[ id ] ) > 0 ){
  700. new szSciezkaDoKlanu[ 128 ], szNazwaCzlonka[ 33 ], szData[ 128], iText
  701. copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
  702. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanuGracza[ id ] )
  703. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
  704. if( file_exists( szSciezkaDoKlanu ) ){
  705. if( iLider[ id ] == 0 ){
  706. new bool:iReset=false
  707. get_user_name( id, szNazwaCzlonka, sizeof( szNazwaCzlonka ) )
  708. for( new i = 1; i < 9; i ++ ){
  709. copy( szData, sizeof( szData ), "" )
  710. read_file( szSciezkaDoKlanu, i, szData, sizeof( szData ), iText )
  711. if( equal( szData, szNazwaCzlonka ) ){
  712. iReset=true
  713. }
  714. }
  715. if( !iReset ){
  716. WyzerujKlan( id )
  717. client_print( id, print_chat, "Zero iReset" )
  718. }
  719. }
  720. }else{
  721. WyzerujKlan( id )
  722. client_print( id, print_chat, "Zero %s", szSciezkaDoKlanu )
  723. }
  724. }
  725. }
  726. public WyzerujKlan( id ){
  727. iLider[ id ] = 0
  728. HP[ id ] = 0
  729. ExpGXP[ id ] = 0
  730. Oslepienie[ id ] = 0
  731. copy( szNazwaKlanuGracza[ id ], sizeof( szNazwaKlanuGracza[ ] ), "" )
  732. }
  733. public WplacEXP( id ){
  734. if( strlen( szNazwaKlanuGracza[ id ] ) > 0 ){
  735. new iIloscDoWplacenia[ 10 ]
  736. read_args( iIloscDoWplacenia, sizeof( iIloscDoWplacenia ) )
  737. remove_quotes( iIloscDoWplacenia )
  738. if( str_to_num( iIloscDoWplacenia ) > 0 ){
  739. if( get_user_zloto( id ) >= str_to_num( iIloscDoWplacenia ) ){
  740. UstawEXPKlanu( szNazwaKlanuGracza[ id ], PobierzEXPKlanu( szNazwaKlanuGracza[ id ] )+str_to_num( iIloscDoWplacenia ) )
  741. set_user_zloto( id, get_user_zloto( id ) - str_to_num( iIloscDoWplacenia ) )
  742. while( PobierzEXPKlanu( szNazwaKlanuGracza[ id ] ) >= PotrzebnyExpKlanu( PobierzPoziomKlanu( szNazwaKlanuGracza[ id ] ) ) ){
  743. UstawPoziomKlanu( szNazwaKlanuGracza[ id ], PobierzPoziomKlanu( szNazwaKlanuGracza[ id ] ) + 1 )
  744. }
  745. ZarzadajKlanem( id )
  746. }
  747. }
  748. }
  749. }
  750. public PotrzebnyExpKlanu( iWartoscPoziomu ){
  751. return power( iWartoscPoziomu, 2 ) * 1400
  752. }
  753. public PobierzEXPKlanu( const szNazwaKlanu[ ] ){
  754. new szSciezkaDoKlanu[ 128 ], szData[ 128], iText
  755. copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
  756. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanu )
  757. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
  758. read_file( szSciezkaDoKlanu, 0, szData, sizeof( szData ), iText )
  759. replace_all( szData, sizeof( szData ), "#", " " )
  760. new szReadData[ 5 ][ 33 ]
  761. parse( szData, szReadData[ 0 ], 32, szReadData[ 1 ], 32, szReadData[ 2 ], 32, szReadData[ 3 ], 32, szReadData[ 4 ], 32 )
  762. return str_to_num( szReadData[ 3 ] )
  763. }
  764. public UstawEXPKlanu( const szNazwaKlanu[ ], iWartoscEXP ){
  765. new szSciezkaDoKlanu[ 128 ], szData[ 128], iText
  766. copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
  767. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanu )
  768. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
  769. read_file( szSciezkaDoKlanu, 0, szData, sizeof( szData ), iText )
  770. replace_all( szData, sizeof( szData ), "#", " " )
  771. new szReadData[ 5 ][ 33 ]
  772. parse( szData, szReadData[ 0 ], 32, szReadData[ 1 ], 32, szReadData[ 2 ], 32, szReadData[ 3 ], 32, szReadData[ 4 ], 32 )
  773. format( szData, sizeof( szData ), "#%s#%s#%i#%i#%i", szReadData[ 0 ], szReadData[ 1 ], str_to_num( szReadData[ 2 ] ), iWartoscEXP , str_to_num( szReadData[ 4 ] ) )
  774. write_file( szSciezkaDoKlanu, szData, 0 )
  775. }
  776. public PobierzPoziomKlanu( const szNazwaKlanu[ ] ){
  777. new szSciezkaDoKlanu[ 128 ], szData[ 128], iText
  778. copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
  779. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanu )
  780. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
  781. read_file( szSciezkaDoKlanu, 0, szData, sizeof( szData ), iText )
  782. replace_all( szData, sizeof( szData ), "#", " " )
  783. new szReadData[ 5 ][ 33 ]
  784. parse( szData, szReadData[ 0 ], 32, szReadData[ 1 ], 32, szReadData[ 2 ], 32, szReadData[ 3 ], 32, szReadData[ 4 ], 32 )
  785. return str_to_num( szReadData[ 4 ] )
  786. }
  787. public PobierzPoziomKlanuGracza( id ){
  788. new iNum = 0;
  789. if( strlen( szNazwaKlanuGracza[ id ] ) <= 0 )
  790. iNum = 0
  791. else{
  792. new szSciezkaDoKlanu[ 128 ], szData[ 128], iText
  793. copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
  794. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanuGracza[ id ] )
  795. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
  796. read_file( szSciezkaDoKlanu, 0, szData, sizeof( szData ), iText )
  797. replace_all( szData, sizeof( szData ), "#", " " )
  798. new szReadData[ 5 ][ 33 ]
  799. parse( szData, szReadData[ 0 ], 32, szReadData[ 1 ], 32, szReadData[ 2 ], 32, szReadData[ 3 ], 32, szReadData[ 4 ], 32 )
  800. iNum = str_to_num( szReadData[ 4 ] )
  801. }
  802. return iNum
  803. }
  804. public UstawPoziomKlanu( const szNazwaKlanu[ ], iWartoscPoziom ){
  805. new szSciezkaDoKlanu[ 128 ], szData[ 128], iText
  806. copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
  807. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanu )
  808. add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
  809. read_file( szSciezkaDoKlanu, 0, szData, sizeof( szData ), iText )
  810. replace_all( szData, sizeof( szData ), "#", " " )
  811. new szReadData[ 5 ][ 33 ]
  812. parse( szData, szReadData[ 0 ], 32, szReadData[ 1 ], 32, szReadData[ 2 ], 32, szReadData[ 3 ], 32, szReadData[ 4 ], 32 )
  813. format( szData, sizeof( szData ), "#%s#%s#%i#%i#%i", szReadData[ 0 ], szReadData[ 1 ], str_to_num( szReadData[ 2 ] ), str_to_num( szReadData[ 3 ] ) , iWartoscPoziom )
  814. write_file( szSciezkaDoKlanu, szData, 0 )
  815. }
  816. public ZapiszDane( id ){
  817. new VaultKey[ 128 ], VaultData[ 512 ]
  818. format( VaultData, sizeof( VaultData ), "#%s#%i#%d#%d#%d", szNazwaKlanuGracza[ id ], iLider[ id ],ExpGXP[id],Oslepienie[id],HP[id] )
  819. format( VaultKey, sizeof( VaultKey ),"%s-KLANY", szUserName[ id ] )
  820. nvault_set( Vault, VaultKey, VaultData )
  821. }
  822. public WczytajDane( id ){
  823. new VaultKey[ 128 ], VaultData[ 256 ]
  824. format( VaultKey, sizeof( VaultKey ),"%s-KLANY", szUserName[ id ] )
  825. nvault_get( Vault, VaultKey, VaultData, sizeof( VaultData ) );
  826. replace_all( VaultData, sizeof( VaultData ), "#", " " )
  827. new ReadData[ 5 ][ 33 ]
  828. parse( VaultData, ReadData[ 0 ], 32, ReadData[ 1 ], 32, ReadData[ 2 ], 32, ReadData[ 3 ], 32, ReadData[ 4 ], 32 )
  829. copy( szNazwaKlanuGracza[ id ], sizeof( szNazwaKlanuGracza[ ] ), ReadData[ 0 ] )
  830. iLider[ id ] = str_to_num( ReadData[ 1 ] )
  831. ExpGXP[ id ] = str_to_num( ReadData[ 2 ] )
  832. Oslepienie[ id ] = str_to_num( ReadData[ 3 ] )
  833. HP[ id ] = str_to_num( ReadData[ 4 ] )
  834. SprawdzCzyJestCzlonkiem( id )
  835. }
  836.  
  837. public handleSayText(msgId,msgDest,msgEnt){
  838.  
  839. new id = get_msg_arg_int(1);
  840.  
  841. if(!is_user_connected(id)) return PLUGIN_CONTINUE;
  842.  
  843. new szTmp[192], szTmp2[192];
  844. get_msg_arg_string(2, szTmp, charsmax(szTmp));
  845.  
  846. new szPrefix[64]
  847. copy( szPrefix, sizeof( szPrefix ), szNazwaKlanuGracza[ id ] )
  848.  
  849. if(!equal(szTmp,"#Cstrike_Chat_All")){
  850. add(szTmp2, charsmax(szTmp2), "^x01");
  851. add(szTmp2, charsmax(szTmp2), szPrefix);
  852. add(szTmp2, charsmax(szTmp2), " ");
  853. add(szTmp2, charsmax(szTmp2), szTmp);
  854. }else{
  855. new szPlayerName[64];
  856. get_user_name(id, szPlayerName, charsmax(szPlayerName));
  857.  
  858. get_msg_arg_string(4, szTmp, charsmax(szTmp)); //4. argument zawiera treść wysłanej wiadomości
  859. set_msg_arg_string(4, ""); //Musimy go wyzerować, gdyż gra wykorzysta wiadomość podwójnie co może skutkować crash'em 191+ znaków.
  860.  
  861. if(strlen( szNazwaKlanuGracza[ id ] ) > 0){
  862. add(szTmp2, charsmax(szTmp2), "^x04[");
  863. add(szTmp2, charsmax(szTmp2), szPrefix);
  864. add(szTmp2, charsmax(szTmp2), "]^x03 ");
  865. add(szTmp2, charsmax(szTmp2), szPlayerName);
  866. add(szTmp2, charsmax(szTmp2), "^x01 : ");
  867. add(szTmp2, charsmax(szTmp2), szTmp)
  868. }else{
  869. add(szTmp2, charsmax(szTmp2), "^x04");
  870. add(szTmp2, charsmax(szTmp2), szPrefix);
  871. add(szTmp2, charsmax(szTmp2), "^x03");
  872. add(szTmp2, charsmax(szTmp2), szPlayerName);
  873. add(szTmp2, charsmax(szTmp2), "^x01 : ");
  874. add(szTmp2, charsmax(szTmp2), szTmp)
  875. }
  876. }
  877.  
  878. set_msg_arg_string(2, szTmp2);
  879.  
  880. return PLUGIN_CONTINUE;
  881. }
  882.  
  883. public cmdSay( id )
  884. {
  885. if( !is_user_connected( id ) )
  886. return PLUGIN_HANDLED
  887.  
  888. new szMessage[ 32 ]
  889. read_args( szMessage, charsmax( szMessage ) )
  890. remove_quotes( szMessage )
  891.  
  892. if(szMessage[ 0 ] == '!' && strlen( szNazwaKlanuGracza[ id ] ) > 0 )
  893. {
  894. new szNazwaGracza[ 33 ]
  895. get_user_name( id, szNazwaGracza, sizeof( szNazwaGracza ) )
  896. szMessage[ 0 ] = ' '
  897. trim( szMessage )
  898. for( new i = 1; i<= get_maxplayers( ); i++ ){
  899. if( equal( szNazwaKlanuGracza[ i ], szNazwaKlanuGracza[ id ] ) )
  900. ColorChat( i, TEAM_COLOR, "^x04[Czat Gildyjny]^x03%s^x01 : %s", szNazwaGracza, szMessage )
  901. }
  902. return PLUGIN_HANDLED
  903. }
  904. return PLUGIN_CONTINUE
  905. }
  906. public native_get_user_klanname( id, Return[], len )
  907. {
  908. param_convert(2);
  909. copy(Return, len, szNazwaKlanuGracza[id]);
  910. }
  911. public native_get_SHOW_Klany( id )
  912. {
  913. Klany(id);
  914. }
  915. public native_get_user_ExpKlany(id)
  916. {
  917. return ExpGXP[id];
  918. }
Add Comment
Please, Sign In to add comment