/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;
}

Dodatki SourceMod




Moja zawartość
Mężczyzna