Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Plugin generated by AMXX-Studio */
- #include <amxmodx>
- #include <hamsandwich>
- #include <cstrike>
- #include <codmod>
- #include <colorchat>
- #include <nvault>
- #define LIMIT_CZLONKOW 15 //Ile maksymalnie czlonkow moze wystepowac w klanie
- #define WYMAGANY_POZIOM 15 //Jaki poziom jest wymagany aby moc zalozyc klan
- #define WYMAGANA_ILOSC_MONET 500 //Ile trzeba monet do zalozenia klanu
- //Zakomentuj aby wylaczyc udzial monet w klanach
- #if defined WYMAGANA_ILOSC_MONET
- native cod_get_user_coins(id) // zwraca ilosc monet
- native cod_set_user_coins(id, wartosc) // ustawia ilosc monet
- #endif
- #define DO_ROZDANIA 0
- #define XP 1
- #define KRYTYK 2
- #define BOGACTWO 3
- new g_iAktywnyKlan[33];
- new g_szNazwaAktywnegoKlanu[33][32];
- new g_szWlascicielAktywnegoKlanu[33][32];
- new g_szCzlonekAktywnegoKlanu[33][LIMIT_CZLONKOW+1][32];
- new g_iIloscCzlonkowAktywnegoKlanu[33];
- new g_iPunktyAktywnegoKlanu[33][4];
- new g_iPoziomAktywnegoKlanu[33];
- new g_iDoswiadczenieAktywnegoKlanu[33];
- new g_szTop15Motd[2048];
- new g_iIloscKlanow;
- new g_iIloscAktywnychKlanow;
- new g_iVault;
- new g_iHud;
- new g_iIloscSlotow;
- new g_iDoswiadczenieZaFraga;
- new g_iIdAktywnegoKlanuGracza[33];
- new bool:g_bCzyWlascicielKlanu[33];
- new g_szNickGracza[33][32];
- new g_iPytanieOdKlanuGracza[33];
- public plugin_init()
- {
- register_plugin("COD: Klany", "1.0.0b", "d0naciak");
- register_clcmd("say /grupa", "cmd_Klany");
- register_clcmd("say /klan", "cmd_Klany");
- register_clcmd("say /klany", "cmd_Klany");
- register_clcmd("say /resetklanow", "cmd_Reset");
- RegisterHam(Ham_Spawn, "player", "fw_Odrodzenie_Post", 1);
- RegisterHam(Ham_TakeDamage, "player", "fw_Obrazenia");
- RegisterHam(Ham_Killed, "player", "fw_SmiercGracza_Post", 1);
- register_clcmd("WpiszNazweKlanu", "cmd_WpisalNazweKlanu");
- register_clcmd("NowaNazwaKlanu", "cmd_ZmienilNazweKlanu");
- g_iVault = nvault_open("SystemGrup_v2");
- g_iIloscKlanow = nvault_get(g_iVault, "IloscKlanow");
- g_iHud = CreateHudSyncObj();
- g_iIloscSlotow = get_maxplayers();
- FormatTop15();
- }
- public cmd_Reset(id)
- {
- if(get_user_flags(id) & ADMIN_IMMUNITY)
- {
- nvault_prune(g_iVault, 0, get_systime());
- g_iIloscKlanow = 0;
- }
- return PLUGIN_HANDLED;
- }
- public plugin_cfg()
- {
- g_iDoswiadczenieZaFraga = get_cvar_num("cod_killxp");
- }
- public plugin_end()
- {
- new szIloscKlanow[8];
- num_to_str(g_iIloscKlanow, szIloscKlanow, 7);
- nvault_set(g_iVault, "IloscKlanow", szIloscKlanow);
- nvault_close(g_iVault);
- }
- public client_authorized(id)
- {
- g_iIdAktywnegoKlanuGracza[id] = 0;
- new szKluczVault[128], szDaneVault[36*LIMIT_CZLONKOW+1], szDane[6][8], iIdKlanu;
- get_user_name(id, g_szNickGracza[id], 31);
- formatex(szKluczVault, 127, "%s-DaneGracza", g_szNickGracza[id]);
- nvault_get(g_iVault, szKluczVault, szDaneVault, 36*LIMIT_CZLONKOW);
- parse(szDaneVault, szDane[0], 7, szDane[1], 7);
- iIdKlanu = str_to_num(szDane[0]);
- g_bCzyWlascicielKlanu[id] = bool:str_to_num(szDane[1]);
- if(!iIdKlanu)
- return;
- for(new i = 1; i <= g_iIloscAktywnychKlanow; i++)
- {
- if(iIdKlanu == g_iAktywnyKlan[i])
- {
- g_iIdAktywnegoKlanuGracza[id] = i;
- return;
- }
- }
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[id] = g_iIloscAktywnychKlanow = g_iIloscAktywnychKlanow + 1;
- g_iAktywnyKlan[iIdAktKlanu] = iIdKlanu;
- formatex(szKluczVault, 127, "%d-1-DaneKlanow", iIdKlanu);
- nvault_get(g_iVault, szKluczVault, g_szNazwaAktywnegoKlanu[iIdAktKlanu], 31);
- formatex(szKluczVault, 127, "%d-2-DaneKlanow", iIdKlanu);
- nvault_get(g_iVault,szKluczVault, szDaneVault, 36*LIMIT_CZLONKOW);
- parse(szDaneVault, szDane[0], 7, szDane[1], 7, szDane[2], 7, szDane[3], 7, szDane[4], 7, szDane[5], 7);
- g_iPoziomAktywnegoKlanu[iIdAktKlanu] = str_to_num(szDane[0]);
- g_iDoswiadczenieAktywnegoKlanu[iIdAktKlanu] = str_to_num(szDane[1]);
- g_iPunktyAktywnegoKlanu[iIdAktKlanu][XP] = str_to_num(szDane[2]);
- g_iPunktyAktywnegoKlanu[iIdAktKlanu][KRYTYK] = str_to_num(szDane[3]);
- g_iPunktyAktywnegoKlanu[iIdAktKlanu][BOGACTWO] = str_to_num(szDane[4]);
- g_iPunktyAktywnegoKlanu[iIdAktKlanu][DO_ROZDANIA] = (g_iPoziomAktywnegoKlanu[iIdAktKlanu] - 1) * 2 - g_iPunktyAktywnegoKlanu[iIdAktKlanu][XP] - g_iPunktyAktywnegoKlanu[iIdAktKlanu][KRYTYK] - g_iPunktyAktywnegoKlanu[iIdAktKlanu][BOGACTWO];
- g_iIloscCzlonkowAktywnegoKlanu[iIdAktKlanu] = str_to_num(szDane[5]);
- formatex(szKluczVault, 127, "%d-3-DaneKlanow", iIdKlanu);
- nvault_get(g_iVault,szKluczVault, g_szWlascicielAktywnegoKlanu[iIdAktKlanu], 31);
- formatex(szKluczVault, 127, "%d-4-DaneKlanow", iIdKlanu);
- nvault_get(g_iVault,szKluczVault, szDaneVault, 36*LIMIT_CZLONKOW);
- parse(szDaneVault, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][1], 31, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][2], 31, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][3], 31, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][4], 31,
- g_szCzlonekAktywnegoKlanu[iIdAktKlanu][5], 31, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][6], 31, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][7], 31, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][8], 31,
- g_szCzlonekAktywnegoKlanu[iIdAktKlanu][9], 31, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][10], 31, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][11], 31, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][12], 31,
- g_szCzlonekAktywnegoKlanu[iIdAktKlanu][13], 31, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][14], 31, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][15], 31);
- }
- public client_disconnect(id)
- {
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[id];
- if(!iIdAktKlanu)
- return;
- new szKluczVault[128], szDaneVault[36*LIMIT_CZLONKOW+1];
- new iIdKlanu = g_iAktywnyKlan[iIdAktKlanu];
- formatex(szKluczVault, 127, "%s-DaneGracza", g_szNickGracza[id]);
- formatex(szDaneVault, 36 * LIMIT_CZLONKOW, "%d %d", iIdKlanu, _:g_bCzyWlascicielKlanu[id]);
- nvault_set(g_iVault, szKluczVault, szDaneVault);
- g_iIdAktywnegoKlanuGracza[id] = 0;
- g_bCzyWlascicielKlanu[id] = false;
- for(new i = 1; i <= g_iIloscSlotow; i++)
- if(g_iIdAktywnegoKlanuGracza[i] == iIdAktKlanu && i != id)
- return;
- formatex(szKluczVault, 127, "%d-1-DaneKlanow", iIdKlanu);
- nvault_set(g_iVault, szKluczVault, g_szNazwaAktywnegoKlanu[iIdAktKlanu]);
- formatex(szKluczVault, 127, "%d-2-DaneKlanow", iIdKlanu);
- formatex(szDaneVault, 36*LIMIT_CZLONKOW, "%d %d %d %d %d %d", g_iPoziomAktywnegoKlanu[iIdAktKlanu], g_iDoswiadczenieAktywnegoKlanu[iIdAktKlanu],
- g_iPunktyAktywnegoKlanu[iIdAktKlanu][XP], g_iPunktyAktywnegoKlanu[iIdAktKlanu][KRYTYK], g_iPunktyAktywnegoKlanu[iIdAktKlanu][BOGACTWO],
- g_iIloscCzlonkowAktywnegoKlanu[iIdAktKlanu]);
- nvault_set(g_iVault, szKluczVault, szDaneVault);
- formatex(szKluczVault, 127, "%d-3-DaneKlanow", iIdKlanu);
- nvault_set(g_iVault, szKluczVault, g_szWlascicielAktywnegoKlanu[iIdAktKlanu]);
- formatex(szKluczVault, 127, "%d-4-DaneKlanow", iIdKlanu);
- copy(szDaneVault, 36*LIMIT_CZLONKOW, "");
- for(new i = 1; i <= g_iIloscCzlonkowAktywnegoKlanu[iIdAktKlanu]; i++)
- {
- add(szDaneVault, 36*LIMIT_CZLONKOW, "^"");
- add(szDaneVault, 36*LIMIT_CZLONKOW, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][i]);
- add(szDaneVault, 36*LIMIT_CZLONKOW, "^" ");
- }
- nvault_set(g_iVault, szKluczVault, szDaneVault);
- for(new i = iIdAktKlanu + 1; i <= g_iIloscAktywnychKlanow; i++)
- {
- g_iAktywnyKlan[i-1] = g_iAktywnyKlan[i];
- copy(g_szNazwaAktywnegoKlanu[i-1], 31, g_szNazwaAktywnegoKlanu[i]);
- copy(g_szWlascicielAktywnegoKlanu[i-1], 31, g_szWlascicielAktywnegoKlanu[i]);
- g_iPoziomAktywnegoKlanu[i-1] = g_iPoziomAktywnegoKlanu[i];
- g_iDoswiadczenieAktywnegoKlanu[i-1] = g_iDoswiadczenieAktywnegoKlanu[i];
- g_iPunktyAktywnegoKlanu[i-1][DO_ROZDANIA] = g_iPunktyAktywnegoKlanu[i][DO_ROZDANIA];
- g_iPunktyAktywnegoKlanu[i-1][XP] = g_iPunktyAktywnegoKlanu[i][XP];
- g_iPunktyAktywnegoKlanu[i-1][KRYTYK] = g_iPunktyAktywnegoKlanu[i][KRYTYK];
- g_iPunktyAktywnegoKlanu[i-1][BOGACTWO] = g_iPunktyAktywnegoKlanu[i][BOGACTWO];
- g_iIloscCzlonkowAktywnegoKlanu[i-1] = g_iIloscCzlonkowAktywnegoKlanu[i];
- for(new j = 1; j <= g_iIloscCzlonkowAktywnegoKlanu[i]; j++)
- copy(g_szCzlonekAktywnegoKlanu[i-1][j], 31, g_szCzlonekAktywnegoKlanu[i][j]);
- for(new j = 1; j <= g_iIloscSlotow; j++)
- if(g_iIdAktywnegoKlanuGracza[j] == i)
- g_iIdAktywnegoKlanuGracza[j] = i - 1;
- }
- g_iIloscAktywnychKlanow --;
- }
- public fw_Odrodzenie_Post(id)
- {
- if(!is_user_alive(id))
- return HAM_IGNORED;
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[id];
- if(!iIdAktKlanu)
- return HAM_IGNORED;
- if(g_iPunktyAktywnegoKlanu[iIdAktKlanu][DO_ROZDANIA] && g_bCzyWlascicielKlanu[id])
- PunktyKlanu(id);
- return HAM_IGNORED;
- }
- public fw_Obrazenia(id, iEnt, iAtt, Float:fDmg, iDmgBits)
- {
- if(!is_user_connected(iAtt) || get_user_team(id) == get_user_team(iAtt))
- return HAM_IGNORED;
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[iAtt];
- if(!iIdAktKlanu)
- return HAM_IGNORED;
- if(random_num(1, 100) <= floatround(g_iPunktyAktywnegoKlanu[iIdAktKlanu][KRYTYK]*0.375))
- {
- SetHamParamFloat(4, fDmg * 3.0);
- return HAM_HANDLED;
- }
- return HAM_IGNORED;
- }
- public fw_SmiercGracza_Post(id, iAtt, iShouldGib)
- {
- if(!is_user_connected(iAtt) || get_user_team(id) == get_user_team(iAtt))
- return;
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[iAtt];
- if(!iIdAktKlanu)
- return;
- new iDoswiadczenie = g_iDoswiadczenieZaFraga;
- if(cod_get_user_level(id) > cod_get_user_level(iAtt))
- iDoswiadczenie += (cod_get_user_level(id)-cod_get_user_level(iAtt))*(iDoswiadczenie/10);
- #if defined WYMAGANA_ILOSC_MONET
- cod_set_user_coins(iAtt, cod_get_user_coins(iAtt) + g_iPunktyAktywnegoKlanu[iIdAktKlanu][BOGACTWO] / 20);
- #endif
- cs_set_user_money(iAtt, cs_get_user_money(iAtt) + g_iPunktyAktywnegoKlanu[iIdAktKlanu][BOGACTWO] * 10);
- cod_set_user_xp(iAtt, cod_get_user_xp(iAtt) + g_iPunktyAktywnegoKlanu[iIdAktKlanu][XP]*2);
- g_iDoswiadczenieAktywnegoKlanu[iIdAktKlanu] += iDoswiadczenie;
- set_hudmessage(255, 255, 0, -1.0, 0.2, 0, 3.0, 3.0, _, _, -1);
- ShowSyncHudMsg(iAtt, g_iHud, "XP Klanu: +%d", iDoswiadczenie);
- SprawdzPoziomKlanu(iIdAktKlanu);
- }
- public SprawdzPoziomKlanu(iIdAktKlanu)
- {
- while(g_iDoswiadczenieAktywnegoKlanu[iIdAktKlanu] >= cod_get_level_xp(g_iPoziomAktywnegoKlanu[iIdAktKlanu])*20)
- {
- g_iPoziomAktywnegoKlanu[iIdAktKlanu] ++;
- g_iPunktyAktywnegoKlanu[iIdAktKlanu][DO_ROZDANIA] += 2;
- for(new i = 1; i <= g_iIloscSlotow; i++)
- {
- if(g_iIdAktywnegoKlanuGracza[i] == iIdAktKlanu)
- {
- client_cmd(i, "spk QTM_CodMod/levelup.wav");
- set_hudmessage(252, 252, 0, -1.0, 0.23, 0, 0.0, 1.1, 0.0, 0.0, -1);
- ShowSyncHudMsg(i, g_iHud, "Twoja grupa awansowala do %d poziomu!", g_iPoziomAktywnegoKlanu[iIdAktKlanu]);
- }
- }
- }
- }
- public cmd_Klany(id)
- {
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[id];
- new szMenu[128];
- if(iIdAktKlanu) formatex(szMenu, 127, "\wTwoj klan:\r %s^n\wPoziom:\r %d (%.1f %%)^n\wKlany by \rdonaciak.pl",
- g_szNazwaAktywnegoKlanu[iIdAktKlanu], g_iPoziomAktywnegoKlanu[iIdAktKlanu],
- float(g_iDoswiadczenieAktywnegoKlanu[iIdAktKlanu])/float(cod_get_level_xp(g_iPoziomAktywnegoKlanu[iIdAktKlanu])*20)*100.0);
- else copy(szMenu, 127, "Klany by \rdonaciak.pl");
- new iMenu = menu_create(szMenu, "Klany_Handler");
- menu_additem(iMenu, "Stworz swoj klan");
- menu_additem(iMenu, "Rozwiaz klan");
- menu_additem(iMenu, "Wyjdz z klanu");
- menu_additem(iMenu, "Dodaj czlonkow");
- menu_additem(iMenu, "Wyrzuc czlonkow");
- menu_additem(iMenu, "Zmien nazwe klanu");
- menu_additem(iMenu, "Zmien wlasciciela klanu");
- menu_additem(iMenu, "Punkty klanu");
- menu_additem(iMenu, "Resetuj punkty klanu");
- menu_additem(iMenu, "\rTop 15 klanow");
- menu_additem(iMenu, "Informacje o twoim klanie");
- menu_setprop(iMenu, MPROP_BACKNAME, "Powrot");
- menu_setprop(iMenu, MPROP_NEXTNAME, "Dalej");
- menu_setprop(iMenu, MPROP_EXITNAME, "Wyjscie");
- menu_display(id, iMenu);
- }
- public Klany_Handler(id, iMenu, iItem)
- {
- if(iItem < 0)
- {
- if(iItem == MENU_EXIT)
- menu_destroy(iMenu);
- return PLUGIN_CONTINUE;
- }
- switch(iItem)
- {
- case 0: StworzKlan(id);
- case 1: RozwiazKlan(id);
- case 2: WyjdzZKlanu(id);
- case 3: DodajCzlonkowDoKlanu(id);
- case 4: WyrzucCzlonkowZKlanu(id);
- case 5: ZmienNazweKlanu(id);
- case 6: ZmienWlascicielaKlanu(id);
- case 7: PunktyKlanu(id);
- case 8: ResetujPunktyKlanu(id);
- case 9: Top15Klanow(id);
- case 10: InfoOKlanie(id);
- }
- menu_destroy(iMenu);
- return PLUGIN_CONTINUE;
- }
- public StworzKlan(id)
- {
- if(g_iIdAktywnegoKlanuGracza[id])
- {
- PrintMsg(id, "Jestes juz w klanie!");
- return PLUGIN_CONTINUE;
- }
- if(cod_get_user_level(id) < WYMAGANY_POZIOM)
- {
- PrintMsg(id, "Musisz posiadac^x03 %dLv^x01 aby moc posiadac swoj wlasny klan!", WYMAGANY_POZIOM);
- return PLUGIN_CONTINUE;
- }
- #if defined WYMAGANA_ILOSC_MONET
- if(cod_get_user_coins(id) < WYMAGANA_ILOSC_MONET)
- {
- PrintMsg(id, "Musisz posiadac^x03 %d monet^x01 aby moc posiadac swoj wlasny klan!", WYMAGANA_ILOSC_MONET);
- return PLUGIN_CONTINUE;
- }
- #endif
- client_cmd(id, "messagemode WpiszNazweKlanu");
- PrintMsg(id, "Wpisz nazwe jaka ma posiadac twoj klan.");
- #if defined WYMAGANA_ILOSC_MONET
- PrintMsg(id, "Pamietaj, ze zalozenie klanu kosztuje ^x03 %d monet^x01.", WYMAGANA_ILOSC_MONET);
- #endif
- PrintMsg(id, "Limit to 32 znaki.");
- return PLUGIN_CONTINUE;
- }
- public cmd_WpisalNazweKlanu(id)
- {
- if(g_iIdAktywnegoKlanuGracza[id])
- {
- PrintMsg(id, "Wystapil blad.");
- return PLUGIN_CONTINUE;
- }
- #if defined WYMAGANA_ILOSC_MONET
- if(cod_get_user_coins(id) < WYMAGANA_ILOSC_MONET)
- {
- PrintMsg(id, "Wystapil blad.");
- return PLUGIN_CONTINUE;
- }
- #endif
- new szNazwaKlanu[32], szKluczVault[128], szDaneVault[32], szNick[32];
- read_argv(1, szNazwaKlanu, 31);
- get_user_name(id, szNick, 31);
- g_iIloscKlanow ++;
- g_iIloscAktywnychKlanow ++;
- formatex(szKluczVault, 127, "%d-1-DaneKlanow", g_iIloscKlanow);
- nvault_set(g_iVault, szKluczVault, szNazwaKlanu);
- formatex(szKluczVault, 127, "%d-2-DaneKlanow", g_iIloscKlanow);
- nvault_set(g_iVault, szKluczVault, "1 0 0 0 0 0");
- formatex(szKluczVault, 127, "%d-3-DaneKlanow", g_iIloscKlanow);
- get_user_name(id, szNick, 31);
- nvault_set(g_iVault, szKluczVault, szNick);
- formatex(szKluczVault, 127, "%d-4-DaneKlanow", g_iIloscKlanow);
- nvault_set(g_iVault, szKluczVault, "^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ^"^" ");
- formatex(szKluczVault, 127, "%s-DaneGracza", szNick);
- formatex(szDaneVault, 31, "%d 1", g_iIloscKlanow);
- nvault_set(g_iVault, szKluczVault, szDaneVault);
- g_iIdAktywnegoKlanuGracza[id] = g_iIloscAktywnychKlanow;
- g_bCzyWlascicielKlanu[id] = true;
- g_iAktywnyKlan[g_iIloscAktywnychKlanow] = g_iIloscKlanow;
- g_iPoziomAktywnegoKlanu[g_iIloscAktywnychKlanow] = 1;
- g_iDoswiadczenieAktywnegoKlanu[g_iIloscAktywnychKlanow] = 0;
- g_iPunktyAktywnegoKlanu[g_iIloscAktywnychKlanow][DO_ROZDANIA] = 0;
- g_iPunktyAktywnegoKlanu[g_iIloscAktywnychKlanow][XP] = 0;
- g_iPunktyAktywnegoKlanu[g_iIloscAktywnychKlanow][KRYTYK] = 0;
- g_iPunktyAktywnegoKlanu[g_iIloscAktywnychKlanow][BOGACTWO] = 0;
- g_iIloscCzlonkowAktywnegoKlanu[g_iIloscAktywnychKlanow] = 0;
- copy(g_szNazwaAktywnegoKlanu[g_iIloscAktywnychKlanow], 31, szNazwaKlanu);
- copy(g_szWlascicielAktywnegoKlanu[g_iIloscAktywnychKlanow], 31, szNick);
- for(new i = 1; i <= LIMIT_CZLONKOW; i++)
- copy(g_szCzlonekAktywnegoKlanu[g_iIloscAktywnychKlanow][i], 31, "");
- #if defined WYMAGANA_ILOSC_MONET
- cod_set_user_coins(id, cod_get_user_coins(id) - 500);
- #endif
- PrintMsg(id, "Klan^x03 %s^x01 zostal stworzony!", szNazwaKlanu);
- return PLUGIN_HANDLED;
- }
- public RozwiazKlan(id)
- {
- if(!g_iIdAktywnegoKlanuGracza[id])
- {
- PrintMsg(id, "Nie jestes w zadnym klanie!");
- return PLUGIN_CONTINUE;
- }
- if(!g_bCzyWlascicielKlanu[id])
- {
- PrintMsg(id, "Dostep to tej funkcji ma tylko wlasciciel klanu!");
- return PLUGIN_CONTINUE;
- }
- new iMenu = menu_create("Czy jestes pewny ze chcesz rozwiazac swoj klan?", "RozwiazKlan_Handler");
- menu_additem(iMenu, "Tak");
- menu_additem(iMenu, "Nie");
- menu_setprop(iMenu, MPROP_BACKNAME, "Powrot");
- menu_setprop(iMenu, MPROP_NEXTNAME, "Dalej");
- menu_setprop(iMenu, MPROP_EXITNAME, "Wyjscie");
- menu_display(id, iMenu);
- return PLUGIN_CONTINUE;
- }
- public RozwiazKlan_Handler(id, iMenu, iItem)
- {
- menu_destroy(iMenu);
- if(iItem == 0)
- {
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[id];
- if(!iIdAktKlanu || !g_bCzyWlascicielKlanu[id])
- {
- PrintMsg(id, "Wystapil blad.");
- return PLUGIN_CONTINUE;
- }
- new szKluczVault[128], szDaneVault[36*LIMIT_CZLONKOW], szCzlonek[LIMIT_CZLONKOW+1][32];
- new iIdKlanu = g_iAktywnyKlan[iIdAktKlanu];
- formatex(szKluczVault, 127, "%d-1-DaneKlanow", iIdKlanu);
- nvault_remove(g_iVault ,szKluczVault);
- formatex(szKluczVault, 127, "%d-2-DaneKlanow", iIdKlanu);
- nvault_remove(g_iVault ,szKluczVault);
- formatex(szKluczVault, 127, "%d-3-DaneKlanow", iIdKlanu);
- nvault_remove(g_iVault ,szKluczVault);
- formatex(szKluczVault, 127, "%d-4-DaneKlanow", iIdKlanu);
- nvault_remove(g_iVault ,szKluczVault);
- for(new i = 1; i <= g_iIloscCzlonkowAktywnegoKlanu[iIdAktKlanu]; i++)
- {
- formatex(szKluczVault, 127, "%s-DaneGracza", g_szCzlonekAktywnegoKlanu[iIdAktKlanu][i]);
- nvault_remove(g_iVault, szKluczVault);
- }
- for(new i = 1; i <= g_iIloscSlotow; i++)
- if(g_iIdAktywnegoKlanuGracza[i] == iIdAktKlanu)
- g_iIdAktywnegoKlanuGracza[i] = 0;
- for(new i = iIdKlanu + 1; i <= g_iIloscKlanow; i++)
- {
- formatex(szKluczVault, 127, "%d-1-DaneKlanow", i);
- nvault_get(g_iVault ,szKluczVault, szDaneVault, 36*LIMIT_CZLONKOW-1);
- nvault_remove(g_iVault, szKluczVault);
- formatex(szKluczVault, 127, "%d-1-DaneKlanow", i-1);
- nvault_set(g_iVault, szKluczVault, szDaneVault);
- formatex(szKluczVault, 127, "%d-2-DaneKlanow", i);
- nvault_get(g_iVault ,szKluczVault, szDaneVault, 36*LIMIT_CZLONKOW-1);
- nvault_remove(g_iVault, szKluczVault);
- formatex(szKluczVault, 127, "%d-2-DaneKlanow", i-1);
- nvault_set(g_iVault, szKluczVault, szDaneVault);
- formatex(szKluczVault, 127, "%d-3-DaneKlanow", i);
- nvault_get(g_iVault ,szKluczVault, szDaneVault, 36*LIMIT_CZLONKOW-1);
- nvault_remove(g_iVault, szKluczVault);
- formatex(szKluczVault, 127, "%d-3-DaneKlanow", i-1);
- nvault_set(g_iVault, szKluczVault, szDaneVault);
- formatex(szKluczVault, 127, "%s-DaneGracza", szDaneVault);
- formatex(szDaneVault, 36 * LIMIT_CZLONKOW - 1, "%d 1", i-1);
- nvault_set(g_iVault, szKluczVault, szDaneVault);
- formatex(szKluczVault, 127, "%d-4-DaneKlanow", i);
- nvault_get(g_iVault ,szKluczVault, szDaneVault, 36*LIMIT_CZLONKOW-1);
- nvault_remove(g_iVault, szKluczVault);
- formatex(szKluczVault, 127, "%d-4-DaneKlanow", i-1);
- nvault_set(g_iVault, szKluczVault, szDaneVault);
- parse(szDaneVault, szCzlonek[1], 31, szCzlonek[2], 31, szCzlonek[3], 31, szCzlonek[4], 31,
- szCzlonek[5], 31, szCzlonek[6], 31, szCzlonek[7], 31, szCzlonek[8], 31,
- szCzlonek[9], 31, szCzlonek[10], 31, szCzlonek[11], 31, szCzlonek[12], 31,
- szCzlonek[13], 31, szCzlonek[14], 31, szCzlonek[15], 31);
- for(new j = 1; j <= LIMIT_CZLONKOW; j++)
- {
- if(!szCzlonek[i][0])
- break;
- formatex(szKluczVault, 127, "%s-DaneGracza", szCzlonek[j]);
- formatex(szDaneVault, 36 * LIMIT_CZLONKOW - 1, "%d 0", i-1);
- nvault_set(g_iVault, szKluczVault, szDaneVault);
- }
- }
- for(new i = iIdAktKlanu + 1; i <= g_iIloscAktywnychKlanow; i++)
- {
- g_iAktywnyKlan[i-1] = g_iAktywnyKlan[i];
- copy(g_szNazwaAktywnegoKlanu[i-1], 31, g_szNazwaAktywnegoKlanu[i]);
- copy(g_szWlascicielAktywnegoKlanu[i-1], 31, g_szWlascicielAktywnegoKlanu[i]);
- g_iPoziomAktywnegoKlanu[i-1] = g_iPoziomAktywnegoKlanu[i];
- g_iDoswiadczenieAktywnegoKlanu[i-1] = g_iPoziomAktywnegoKlanu[i];
- g_iPunktyAktywnegoKlanu[i-1][DO_ROZDANIA] = g_iPunktyAktywnegoKlanu[i][DO_ROZDANIA];
- g_iPunktyAktywnegoKlanu[i-1][XP] = g_iPunktyAktywnegoKlanu[i][XP];
- g_iPunktyAktywnegoKlanu[i-1][KRYTYK] = g_iPunktyAktywnegoKlanu[i][KRYTYK];
- g_iPunktyAktywnegoKlanu[i-1][BOGACTWO] = g_iPunktyAktywnegoKlanu[i][BOGACTWO];
- g_iIloscCzlonkowAktywnegoKlanu[i-1] = g_iIloscCzlonkowAktywnegoKlanu[i];
- for(new j = 1; j <= g_iIloscCzlonkowAktywnegoKlanu[i]; j++)
- copy(g_szCzlonekAktywnegoKlanu[i-1][j], 31, g_szCzlonekAktywnegoKlanu[i][j]);
- for(new j = 1; j <= g_iIloscSlotow; j++)
- if(g_iIdAktywnegoKlanuGracza[j] == i)
- g_iIdAktywnegoKlanuGracza[j] = i - 1;
- }
- formatex(szKluczVault, 127, "%s-DaneGracza", g_szNickGracza[id]);
- nvault_remove(g_iVault, szKluczVault);
- g_iIloscKlanow --;
- g_iIloscAktywnychKlanow --;
- g_iIdAktywnegoKlanuGracza[id] = 0;
- g_bCzyWlascicielKlanu[id] = false;
- PrintMsg(id, "Klan zostal rozwiazany.");
- }
- return PLUGIN_CONTINUE;
- }
- public WyjdzZKlanu(id)
- {
- if(!g_iIdAktywnegoKlanuGracza[id])
- {
- PrintMsg(id, "Nie jestes w zadnym klanie!");
- return PLUGIN_CONTINUE;
- }
- if(g_bCzyWlascicielKlanu[id])
- {
- PrintMsg(id, "Jako wlasciciel klanu nie mozesz go opuscic, jedynie zniszczyc.");
- return PLUGIN_CONTINUE;
- }
- new iMenu = menu_create("Czy jestes pewny ze chcesz opuscic klan?", "WyjdzZKlanu_Handler");
- menu_additem(iMenu, "Tak");
- menu_additem(iMenu, "Nie");
- menu_setprop(iMenu, MPROP_BACKNAME, "Powrot");
- menu_setprop(iMenu, MPROP_NEXTNAME, "Dalej");
- menu_setprop(iMenu, MPROP_EXITNAME, "Wyjscie");
- menu_display(id, iMenu);
- return PLUGIN_CONTINUE;
- }
- public WyjdzZKlanu_Handler(id, iMenu, iItem)
- {
- menu_destroy(iMenu);
- if(!g_iIdAktywnegoKlanuGracza[id])
- return PLUGIN_CONTINUE;
- if(iItem == 0)
- {
- new szKluczVault[128];
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[id];
- new iTarget;
- formatex(szKluczVault, 127, "%s-DaneGracza", g_szNickGracza[id]);
- nvault_remove(g_iVault, szKluczVault);
- for(new i = 1; i <= g_iIloscCzlonkowAktywnegoKlanu[iIdAktKlanu]; i++)
- {
- if(equal(g_szCzlonekAktywnegoKlanu[iIdAktKlanu][i], g_szNickGracza[id]))
- {
- iTarget = i;
- break;
- }
- }
- for(new i = iTarget + 1; i <= g_iIloscCzlonkowAktywnegoKlanu[iIdAktKlanu]; i++)
- copy(g_szCzlonekAktywnegoKlanu[iIdAktKlanu][i-1], 31, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][i]);
- g_iIloscCzlonkowAktywnegoKlanu[iIdAktKlanu] --;
- g_iIdAktywnegoKlanuGracza[id] = 0;
- PrintMsg(id, "Wyszedles z klanu.");
- }
- return PLUGIN_CONTINUE;
- }
- public DodajCzlonkowDoKlanu(id)
- {
- if(!g_iIdAktywnegoKlanuGracza[id])
- {
- PrintMsg(id, "Nie jestes w zadnym klanie!");
- return PLUGIN_CONTINUE;
- }
- if(!g_bCzyWlascicielKlanu[id])
- {
- PrintMsg(id, "Dostep do tej funkcji ma tylko wlasciciel klanu.");
- return PLUGIN_CONTINUE;
- }
- if(g_iIloscCzlonkowAktywnegoKlanu[g_iIdAktywnegoKlanuGracza[id]] >= LIMIT_CZLONKOW)
- {
- PrintMsg(id, "Klan osiagnal juz maksymalna liczbe czlonkow.");
- return PLUGIN_CONTINUE;
- }
- new szNick[32], szId[4];
- new iMenu = menu_create("Kogo chcesz dodac do klanu?", "DodajCzlonkowDoKlanu_Handler");
- for(new i = 1; i <= g_iIloscSlotow; i++)
- {
- if(!is_user_connected(i) || g_iIdAktywnegoKlanuGracza[i])
- continue;
- num_to_str(i, szId, 3);
- get_user_name(i, szNick, 31);
- menu_additem(iMenu, szNick, szId);
- }
- if(!szId[0])
- {
- PrintMsg(id, "Nie znaleziono graczy na serwerze!");
- return PLUGIN_CONTINUE;
- }
- menu_setprop(iMenu, MPROP_BACKNAME, "Powrot");
- menu_setprop(iMenu, MPROP_NEXTNAME, "Dalej");
- menu_setprop(iMenu, MPROP_EXITNAME, "Wyjscie");
- menu_display(id, iMenu);
- return PLUGIN_CONTINUE;
- }
- public DodajCzlonkowDoKlanu_Handler(id, iMenu, iItem)
- {
- if(iItem < 0)
- {
- if(iItem == MENU_EXIT)
- menu_destroy(iMenu);
- return PLUGIN_CONTINUE;
- }
- new iAccess, iCb, szId[4], szNick[32];
- menu_item_getinfo(iMenu, iItem, iAccess, szId, 3, szNick, 31, iCb);
- menu_destroy(iMenu);
- new iTarget = str_to_num(szId);
- if(!is_user_connected(iTarget))
- {
- PrintMsg(id, "Nie znaleziono tego gracza.");
- return PLUGIN_CONTINUE;
- }
- if(g_iIdAktywnegoKlanuGracza[iTarget])
- {
- PrintMsg(id, "Ten gracz nalezy juz do jakiegos klanu.");
- return PLUGIN_CONTINUE;
- }
- new szTytul[128];
- g_iPytanieOdKlanuGracza[iTarget] = id;
- formatex(szTytul, 127, "Czy chcesz przejsc do klanu \r%s?", g_szNazwaAktywnegoKlanu[g_iIdAktywnegoKlanuGracza[id]]);
- new iMenu2 = menu_create(szTytul, "PotwierdzPrzejscie_Handler");
- menu_additem(iMenu2, "Tak");
- menu_additem(iMenu2, "Nie");
- menu_setprop(iMenu2, MPROP_BACKNAME, "Powrot");
- menu_setprop(iMenu2, MPROP_NEXTNAME, "Dalej");
- menu_setprop(iMenu2, MPROP_EXITNAME, "Wyjscie");
- menu_display(iTarget, iMenu2);
- PrintMsg(id, "Wyslano zaproszenie do gracza^x03 %s", szNick);
- return PLUGIN_CONTINUE;
- }
- public PotwierdzPrzejscie_Handler(id, iMenu, iItem)
- {
- menu_destroy(iMenu);
- if(iItem == 0)
- {
- new iZapraszajacy = g_iPytanieOdKlanuGracza[id];
- if(!is_user_connected(iZapraszajacy))
- {
- PrintMsg(id, "Nie znaleziono gracza, ktory zaprosil Cie do klanu.");
- return PLUGIN_CONTINUE;
- }
- //new szKluczVault[128], szDaneVault[16];
- //new iIdKlanu = g_iAktywnyKlan[g_iIdAktywnegoKlanuGracza[iZapraszajacy]];
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[id] = g_iIdAktywnegoKlanuGracza[iZapraszajacy];
- if(!iIdAktKlanu)
- {
- PrintMsg(id, "Klan do ktorego chciales dolaczyc zostal zniszczony.");
- return PLUGIN_CONTINUE;
- }
- g_iIloscCzlonkowAktywnegoKlanu[iIdAktKlanu] ++;
- get_user_name(id, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][g_iIloscCzlonkowAktywnegoKlanu[iIdAktKlanu]], 31);
- /*formatex(szKluczVault, 127, "%s-DaneGracza", g_szCzlonekAktywnegoKlanu[iIdAktKlanu][g_iIloscCzlonkowAktywnegoKlanu[iIdAktKlanu]]);
- formatex(szDaneVault, 15, "%d 0", iIdKlanu);
- nvault_set(g_iVault, szKluczVault, szDaneVault);*/
- PrintMsg(iZapraszajacy, "Gracz^x03 %s^x01 dolaczyl do klanu.", g_szCzlonekAktywnegoKlanu[iIdAktKlanu][g_iIloscCzlonkowAktywnegoKlanu[iIdAktKlanu]]);
- PrintMsg(id, "Dolaczyles do klanu^x03 %s", g_szNazwaAktywnegoKlanu[iIdAktKlanu]);
- }
- return PLUGIN_CONTINUE;
- }
- public WyrzucCzlonkowZKlanu(id)
- {
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[id];
- if(!iIdAktKlanu)
- {
- PrintMsg(id, "Nie jestes w zadnym klanie!");
- return PLUGIN_CONTINUE;
- }
- if(!g_bCzyWlascicielKlanu[id])
- {
- PrintMsg(id, "Dostep do tej funkcji ma tylko wlasciciel klanu.");
- return PLUGIN_CONTINUE;
- }
- if(!g_iIloscCzlonkowAktywnegoKlanu[iIdAktKlanu])
- {
- PrintMsg(id, "Klan nie posiada zadnych czlonkow!");
- return PLUGIN_CONTINUE;
- }
- new iMenu = menu_create("Kogo chcesz wyrzucic z klanu?", "WyrzucCzlonkowZKlanu_Handler");
- for(new i = 1; i <= g_iIloscCzlonkowAktywnegoKlanu[iIdAktKlanu]; i++)
- menu_additem(iMenu, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][i]);
- menu_setprop(iMenu, MPROP_BACKNAME, "Powrot");
- menu_setprop(iMenu, MPROP_NEXTNAME, "Dalej");
- menu_setprop(iMenu, MPROP_EXITNAME, "Wyjscie");
- menu_display(id, iMenu);
- return PLUGIN_CONTINUE;
- }
- public WyrzucCzlonkowZKlanu_Handler(id, iMenu, iItem)
- {
- if(iItem < 0)
- {
- if(iItem == MENU_EXIT)
- menu_destroy(iMenu);
- return PLUGIN_CONTINUE;
- }
- new szKluczVault[128], szNick[32];
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[id];
- new iTarget = iItem + 1;
- copy(szNick, 31, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][iTarget]);
- new iTargetId = get_user_index(szNick);
- formatex(szKluczVault, 127, "%s-DaneGracza", szNick);
- nvault_remove(g_iVault, szKluczVault);
- for(new i = iTarget + 1; i <= g_iIloscCzlonkowAktywnegoKlanu[iIdAktKlanu]; i++)
- copy(g_szCzlonekAktywnegoKlanu[iIdAktKlanu][i-1], 31, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][i]);
- g_iIloscCzlonkowAktywnegoKlanu[iIdAktKlanu] --;
- if(iTargetId)
- {
- g_iIdAktywnegoKlanuGracza[iTargetId] = 0;
- PrintMsg(iTargetId, "Zostales wyrzucony z klanu^x03 %s", g_szNazwaAktywnegoKlanu[iIdAktKlanu]);
- }
- PrintMsg(id, "Gracz^x03 %s^x01 zostal wyrzucony z klanu.", szNick);
- menu_destroy(iMenu);
- return PLUGIN_CONTINUE;
- }
- public ZmienNazweKlanu(id)
- {
- if(!g_iIdAktywnegoKlanuGracza[id])
- {
- PrintMsg(id, "Nie jestes w zadnym klanie!");
- return PLUGIN_CONTINUE;
- }
- if(!g_bCzyWlascicielKlanu[id])
- {
- PrintMsg(id, "Dostep do tej funkcji ma tylko wlasciciel klanu.");
- return PLUGIN_CONTINUE;
- }
- client_cmd(id, "messagemode NowaNazwaKlanu");
- PrintMsg(id, "Wpisz nowa nazwe jaka ma posiadac twoj klan.");
- PrintMsg(id, "Limit to 32 znaki.");
- return PLUGIN_CONTINUE;
- }
- public cmd_ZmienilNazweKlanu(id)
- {
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[id];
- if(!iIdAktKlanu || !g_bCzyWlascicielKlanu[id])
- {
- PrintMsg(id, "Wystapil blad.");
- return PLUGIN_CONTINUE;
- }
- read_argv(1, g_szNazwaAktywnegoKlanu[iIdAktKlanu], 31);
- PrintMsg(id, "Nazwa klanu zostala zmieniona na^x03 %s", g_szNazwaAktywnegoKlanu[iIdAktKlanu]);
- return PLUGIN_HANDLED;
- }
- public ZmienWlascicielaKlanu(id)
- {
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[id];
- if(!iIdAktKlanu)
- {
- PrintMsg(id, "Nie jestes w zadnym klanie!");
- return PLUGIN_CONTINUE;
- }
- if(!g_bCzyWlascicielKlanu[id])
- {
- PrintMsg(id, "Dostep do tej funkcji ma tylko wlasciciel klanu.");
- return PLUGIN_CONTINUE;
- }
- new iMenu = menu_create("Komu chcesz przekazac uprawnienia wlasciciela?", "ZmienWlascicielaKlanu_Handler");
- for(new i = 1; i <= g_iIloscCzlonkowAktywnegoKlanu[iIdAktKlanu]; i++)
- menu_additem(iMenu, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][i]);
- menu_setprop(iMenu, MPROP_BACKNAME, "Powrot");
- menu_setprop(iMenu, MPROP_NEXTNAME, "Dalej");
- menu_setprop(iMenu, MPROP_EXITNAME, "Wyjscie");
- menu_display(id, iMenu);
- return PLUGIN_CONTINUE;
- }
- public ZmienWlascicielaKlanu_Handler(id, iMenu, iItem)
- {
- if(iItem < 0)
- {
- if(iItem == MENU_EXIT)
- menu_destroy(iMenu);
- return PLUGIN_CONTINUE;
- }
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[id];
- new iTarget = iItem + 1;
- new iTargetId = get_user_index(g_szCzlonekAktywnegoKlanu[iIdAktKlanu][iTarget]);
- copy(g_szWlascicielAktywnegoKlanu[iIdAktKlanu], 31, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][iTarget]);
- get_user_name(id, g_szCzlonekAktywnegoKlanu[iIdAktKlanu][iTarget], 31);
- if(iTargetId)
- {
- g_bCzyWlascicielKlanu[iTargetId] = true;
- PrintMsg(iTargetId, "Zostales mianowany na wlasciciela klanu! Gratulacje!");
- }
- else
- {
- new szKluczVault[128], szDaneVault[32];
- formatex(szKluczVault, 127, "%s-DaneGracza", g_szWlascicielAktywnegoKlanu[iIdAktKlanu]);
- formatex(szDaneVault, 31, "%d 1", g_iAktywnyKlan[iIdAktKlanu]);
- }
- g_bCzyWlascicielKlanu[id] = false;
- PrintMsg(id, "Wlasciciel klanu trafil do^x03 %s", g_szWlascicielAktywnegoKlanu[iIdAktKlanu]);
- menu_destroy(iMenu);
- return PLUGIN_CONTINUE;
- }
- public PunktyKlanu(id)
- {
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[id];
- if(!iIdAktKlanu)
- {
- PrintMsg(id, "Nie jestes w zadnym klanie!");
- return PLUGIN_CONTINUE;
- }
- new szItem[128];
- formatex(szItem, 127, "Rozdaj \r%d\y punktow:", g_iPunktyAktywnegoKlanu[iIdAktKlanu][DO_ROZDANIA]);
- new iMenu = menu_create(szItem, "PunktyKlanu_Handler");
- formatex(szItem, 127, "Doswiadczenie \r[Dostajesz +%d doswiadczenia za fraga] \y[%.1f%%]", g_iPunktyAktywnegoKlanu[iIdAktKlanu][XP]*2, g_iPunktyAktywnegoKlanu[iIdAktKlanu][XP]/40.0);
- menu_additem(iMenu, szItem);
- formatex(szItem, 127, "Krytyk \r[Masz %.1f%% szans na zadanie krytycznego ataku] \y[%.1f%%]", g_iPunktyAktywnegoKlanu[iIdAktKlanu][KRYTYK]*0.375, g_iPunktyAktywnegoKlanu[iIdAktKlanu][KRYTYK]/40.0);
- menu_additem(iMenu, szItem);
- formatex(szItem, 127, "Bogactwo \r[Dostajesz +%d$ za fraga] \y[%.1f%%]", g_iPunktyAktywnegoKlanu[iIdAktKlanu][BOGACTWO]*10, g_iPunktyAktywnegoKlanu[iIdAktKlanu][BOGACTWO]/40.0);
- #if defined WYMAGANA_ILOSC_MONET
- formatex(szItem, 127, "Bogactwo \r[Dostajesz +%d$ oraz +%d monet za fraga] \y[%.1f%%]", g_iPunktyAktywnegoKlanu[iIdAktKlanu][BOGACTWO]*10, g_iPunktyAktywnegoKlanu[iIdAktKlanu][BOGACTWO]/10, g_iPunktyAktywnegoKlanu[iIdAktKlanu][BOGACTWO]/40.0);
- #endif
- menu_additem(iMenu, szItem);
- menu_setprop(iMenu, MPROP_BACKNAME, "Powrot");
- menu_setprop(iMenu, MPROP_NEXTNAME, "Dalej");
- menu_setprop(iMenu, MPROP_EXITNAME, "Wyjscie");
- menu_display(id, iMenu);
- return PLUGIN_CONTINUE;
- }
- public PunktyKlanu_Handler(id, iMenu, iItem)
- {
- if(iItem == MENU_EXIT)
- {
- menu_destroy(iMenu);
- return PLUGIN_CONTINUE;
- }
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[id];
- menu_destroy(iMenu);
- if(!iIdAktKlanu)
- {
- PrintMsg(id, "Wystapil blad.");
- return PLUGIN_CONTINUE;
- }
- if(!g_bCzyWlascicielKlanu[id])
- {
- PrintMsg(id, "Rozdawac punkty moze tylko wlasciciel klanu.");
- return PLUGIN_CONTINUE;
- }
- if(!g_iPunktyAktywnegoKlanu[iIdAktKlanu][DO_ROZDANIA])
- {
- PrintMsg(id, "Nie posiadasz punktow do rozdania.");
- return PLUGIN_CONTINUE;
- }
- switch(iItem)
- {
- case 0:
- {
- if(g_iPunktyAktywnegoKlanu[iIdAktKlanu][XP] < 40)
- {
- g_iPunktyAktywnegoKlanu[iIdAktKlanu][DO_ROZDANIA] --;
- g_iPunktyAktywnegoKlanu[iIdAktKlanu][XP] ++;
- }
- else
- PrintMsg(id, "Osiagnieto limit statystyki^x03 Doswiadczenie");
- }
- case 1:
- {
- if(g_iPunktyAktywnegoKlanu[iIdAktKlanu][KRYTYK] < 40)
- {
- g_iPunktyAktywnegoKlanu[iIdAktKlanu][DO_ROZDANIA] --;
- g_iPunktyAktywnegoKlanu[iIdAktKlanu][KRYTYK] ++;
- }
- else
- PrintMsg(id, "Osiagnieto limit statystyki^x03 Krytyk");
- }
- case 2:
- {
- if(g_iPunktyAktywnegoKlanu[iIdAktKlanu][BOGACTWO] < 40)
- {
- g_iPunktyAktywnegoKlanu[iIdAktKlanu][DO_ROZDANIA] --;
- g_iPunktyAktywnegoKlanu[iIdAktKlanu][BOGACTWO] ++;
- }
- else
- PrintMsg(id, "Osiagnieto limit statystyki^x03 Bogactwo");
- }
- }
- if(g_iPunktyAktywnegoKlanu[iIdAktKlanu][DO_ROZDANIA])
- PunktyKlanu(id);
- return PLUGIN_CONTINUE;
- }
- public ResetujPunktyKlanu(id)
- {
- new iIdAktKlanu = g_iIdAktywnegoKlanuGracza[id];
- if(!iIdAktKlanu)
- {
- PrintMsg(id, "Nie jestes w zadnym klanie!");
- return PLUGIN_CONTINUE;
- }
- if(!g_bCzyWlascicielKlanu[id])
- {
- PrintMsg(id, "Dostep do tej funkcji ma tylko wlasciciel klanu.");
- return PLUGIN_CONTINUE;
- }
- g_iPunktyAktywnegoKlanu[iIdAktKlanu][DO_ROZDANIA] = (g_iPoziomAktywnegoKlanu[iIdAktKlanu] - 1) * 2;
- for(new i = 1; i < 4; i++)
- g_iPunktyAktywnegoKlanu[iIdAktKlanu][i] = 0;
- PrintMsg(id, "Statystyki klanu zostaly zresetowane!");
- return PLUGIN_CONTINUE;
- }
- public Top15Klanow(id)
- {
- show_motd(id, g_szTop15Motd, "Top 15 Klanow");
- return PLUGIN_CONTINUE;
- }
- public InfoOKlanie(id)
- {
- PrintMsg(id, "Funkcja zostanie dodana wkrotce!");
- return PLUGIN_CONTINUE;
- }
- stock FormatTop15()
- {
- new iDoswiadczenieRanku, iOstatniKlan, iRankowaneKlany, iMaxRank = (g_iIloscKlanow > 15) ? 15 : g_iIloscKlanow, iLen;
- new szKluczVault[128], szDaneVault[256], szDane[6][8], szNazwaKlanu[32], szWlasciciel[32], iDoswiadczenie;
- new iPoziom, iPunkty[3];
- iLen = formatex(g_szTop15Motd, 2047, "<body bgcolor=#000000><font color=#FFB000><pre>");
- iLen += formatex(g_szTop15Motd[iLen], 2047 - iLen, "%2s. %22.22s | %6s | %13s | %22.22s | %12s | %12s | %12s^n", "#", "Nazwa grupy", "Poziom", "Doswiadczenie", "Wlasciciel", "Pkt. XP", "Pkt. Krytyka", "Pkt. Bogactwa");
- for(new i = 0; i <= iMaxRank-1; i++)
- {
- for(new j = 1; j <= g_iIloscKlanow; j++)
- {
- formatex(szKluczVault, 127, "%d-2-DaneKlanow", j);
- nvault_get(g_iVault, szKluczVault, szDaneVault, 255);
- parse(szDaneVault, szDane[0], 7, szDane[1], 7, szDane[2], 7, szDane[3], 7, szDane[4], 7, szDane[5], 7);
- iDoswiadczenie = str_to_num(szDane[1]);
- if(iDoswiadczenie >= iDoswiadczenieRanku)
- {
- if(!(iRankowaneKlany & (1<<j)))
- {
- iDoswiadczenieRanku = iDoswiadczenie;
- iPoziom = str_to_num(szDane[0]);
- iPunkty[0] = str_to_num(szDane[2]);
- iPunkty[1] = str_to_num(szDane[3]);
- iPunkty[2] = str_to_num(szDane[4]);
- iOstatniKlan = j;
- }
- }
- }
- formatex(szKluczVault, 127, "%d-1-DaneKlanow", iOstatniKlan);
- nvault_get(g_iVault, szKluczVault, szNazwaKlanu, 31);
- formatex(szKluczVault, 127, "%d-3-DaneKlanow", iOstatniKlan);
- nvault_get(g_iVault, szKluczVault, szWlasciciel, 31);
- iLen += formatex(g_szTop15Motd[iLen], 2047 - iLen, "%2d. %22.22s | %6d | %13d | %22.22s | %12d | %12d | %12d^n", i + 1, szNazwaKlanu, iPoziom,
- iDoswiadczenieRanku, szWlasciciel, iPunkty[0], iPunkty[1], iPunkty[2]);
- iRankowaneKlany |= (1<<iOstatniKlan);
- iDoswiadczenieRanku = 0;
- }
- }
- stock PrintMsg(id, szText[], any:...)
- {
- new szOutPut[256];
- vformat(szOutPut, 255, szText, 3);
- ColorChat(id, GREEN, "[COD:KLANY]^x01 %s", szOutPut);
- return 1;
- }
- /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
- *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
- */
Add Comment
Please, Sign In to add comment