Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <nvault>
- #include <cstrike>
- #include <fun>
- #include <ColorChat>
- #include <hamsandwich>
- #include <expmod>
- #include <gunxpmod>
- #define PLUGIN "Klany"
- #define VERSION "1.0"
- #define AUTHOR "Albertd edit Pawlik"
- new szNazwaKlanuGracza[ 33 ][ 33 ]
- new szNazwaKlanuPodglad[ 33 ][ 33 ]
- new szNazwaCzlonkaPodglad[ 33 ][ 33 ]
- new iListaGraczy[ 33 ][ 33 ]
- new szUserName[ 33 ][ 33 ]
- new iLider[ 33 ]
- ///
- new g_msg_screenfade,
- potrzebneM1,
- potrzebneM2,
- potrzebneM3;
- new HP[33]
- new Oslepienie[33]
- new ExpGXP[33]
- new szFolder[ 128 ]
- new Vault
- new const NieDozwoloneZnaki[ 4 ][ ] = { ".", ",", "'", "^"" }
- public plugin_init() {
- register_plugin(PLUGIN, VERSION, AUTHOR)
- register_clcmd( "say /klan", "Klany" )
- register_clcmd( "say /klany", "Klany" )
- register_clcmd( "say /gildia", "Klany" )
- register_clcmd( "say /gildie", "Klany" )
- register_clcmd( "say /gang", "Klany" )
- register_clcmd( "Zaloz_klan", "ZalozKlan" )
- register_clcmd( "Wplac_Monety", "WplacEXP" )
- register_clcmd( "say", "cmdSay" )
- potrzebneM1 = register_cvar("bb_potrzebneM1","1200");
- potrzebneM2 = register_cvar("bb_potrzebneM2","800");
- potrzebneM3 = register_cvar("bb_potrzebneM3","2000");
- register_event("Damage", "Damage", "b", "2!=0");
- register_event("DeathMsg", "DeathMsg", "a")
- g_msg_screenfade = get_user_msgid("ScreenFade");
- RegisterHam(Ham_Spawn,"player","spawned",1)
- register_message(get_user_msgid("SayText"),"handleSayText");
- Vault = nvault_open( "KLANY" )
- new szDir[ 64 ]
- get_datadir( szDir, sizeof( szDir ) )
- new szNameFolder[ 64 ]
- format( szNameFolder, sizeof( szNameFolder ), "/%s", PLUGIN )
- add( szDir, charsmax( szDir ), szNameFolder )
- if( !dir_exists( szDir ) )
- mkdir( szDir )
- format( szFolder, sizeof( szFolder ), "%s/", szDir, PLUGIN )
- }
- public plugin_natives( ){
- register_native( "bb_get_lvl_guild", "PobierzPoziomKlanuGracza", 1 )
- register_native( "get_user_klanname", "native_get_user_klanname", 1 )
- register_native( "get_user_SHOW_Klany", "native_get_SHOW_Klany", 1 )
- register_native("get_user_ExpKlany", "native_get_user_ExpKlany", 1);
- }
- public client_connect( id ){
- get_user_name( id, szUserName[ id ], sizeof( szUserName ) )
- copy( szNazwaKlanuGracza[ id ], sizeof( szNazwaKlanuGracza[ ] ), "" )
- iLider[ id ] = 0
- HP[id] = 0
- Oslepienie[id] = 0
- ExpGXP[id] = 0
- WczytajDane( id )
- }
- public client_disconnect( id ){
- ZapiszDane( id )
- }
- public Klany( id ){
- new gForm[ 64 ]
- new menu = menu_create( "\r[BaseBuilder]^n\yOpcje Gildi:", "Klany_2" )
- if( strlen( szNazwaKlanuGracza[ id ] ) > 0 ) format( gForm, sizeof( gForm ), "Gildia:\r %s", szNazwaKlanuGracza[ id ] )
- else format( gForm, sizeof( gForm ), "Zaloz Gildie [\r1500\w Monet]")
- menu_additem( menu, gForm )
- if( iLider[ id ] ) menu_additem( menu, "Usun Gildie" )
- else if( strlen( szNazwaKlanuGracza[ id ] ) > 0 ) menu_additem( menu, "Opusc Gildie" )
- else menu_additem( menu, "\r---\dBrak Gildi\r---" )
- menu_additem( menu, "Sprawdz Gildie" )
- if( strlen( szNazwaKlanuGracza[ id ] ) > 0 )
- format( gForm, sizeof( gForm ), "\ySprawdz Umiejetnosci Swojej Gildii" )
- else
- format( gForm, sizeof( gForm ), "\dSprawdz Umiejetnosci Swojej Gildii")
- menu_additem( menu, gForm )
- menu_display( id, menu, 0 )
- }
- public Klany_2( id, menu, item ){
- if( item == MENU_EXIT ){
- menu_destroy( menu )
- return PLUGIN_CONTINUE
- }
- switch( item ){
- case 0:{
- if( strlen( szNazwaKlanuGracza[ id ] ) > 0 ){
- copy( szNazwaKlanuPodglad[ id ], sizeof( szNazwaKlanuPodglad ), szNazwaKlanuGracza[ id ] )
- PokazInformacjeKlanowe( id )
- }else if( get_user_zloto( id ) >= 1500 )
- client_cmd( id, "messagemode Zaloz_klan" )
- }
- case 1: {
- if( strlen( szNazwaKlanuGracza[ id ] ) > 0 ){
- OpuszczenieKlanu( id )
- }
- }
- case 2: PokazKlany( id )
- case 3:{
- if( strlen( szNazwaKlanuGracza[ id ] ) > 0 ){
- PokazUmiejetnosciGildi( id )
- }else{
- ColorChat(id, GREEN,">>>^x01 Nie jestes w zadnej Gildii, aby moc sprawdzic umiejetnosci Gildyjne^x04 <<<");
- Klany( id );
- }
- }
- }
- return PLUGIN_CONTINUE
- }
- public PokazUmiejetnosciGildi( id ){
- Um_Gildyjne( id )
- }
- public Um_Gildyjne(id){
- new menu = menu_create("\r[BaseBuilder]^n\dUmiejetnosci moze rozwinac tylko \rDowodca Gildii!^n\yStan Umiejetnosci Twojej Gildi:\d","Um_Gildyjne_handle");
- new formats[128];
- format(formats,charsmax(formats),"Dostajesz +%i zycia na start \r[ Zombie ]",HP[id]*5)
- menu_additem(menu,formats)
- format(formats,charsmax(formats),"Szansa na oslepienie wynsoi %i%% \r[ Budowniczy & Zombie ]",Oslepienie[id]/2)
- menu_additem(menu,formats)
- format(formats,charsmax(formats),"Wiekszy Exp +%i za zabojstwo \r[ Budowniczy & Zombie ]",ExpGXP[id])
- menu_additem(menu,formats)
- menu_setprop(menu,MPROP_EXIT,MEXIT_ALL);
- menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
- menu_display(id, menu,0);
- return PLUGIN_HANDLED;
- }
- public Um_Gildyjne_handle(id, menu, item){
- if(item == MENU_EXIT){
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- item++;
- switch(item){
- case 1:{
- Um_Gildyjne(id)
- }
- case 2:{
- Um_Gildyjne(id)
- }
- case 3:{
- Um_Gildyjne(id)
- }
- }
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- public upDateSkill(id){
- new menu = menu_create("\r[BaseBuilder]^n\dUmiejetnosci moze rozwinac tylko \rLider!^n\yWybierz co chcesz ulepszyc:\d","upDateSkill_handle");
- new formats[128];
- format(formats,charsmax(formats),"\wWiecej \yZycia\w na start \r[ Budowniczy ]")
- menu_additem(menu,formats)
- format(formats,charsmax(formats),"\wSzansa na \yOslepienie\w gracza \r[ Budowniczy & Zombie ]")
- menu_additem(menu,formats)
- format(formats,charsmax(formats),"\wWiekszy \yExp\w za zabojstwo\r [ Budowniczy & Zombie ]")
- menu_additem(menu,formats)
- menu_setprop(menu,MPROP_EXIT,MEXIT_ALL);
- menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
- menu_display(id, menu,0);
- return PLUGIN_HANDLED;
- }
- public upDateSkill_handle(id, menu, item){
- if(item == MENU_EXIT){
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- item++;
- switch(item){
- case 1:{
- Um_HP(id)
- }
- case 2:{
- Um_Oslepienie(id)
- }
- case 3:{
- Um_Exp(id)
- }
- }
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- public Um_Exp(id){
- new formats[256];
- 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 ] ))
- new menu = menu_create( formats, "Um_Exp_handle" )
- format(formats,charsmax(formats),"Ulepsz")
- menu_additem(menu,formats)
- format(formats,charsmax(formats),"Wroc")
- menu_additem(menu,formats)
- menu_setprop(menu,MPROP_EXIT,MEXIT_ALL);
- menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
- menu_display(id, menu,0);
- return PLUGIN_HANDLED;
- }
- public Um_Exp_handle(id, menu, item){
- if(item == MENU_EXIT){
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- item++;
- switch(item){
- case 1:{
- if((get_pcvar_num(potrzebneM3)*(ExpGXP[id]+1)) > PobierzEXPKlanu( szNazwaKlanuGracza[ id ] )){
- Um_Exp(id);
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- UstawEXPKlanu( szNazwaKlanuGracza[ id ], PobierzEXPKlanu( szNazwaKlanuGracza[ id ] ) - get_pcvar_num(potrzebneM3)*(ExpGXP[id]+1))
- ExpGXP[id]++;
- Um_Exp(id);
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- case 2:{
- upDateSkill(id)
- }
- }
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- public Um_Oslepienie(id){
- new formats[256];
- 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 ] ))
- new menu = menu_create( formats, "Um_Oslepienie_handle" )
- format(formats,charsmax(formats),"Ulepsz")
- menu_additem(menu,formats)
- format(formats,charsmax(formats),"Wroc")
- menu_additem(menu,formats)
- menu_setprop(menu,MPROP_EXIT,MEXIT_ALL);
- menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
- menu_display(id, menu,0);
- return PLUGIN_HANDLED;
- }
- public Um_Oslepienie_handle(id, menu, item){
- if(item == MENU_EXIT){
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- item++;
- switch(item){
- case 1:{
- if((get_pcvar_num(potrzebneM2)*(Oslepienie[id]+1)) > PobierzEXPKlanu( szNazwaKlanuGracza[ id ] )){
- Um_Oslepienie(id);
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- UstawEXPKlanu( szNazwaKlanuGracza[ id ], PobierzEXPKlanu( szNazwaKlanuGracza[ id ] ) - get_pcvar_num(potrzebneM2)*(Oslepienie[id]+1))
- Oslepienie[id]++;
- Um_Oslepienie(id);
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- case 2:{
- upDateSkill(id)
- }
- }
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- public Um_HP(id){
- new formats[256];
- 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 ] ))
- new menu = menu_create( formats, "Um_HP_handle" )
- format(formats,charsmax(formats),"Ulepsz")
- menu_additem(menu,formats)
- format(formats,charsmax(formats),"Wroc")
- menu_additem(menu,formats)
- menu_setprop(menu,MPROP_EXIT,MEXIT_ALL);
- menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
- menu_display(id, menu,0);
- return PLUGIN_HANDLED;
- }
- public Um_HP_handle(id, menu, item){
- if(item == MENU_EXIT){
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- item++;
- switch(item){
- case 1:{
- if((get_pcvar_num(potrzebneM1)*(HP[id]+1)) > PobierzEXPKlanu( szNazwaKlanuGracza[ id ] )){
- Um_HP(id);
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- UstawEXPKlanu( szNazwaKlanuGracza[ id ], PobierzEXPKlanu( szNazwaKlanuGracza[ id ] ) - get_pcvar_num(potrzebneM1)*(HP[id]+1))
- HP[id]++;
- Um_HP(id);
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- case 2:{
- upDateSkill(id)
- }
- }
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- public Damage(id)
- {
- new attacker = get_user_attacker(id);
- if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker)
- return PLUGIN_CONTINUE;
- new szansa = Oslepienie[attacker]
- if(random_num(1,100) <= (szansa/2))
- Display_Fade(id,1<<13,1<<13 ,1<<16,255,155,50,230);
- return PLUGIN_CONTINUE;
- }
- public DeathMsg(id){
- new kid = read_data(1);
- new vid = read_data(2);
- if(!is_user_connected(kid) || !is_user_connected(vid)) return
- if(cs_get_user_team(vid)==CS_TEAM_T && cs_get_user_team(kid)==CS_TEAM_CT)
- {
- set_user_xp(kid,get_user_xp(kid)+(ExpGXP[kid]))
- }
- if(cs_get_user_team(vid)==CS_TEAM_CT && cs_get_user_team(kid)==CS_TEAM_T)
- {
- set_user_xp(kid,get_user_xp(kid)+(ExpGXP[kid]))
- }
- }
- stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
- {
- message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );
- write_short( duration ); // Duration of fadeout
- write_short( holdtime ); // Hold time of color
- write_short( fadetype ); // Fade type
- write_byte ( red ); // Red
- write_byte ( green ); // Green
- write_byte ( blue ); // Blue
- write_byte ( alpha ); // Alpha
- message_end();
- }
- public spawned(id){
- if(is_user_alive(id) && cs_get_user_team(id)==CS_TEAM_CT){
- set_user_health(id,get_user_health(id)+(HP[id]*5))
- }
- }
- public OpuszczenieKlanu( id ){
- new gForm[ 128 ]
- format( gForm, sizeof( gForm ), "Czy napewno chcesz %s?", iLider[ id ] == 1 ? "usunac gildie" : "odejsc z gildii" )
- new menu = menu_create( gForm, "OpuszczenieKlanu_2" )
- menu_additem( menu, "Tak" )
- menu_additem( menu, "Nie" )
- menu_display( id, menu, 0 )
- }
- public OpuszczenieKlanu_2( id, menu, item ){
- if( item == MENU_EXIT ){
- menu_destroy( menu )
- return PLUGIN_CONTINUE
- }
- switch( item ){
- case 0:{
- if( !iLider[ id ] ){
- new szNazwaGracza[ 33 ]
- get_user_name( id, szNazwaGracza, sizeof( szNazwaGracza ) )
- WyrzucCzlonka( szNazwaKlanuGracza[ id ], szNazwaGracza )
- WyzerujKlan( id )
- }else{
- UsunKlan( szNazwaKlanuGracza[ id ] )
- WyzerujKlan( id )
- }
- }
- case 1:{
- Klany( id )
- }
- }
- return PLUGIN_CONTINUE
- }
- public PokazKlany( id ){
- new szNazwaKlanu[ 33 ] , gForm[ 128 ]
- new menu = menu_create( "\r[BaseBuilder]^n\yWszystkie Gildie:", "PokazKlany_2" )
- new gFolder = open_dir( szFolder, szNazwaKlanu, sizeof( szNazwaKlanu ) )
- //menu_additem( menu, szNazwaKlanu )
- while( next_file( gFolder, szNazwaKlanu, sizeof( szNazwaKlanu ) ) ){
- if( equal( szNazwaKlanu, ".." ) )
- continue
- if( equal( szNazwaKlanu, "." ) )
- continue
- if( containi( szNazwaKlanu, ".txt" ) ){
- replace_all( szNazwaKlanu, sizeof( szNazwaKlanu ), ".txt", "" )
- if( equal( szNazwaKlanu, szNazwaKlanuGracza[ id ] ) )
- format( gForm, sizeof( gForm ), "\r%s", szNazwaKlanu )
- else format( gForm, sizeof( gForm ), "%s", szNazwaKlanu )
- menu_additem( menu, gForm )
- }
- }
- close_dir( gFolder )
- menu_display( id, menu, 0 )
- }
- public PokazKlany_2( id, menu, item ){
- if( item == MENU_EXIT ){
- menu_destroy( menu )
- return PLUGIN_CONTINUE
- }
- new szNazwaKlanu[ 33 ], szInfo[ 33 ]
- new Access, CallBack
- menu_item_getinfo( menu, item , Access, szInfo, sizeof( szInfo ), szNazwaKlanu, sizeof( szNazwaKlanu ), CallBack )
- replace_all( szNazwaKlanu, sizeof( szNazwaKlanu ), "\r", "" )
- copy( szNazwaKlanuPodglad[ id ], sizeof( szNazwaKlanuPodglad[ ] ), szNazwaKlanu )
- PokazInformacjeKlanowe( id )
- return PLUGIN_CONTINUE
- }
- public PokazInformacjeKlanowe( id ){
- new gForm[ 128 ], szData[ 128 ], szLider[ 33 ], iText
- new szSciezkaDoKlanu[ 128 ]
- copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanuPodglad[ id ] )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
- read_file( szSciezkaDoKlanu, 0, szData, sizeof( szData ), iText )
- replace_all( szData, sizeof( szData ), "#", " " )
- parse( szData, szLider, 32 )
- format( gForm, sizeof( gForm ), "\r[BaseBuilder]^n\yNazwa Gildii:\r %s\d^n\yDowodca Gildii:\r %s\d", szNazwaKlanuPodglad[ id ], szLider )
- new menu = menu_create( gForm, "PokazInformacjeKlanowe_2" )
- menu_additem( menu, "Zarzadzaj" )
- for( new i = 1; i < 9; i ++ ){
- copy( szData, sizeof( szData ), "" )
- read_file( szSciezkaDoKlanu, i, szData, sizeof( szData ), iText )
- if( strlen( szData ) > 0 ){
- format( gForm, sizeof( gForm ), "\y%s", szData )
- menu_additem( menu, gForm )
- }else menu_additem( menu, "\r---\dWolne Miejsce\r---" )
- }
- menu_display( id, menu, 0 )
- }
- public PokazInformacjeKlanowe_2( id, menu, item ){
- if( item == MENU_EXIT ){
- menu_destroy( menu )
- return PLUGIN_CONTINUE
- }
- if( item == 0 ){
- if( equal( szNazwaKlanuPodglad[ id ], szNazwaKlanuGracza[ id ] ) )
- ZarzadajKlanem( id )
- else PokazInformacjeKlanowe( id )
- }else if( item > 0 ){
- if( equal( szNazwaKlanuPodglad[ id ], szNazwaKlanuGracza[ id ] ) && iLider[ id ]){
- new szNazwaCzlonka[ 33 ], szInfo[ 33 ]
- new Access, CallBack
- menu_item_getinfo( menu, item , Access, szInfo, sizeof( szInfo ), szNazwaCzlonka, sizeof( szNazwaCzlonka ), CallBack )
- replace_all( szNazwaCzlonka, sizeof( szNazwaCzlonka ), "\y", "" )
- copy( szNazwaCzlonkaPodglad[ id ], sizeof( szNazwaCzlonkaPodglad[ ] ), szNazwaCzlonka )
- DzialaniaNaCzlonku( id )
- }else PokazInformacjeKlanowe( id )
- }
- return PLUGIN_CONTINUE
- }
- public DzialaniaNaCzlonku( id ){
- new gForm[ 128 ]
- format( gForm, sizeof( gForm ), "Nazwa czlonka:\w %s", szNazwaCzlonkaPodglad[ id ] )
- new menu = menu_create( gForm, "DzialaniaNaCzlonku_2" )
- menu_additem( menu, "Wyrzuc gracza" )
- menu_display( id, menu, 0 )
- }
- public DzialaniaNaCzlonku_2( id, menu, item ){
- if( item == MENU_EXIT ){
- menu_destroy( menu )
- return PLUGIN_CONTINUE
- }
- switch( item ){
- case 0:{
- WyrzucCzlonka( szNazwaKlanuPodglad[ id ], szNazwaCzlonkaPodglad[ id ] )
- PokazInformacjeKlanowe( id )
- }
- }
- return PLUGIN_CONTINUE
- }
- public ZarzadajKlanem( id ){
- new gForm[ 128 ]
- 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 ] ) ) )
- new menu = menu_create( gForm, "ZarzadajKlanem_2" )
- menu_additem( menu, "\y[Dowodca Gildii] \wZapros do Gildii" )
- menu_additem( menu, "\y[Dowodca Gildii | Czlonkowie] \wWplac\r Monety" )
- menu_additem( menu, "\y[Dowodca Gildii] \r Ulepsz Umiejetnosci dla Gildii" )
- menu_display( id, menu, 0 )
- }
- public ZarzadajKlanem_2( id, menu, item ){
- if( item == MENU_EXIT ){
- menu_destroy( menu )
- return PLUGIN_CONTINUE
- }
- switch( item ){
- case 0:{
- if( iLider[ id ] && equal( szNazwaKlanuPodglad[ id ], szNazwaKlanuGracza[ id ] ) )
- ZapraszanieDoGildi( id )
- }
- case 1:{
- client_cmd( id, "messagemode Wplac_Monety" )
- ZarzadajKlanem( id )
- }
- case 2:{
- if( iLider[ id ] && equal( szNazwaKlanuPodglad[ id ], szNazwaKlanuGracza[ id ] ) )
- upDateSkill( id )
- else
- ColorChat(id, GREEN,">>>^x01 Ulepszyc Umiejetnosci moze tylko^x03 Lider^x04 <<<");
- }
- }
- return PLUGIN_CONTINUE
- }
- public ZapraszanieDoGildi( id ){
- new gForm[ 128 ], szNazwaGracza[ 33 ]
- new menu = menu_create( "Kogo chcesz zaprosic?", "ZapraszanieDoGildi_2" )
- for( new i = 1, d = 0; i <= get_maxplayers( ); i ++ ){
- if( !is_user_connected( i ) )
- continue
- get_user_name( i, szNazwaGracza, sizeof( szNazwaGracza ) )
- if( strlen( szNazwaKlanuGracza[ i ] ) > 0 ) format( gForm, sizeof( gForm ), "\d%s - \r[\w %s\r ]", szNazwaGracza, szNazwaKlanuGracza[ i ] )
- else format( gForm, sizeof( gForm ), "\y%s", szNazwaGracza )
- menu_additem( menu, gForm )
- iListaGraczy[ id ][ d++ ] = i
- }
- menu_display( id, menu, 0 )
- }
- public ZapraszanieDoGildi_2( id, menu, item ){
- if( item == MENU_EXIT ){
- menu_destroy( menu )
- return PLUGIN_CONTINUE
- }
- new Target
- Target = iListaGraczy[ id ][ item ]
- if( strlen( szNazwaKlanuGracza[ Target ] ) > 0 )
- return PLUGIN_CONTINUE
- new szLider[ 33 ]
- get_user_name( id, szLider, sizeof( szLider ) )
- copy( szNazwaKlanuPodglad[ Target ], sizeof( szNazwaKlanuPodglad[ ] ), szNazwaKlanuPodglad[ id ] )
- WyslijZaproszenie( Target, szLider )
- return PLUGIN_CONTINUE
- }
- public WyslijZaproszenie( id, const szLider[ ] ){
- new gForm[ 128 ]
- format( gForm, sizeof( gForm ), "Otrzymales zaproszenie!^nGildii:\w %s^n\yDowodca Gildii:\w %s", szNazwaKlanuPodglad[ id ], szLider )
- new menu = menu_create( gForm, "WyslijZaproszenie_2" )
- menu_additem( menu, "Przyjmij zaproszenie" )
- menu_additem( menu, "Odrzuc zaproszenie" )
- menu_display( id, menu, 0 )
- }
- public WyslijZaproszenie_2( id, menu, item ){
- if( item == MENU_EXIT ){
- menu_destroy( menu )
- return PLUGIN_CONTINUE
- }
- switch( item ){
- case 0:{
- if( strlen( szNazwaKlanuGracza[ id ] ) <= 0 ){
- new szNazwaGracza[ 33 ]
- get_user_name( id, szNazwaGracza, sizeof( szNazwaGracza ) )
- DodajCzlonka( szNazwaKlanuPodglad[ id ], szNazwaGracza )
- iLider[ id ] = 0
- copy( szNazwaKlanuGracza[ id ], sizeof( szNazwaKlanuGracza[ ] ), szNazwaKlanuPodglad[ id ] )
- }
- }
- }
- return PLUGIN_CONTINUE
- }
- public ZalozKlan( id ){
- if( get_user_zloto( id ) >= 1500 ){
- new szNazwaKlanu[ 33 ]
- read_args( szNazwaKlanu, sizeof( szNazwaKlanu ) )
- remove_quotes( szNazwaKlanu )
- trim( szNazwaKlanu )
- for( new i = 0 ; i < sizeof( NieDozwoloneZnaki ); i ++ ){
- if( containi( szNazwaKlanu, NieDozwoloneZnaki[ i ] ) >= 0){
- client_print( id, print_center, "Nie dozwolony znak [%s]", NieDozwoloneZnaki[ i ] )
- return PLUGIN_CONTINUE
- }
- }
- replace_all( szNazwaKlanu, sizeof( szNazwaKlanu ), " ", "_" )
- new szData[ 128 ], szNazwaGracza[ 33 ]
- get_user_name( id, szNazwaGracza, sizeof( szNazwaGracza ) )
- format( szData, sizeof( szData ), "#%s#%s#0#1#1", szNazwaGracza, szNazwaKlanu )
- new szSciezkaDoKlanu[ 128 ]
- copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanu )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
- if( !file_exists( szSciezkaDoKlanu ) ){
- write_file( szSciezkaDoKlanu, szData, 0 )
- copy( szNazwaKlanuGracza[ id ] , sizeof( szNazwaKlanuGracza[ ] ), szNazwaKlanu )
- iLider[ id ] = 1
- copy( szNazwaKlanuPodglad[ id ], sizeof( szNazwaKlanuPodglad ), szNazwaKlanuGracza[ id ] )
- PokazInformacjeKlanowe( id )
- set_user_zloto( id, get_user_zloto( id ) - 1500 )
- }
- }
- return PLUGIN_CONTINUE
- }
- public WyrzucCzlonka( const szNazwaKlanu[ ], const szNazwaCzlonka[ ] ){
- new szSciezkaDoKlanu[ 128 ], szData[ 128], iText
- copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanu )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
- for( new i = 1; i < 9; i ++ ){
- copy( szData, sizeof( szData ), "" )
- read_file( szSciezkaDoKlanu, i, szData, sizeof( szData ), iText )
- if( equal( szData, szNazwaCzlonka ) ){
- write_file( szSciezkaDoKlanu, "", i )
- break
- }
- }
- }
- public UsunKlan( const szNazwaKlanu[ ] ){
- new szSciezkaDoKlanu[ 128 ]
- copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanu )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
- unlink( szSciezkaDoKlanu )
- }
- public DodajCzlonka( const szNazwaKlanu[ ], const szNazwaCzlonka[ ] ){
- new szSciezkaDoKlanu[ 128 ], szData[ 128], iText
- copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanu )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
- for( new i = 1; i < 9; i ++ ){
- copy( szData, sizeof( szData ), "" )
- read_file( szSciezkaDoKlanu, i, szData, sizeof( szData ), iText )
- if( strlen( szData ) <= 0 ){
- write_file( szSciezkaDoKlanu, szNazwaCzlonka, i )
- break
- }
- }
- }
- public SprawdzCzyJestCzlonkiem( id ){
- if( strlen( szNazwaKlanuGracza[ id ] ) > 0 ){
- new szSciezkaDoKlanu[ 128 ], szNazwaCzlonka[ 33 ], szData[ 128], iText
- copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanuGracza[ id ] )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
- if( file_exists( szSciezkaDoKlanu ) ){
- if( iLider[ id ] == 0 ){
- new bool:iReset=false
- get_user_name( id, szNazwaCzlonka, sizeof( szNazwaCzlonka ) )
- for( new i = 1; i < 9; i ++ ){
- copy( szData, sizeof( szData ), "" )
- read_file( szSciezkaDoKlanu, i, szData, sizeof( szData ), iText )
- if( equal( szData, szNazwaCzlonka ) ){
- iReset=true
- }
- }
- if( !iReset ){
- WyzerujKlan( id )
- client_print( id, print_chat, "Zero iReset" )
- }
- }
- }else{
- WyzerujKlan( id )
- client_print( id, print_chat, "Zero %s", szSciezkaDoKlanu )
- }
- }
- }
- public WyzerujKlan( id ){
- iLider[ id ] = 0
- HP[ id ] = 0
- ExpGXP[ id ] = 0
- Oslepienie[ id ] = 0
- copy( szNazwaKlanuGracza[ id ], sizeof( szNazwaKlanuGracza[ ] ), "" )
- }
- public WplacEXP( id ){
- if( strlen( szNazwaKlanuGracza[ id ] ) > 0 ){
- new iIloscDoWplacenia[ 10 ]
- read_args( iIloscDoWplacenia, sizeof( iIloscDoWplacenia ) )
- remove_quotes( iIloscDoWplacenia )
- if( str_to_num( iIloscDoWplacenia ) > 0 ){
- if( get_user_zloto( id ) >= str_to_num( iIloscDoWplacenia ) ){
- UstawEXPKlanu( szNazwaKlanuGracza[ id ], PobierzEXPKlanu( szNazwaKlanuGracza[ id ] )+str_to_num( iIloscDoWplacenia ) )
- set_user_zloto( id, get_user_zloto( id ) - str_to_num( iIloscDoWplacenia ) )
- while( PobierzEXPKlanu( szNazwaKlanuGracza[ id ] ) >= PotrzebnyExpKlanu( PobierzPoziomKlanu( szNazwaKlanuGracza[ id ] ) ) ){
- UstawPoziomKlanu( szNazwaKlanuGracza[ id ], PobierzPoziomKlanu( szNazwaKlanuGracza[ id ] ) + 1 )
- }
- ZarzadajKlanem( id )
- }
- }
- }
- }
- public PotrzebnyExpKlanu( iWartoscPoziomu ){
- return power( iWartoscPoziomu, 2 ) * 1400
- }
- public PobierzEXPKlanu( const szNazwaKlanu[ ] ){
- new szSciezkaDoKlanu[ 128 ], szData[ 128], iText
- copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanu )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
- read_file( szSciezkaDoKlanu, 0, szData, sizeof( szData ), iText )
- replace_all( szData, sizeof( szData ), "#", " " )
- new szReadData[ 5 ][ 33 ]
- parse( szData, szReadData[ 0 ], 32, szReadData[ 1 ], 32, szReadData[ 2 ], 32, szReadData[ 3 ], 32, szReadData[ 4 ], 32 )
- return str_to_num( szReadData[ 3 ] )
- }
- public UstawEXPKlanu( const szNazwaKlanu[ ], iWartoscEXP ){
- new szSciezkaDoKlanu[ 128 ], szData[ 128], iText
- copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanu )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
- read_file( szSciezkaDoKlanu, 0, szData, sizeof( szData ), iText )
- replace_all( szData, sizeof( szData ), "#", " " )
- new szReadData[ 5 ][ 33 ]
- parse( szData, szReadData[ 0 ], 32, szReadData[ 1 ], 32, szReadData[ 2 ], 32, szReadData[ 3 ], 32, szReadData[ 4 ], 32 )
- format( szData, sizeof( szData ), "#%s#%s#%i#%i#%i", szReadData[ 0 ], szReadData[ 1 ], str_to_num( szReadData[ 2 ] ), iWartoscEXP , str_to_num( szReadData[ 4 ] ) )
- write_file( szSciezkaDoKlanu, szData, 0 )
- }
- public PobierzPoziomKlanu( const szNazwaKlanu[ ] ){
- new szSciezkaDoKlanu[ 128 ], szData[ 128], iText
- copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanu )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
- read_file( szSciezkaDoKlanu, 0, szData, sizeof( szData ), iText )
- replace_all( szData, sizeof( szData ), "#", " " )
- new szReadData[ 5 ][ 33 ]
- parse( szData, szReadData[ 0 ], 32, szReadData[ 1 ], 32, szReadData[ 2 ], 32, szReadData[ 3 ], 32, szReadData[ 4 ], 32 )
- return str_to_num( szReadData[ 4 ] )
- }
- public PobierzPoziomKlanuGracza( id ){
- new iNum = 0;
- if( strlen( szNazwaKlanuGracza[ id ] ) <= 0 )
- iNum = 0
- else{
- new szSciezkaDoKlanu[ 128 ], szData[ 128], iText
- copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanuGracza[ id ] )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
- read_file( szSciezkaDoKlanu, 0, szData, sizeof( szData ), iText )
- replace_all( szData, sizeof( szData ), "#", " " )
- new szReadData[ 5 ][ 33 ]
- parse( szData, szReadData[ 0 ], 32, szReadData[ 1 ], 32, szReadData[ 2 ], 32, szReadData[ 3 ], 32, szReadData[ 4 ], 32 )
- iNum = str_to_num( szReadData[ 4 ] )
- }
- return iNum
- }
- public UstawPoziomKlanu( const szNazwaKlanu[ ], iWartoscPoziom ){
- new szSciezkaDoKlanu[ 128 ], szData[ 128], iText
- copy( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szFolder )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), szNazwaKlanu )
- add( szSciezkaDoKlanu, sizeof( szSciezkaDoKlanu ), ".txt" )
- read_file( szSciezkaDoKlanu, 0, szData, sizeof( szData ), iText )
- replace_all( szData, sizeof( szData ), "#", " " )
- new szReadData[ 5 ][ 33 ]
- parse( szData, szReadData[ 0 ], 32, szReadData[ 1 ], 32, szReadData[ 2 ], 32, szReadData[ 3 ], 32, szReadData[ 4 ], 32 )
- format( szData, sizeof( szData ), "#%s#%s#%i#%i#%i", szReadData[ 0 ], szReadData[ 1 ], str_to_num( szReadData[ 2 ] ), str_to_num( szReadData[ 3 ] ) , iWartoscPoziom )
- write_file( szSciezkaDoKlanu, szData, 0 )
- }
- public ZapiszDane( id ){
- new VaultKey[ 128 ], VaultData[ 512 ]
- format( VaultData, sizeof( VaultData ), "#%s#%i#%d#%d#%d", szNazwaKlanuGracza[ id ], iLider[ id ],ExpGXP[id],Oslepienie[id],HP[id] )
- format( VaultKey, sizeof( VaultKey ),"%s-KLANY", szUserName[ id ] )
- nvault_set( Vault, VaultKey, VaultData )
- }
- public WczytajDane( id ){
- new VaultKey[ 128 ], VaultData[ 256 ]
- format( VaultKey, sizeof( VaultKey ),"%s-KLANY", szUserName[ id ] )
- nvault_get( Vault, VaultKey, VaultData, sizeof( VaultData ) );
- replace_all( VaultData, sizeof( VaultData ), "#", " " )
- new ReadData[ 5 ][ 33 ]
- parse( VaultData, ReadData[ 0 ], 32, ReadData[ 1 ], 32, ReadData[ 2 ], 32, ReadData[ 3 ], 32, ReadData[ 4 ], 32 )
- copy( szNazwaKlanuGracza[ id ], sizeof( szNazwaKlanuGracza[ ] ), ReadData[ 0 ] )
- iLider[ id ] = str_to_num( ReadData[ 1 ] )
- ExpGXP[ id ] = str_to_num( ReadData[ 2 ] )
- Oslepienie[ id ] = str_to_num( ReadData[ 3 ] )
- HP[ id ] = str_to_num( ReadData[ 4 ] )
- SprawdzCzyJestCzlonkiem( id )
- }
- public handleSayText(msgId,msgDest,msgEnt){
- new id = get_msg_arg_int(1);
- if(!is_user_connected(id)) return PLUGIN_CONTINUE;
- new szTmp[192], szTmp2[192];
- get_msg_arg_string(2, szTmp, charsmax(szTmp));
- new szPrefix[64]
- copy( szPrefix, sizeof( szPrefix ), szNazwaKlanuGracza[ id ] )
- if(!equal(szTmp,"#Cstrike_Chat_All")){
- add(szTmp2, charsmax(szTmp2), "^x01");
- add(szTmp2, charsmax(szTmp2), szPrefix);
- add(szTmp2, charsmax(szTmp2), " ");
- add(szTmp2, charsmax(szTmp2), szTmp);
- }else{
- new szPlayerName[64];
- get_user_name(id, szPlayerName, charsmax(szPlayerName));
- get_msg_arg_string(4, szTmp, charsmax(szTmp)); //4. argument zawiera treść wysłanej wiadomości
- set_msg_arg_string(4, ""); //Musimy go wyzerować, gdyż gra wykorzysta wiadomość podwójnie co może skutkować crash'em 191+ znaków.
- if(strlen( szNazwaKlanuGracza[ id ] ) > 0){
- add(szTmp2, charsmax(szTmp2), "^x04[");
- add(szTmp2, charsmax(szTmp2), szPrefix);
- add(szTmp2, charsmax(szTmp2), "]^x03 ");
- add(szTmp2, charsmax(szTmp2), szPlayerName);
- add(szTmp2, charsmax(szTmp2), "^x01 : ");
- add(szTmp2, charsmax(szTmp2), szTmp)
- }else{
- add(szTmp2, charsmax(szTmp2), "^x04");
- add(szTmp2, charsmax(szTmp2), szPrefix);
- add(szTmp2, charsmax(szTmp2), "^x03");
- add(szTmp2, charsmax(szTmp2), szPlayerName);
- add(szTmp2, charsmax(szTmp2), "^x01 : ");
- add(szTmp2, charsmax(szTmp2), szTmp)
- }
- }
- set_msg_arg_string(2, szTmp2);
- return PLUGIN_CONTINUE;
- }
- public cmdSay( id )
- {
- if( !is_user_connected( id ) )
- return PLUGIN_HANDLED
- new szMessage[ 32 ]
- read_args( szMessage, charsmax( szMessage ) )
- remove_quotes( szMessage )
- if(szMessage[ 0 ] == '!' && strlen( szNazwaKlanuGracza[ id ] ) > 0 )
- {
- new szNazwaGracza[ 33 ]
- get_user_name( id, szNazwaGracza, sizeof( szNazwaGracza ) )
- szMessage[ 0 ] = ' '
- trim( szMessage )
- for( new i = 1; i<= get_maxplayers( ); i++ ){
- if( equal( szNazwaKlanuGracza[ i ], szNazwaKlanuGracza[ id ] ) )
- ColorChat( i, TEAM_COLOR, "^x04[Czat Gildyjny]^x03%s^x01 : %s", szNazwaGracza, szMessage )
- }
- return PLUGIN_HANDLED
- }
- return PLUGIN_CONTINUE
- }
- public native_get_user_klanname( id, Return[], len )
- {
- param_convert(2);
- copy(Return, len, szNazwaKlanuGracza[id]);
- }
- public native_get_SHOW_Klany( id )
- {
- Klany(id);
- }
- public native_get_user_ExpKlany(id)
- {
- return ExpGXP[id];
- }
Add Comment
Please, Sign In to add comment