format( gForm, sizeof( gForm ), "Czy na pewno chcesz %s?", iLider[ id ] == 1 ? "usunac gildie" : "odejsc z gildii" )
Na pewno osobno.
 
Kod wygląda tragicznie.
 
Nie działa, bo inkrementujesz zmienną HP tylko dla danego id, w tym przypadku lidera, dlatego tylko jemu to działa. Należy zrobić pętlę dla wszystkich graczy na serwerze, sprawdzić czy jego gildia == gildia lidera, po czym inkrementować zmienną HP także im. Dodatkowo trzeba jakoś zająć się graczami, którzy dołączą do gry po zwiększeniu umiejętności.
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]++;
	handleHealthAbility(id);
	Um_HP(id);
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
handleHealthAbility(index)
{
	#define ForPlayers(%1) for(new %1 = 1; %1 <= 32; %1++)
	ForPlayers(i)
	{
		if(!is_user_connected(i) || i == index || !equal(szNazwaKlanuGracza[i], szNazwaKlanuGracza[index]))
		{
			continue;
		}
		HP[i]++;
	}
}
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 )
	setHealthVariable(id);
}
setHealthVariable(index)
{
	#define ForPlayers(%1) for(new %1 = 1; %1 <= 32; %1++)
	ForPlayers(i)
	{
		if(!is_user_connected(i) || i == index || !equal(szNazwaKlanuGracza[i], szNazwaKlanuGracza[index]) || !HP[i])
		{
			continue;
		}
		HP[index] = HP[i];
		break;
	}
}
Nie testowalem, nie kompilowałem.