/Party jest to expienie w grupie. np. masz w grupie party 5 osob, zabiłes fraga dostałeś 25 exp a gracze dostaja 5 tego 25:5 = 5 expa
I teraz mam do was taką prośbę byśmy wspólnymi siłami zrobili /party. Na pewno wielu osobom to sie przyda.
Spoiler
new Players[33][32]; //ilosc graczy new nazwa_party[33][128] //nazwa party new nazwa_lidera_party[33][128] //nazwa lidera party new bool:czy_lider[33] //czy gracz to lider lub nie new ilosc_graczy_party[33] new bool:jestes_w_party[33] register_clcmd("Nazwa", "zakladanie_party"); register_clcmd("Wiadomosc", "WIADOMOSC_DO_CZLONKOW_PARTY"); register_clcmd("say /party","GLOWNE_MENU_PARTY") asdf public Give_Xp(id,amount) { new Players[32], zablokuj; get_players(Players, zablokuj, "ch"); if(zablokuj < 1 && amount < 200) return PLUGIN_CONTINUE; if(player_class_lvl[id][player_class[id]]==player_lvl[id]) { if(player_xp[id]+amount!=0 && get_playersnum()>1){ //>1 if(jestes_w_party[id]==false) player_xp[id]+=amount else if(jestes_w_party[id]==true) { player_xp[id]+=amount/ilosc_graczy_party[id] for(new i=1; i < 33; i++) { new player = find_player ( "a", nazwa_lidera_party[id]) ; if(player==id) player=id if(is_user_connected(i) && (get_user_team(i) == get_user_team(player))) { if(equal(nazwa_party[id],nazwa_party[i]) && id!=i) { if( get_user_flags(id) & ADMIN_LEVEL_H) { new exp_premium = (amount+amount/2)/ilosc_graczy_party[player] player_xp[i]+=(amount+amount/2)/ilosc_graczy_party[player] ColorChat(i, GREEN, "^x04[PARTY]^x01 Dostejsz^x04 %i XP^x01 przez bonus Party ", exp_premium) } else { new exp = amount/ilosc_graczy_party[player] player_xp[i]+=amount/ilosc_graczy_party[player] ColorChat(i, GREEN, "^x04[PARTY]^x01 Dostejsz^x04 %i XP^x01 przez bonus Party ", exp) } } } } } if (player_xp[id] > LevelXP[player_lvl[id]]) { player_lvl[id]+=1 player_point[id]+=2 set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2) show_hudmessage(id, "Awansowales do poziomu %i", player_lvl[id]) savexpcom(id) player_class_lvl[id][player_class[id]]=player_lvl[id] } if (player_xp[id] < LevelXP[player_lvl[id]-1]) { player_lvl[id]-=1 player_point[id]-=2 set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2) show_hudmessage(id, "Spadles do poziomu %i", player_lvl[id]) savexpcom(id) player_class_lvl[id][player_class[id]]=player_lvl[id] } write_hud(id) } } return PLUGIN_CONTINUE; } asdf public GLOWNE_MENU_PARTY(id) { new menu = menu_create("Wybierz opcje :","OPCJE_GLOWNEGO_MENU_PARTY") new rozwiaz_party[512] new kto_jest_w_party[512] new napisz_do_czlonkow[512] if(jestes_w_party[id]==false || czy_lider[id]==true) //MENU GRACZA BEZ PARTY LUB LIDERA PARTY { new zaloz_party[512] new zapros_do_party[512] new wyrzuc_z_party[512] new co_to_party[512] formatex(zaloz_party, 511, "%s",jestes_w_party[id] == false ? "\yZaloz Party" : "\dZaloz Party"); formatex(zapros_do_party, 511,"%s",jestes_w_party[id] == true ? "\yZapros do Party" : "\dZapros do Party") formatex(wyrzuc_z_party, 511,"%s",jestes_w_party[id] == true ? "\yWyrzuc z Party" : "\dWyrzuc z Party") formatex(rozwiaz_party, 511,"%s",jestes_w_party[id] == true ? "\rRozwiaz Party" : "\dRozwiaz Party") formatex(co_to_party, 511,"Co to jest \rParty \y?") formatex(kto_jest_w_party, 511, "%s",jestes_w_party[id] == true ? "\yLista czlonkow Party" : "\dLista czlonkow Party") formatex(napisz_do_czlonkow, 511,"%s",jestes_w_party[id] == true ? "\yNapisz do czlonkow Party" : "\dNapisz do czlonkow Party") menu_additem(menu,zaloz_party) //ZALOZ PARTY menu_additem(menu,zapros_do_party) //ZAPROS DO PARTY menu_additem(menu,wyrzuc_z_party) //WYRZUC Z PARTY menu_additem(menu,kto_jest_w_party) //KTO JEST W PARTY menu_additem(menu,napisz_do_czlonkow) //NAPISZ DO CZLONKOW PARTY menu_additem(menu,co_to_party) //CO TO PARTY ? menu_additem(menu,rozwiaz_party) //ROZWIAZ PARTY } else if(jestes_w_party[id]==true && czy_lider[id]==false) //MENU CZLONKA PARTY { new wyjdz_z_party[512] formatex(kto_jest_w_party, 511, "\yLista czlonkow Party") formatex(napisz_do_czlonkow, 511,"\yNapisz do czlonkow Party") formatex(wyjdz_z_party, 511,"\yWyjdz z \r%s \yParty",nazwa_party[id]) menu_additem(menu,kto_jest_w_party) //KTO JEST W PARTY menu_additem(menu,napisz_do_czlonkow) //NAPISZ DO CZLONKOW PARTY menu_additem(menu,wyjdz_z_party) //WYJDZ Z PARTY } menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id,menu,0) return PLUGIN_CONTINUE; } public OPCJE_GLOWNEGO_MENU_PARTY(id,menu,item) { if(item == MENU_EXIT){ menu_destroy(menu); return PLUGIN_CONTINUE; } if(jestes_w_party[id]==false || czy_lider[id]==true) { switch(item) { case 0: { if(jestes_w_party[id] == true) hudmsg(id,3.0,"Nie mozesz zalozyc dwoch Party !") else if(jestes_w_party[id] == false) client_cmd(id, "messagemode Nazwa"); } case 1: { if(jestes_w_party[id] == false) hudmsg(id,3.0,"Pierw zaloz Party !") else { if(ilosc_graczy_party[id]==4) hudmsg(id,3.0,"Maksymalna ilosc uzytkownikow Party to 4 !") else if(jestes_w_party[id] == true) menuy(id) } } case 2: { if(ilosc_graczy_party[id]==1) hudmsg(id,3.0,"Jestes sam w Party , nie mozesz wyrzucic siebie !") else wyrzuc(id) } case 3: { if(jestes_w_party[id]==true) KTO_JEST_W_PARTY(id) } case 4: { if(jestes_w_party[id]==true) client_cmd(id, "messagemode Wiadomosc"); } case 5: { show_motd(id, "party.txt", "Party") } case 6: { if(jestes_w_party[id]==true) rozwiazuje_party(id) } } } else if(jestes_w_party[id]==true && czy_lider[id]==false) { switch(item) { case 0: KTO_JEST_W_PARTY(id) case 1: client_cmd(id, "messagemode Wiadomosc"); case 2: wyjscie(id) } } menu_destroy(menu); return PLUGIN_CONTINUE; } public zakladanie_party(id) { new szPyt[512] = ""; new text[192] new nazwa_lidera[32] read_argv(1,text,191) format(szPyt, charsmax(szPyt), "%s", text); get_user_name(id, nazwa_lidera, charsmax(nazwa_lidera)); copy ( nazwa_party[id], charsmax(szPyt),szPyt) copy ( nazwa_lidera_party[id], charsmax(nazwa_lidera),nazwa_lidera) czy_lider[id] = true ilosc_graczy_party[id] = 1 jestes_w_party[id] = true hudmsg(id,3.0,"Gratulacje ! Zalozyles Party !") write_hud(id) GLOWNE_MENU_PARTY(id) } public WIADOMOSC_DO_CZLONKOW_PARTY(id) { new szPyt[512] = ""; new text[192] read_argv(1,text,191) format(szPyt, charsmax(szPyt), "%s", text); new player = find_player ( "a", nazwa_lidera_party[id]) ; new nazwa[32] get_user_name(id, nazwa, 31); for(new i=1; i<=32; i++) { if(is_user_connected(i) && (get_user_team(i) == get_user_team(player)) && equal(nazwa_party[id],nazwa_party[i])) ColorChat(i, GREEN,"[PARTY]^x01Wiadomosc od %s : %s",nazwa,szPyt) } hudmsg(id,3.0,"Wiadomosc zostala wyslana !") GLOWNE_MENU_PARTY(id) } asdf public wyrzuc(id) { new menu = menu_create("Kogo chcesz wyrzucic ?", "WyborGraczae"); new name[48] for(new i=1; i<=32; i++) { if(is_user_connected(i) && (get_user_team(i) == get_user_team(id))) { if(equal(nazwa_party[id],nazwa_party[i]) && id!=i) { get_user_name(i, name, charsmax(name)); menu_additem(menu, name); } } } menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu); } public WyborGraczae(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } new id2 = Players[id][item]; for(new i=1; i < 33; i++) { if(is_user_connected(i) && (get_user_team(i) == get_user_team(id))) { if(equal(nazwa_party[id],nazwa_party[i])) { new name[48] get_user_name(id2, name, charsmax(name)); hudmsg(id,3.0,"Gracz %s zostal wyrzucony z Party przez Lidera !",name) } } } hudmsg(id2,3.0,"Zostales wyrzucony z Party !") ilosc_graczy_party[id]-- GLOWNE_MENU_PARTY(id) nazwa_lidera_party[id2]="Brak" ilosc_graczy_party[id2]=0 jestes_w_party[id2]=false nazwa_party[id2]="Brak" menu_destroy(menu); return PLUGIN_HANDLED; } asdf public menuy(id) { new menu = menu_create("Kogo chcesz zaprosic ?", "WyborGracza"); new name[48], num; for(new i=1; i<=32; i++) { if(is_user_connected(i) && (get_user_team(i) == get_user_team(id)) && id!=i && !jestes_w_party[i]) { Players[id][num++] = i; get_user_name(i, name, charsmax(name)); menu_additem(menu, name); } } menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu); } public WyborGracza(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } new id2 = Players[id][item]; pytanie(id2,id) new nazwa_lidera[32] get_user_name(id, nazwa_lidera, 31); nazwa_lidera_party[id2] = nazwa_lidera GLOWNE_MENU_PARTY(id) menu_destroy(menu); return PLUGIN_HANDLED; } asdf public pytanie(id,index) { new nazwa_lidera[32] get_user_name(index, nazwa_lidera, 11); new tekst[512] formatex(tekst, 511, "\r%s \yzaprasza Cie do \r%s \yParty, chcesz dolaczyc ?",nazwa_lidera,nazwa_party[index]); new menu = menu_create(tekst, "WyborGraczax"); menu_additem(menu, "Tak"); menu_additem(menu, "Nie"); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu); } public WyborGraczax(id, menu, item) { new player = find_player ( "a", nazwa_lidera_party[id]) ; if(item == MENU_EXIT) { jestes_w_party[id]=false czy_lider[id]=false nazwa_lidera_party[id]="Brak" hudmsg(player,3.0,"Gracz wylaczyl menu zaproszenia tym samym odmawiajac !") menu_destroy(menu); return PLUGIN_HANDLED; } switch(item) { case 0: { jestes_w_party[id]=true czy_lider[id]=false ilosc_graczy_party[player]++ nazwa_party[id] = nazwa_party[player] hudmsg(player,3.0,"Gracz zaakceptowal zaproszenie !") } case 1: { jestes_w_party[id]=false czy_lider[id]=false nazwa_lidera_party[id]="Brak" hudmsg(player,3.0,"Gracz odmowil !") } } menu_destroy(menu); return PLUGIN_HANDLED; } asdf public wyszedl_z_serwera(id) { czy_lider[id] = false ilosc_graczy_party[id] = 0 jestes_w_party[id] = false for(new i=1; i<=32; i++) { if(is_user_connected(i) && (get_user_team(i) == 1 || get_user_team(i) == 2)) { if(equal(nazwa_party[id],nazwa_party[i]) && id!=i) { new name[48] get_user_name(id, name, charsmax(name)); hudmsg(i,3.0,"Gracz %s odlaczyl z Party po przez wyjscie z serwera !",name) } } } new player = find_player ( "a", nazwa_lidera_party[id]) ; ilosc_graczy_party[player]-- nazwa_party[id] = "Brak" nazwa_lidera_party[id]="Brak" } public rozwiazuje_party(id) // { czy_lider[id] = false ilosc_graczy_party[id] = 0 jestes_w_party[id] = false hudmsg(id,3.0,"Gratulacje ! Rozwiazales Party !") //oznaimic innym ze party padlo for(new i=1; i<=32; i++) { if(is_user_connected(i) && (get_user_team(i) == 1 || get_user_team(i) == 2)) { if(equal(nazwa_party[id],nazwa_party[i]) && i!=id) { jestes_w_party[i]=false czy_lider[i]=false ilosc_graczy_party[i]=0 nazwa_lidera_party[i]="Brak" nazwa_party[i]="Brak" hudmsg(i,3.0,"Party zostalo rozwiazane !") } } } nazwa_lidera_party[id]="Brak" nazwa_party[id]="Brak" } public wyjscie(id) { czy_lider[id] = false ilosc_graczy_party[id] = 0 jestes_w_party[id] = false new player = find_player ( "a", nazwa_lidera_party[id]) ; ilosc_graczy_party[player]-- for(new i=1; i<=32; i++) { if(is_user_connected(i) && (get_user_team(i) == 1 || get_user_team(i) == 2)) { if(equal(nazwa_party[player],nazwa_party[i]) && i!=id) { new name[48] get_user_name(id, name, charsmax(name)); hudmsg(i,3.0,"Gracz %s odlaczyl od Party !",name) } } } nazwa_party[id] = "Brak" nazwa_lidera_party[id]="Brak" } asdf public KTO_JEST_W_PARTY(id) { static motd[1000],header[100],name[32],len,i len = 0 // Table i background len += formatex(motd[len],sizeof motd - 1 - len,"<body bgcolor=#000000 text=#FFB000>") len += formatex(motd[len],sizeof motd - 1 - len,"<center><table width=700 border=1 cellpadding=4 cellspacing=4>") len += formatex(motd[len],sizeof motd - 1 - len,"<tr><td>Nick</td><td>Klasa</td><td>Lvl</td></tr>") //Title formatex(header,sizeof header - 1,"Czlonkowie Twojego Party :") for(i=1; i<=32; i++) { if(equal(nazwa_party[id],nazwa_party[i])) { get_user_name(i, name, 31 ) if(czy_lider[i]==true) len += formatex(motd[len],sizeof motd - 1 - len,"<tr><td>Lider <b>%s</b></td><td>%s</td><td>%d</td></tr>",name,Race[player_class[i]], player_lvl[i]) else if(czy_lider[i]==false) len += formatex(motd[len],sizeof motd - 1 - len,"<tr><td>%s</td><td>%s</td><td>%d</td></tr>",name,Race[player_class[i]], player_lvl[i]) } } len += formatex(motd[len],sizeof motd - 1 - len,"</table></center>") show_motd(id,motd,header) } public ZMIANA_DRUZYNY(){ new id = read_data(1); if(jestes_w_party[id]){ new player = find_player ( "a", nazwa_lidera_party[id]) ; if(cs_get_user_team(id)!= cs_get_user_team(player)){ czy_lider[id] = false ilosc_graczy_party[id] = 0 jestes_w_party[id] = false new player = find_player ( "a", nazwa_lidera_party[id]) ; ilosc_graczy_party[player]-- for(new i=1; i<=32; i++) { if(is_user_connected(i) && (get_user_team(i) == 1 || get_user_team(i) == 2)) { if(equal(nazwa_party[player],nazwa_party[i]) && i!=id) { new name[48] get_user_name(id, name, charsmax(name)); hudmsg(i,3.0,"Gracz %s odlaczyl od Party po przez zmiane druzyny !",name) } } } nazwa_party[id] = "Brak" nazwa_lidera_party[id]="Brak" hudmsg(id,3.0,"Zmieniles druzyne badz zostales przeniesiony tym samym odlaczajac z Party !") return 1; } } return 0; }